function picture_update_7200 in Picture 7.2
Update from 7.x-1.x.
File
- ./
picture.install, line 138 - Install/schema hooks for the picture module.
Code
function picture_update_7200() {
module_load_include('php', 'picture', 'includes/PictureMapping');
db_add_field('picture_mapping', 'label', array(
'type' => 'varchar',
'length' => 255,
'not null' => TRUE,
'default' => '',
'description' => 'The machine name of the mapping',
));
variable_set('picture_ckeditor_mappings', variable_get('picture_ckeditor_groups', array()));
variable_del('picture_ckeditor_groups');
// Force a schema reset.
drupal_get_schema('picture_mapping', TRUE);
// Get old picture mappings from code.
ctools_include('export');
$schema = ctools_export_get_schema('picture_mapping');
$export = $schema['export'];
$export['api'] = array(
'owner' => 'picture',
'api' => 'default_picture_mapping',
'minimum_version' => 1,
'current_version' => 1,
);
$code_mappings = _ctools_export_get_defaults('picture_mapping', $export);
// Get old picture mappings from database.
$db_mappings = ctools_export_crud_load_all('picture_mapping');
$all_mappings = array_merge($db_mappings, $code_mappings);
// Update mappings.
foreach ($all_mappings as $picture_mapping) {
if (!$picture_mapping instanceof PictureMapping) {
$old_mapping = $picture_mapping;
$picture_mapping = new PictureMapping();
$picture_mapping
->setValues($schema, $old_mapping);
}
$mapping = $picture_mapping
->getMappings();
$picture_mapping
->setLabel($picture_mapping
->getMachineName());
if (isset($picture_mapping->api_version)) {
$picture_mapping->api_version = 2;
}
$new_mapping = array();
foreach ($mapping as $breakpoint => $multipliers) {
foreach ($multipliers as $multiplier => $image_style) {
$new_mapping[$breakpoint][$multiplier] = array(
'mapping_type' => 'image_style',
'image_style' => $image_style,
'sizes' => '',
'sizes_image_styles' => array(),
);
}
}
$picture_mapping
->setMappings($new_mapping);
$picture_mapping
->save();
}
}