function image_style_save

You are here

7 image.module image_style_save($style)

Saves an image style.

Parameters

array $style: An image style array containing:

  • name: A unique name for the style.
  • isid: (optional) An image style ID.

Return value

array An image style array containing:

  • name: An unique name for the style.
  • old_name: The original name for the style.
  • isid: An image style ID.
  • is_new: TRUE if this is a new style, and FALSE if it is an existing style.
7 calls to image_style_save()
ImageAdminStylesUnitTest::testStyleReplacement in modules/image/image.test
Test deleting a style and choosing a replacement style.
ImageDimensionsTestCase::testImageDimensions in modules/image/image.test
Test styled image dimensions cumulatively.
ImageStylesPathAndUrlTestCase::setUp in modules/image/image.test
Sets up a Drupal site for running functional and integration tests.
ImageThemeFunctionWebTestCase::testImageFormatterTheme in modules/image/image.test
Tests usage of the image field formatters.
image_default_style_save in modules/image/image.module
Saves a default image style to the database.

... See full list

File

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

Code

function image_style_save($style) {
  if (isset($style['isid']) && is_numeric($style['isid'])) {
    // Load the existing style to make sure we account for renamed styles.
    $old_style = image_style_load(NULL, $style['isid']);
    image_style_flush($old_style);
    drupal_write_record('image_styles', $style, 'isid');
    if ($old_style['name'] != $style['name']) {
      $style['old_name'] = $old_style['name'];
    }
  }
  else {
    // Add a default label when not given.
    if (empty($style['label'])) {
      $style['label'] = $style['name'];
    }
    drupal_write_record('image_styles', $style);
    $style['is_new'] = TRUE;
  }

  // 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;
}

Comments

An example from http://www.drupalfoo.com/drupal-7-creating-image-style-programatically-m...

<?php
  $style
= image_style_save(array('name' => 'avatar'));
 
$effect = array(
   
'name' => 'image_scale',
   
'data' => array(
     
'width' => 64,
     
'height' => 64,
     
'upscale' => TRUE,
    ),
   
'isid' => $style['isid'],
  );
 
image_effect_save($effect);
?>
<?php
  image_style_delete
(image_style_load('avatar'));
?>