Submit handler for saving an image style.
function image_style_form_submit($form, &$form_state) {
$style = $form_state['image_style'];
// Update image effect weights.
if (!empty($form_state['values']['effects'])) {
foreach ($form_state['values']['effects'] as $ieid => $effect_data) {
if (isset($style->effects[$ieid])) {
$effect = array(
'name' => $style->effects[$ieid]['name'],
'data' => $style->effects[$ieid]['data'],
'weight' => $effect_data['weight'],
'ieid' => $ieid,
);
$style->effects[$ieid] = $effect;
}
}
}
// Update the image style name if it has changed. We can not rename a piece
// of config, all we can do is create a new one and delete the old one.
if (isset($form_state['values']['name']) && $style
->id() != $form_state['values']['name']) {
$old_style = $style;
$data = array(
'effects' => $style->effects,
'name' => $form_state['values']['name'],
);
$style = entity_create('image_style', $data);
}
$style
->set('label', $form_state['values']['label']);
$style
->save();
if (isset($old_style)) {
image_style_delete($old_style, $style
->id());
}
if ($form_state['values']['op'] == t('Update style')) {
drupal_set_message(t('Changes to the style have been saved.'));
}
$form_state['redirect'] = 'admin/config/media/image-styles/edit/' . $style
->id();
}