danielebarchiesi@0: name; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: return $profiles; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_features_export(). danielebarchiesi@0: */ danielebarchiesi@0: function wysiwyg_features_export($data, &$export, $module_name = '') { danielebarchiesi@0: $pipe = array(); danielebarchiesi@0: danielebarchiesi@0: // The wysiwyg_default_formats() hook integration is provided by the danielebarchiesi@0: // features module so we need to add it as a dependency. danielebarchiesi@0: $export['dependencies']['features'] = 'features'; danielebarchiesi@0: $export['dependencies']['wysiwyg'] = 'wysiwyg'; danielebarchiesi@0: danielebarchiesi@0: foreach ($data as $name) { danielebarchiesi@0: if ($profile = wysiwyg_get_profile($name)) { danielebarchiesi@0: // Add profile to exports. danielebarchiesi@0: $export['features']['wysiwyg'][$profile->format] = $profile->format; danielebarchiesi@0: danielebarchiesi@0: // Chain filter format for export. danielebarchiesi@0: $pipe['filter'][] = $profile->format; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: return $pipe; danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_features_export_render(). danielebarchiesi@0: */ danielebarchiesi@0: function wysiwyg_features_export_render($module, $data, $export = NULL) { danielebarchiesi@0: $code = array(); danielebarchiesi@0: $code[] = ' $profiles = array();'; danielebarchiesi@0: $code[] = ''; danielebarchiesi@0: danielebarchiesi@0: foreach ($data as $name) { danielebarchiesi@0: if ($profile = wysiwyg_get_profile($name)) { danielebarchiesi@0: $profile_export = features_var_export($profile, ' '); danielebarchiesi@0: $profile_identifier = features_var_export($profile->format); danielebarchiesi@0: $code[] = " // Exported profile: {$profile->format}"; danielebarchiesi@0: $code[] = " \$profiles[{$profile_identifier}] = {$profile_export};"; danielebarchiesi@0: $code[] = ""; danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: $code[] = ' return $profiles;'; danielebarchiesi@0: $code = implode("\n", $code); danielebarchiesi@0: return array('wysiwyg_default_profiles' => $code); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_features_revert(). danielebarchiesi@0: */ danielebarchiesi@0: function wysiwyg_features_revert($module) { danielebarchiesi@0: return wysiwyg_features_rebuild($module); danielebarchiesi@0: } danielebarchiesi@0: danielebarchiesi@0: /** danielebarchiesi@0: * Implements hook_features_rebuild(). danielebarchiesi@0: */ danielebarchiesi@0: function wysiwyg_features_rebuild($module) { danielebarchiesi@0: if ($defaults = features_get_default('wysiwyg', $module)) { danielebarchiesi@0: foreach ($defaults as $profile) { danielebarchiesi@0: db_merge('wysiwyg') danielebarchiesi@0: ->key(array('format' => $profile['format'])) danielebarchiesi@0: ->fields(array( danielebarchiesi@0: 'editor' => $profile['editor'], danielebarchiesi@0: 'settings' => serialize($profile['settings']), danielebarchiesi@0: )) danielebarchiesi@0: ->execute(); danielebarchiesi@0: } danielebarchiesi@0: wysiwyg_profile_cache_clear(); danielebarchiesi@0: } danielebarchiesi@0: } danielebarchiesi@0: