226 lines
6.2 KiB
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&sec2=operation/gis_maps/render_view&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&sec2=godmode/gis_maps/configure_gis_map&map_id='.$map['id_tgis_map'].'&action=edit_map">' .
|
|
html_print_image ("images/config.png", true, array('title' => __('Edit'))).'</a> ' .
|
|
'<a href="index.php?sec=godgismaps&sec2=operation/gis_maps/gis_map&map_id='.$map['id_tgis_map'].'&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&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>
|