pandorafms/pandora_console/operation/gis_maps/gis_map.php

226 lines
6.2 KiB
PHP

<?php
/**
* Pandora FMS- http://pandorafms.com
* ==================================================
* Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
// Login check
check_login ();
// Load global vars
global $config;
require_once ('include/functions_gis.php');
//ui_require_javascript_file('openlayers.pandora');
$buttons['gis_maps_list'] = array('active' => true,
'text' => '<a href="index.php?sec=godgismaps&sec2=operation/gis_maps/gis_map">' .
html_print_image("images/list.png", true,
array("title" => __('GIS Maps list'))) .'</a>');
ui_print_page_header(__('GIS Maps'), "images/op_gis.png", false,
"configure_gis_map", false, $buttons);
$own_info = get_user_info($config['id_user']);
if ($own_info['is_admin'] || check_acl ($config['id_user'], 0, "MM"))
$display_default_column = true;
else
$display_default_column = false;
$edit_gis_maps = false;
if (check_acl ($config['id_user'], 0, "MW") || check_acl ($config['id_user'], 0, "MM")) {
$edit_gis_maps = true;
}
if (is_ajax ()) {
$action = get_parameter('action');
$id_map = get_parameter('id_map');
// Set to not default the actual default map
$returnOperationDB = db_process_sql_update('tgis_map', array('default_map' => 0), array('default_map' => 1));
// Set default the new default map
$returnOperationDB = db_process_sql_update('tgis_map', array('default_map' => 1), array('id_tgis_map' => $id_map));
if ($returnOperationDB === false)
$data['correct'] = false;
else
$data['correct'] = true;
echo json_encode($data);
return;
}
$action = get_parameter('action');
switch ($action) {
case 'delete_map':
$idMap = get_parameter('map_id');
$result = gis_delete_map($idMap);
ui_print_result_message($result,
__('Successfully deleted'),
__('Could not be deleted'));
break;
}
$maps = gis_get_maps();
$table = new stdClass();
$table->width = "100%";
$table->class = "databox data";
$table->head = array ();
$table->head['name'] = __('Name');
$table->head['group'] = __('Group');
if ($edit_gis_maps) {
if ($display_default_column)
$table->head['default'] = __('Default');
$table->head['op'] = '<span title="Operations">' . __('Op.') . '</span>';
}
$table->headstyle = array();
$table->headstyle['name'] = 'text-align: left;';
$table->headstyle['group'] = 'text-align: center;';
if ($edit_gis_maps) {
if ($display_default_column)
$table->headstyle['default'] = 'text-align: center;';
$table->headstyle['op'] = 'text-align: center;';
}
$table->size = array();
$table->size['name'] = "80%";
$table->size['group'] = "30";
if ($edit_gis_maps) {
if ($display_default_column)
$table->size['default'] = "30";
$table->size['op'] = "60";
}
$table->align = array ();
$table->align['name'] = 'left';
$table->align['group'] = 'center';
if ($edit_gis_maps) {
if ($display_default_column)
$table->align['default'] = 'center';
$table->align['op'] = 'center';
}
$table->data = array ();
$rowPair = true;
$iterator = 0;
if ($maps !== false) {
foreach ($maps as $map) {
if (!check_acl ($config["id_user"], $map["group_id"], "MR") &&
!check_acl ($config["id_user"], $map["group_id"], "MW") &&
!check_acl ($config["id_user"], $map["group_id"], "MM")) {
continue;
}
if ($rowPair)
$table->rowclass[$iterator] = 'rowPair';
else
$table->rowclass[$iterator] = 'rowOdd';
$rowPair = !$rowPair;
$iterator++;
$data = array ();
$data['name'] = '<a href="index.php?sec=gismaps&amp;sec2=operation/gis_maps/render_view&amp;map_id='.
$map['id_tgis_map'] . '">' . $map['map_name'].'</a> ';
$data['group'] = ui_print_group_icon ($map["group_id"], true);
if ($edit_gis_maps) {
if ($display_default_column) {
$checked = false;
if ($map['default_map']) {
$checked = true;
$defaultMapId = $map['id_tgis_map'];
}
$data['default'] =
html_print_radio_button_extended('default_map', $map['id_tgis_map'], '', $checked, false, "setDefault(" . $map['id_tgis_map'] . ");", '', true);
}
$data['op'] = '<a href="index.php?sec=godgismaps&amp;sec2=godmode/gis_maps/configure_gis_map&map_id='.$map['id_tgis_map'].'&amp;action=edit_map">' .
html_print_image ("images/config.png", true, array('title' => __('Edit'))).'</a>&nbsp;&nbsp;' .
'<a href="index.php?sec=godgismaps&amp;sec2=operation/gis_maps/gis_map&amp;map_id='.$map['id_tgis_map'].'&amp;action=delete_map" onclick="return confirmDelete();">' .
html_print_image ("images/cross.png", true, array('title' => __('Delete'))).'</a>';
}
array_push ($table->data, $data);
}
}
if (!empty ($table->data)) {
html_print_table ($table);
}
else {
echo '<div class="nf">' . __('No maps found') . '</div>';
}
if ($edit_gis_maps) {
echo '<div class="action-buttons" style="width: '.$table->width.'">';
echo '<form action="index.php?sec=godgismaps&amp;sec2=godmode/gis_maps/configure_gis_map" method="post">';
html_print_input_hidden ('action','new_map');
html_print_submit_button (__('Create'), '', false, 'class="sub next"');
echo '</form>';
echo '</div>';
}
unset ($table);
?>
<script type="text/javascript">
var defaultMapId = "<?php echo $defaultMapId; ?>";
function confirmDelete() {
if (confirm('<?php echo __('Caution: Do you want delete the map?');?>'))
return true;
return false;
}
function setDefault(id_tgis_map) {
if (confirm('<?php echo __('Do you want to set default the map?');?>')) {
jQuery.ajax ({
data: "page=operation/gis_maps/gis_map&action=set_default&id_map=" + id_tgis_map,
type: "POST",
dataType: 'json',
url: "ajax.php",
success: function (data) {
if (data.correct == 0) {
alert('<?php echo __('There was error on setup the default map.');?>');
}
}
});
}
else {
jQuery.each($("input[name=default_map]"), function() {
if ($(this).val() == defaultMapId) {
$(this).attr("checked", "checked");
}
else {
$(this).removeAttr("checked");
}
});
}
}
</script>