You are here

function _openlayers_presets_ui_convert_form_to_map in Openlayers 6

OpenLayers Form to Map

Converst Form submission to map array.

Parameters

$values: Array of values to convert

$clear_empty: Boolean of whether empty values should be cleared

Return value

Array of form items

3 calls to _openlayers_presets_ui_convert_form_to_map()
openlayers_presets_ui_presets_manage_add in modules/openlayers_presets_ui/includes/openlayers_presets_ui.ui.inc
Menu Callback for Add Preset
openlayers_presets_ui_presets_manage_add_submit in modules/openlayers_presets_ui/includes/openlayers_presets_ui.ui.inc
Form submit for preset add form
openlayers_presets_ui_presets_manage_add_validate in modules/openlayers_presets_ui/includes/openlayers_presets_ui.ui.inc
OpenLayers Preset Form Validate

File

modules/openlayers_presets_ui/includes/openlayers_presets_ui.ui.inc, line 912
This file holds the functions for the openlayers presets ui

Code

function _openlayers_presets_ui_convert_form_to_map($values = array(), $clear_empty = TRUE) {

  // If the form values are empty then we have nothing to return.
  if (empty($values)) {
    return array();
  }
  $processed = array();

  // Put projection in right place.
  $processed['projection'] = $values['projections']['easy_projection'] != 'other' ? $values['projections']['easy_projection'] : $values['projections']['projection'];

  // Put the default layer in the right place.
  $processed['default_layer'] = $values['layers']['default_layer'];

  // Merge our different layer sections together
  $baselayers = array_filter($values['layers']['baselayers']);
  $overlays = array_filter($values['layers']['overlays']);
  $processed['layers'] = array_merge($baselayers, $overlays);

  // Take out form values that are no good
  $throw = array(
    'op',
    'submit',
    'form_build_id',
    'form_token',
    'form_id',
    'projections',
    'layers',
    'openlayers_save',
    'preset_name',
    'preset_title',
    'preset_description',
    'map_preview',
    'openlayers_projection_ahah',
    'openlayers_cancel',
    'default_map',
  );
  foreach ($values as $k => $v) {
    if (!in_array($k, $throw)) {
      $processed[$k] = $v;
    }
  }

  // Recursively unset any empty values
  if ($clear_empty) {
    $processed = _openlayers_presets_ui_unset_empty_values($processed);
  }
  return $processed;
}