popup_ui.features.inc in Popup 7
File
modules/popup_ui/includes/popup_ui.features.inc
View source
<?php
function popupformat_features_export_options() {
module_load_include('inc', 'popup_ui', 'includes/popup_ui.admin');
module_load_include('inc', 'popup', 'includes/popup.util');
$options = array();
foreach (_popup_ui_formatter_settings() as $title => $formatter) {
$options[$title] = $formatter['label'];
}
return $options;
}
function popupformat_features_export($data, &$export, $module_name = '') {
module_load_include('inc', 'popup_ui', 'includes/popup_ui.admin');
module_load_include('inc', 'popup', 'includes/popup.util');
$formats = _popup_ui_formatter_settings();
$styles = _popup_styles();
$effects = _popup_effects();
$export['dependencies']['popup_ui'] = 'popup_ui';
foreach ($data as $instance) {
if ($formats[$instance]['style']) {
foreach (module_implements('popup_styles') as $module) {
$provided = module_invoke($module, 'popup_styles');
if (is_array($provided) && array_key_exists($formats[$instance]['style'], $provided)) {
$export['dependencies'][$module] = $module;
break;
}
}
}
if ($formats[$instance]['effect']) {
foreach (module_implements('popup_effects') as $module) {
$provided = module_invoke($module, 'popup_effects');
$module_effects = array_shift($provided);
if (isset($module_effects[$formats[$instance]['effect']])) {
$export['dependencies'][$module] = $module;
break;
}
}
}
$export['features']['popupformat'][$instance] = $instance;
}
return array();
}
function popupformat_features_export_render($module_name, $data, $export = NULL) {
module_load_include('inc', 'popup_ui', 'includes/popup_ui.admin');
$formats = _popup_ui_formatter_settings();
$code[] = ' return array(';
foreach ($data as $format) {
$format_export = features_var_export($formats[$format], ' ');
$format_identifier = features_var_export($format);
$code[] = " {$format_identifier} => {$format_export},";
}
$code[] = ' );';
$code = implode("\n", $code);
return array(
'popupformat_defaults' => $code,
);
}
function popupformat_features_revert($module) {
popupformat_features_rebuild($module);
}
function popupformat_features_rebuild($module) {
module_load_include('inc', 'popup_ui', 'includes/popup_ui.admin');
$formats = _popup_ui_formatter_settings();
$rebuild_formats = module_invoke_all('popupformat_defaults');
if (!empty($rebuild_formats)) {
foreach ($rebuild_formats as $name => $rebuild_format) {
$formats[$name] = $rebuild_format;
}
}
_popup_ui_formatter_settings($formats);
}