You are here

public function sweaver_plugin_images::sweaver_form_submit in Sweaver 7

Same name and namespace in other branches
  1. 6 plugins/sweaver_plugin_images/sweaver_plugin_images.inc \sweaver_plugin_images::sweaver_form_submit()

Frontend form submit handler.

Overrides sweaver_plugin::sweaver_form_submit

File

plugins/sweaver_plugin_images/sweaver_plugin_images.inc, line 73
Images plugin.

Class

sweaver_plugin_images
@file Images plugin.

Code

public function sweaver_form_submit($form, &$form_state) {
  if ($form_state['clicked_button']['#value'] == t('Save image')) {
    $validators = array(
      'file_validate_is_image' => array(),
    );
    $sweaver_directory = 'public://sweaver';
    file_prepare_directory($sweaver_directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
    $image = file_save_upload('image_image', $validators, 'public://sweaver');
    if ($image && !empty($form_state['values']['image_description'])) {
      $image->description = $form_state['values']['image_description'];
      $image_parts = explode('.', $image->uri);
      $extension = array_pop($image_parts);
      $new_image_name = 'public://sweaver/sweaver_image_' . $image->fid . '.' . $extension;
      file_unmanaged_move($image->uri, $new_image_name);

      // Save permanent.
      $image->uri = $new_image_name;
      $image->status = FILE_STATUS_PERMANENT;
      file_save($image);
      drupal_write_record('sweaver_image', $image);
      sweaver_session(t('Image @image has been uploaded.', array(
        '@image' => $image->description,
      )));
    }
    else {

      // Reset error messages.
      $errors = form_get_errors();
      if (!empty($errors)) {

        // Reset messages error.
        unset($_SESSION['messages']['error']);
      }

      // Messages for Sweaver.
      if (empty($form_state['values']['image_description'])) {
        sweaver_session(t('You need to enter a description for the image.'));
      }
      if (!empty($errors)) {
        sweaver_session(t('The image is invalid. Only JPG, PNG and GIF images are allowed.'));
      }
      elseif (!$image) {
        sweaver_session(t('The image is empty.'));
      }
    }
  }
}