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;
}
?> 