features.imagecache.inc in Features 6
File
includes/features.imagecache.inc
View source
<?php
function imagecache_features_api() {
return array(
'imagecache' => array(
'name' => t('Imagecache presets'),
'default_hook' => 'imagecache_default_presets',
),
);
}
function imagecache_features_export_options() {
$options = array();
foreach (imagecache_presets() as $preset) {
$options[$preset['presetname']] = $preset['presetname'];
}
return $options;
}
function imagecache_features_export($data, &$export, $module_name = '') {
$map = features_get_default_map('imagecache', 'presetname');
foreach ($data as $preset) {
if (isset($map[$preset]) && $map[$preset] != $module_name) {
$module = $map[$preset];
$export['dependencies'][$module] = $module;
}
else {
$export['features']['imagecache'][$preset] = $preset;
}
}
}
function imagecache_features_export_render($module_name, $data) {
$items = array();
foreach ($data as $key) {
$preset = imagecache_preset_by_name($key, TRUE);
_imagecache_features_preset_sanitize($preset);
$items[$key] = $preset;
}
$code = " \$items = " . features_var_export($items, ' ') . ";\n";
$code .= ' return $items;';
return array(
'imagecache_default_presets' => $code,
);
}
function imagecache_features_revert($module) {
if ($default_presets = features_get_default('imagecache', $module)) {
foreach (array_keys($default_presets) as $default_preset) {
$preset = imagecache_preset_by_name($default_preset);
if ($preset) {
imagecache_preset_delete($preset);
}
}
}
}
function _imagecache_features_preset_sanitize(&$preset) {
$omit = array(
'presetid',
'storage',
'actionid',
);
if (is_array($preset)) {
foreach ($preset as $k => $v) {
if (in_array($k, $omit, TRUE)) {
unset($preset[$k]);
}
else {
if (is_array($v)) {
_imagecache_features_preset_sanitize($preset[$k]);
}
}
}
}
}