You are here

function openlayers_layer_type_image::options_form_submit in Openlayers 7.2

hook_submit() of the form.

Overrides openlayers_layer_type::options_form_submit

File

plugins/layer_types/openlayers_layer_type_image.inc, line 96
Image Layer Type http://dev.openlayers.org/docs/files/OpenLayers/Layer/Image-js.html

Class

openlayers_layer_type_image
OpenLayers Image Layer Type class

Code

function options_form_submit($form, &$form_state) {
  parent::options_form_submit($form, $form_state);
  global $user;
  $item = $form_state['item'];
  if (isset($item->data['file']) && ($file = file_load($item->data['file']))) {
    file_delete($file);
  }
  if (isset($form_state['values']['data']['file']) && ($file = file_load($form_state['values']['data']['file']))) {
    $file->status = FILE_STATUS_PERMANENT;
    file_save($file);
    file_usage_add($file, 'openlayers', 'openlayers_layer_type', $user->uid);
  }
  $style = $form_state['values']['data']['image_style'];
  if (!empty($style)) {
    $uri = image_style_path($style, $file->uri);
    image_style_create_derivative(image_style_load($style), $file->uri, $uri);
  }
  else {
    $uri = $file->uri;
  }
  $infos = image_get_info($uri);
  $form_state['values']['data']['size'] = array();
  $form_state['values']['data']['size']['w'] = $infos['width'];
  $form_state['values']['data']['size']['h'] = $infos['height'];
  $form_state['values']['data']['maxExtent'] = array_map('floatval', explode(",", $form_state['values']['data']['maxExtent']));
  if (count($form_state['values']['data']['maxExtent']) !== 4) {

    // Ignore invalid input.
    $form_state['values']['data']['maxExtent'] = NULL;
  }
}