annotate sites/all/modules/wysiwyg/wysiwyg.features.inc @ 9:830c812b520f

added smtp module
author root <root@paio.local>
date Mon, 28 Oct 2013 15:34:27 +0000
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * Implements hook_features_export_options().
danielebarchiesi@0 5 */
danielebarchiesi@0 6 function wysiwyg_features_export_options() {
danielebarchiesi@0 7 $profiles = array();
danielebarchiesi@0 8
danielebarchiesi@0 9 // Get human-readable name from filter module.
danielebarchiesi@0 10 $formats = filter_formats();
danielebarchiesi@0 11
danielebarchiesi@0 12 foreach (array_keys(wysiwyg_profile_load_all()) as $format) {
danielebarchiesi@0 13 // Text format may vanish without deleting the wysiwyg profile.
danielebarchiesi@0 14 if (isset($formats[$format])) {
danielebarchiesi@0 15 $profiles[$format] = $formats[$format]->name;
danielebarchiesi@0 16 }
danielebarchiesi@0 17 }
danielebarchiesi@0 18 return $profiles;
danielebarchiesi@0 19 }
danielebarchiesi@0 20
danielebarchiesi@0 21 /**
danielebarchiesi@0 22 * Implements hook_features_export().
danielebarchiesi@0 23 */
danielebarchiesi@0 24 function wysiwyg_features_export($data, &$export, $module_name = '') {
danielebarchiesi@0 25 $pipe = array();
danielebarchiesi@0 26
danielebarchiesi@0 27 // The wysiwyg_default_formats() hook integration is provided by the
danielebarchiesi@0 28 // features module so we need to add it as a dependency.
danielebarchiesi@0 29 $export['dependencies']['features'] = 'features';
danielebarchiesi@0 30 $export['dependencies']['wysiwyg'] = 'wysiwyg';
danielebarchiesi@0 31
danielebarchiesi@0 32 foreach ($data as $name) {
danielebarchiesi@0 33 if ($profile = wysiwyg_get_profile($name)) {
danielebarchiesi@0 34 // Add profile to exports.
danielebarchiesi@0 35 $export['features']['wysiwyg'][$profile->format] = $profile->format;
danielebarchiesi@0 36
danielebarchiesi@0 37 // Chain filter format for export.
danielebarchiesi@0 38 $pipe['filter'][] = $profile->format;
danielebarchiesi@0 39 }
danielebarchiesi@0 40 }
danielebarchiesi@0 41
danielebarchiesi@0 42 return $pipe;
danielebarchiesi@0 43 }
danielebarchiesi@0 44
danielebarchiesi@0 45 /**
danielebarchiesi@0 46 * Implements hook_features_export_render().
danielebarchiesi@0 47 */
danielebarchiesi@0 48 function wysiwyg_features_export_render($module, $data, $export = NULL) {
danielebarchiesi@0 49 $code = array();
danielebarchiesi@0 50 $code[] = ' $profiles = array();';
danielebarchiesi@0 51 $code[] = '';
danielebarchiesi@0 52
danielebarchiesi@0 53 foreach ($data as $name) {
danielebarchiesi@0 54 if ($profile = wysiwyg_get_profile($name)) {
danielebarchiesi@0 55 $profile_export = features_var_export($profile, ' ');
danielebarchiesi@0 56 $profile_identifier = features_var_export($profile->format);
danielebarchiesi@0 57 $code[] = " // Exported profile: {$profile->format}";
danielebarchiesi@0 58 $code[] = " \$profiles[{$profile_identifier}] = {$profile_export};";
danielebarchiesi@0 59 $code[] = "";
danielebarchiesi@0 60 }
danielebarchiesi@0 61 }
danielebarchiesi@0 62
danielebarchiesi@0 63 $code[] = ' return $profiles;';
danielebarchiesi@0 64 $code = implode("\n", $code);
danielebarchiesi@0 65 return array('wysiwyg_default_profiles' => $code);
danielebarchiesi@0 66 }
danielebarchiesi@0 67
danielebarchiesi@0 68 /**
danielebarchiesi@0 69 * Implements hook_features_revert().
danielebarchiesi@0 70 */
danielebarchiesi@0 71 function wysiwyg_features_revert($module) {
danielebarchiesi@0 72 return wysiwyg_features_rebuild($module);
danielebarchiesi@0 73 }
danielebarchiesi@0 74
danielebarchiesi@0 75 /**
danielebarchiesi@0 76 * Implements hook_features_rebuild().
danielebarchiesi@0 77 */
danielebarchiesi@0 78 function wysiwyg_features_rebuild($module) {
danielebarchiesi@0 79 if ($defaults = features_get_default('wysiwyg', $module)) {
danielebarchiesi@0 80 foreach ($defaults as $profile) {
danielebarchiesi@0 81 db_merge('wysiwyg')
danielebarchiesi@0 82 ->key(array('format' => $profile['format']))
danielebarchiesi@0 83 ->fields(array(
danielebarchiesi@0 84 'editor' => $profile['editor'],
danielebarchiesi@0 85 'settings' => serialize($profile['settings']),
danielebarchiesi@0 86 ))
danielebarchiesi@0 87 ->execute();
danielebarchiesi@0 88 }
danielebarchiesi@0 89 wysiwyg_profile_cache_clear();
danielebarchiesi@0 90 }
danielebarchiesi@0 91 }
danielebarchiesi@0 92