You are here

function imageoffsets_form_submit in Image javascript crop 6

Save the offset & size values

Parameters

$form_id id of the form:

$form_values submitted values of the imageoffsets form:

File

./imagecrop.admin.inc, line 348
Administration functions for Imagecrop

Code

function imageoffsets_form_submit($form, &$form_state) {
  if ($form_state['values']['op'] == t('Scale image')) {
    $form_state['values']['image-crop-x'] = 0;
    $form_state['values']['image-crop-y'] = 0;
  }
  $form_state['values']['image-crop-x'] = max($form_state['values']['image-crop-x'], 0);
  $form_state['values']['image-crop-y'] = max($form_state['values']['image-crop-y'], 0);

  // save into imagecrop tables
  $module = !empty($form_state['values']['module']) ? '/' . $form_state['values']['module'] : '';
  $field = !empty($form_state['values']['field']) ? '/' . $form_state['values']['field'] : '';
  $node_type = !empty($form_state['values']['node_type']) ? '/' . $form_state['values']['node_type'] : '';
  $reference = !empty($form_state['values']['module']) && ($form_state['values']['module'] == 'node_images' || $form_state['values']['module'] == 'user') ? $form_state['values']['module'] : 'files';
  $scaling = isset($form_state['values']['scaling']) ? $form_state['values']['scaling'] : 'original';
  db_query("DELETE FROM {imagecrop} WHERE fid = %d AND presetname = '%s' AND reference = '%s'", $form_state['values']['fid'], $form_state['values']['presetname'], $reference);
  db_query("INSERT INTO {imagecrop} (fid, reference, xoffset, yoffset, width, height, scale, presetname) VALUES (%d, '%s', %d, %d, %d, %d, '%s', '%s')", $form_state['values']['fid'], $reference, $form_state['values']['image-crop-x'], $form_state['values']['image-crop-y'], $form_state['values']['image-crop-width'], $form_state['values']['image-crop-height'], $scaling, $form_state['values']['presetname']);
  if ($form_state['values']['op'] == t('Scale image')) {
    drupal_goto('imagecrop/docrop/' . $form_state['values']['fid'] . '/' . $form_state['values']['presetname'] . $module . $field . $node_type);
  }
  else {

    // delete imagecache preset, so newest file is generated.
    file_delete($form_state['values']['preset-destination']);
    if ($form_state['values']['preset-destination'] != $form_state['values']['temp-preset-destination']) {
      file_delete($form_state['values']['temp-preset-destination']);
    }
    drupal_goto('imagecrop/showcrop/' . $form_state['values']['fid'] . '/' . $form_state['values']['presetname'] . $module . $field . $node_type);
  }
}