You are here

function _imagecache_profiles_change_variables in ImageCache Profiles 6

Changes or deletes modules variables.

2 calls to _imagecache_profiles_change_variables()
imagecache_profiles_imagecache_ui_preset_delete_form_submit in ./imagecache_profiles.module
Unsets deleted preset.
imagecache_profiles_imagecache_ui_preset_form_submit in ./imagecache_profiles.module
Renames changed preset.

File

./imagecache_profiles.module, line 175

Code

function _imagecache_profiles_change_variables($preset, $delete = FALSE) {
  $vars = array(
    'user_picture_imagecache_profiles' => t('Profile picture preset'),
    'user_picture_imagecache_comments' => t('Comment picture preset'),
    'user_picture_imagecache_nodes' => t('Node picture preset'),
    'user_picture_imagecache_profiles_default' => t('Default picture preset'),
  );
  $presetid = $preset['presetid'];
  $presetname = $preset['presetname'];

  // Find and unset variabales that use this preset.
  $messages = array();
  foreach ($vars as $key => $param) {
    $value = variable_get($key, '');
    if (!empty($value)) {
      if (is_numeric($value) && $value == $presetid) {
        $messages[$key] = $param;
      }
      else {
        if ($value == $presetname) {
          $messages[$key] = $param;
        }
      }
    }
  }

  // Update variables and notify user.
  foreach ($messages as $var => $param) {
    if ($delete) {
      variable_del($var);
      drupal_set_message(t('The imagecache profile setting %setting was deleted.', array(
        '%setting' => $param,
      )));
    }
    else {
      if ($preset['presetname'] != $preset['presetname_new']) {
        variable_set($var, $preset['presetname_new']);
        drupal_set_message(t('The imagecache profile setting %setting was changed.', array(
          '%setting' => $param,
        )));
      }
    }
  }
}