';
switch ($action) {
case 'create_connection_map':
// Header.
ui_print_page_header(
__('Create new map connection'),
'',
false,
'',
true
);
$mapConnection_name = '';
$mapConnection_group = '';
$mapConnection_numLevelsZoom = '19';
$mapConnection_defaultZoom = '16';
$mapConnection_type = 0;
$mapConnection_defaultLatitude = '40.42056';
$mapConnection_defaultLongitude = '-3.708187';
$mapConnection_defaultAltitude = '0';
$mapConnection_centerLatitude = '40.42056';
$mapConnection_centerLongitude = '-3.708187';
$mapConnection_centerAltitude = '0';
$mapConnectionData = null;
html_print_input_hidden('action', 'save_map_connection');
break;
case 'edit_connection_map':
// Header.
ui_print_page_header(
__('Edit map connection'),
'',
false,
'',
true
);
$idConnectionMap = get_parameter('id_connection_map');
$mapConnection = db_get_row_sql('SELECT * FROM tgis_map_connection WHERE id_tmap_connection = '.$idConnectionMap);
$mapConnection_name = $mapConnection['conection_name'];
$mapConnection_group = $mapConnection['group_id'];
$mapConnection_numLevelsZoom = $mapConnection['num_zoom_levels'];
$mapConnection_defaultZoom = $mapConnection['default_zoom_level'];
$mapConnection_type = $mapConnection['connection_type'];
$mapConnection_defaultLatitude = $mapConnection['default_latitude'];
$mapConnection_defaultLongitude = $mapConnection['default_longitude'];
$mapConnection_defaultAltitude = $mapConnection['default_altitude'];
$mapConnection_centerLatitude = $mapConnection['initial_latitude'];
$mapConnection_centerLongitude = $mapConnection['initial_longitude'];
$mapConnection_centerAltitude = $mapConnection['initial_altitude'];
$mapConnectionData = json_decode($mapConnection['conection_data'], true);
html_print_input_hidden('id_connection_map', $idConnectionMap);
html_print_input_hidden('action', 'save_edit_map_connection');
break;
case 'save_map_connection':
case 'save_edit_map_connection':
$mapConnection_name = get_parameter('name');
$mapConnection_group = get_parameter('group');
$mapConnection_numLevelsZoom = get_parameter('num_levels_zoom');
$mapConnection_defaultZoom = get_parameter('initial_zoom');
$mapConnection_type = get_parameter('type');
$mapConnection_defaultLatitude = get_parameter('default_latitude');
$mapConnection_defaultLongitude = get_parameter('default_longitude');
$mapConnection_defaultAltitude = get_parameter('default_altitude');
$mapConnection_centerLatitude = get_parameter('center_latitude');
$mapConnection_centerLongitude = get_parameter('center_longitude');
$mapConnection_centerAltitude = get_parameter('center_altitude');
$idConnectionMap = get_parameter('id_connection_map', null);
switch ($mapConnection_type) {
case 'OSM':
$mapConnection_OSM_url = get_parameter('url');
$mapConnectionData = [
'type' => 'OSM',
'url' => $mapConnection_OSM_url,
];
break;
case 'Gmap':
$gmap_type = get_parameter('gmap_type');
$gmap_key = get_parameter('gmap_key');
$mapConnectionData = [
'type' => 'Gmap',
'gmap_type' => $gmap_type,
'gmap_key' => $gmap_key,
];
break;
case 'Static_Image':
$mapConnection_Image_url = get_parameter('url');
$bb_left = get_parameter('bb_left');
$bb_right = get_parameter('bb_right');
$bb_top = get_parameter('bb_top');
$bb_bottom = get_parameter('bb_bottom');
$image_height = get_parameter('image_height');
$image_width = get_parameter('image_width');
$mapConnectionData = [
'type' => 'Static_Image',
'url' => $mapConnection_Image_url,
'bb_left' => $bb_left,
'bb_right' => $bb_right,
'bb_top' => $bb_top,
'bb_bottom' => $bb_bottom,
'image_width' => $image_width,
'image_height' => $image_height,
];
break;
case 'WMS':
$url = get_parameter('url');
$layers = get_parameter('layers');
$mapConnectionData = [
'type' => 'WMS',
'url' => $url,
'layers' => $layers,
];
break;
default:
// Default.
break;
}
// TODO VALIDATE PARAMETERS.
if ($mapConnection_name != '' && $mapConnection_type != '') {
gis_save_map_connection(
$mapConnection_name,
$mapConnection_group,
$mapConnection_numLevelsZoom,
$mapConnection_defaultZoom,
$mapConnection_defaultLatitude,
$mapConnection_defaultLongitude,
$mapConnection_defaultAltitude,
$mapConnection_centerLatitude,
$mapConnection_centerLongitude,
$mapConnection_centerAltitude,
$mapConnectionData,
$idConnectionMap
);
$errorfill = false;
} else {
$errorfill = true;
}
include_once 'gis.php';
return;
break;
default:
// Default.
break;
}
$table->width = '90%';
$table->data = [];
$table->data[0][0] = __('Connection Name').ui_print_help_tip(__('Descriptive name for the connection'), true).':';
$table->data[0][1] = html_print_input_text('name', $mapConnection_name, '', 30, 60, true);
$table->data[1][0] = __('Group').ui_print_help_tip(__('Group that owns the connection'), true).':';
$table->data[1][1] = html_print_select_groups(false, false, false, 'group', $mapConnection_group, '', __('All'), '0', true);
$table->data[2][0] = __('Number of zoom levels').':';
$table->data[2][1] = html_print_input_text('num_levels_zoom', $mapConnection_numLevelsZoom, '', 4, 10, true);
$table->data[3][0] = __('Default zoom level').ui_print_help_tip(__('Zoom level used when the map is opened'), true).':';
$table->data[3][1] = html_print_input_text('initial_zoom', $mapConnection_defaultZoom, '', 4, 10, true);
echo '
'.__('Basic configuration').' '.ui_print_help_icon('gis_basic_configurations_tab', true).'
';
html_print_table($table);
$table->width = '60%';
$table->data = [];
$types['OSM'] = __('Open Street Maps');
$types['Gmap'] = __('Google Maps');
$types['Static_Image'] = __('Static Image');
$types['WMS'] = __('WMS Server');
$table->data[0][0] = __('Type').':';
$table->data[0][1] = html_print_select($types, 'sel_type', $mapConnection_type, 'selMapConnectionType();', __('Please select the connection type'), 0, true);
echo ''.__('Map connection type').' '.ui_print_help_icon('gis_map_connection_tab', true).'
';
html_print_table($table);
$optionsConnectionTypeTable = '';
$mapConnectionDataUrl = '';
$gmap_type = '';
$gmap_key = '';
$bb_left = '';
$bb_right = '';
$bb_bottom = '';
$bb_top = '';
$image_width = '';
$image_height = '';
$layers = '';
if ($mapConnectionData != null) {
switch ($mapConnection_type) {
case 'OSM':
$mapConnectionDataUrl = $mapConnectionData['url'];
break;
case 'Gmap':
$gmap_type = $mapConnectionData['gmap_type'];
$gmap_key = $mapConnectionData['gmap_key'];
break;
case 'Static_Image':
$mapConnectionDataUrl = $mapConnectionData['url'];
$bb_left = $mapConnectionData['bb_left'];
$bb_right = $mapConnectionData['bb_right'];
$bb_bottom = $mapConnectionData['bb_bottom'];
$bb_top = $mapConnectionData['bb_top'];
$image_width = $mapConnectionData['image_width'];
$image_height = $mapConnectionData['image_height'];
break;
case 'WMS':
$mapConnectionDataUrl = $mapConnectionData['url'];
$layers = $mapConnectionData['layers'];
break;
default:
// Default.
break;
}
}
// Open Street Map Connection.
$optionsConnectionOSMTable = ''.''.''.htmlentities(__('Tile Server URL'), ENT_QUOTES, 'UTF-8').': | '.''.html_print_input_text('url', $mapConnectionDataUrl, '', 45, 90, true).' | '.'
'.'
';
// Google Maps Connection.
$gmaps_types['G_PHYSICAL_MAP'] = __('Google Physical');
$gmaps_types['G_HYBRID_MAP'] = __('Google Hybrid');
$gmaps_types['G_SATELITE_MAP'] = __('Google Satelite');
// TODO: Use label tags for the forms.
$optionsConnectionGmapTable = ''.''.''.__('Google Map Type').': | '.''.trim(html_print_select($gmaps_types, 'gmap_type', $gmap_type, '', '', 0, true)).' | '.'
'.''.''.__('Google Maps Key').': | '.'
'.''.''.html_print_input_text('gmap_key', $gmap_key, '', 90, 128, true).' | '.'
'.'
';
// Image Map Connection.
$optionsConnectionImageTable = ''.''.''.__('Image URL').': | '.''.html_print_input_text('url', $mapConnectionDataUrl, '', 45, 90, true).' | '.'
'.''.''.__('Corners of the area of the image').': | '.'
'.''.''.__('Left').': | '.''.html_print_input_text('bb_left', $bb_left, '', 25, 25, true).' | '.''.__('Bottom').': | '.''.html_print_input_text('bb_bottom', $bb_bottom, '', 25, 25, true).' | '.'
'.''.''.__('Right').': | '.''.html_print_input_text('bb_right', $bb_right, '', 25, 25, true).' | '.''.__('Top').': | '.''.html_print_input_text('bb_top', $bb_top, '', 25, 25, true).' | '.'
'.''.''.__('Image Size').': | '.'
'.''.''.__('Width').': | '.''.html_print_input_text('image_width', $image_width, '', 25, 25, true).' | '.''.__('Height').': | '.''.html_print_input_text('image_height', $image_height, '', 25, 25, true).' | '.'
'.'
';
// WMS Server Connection.
$optionsConnectionWMSTable = ''.''.''.__('WMS Server URL').' | '.''.''.html_print_input_text('url', $mapConnectionDataUrl, '', 90, 255, true).' | '.'
'.''.''.__('Layers').ui_print_help_tip(__('Enter a single element or a comma separated list'), true).' | '.''.html_print_input_text('layers', $layers, '', 90, 255, true).' | '.'
'.'
';
if ($mapConnectionData != null) {
switch ($mapConnection_type) {
case 'OSM':
$optionsConnectionTypeTable = $optionsConnectionOSMTable;
break;
case 'Gmap':
$optionsConnectionTypeTable = $optionsConnectionGmapTable;
break;
case 'Static_Image':
$optionsConnectionTypeTable = $optionsConnectionImageTable;
break;
case 'WMS':
$optionsConnectionTypeTable = $optionsConnectionWMSTable;
break;
default:
// Default.
break;
}
}
echo "".$optionsConnectionTypeTable.'
';
echo ''.__('Preview to select the center of the map and the default position of an agent without gis data').'
';
html_print_button(__('Load preview map'), 'button_refresh', false, 'refreshMapView();', 'class="sub"');
echo '
';
echo "";
$table->width = '60%';
$table->data = [];
// $table->colspan[0][3] = 3;
$table->data[0][0] = '';
$table->data[0][1] = __('Map Center').ui_print_help_tip(__('Position to center the map when the map is opened'), true);
$table->data[0][2] = __('Default position for agents without GIS data');
$table->data[1][0] = __('Change in the map').ui_print_help_tip(__('This selects what to change by clicking on the map'), true);
$table->data[1][1] = html_print_radio_button_extended('radio_button', 1, '', 1, false, 'changeSetManualPosition(true, false)', '', true);
$table->data[1][2] = html_print_radio_button_extended('radio_button', 2, '', 0, false, 'changeSetManualPosition(false, true)', '', true);
$table->data[2][0] = __('Latitude').':';
$table->data[2][1] = html_print_input_text('center_latitude', $mapConnection_centerLatitude, '', 10, 10, true);
$table->data[2][2] = html_print_input_text('default_latitude', $mapConnection_defaultLatitude, '', 10, 10, true);
$table->data[3][0] = __('Longitude').':';
$table->data[3][1] = html_print_input_text('center_longitude', $mapConnection_centerLongitude, '', 10, 10, true);
$table->data[3][2] = html_print_input_text('default_longitude', $mapConnection_defaultLongitude, '', 10, 10, true);
$table->data[4][0] = __('Altitude').':';
$table->data[4][1] = html_print_input_text('center_altitude', $mapConnection_centerAltitude, '', 10, 10, true);
$table->data[4][2] = html_print_input_text('default_altitude', $mapConnection_defaultAltitude, '', 10, 10, true);
html_print_table($table);
echo '';
html_print_submit_button(__('Save'), '', false, 'class="sub save wand"');
echo '
';
echo '';
ui_require_javascript_file('OpenLayers/OpenLayers');
ui_require_javascript_file('openlayers.pandora');
?>