nicemap_settings

nicemap/nicemap_admin.inc, line 29

Versions
6
nicemap_settings()

Master settings form and testing page

Code

<?php
function nicemap_settings() {
  $form = array();
  $form['nicemap_mode'] = array(
    '#title' => t('Map source'),
    '#type' => 'select',
    '#options' => array(0 => '---', 'wms' => t('WMS server'), 'file' => t('Uploaded file')),
    '#default_value' => variable_get('nicemap_mode', 0),
  );

  $form = system_settings_form($form);
  $form['buttons']['#weight'] = 100;

  switch (variable_get('nicemap_mode', '')) {
    case 'wms':
      $form['wms'] = array(
        '#type' => 'fieldset',
        '#title' => t('WMS server'),
      );
      $form['wms']['nicemap_wms_url'] = array(
        '#title'       => t('Map server URL'),
        '#description' => t('The root URL of the map server you intend to use,
                            please include "http://". This may or may not include
                            certain arguments and filenames.'),
        '#default_value' => variable_get('nicemap_wms_url', ''),
        '#type' => 'textfield');
      if ($wms = variable_get('nicemap_wms_url', '')) {
        $spec = nicemap_capabilities_cache($wms);

        // projections
        $crs = array();
        if (count($spec['crs'])) {
          foreach ($spec['crs'] as $code) {
            $crs[$code] = $code;
          }
        }
        $form['wms']['nicemap_wms_crs'] = array(
          '#type' => 'select',
          '#title' => t('CRS code'),
          '#description' => t('Choose the projection mode.'),
          '#options' => $crs,
          '#default_value' => variable_get('nicemap_wms_crs', ''),
        );

        // layers + styles
        $l = _nicemap_get_layers($spec);
        $settings = variable_get('nicemap_defaults', array('layers' => array(), 'styles' => array(), 'weights' => array()));
        $bgcolor = variable_get('nicemap_bgcolor', 'aabbcc');
        _nicemap_layer_style_form($form, $l, $settings['layers'], $settings['styles'], $settings['weights'], $bgcolor);

      }
      break;
    case 'file':
      $form['file'] = array(
        '#type' => 'fieldset',
        '#title' => t('Uploaded file'),
      );
      $options = array();
      foreach (nicemap_projections() as $k => $v) {
        $options[$k] = $v['name'];
      }
      $form['file']['nicemap_file_projection'] = array(
        '#title' => t('Map file projection'),
        '#type' => 'select',
        '#options' => $options,
        '#default_value' => variable_get('nicemap_file_projection', 'mercator'),
      );
      break;
  }
  return $form;
}
?>