pandorafms/pandora_console/godmode/agentes/agent_conf_gis.php

146 lines
5.3 KiB
PHP
Raw Normal View History

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
// Please see http://pandorafms.org for full contribution list
// 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.
// Load global vars
if (!isset ($id_agente)) {
die ("Not Authorized");
}
require_once ('include/functions_gis.php');
require_once ('include/functions_html.php');
2011-04-13 Juan Manuel Ramon <juanmanuel.ramon@artica.es> * include/functions_events.php include/functions_html.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_gis.php include/functions_networkmap.php include/functions_visual_map.php include/ajax/reporting.ajax.php include/help/en/help_timesource.php include/help/es/help_timesource.php include/help/ja/help_timesource.php include/functions_ui.php include/functions.php include/functions_db.php include/functions_ui_renders.php index.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.php extensions/pandora_logs.php extensions/agents_modules.php extensions/dbmanager.php extensions/resource_registration.php extensions/resource_exportation.php extensions/users_connected.php extensions/module_groups.php extensions/update_manager/settings.php extensions/update_manager/main.php extensions/plugin_registration.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/incidents/incident_statistics.php operation/search_modules.php operation/visual_console/render_view.php operation/visual_console/index.php operation/extensions.php operation/agentes/status_monitor.php operation/agentes/alerts_status.php operation/agentes/datos_agente.php operation/agentes/estado_ultimopaquete.php operation/agentes/custom_fields.php operation/agentes/estado_generalagente.php operation/agentes/networkmap.topology.php operation/agentes/estado_agente.php operation/agentes/alerts_status.functions.php operation/agentes/networkmap.groups.php operation/agentes/bulbs.php operation/agentes/sla_view.php operation/agentes/exportdata.php operation/agentes/gis_view.php operation/agentes/estado_monitores.php operation/agentes/ver_agente.php operation/agentes/graphs.php operation/agentes/agent_fields.php operation/agentes/tactical.php operation/agentes/group_view.php operation/agentes/networkmap.php operation/agentes/stat_win.php operation/servers/view_server.php operation/servers/view_server_detail.php operation/search_agents.php operation/search_graphs.php operation/snmpconsole/snmp_view.php operation/users/user_edit.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/integria_incidents/incident_statistics.php operation/events/event_statistics.php operation/events/events_list.php operation/events/events.php operation/search_alerts.php operation/messages/message.php operation/reporting/reporting_viewer.php operation/reporting/graph_viewer.php operation/reporting/custom_reporting.php operation/search_reports.php operation/search_maps.php operation/search_results.php operation/search_users.php extras/pandora_diag.php mobile/operation/agents/monitor_status.php mobile/operation/agents/view_agents.php mobile/operation/agents/view_alerts.php mobile/operation/events/events.php mobile/operation/servers/view_servers.php mobile/include/functions_web.php general/footer.php general/noaccess.php general/logon_ok.php general/main_menu.php general/ui/agents_list.php general/header.php godmode/groups/modu_group_list.php godmode/groups/configure_group.php godmode/groups/configure_modu_group.php godmode/groups/group_list.php godmode/admin_access_logs.php godmode/db/db_main.php godmode/db/db_audit.php godmode/db/db_sanity.php godmode/db/db_refine.php godmode/db/db_info.php godmode/db/db_event.php godmode/db/db_purge.php godmode/extensions.php godmode/agentes/module_manager_editor_common.php godmode/agentes/module_manager_editor_network.php godmode/agentes/fields_manager.php godmode/agentes/module_manager_editor_wmi.php godmode/agentes/module_manager_editor_plugin.php godmode/agentes/module_manager_editor_prediction.php godmode/agentes/agent_conf_gis.php godmode/agentes/module_manager.php godmode/agentes/modificar_agente.php godmode/agentes/configurar_agente.php godmode/agentes/configure_field.php godmode/agentes/module_manager_editor.php godmode/agentes/planned_downtime.php godmode/agentes/manage_config_remote.php godmode/agentes/agent_manager.php godmode/servers/recon_script.php godmode/servers/plugin.php godmode/servers/manage_recontask.php godmode/servers/modificar_server.php godmode/servers/manage_recontask_form.php godmode/alerts/alert_list.list.php godmode/alerts/configure_alert_compound.php godmode/alerts/alert_compounds.php godmode/alerts/alert_list.php godmode/alerts/configure_alert_template.php godmode/alerts/alert_templates.php godmode/alerts/configure_alert_action.php godmode/alerts/configure_alert_command.php godmode/alerts/alert_actions.php godmode/alerts/alert_list.builder.php godmode/alerts/alert_commands.php godmode/setup/file_manager.php godmode/setup/os.list.php godmode/setup/news.php godmode/setup/gis_step_2.php godmode/setup/links.php godmode/setup/setup.php godmode/setup/os.php godmode/setup/performance.php godmode/setup/setup_auth.php godmode/setup/gis.php godmode/setup/os.builder.php godmode/setup/setup_visuals.php godmode/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.php godmode/users/user_list.php godmode/users/configure_user.php godmode/users/configure_profile.php godmode/gis_maps/configure_gis_map.php godmode/gis_maps/index.php godmode/massive/massive_add_alerts.php godmode/massive/massive_copy_modules.php godmode/massive/massive_delete_agents.php godmode/massive/massive_enable_disable_alerts.php godmode/massive/massive_operations.php godmode/massive/massive_delete_profiles.php godmode/massive/massive_edit_agents.php godmode/massive/massive_delete_action_alerts.php godmode/massive/massive_delete_modules.php godmode/massive/massive_add_profiles.php godmode/massive/massive_delete_alerts.php godmode/massive/massive_edit_modules.php godmode/massive/massive_standby_alerts.php godmode/massive/massive_add_action_alerts.php godmode/modules/manage_network_templates.php godmode/modules/module_list.php godmode/modules/manage_network_components_form_common.php godmode/modules/manage_network_components_form_network.php godmode/modules/manage_network_templates_form.php godmode/modules/manage_network_components_form_wmi.php godmode/modules/manage_network_components.php godmode/modules/manage_nc_groups.php godmode/modules/manage_network_components_form_plugin.php godmode/reporting/reporting_builder.list_items.php godmode/reporting/visual_console_builder.php godmode/reporting/reporting_builder.preview.php godmode/reporting/visual_console_builder.data.php godmode/reporting/visual_console_builder.elements.php godmode/reporting/graph_builder.php godmode/reporting/visual_console_builder.preview.php godmode/reporting/graph_builder.graph_editor.php godmode/reporting/reporting_builder.php godmode/reporting/visual_console_builder.editor.php godmode/reporting/reporting_builder.item_editor.php godmode/reporting/map_builder.php godmode/reporting/graphs.php godmode/reporting/graph_builder.preview.php: Now all functions of include/functions_ui have ui_ prefix. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4212 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2011-04-13 18:11:02 +02:00
ui_require_javascript_file('openlayers.pandora');
echo "<div style='margin-bottom: 10px;'></div>";
$agentData = getDataLastPositionAgent($id_agente);
$updateGisData = get_db_value('update_gis_data','tagente', 'id_agente', $id_agente);
$agent_name = get_agent_name($id_agente);
/* Map with the current position */
echo "<div id=\"" . $agent_name . "_agent_map\" style=\"border:1px solid black; width:98%; height: 30em;\"></div>";
if (!getAgentMap($id_agente, "500px", "98%", false)) {
echo "<br /><div class='nf'>" . __("There is no default map.") . "</div>";
}
if ($agentData === false) {
echo "<p>" . __("There is no GIS data for this agent, so it's positioned in default position of map.") . "</p>";
}
echo "<div class='warn'>" .__("Warning: When you change the Agent position, the agent automatically activates the 'Ignore new GIS data' option") . "</div>";
$table->width = '60%';
$table->data = array();
$table->head[0] =__('Agent position');
$table->head_colspan[0] = 2;
$table->data[1][0] = __('Longitude: ');
$table->data[1][1] = print_input_text_extended ('longitude', $agentData['stored_longitude'], 'text-longitude', '', 10, 10, false, '',
array('onchange' => "setIgnoreGISDataEnabled()", 'onkeyup' => "setIgnoreGISDataEnabled()"), true);
$table->data[2][0] = __('Latitude: ');
$table->data[2][1] = print_input_text_extended ('latitude', $agentData['stored_latitude'], 'text-latitude', '', 10, 10, false, '',
array('onchange' => "setIgnoreGISDataEnabled()", 'onkeyup' => "setIgnoreGISDataEnabled()"), true);
$table->data[3][0] = __('Altitude: ');
$table->data[3][1] = print_input_text_extended ('altitude', $agentData['stored_altitude'], 'text-altitude', '', 10, 10, false, '',
array('onchange' => "setIgnoreGISDataEnabled()", 'onkeyup' => "setIgnoreGISDataEnabled()"), true);
$table->data[4][0] = __('Ignore new GIS data:');
$table->data[4][1] = __('Disabled').' '.print_radio_button_extended ("update_gis_data", 1, '', $updateGisData, false, '', 'style="margin-right: 40px;"', true);
$table->data[4][1] .= __('Active').' '.print_radio_button_extended ("update_gis_data", 0, '', $updateGisData, false, '', 'style="margin-right: 40px;"', true);
$url = 'index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=gis&id_agente='.$id_agente;
echo "<form method='post' action='" . $url . "' onsubmit ='return validateFormFields();'>";
print_input_hidden('update_gis', 1);
print_table($table);
echo '<div class="action-buttons" style="clear: left; width: ' . $table->width . '; float: left;">';
print_submit_button (__('Update'), '', false, 'class="sub upd"');
echo '</div>';
echo "</form>";
?>
<script type="text/javascript">
function setIgnoreGISDataEnabled() {
$("#radiobtn0001").removeAttr("checked");
$("#radiobtn0002").attr("checked","checked");
}
function validateFormFields() {
longitude = $('input[name=longitude]').val();
latitude = $('input[name=latitude]').val();
altitude = $('input[name=altitude]').val();
valid = true;
$('input[name=longitude]').css('background', '#ffffff');
$('input[name=latitude]').css('background', '#ffffff');
$('input[name=altitude]').css('background', '#ffffff');
//Validate longitude
if ((jQuery.trim(longitude).length == 0) ||
isNaN(parseFloat(longitude))) {
$('input[name=longitude]').css('background', '#cc0000');
valid = false;
}
//Validate latitude
if ((jQuery.trim(latitude).length == 0) ||
isNaN(parseFloat(latitude))) {
$('input[name=latitude]').css('background', '#cc0000');
valid = false;
}
//Validate altitude
if ((jQuery.trim(altitude).length == 0) ||
isNaN(parseFloat(altitude))) {
$('input[name=altitude]').css('background', '#cc0000');
valid = false;
}
if (valid) return true;
else return false;
}
$(document).ready (
function () {
function changePositionAgent(e) {
var lonlat = map.getLonLatFromViewPortPx(e.xy);
var layer = map.getLayersByName("layer_for_agent_<?php echo $agent_name ?>");
layer = layer[0];
feature = layer.features[0];
lonlat.transform(map.getProjectionObject(), map.displayProjection); //transform the lonlat in object proyection to "standar proyection"
$('input[name=latitude]').val(lonlat.lat);
$('input[name=longitude]').val(lonlat.lon);
if ($('input[name=altitude]').val().length == 0)
$('input[name=altitude]').val(0)
setIgnoreGISDataEnabled();
//return to no-standar the proyection for to move
feature.move(lonlat.transform(map.displayProjection, map.getProjectionObject()));
}
js_activateEvents(changePositionAgent);
});
</script>