You are here

function imagecrop_crop_settings_form_submit in Image javascript crop 7

Submit the settings form. Save all cropping settings.

File

includes/imagecrop.admin.inc, line 365
Administration tools for the imagecrop module.

Code

function imagecrop_crop_settings_form_submit($form, &$form_state) {
  db_delete('image_crop_settings')
    ->condition('fid', $form_state['values']['fid'])
    ->condition('style_name', $form_state['values']['style'])
    ->execute();
  $record = new stdClass();
  $record->fid = $form_state['values']['fid'];
  $record->style_name = $form_state['values']['style'];
  $record->xoffset = max($form_state['values']['image-crop-x'], 0);
  $record->yoffset = max($form_state['values']['image-crop-y'], 0);
  $record->width = $form_state['values']['image-crop-width'];
  $record->height = $form_state['values']['image-crop-height'];
  $record->scale = $form_state['values']['image-crop-scale'];
  $record->rotation = $form_state['values']['image-crop-rotation'];
  drupal_write_record('image_crop_settings', $record);
  $field_info = unserialize($form_state['values']['field']);
  $file = file_load($form_state['values']['fid']);

  // delete old imagestyles, so newest file is generated.
  image_path_flush($file->uri);
  if ($form_state['values']['style-destination'] != $form_state['values']['temp-style-destination']) {
    file_unmanaged_delete($form_state['values']['temp-style-uri']);
  }
  $record->style_destination = $form_state['values']['style-destination'];
  $record->temp_style_destination = $form_state['values']['temp-style-destination'];
  module_invoke_all('imagecrop_settings_update', $record);
  $action = variable_get('imagecrop_skip_preview', FALSE) ? 'crop' : 'overview';
  drupal_goto('imagecrop/' . $action . '/' . $record->fid . '/' . $record->style_name . '/' . $field_info[0] . '/' . $field_info[1] . '/' . $field_info[2], array(
    'query' => array(
      'cropping' => 'done',
    ),
  ));
}