You are here

function imce_watermark_upload_submit in IMCE Watermark 7

Same name and namespace in other branches
  1. 6.2 imce_watermark.module \imce_watermark_upload_submit()

Add watermark at IMCE submit.

1 string reference to 'imce_watermark_upload_submit'
imce_watermark_form_imce_upload_form_alter in ./imce_watermark.module

File

./imce_watermark.module, line 309
Adding watermark at IMCE image uploading.

Code

function imce_watermark_upload_submit($form, &$form_state) {
  $imce =& $form_state['build_info']['args'][0]['imce'];
  $preset = isset($imce['imce_watermark_imagecache_preset']) ? $imce['imce_watermark_imagecache_preset'] : 0;
  if (!$preset) {
    $imce_watermark_setting = variable_get('imce_watermark_setting');
    $preset = $imce_watermark_setting['imce_watermark_imagecache_preset'];
    $imce_watermark_setting = $imce_watermark_setting['imce_watermark_custom'];
  }
  else {
    $imce_watermark_setting = $imce['imce_watermark_custom'];

    //    $preset = $imce_watermark_setting['imce_watermark_imagecache_preset'];
  }
  if (!$form_state['values']['watermark']) {
    return;
  }
  if ($preset == -1) {
    return;
  }
  $uploaded = array();
  if ($imce['added'][0]) {
    foreach ($imce['added'] as $added) {
      $fid = $added['id'];
      $file = file_load($fid);
      if ($file) {
        $filepath = drupal_realpath($file->uri);
      }
      if (!$filepath || !file_exists($filepath)) {
        continue;
      }
      if (count(file_validate_is_image($file)) > 0) {
        continue;
      }
      if ($preset == -2) {

        // Custom script watermarking
        $fid = $imce_watermark_setting['watermark_image'];
        if ($fid) {
          $file = file_load($fid);
          $watermark_filepath = '';
          if ($file) {
            $watermark_filepath = drupal_realpath($file->uri);
          }
        }
        if (!$watermark_filepath || !file_exists($watermark_filepath)) {
          form_set_error(NULL, t('Watermark image not exists. Please refer to site administrator...'));
          return;
        }
        $watermark = new _imce_watermark();
        $result = $watermark
          ->create_watermark($filepath, $watermark_filepath, $imce_watermark_setting);
        if (!$result) {
          form_set_error(NULL, t('Creating watermark failed'));
        }
      }
      else {

        // Watermarking by imagecache actions
        $style = image_style_load($preset);
        if (!$style) {
          form_set_error(NULL, t('Style not exists. Please refer to site administrator...'));
          return;
        }
        image_style_create_derivative($style, $filepath, $filepath);
      }
    }
  }
}