1.20.x image.module image_style_save($style)

Save an image style.

Parameters

array $style: An image style array containing:

  • name: An unique name for the style.
  • effects: An optional array of effects.

Return value

array: An image style array containing:

  • name: An unique name for the style.
  • effects: An array of effects.
  • is_new: Is set to TRUE if this is a new style, and FALSE if it is an existing style.

File

modules/image/image.module, line 583
Exposes global functionality for creating image styles.

Code

function image_style_save($style) {
  // Add in the effects key if missing.
  $style += array('effects' => array());

  $config = config('image.style.' . $style['name']);
  if (is_null($config->get('name'))) {
    $style['is_new'] = TRUE;
  }
  $config->set('label', $style['label']);
  $config->set('name', $style['name']);
  $config->set('effects', $style['effects']);
  // Only write storage settings for default and overridden styles.
  if (isset($style['module'])) {
    $config->set('module', $style['module']);
    $config->set('overridden', TRUE);
  }
  $config->save();

  // Delete the previous configuration file if any.
  if (isset($style['old_name']) && $style['old_name'] !== $style['name']) {
    if ($old_style = image_style_load($style['old_name'])) {
      image_style_flush($old_style);
      config('image.style.' . $old_style['name'])->delete();
    }
  }

  // Let other modules update as necessary on save.
  module_invoke_all('image_style_save', $style);

  // Clear all caches and flush.
  image_style_flush($style);

  return $style;
}