2006-03-27 05:37:27 +02:00
< ? php
2006-07-19 20:29:12 +02:00
2008-07-30 20:39:40 +02:00
// Pandora FMS - the Flexible Monitoring System
// ============================================
2008-08-22 20:07:32 +02:00
// Copyright (c) 2008 Artica Soluciones Tecnologicas, http://www.artica.es
2008-07-30 20:39:40 +02:00
// Please see http://pandora.sourceforge.net for full contribution list
2006-06-29 21:31:53 +02:00
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
2008-08-22 20:07:32 +02:00
// as published by the Free Software Foundation for version 2.
2006-06-29 21:31:53 +02:00
// 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.
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2006-03-27 05:37:27 +02:00
2006-07-19 20:29:12 +02:00
// Load global vars
2009-01-07 Evi Vanoost <vanooste@rcbi.rochester.edu>
* include/functions.php: Removed safe_sql_string. Cleaned documenation so
it would be parsed without errors by phpdoc
* include/functions_exportserver.php: Aggregate all exportserver functions
here.
* include/functions_db.php: Cleaned up documentation. Added
get_modulegroups and get_modulegroup_name.
* godmode/db/db_refine.php: Fixed the selection box.
* godmode/agentes/agent_disk_conf_editor.php: Added todo. Don't handle
the footer anymore
* godmode/agentes/agent_template.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/module_manager_editor_network.php,
godmode/agentes/module_manager.php, godmode/agentes/agent_manager.php,
godmode/agentes/alert_manager.php:
Removed the ACL part since it was redundant due to the inclusion.
Just made sure that it was included (checking on $id_agente)
* godmode/agentes/manage_config.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/planned_downtime.php: Style fix
* godmode/agentes/configurar_agente.php
godmode/agentes/module_manager_editor_prediction.php: Fixed prediction
module creation/update bugs
* godmode/setup/links.php: No more relying on antique (PHP4) functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1321 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-07 16:57:33 +01:00
require_once ( " include/config.php " );
2006-07-19 20:29:12 +02:00
2008-07-16 23:04:31 +02:00
check_login ();
2008-06-16 20:09:56 +02:00
2008-08-11 Esteban Sanchez <estebans@artica.es>
* include/functions_db.php: Added __ as an alias of lang_string().
* include/functions_reporting_pdf.php,
include/functions_reporting.php, include/functions.php,
include/functions_visual_map.php, index.php,
operation/incidents/incident.php,
operation/incidents/incident_detail.php,
operation/incidents/incident_note.php,
operation/incidents/incident_search.php,
operation/incidents/incident_statistics.php,
operation/snmpconsole/snmp_alert.php,
operation/snmpconsole/snmp_view.php, operation/users/user.php,
operation/users/user_edit.php, operation/users/user_statistics.php,
operation/events/event_statistics.php, operation/events/events.php,
operation/visual_console/render_view.php,
operation/visual_console/index.php, operation/extensions.php,
operation/agentes/estado_alertas.php,
operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/export_csv.php,
operation/agentes/datos_agente.php,
operation/agentes/estado_ultimopaquete.php,
operation/agentes/estado_generalagente.php,
operation/agentes/estado_agente.php, operation/agentes/bulbs.php,
operation/agentes/status_events.php, operation/agentes/sla_view.php,
operation/agentes/exportdata.php,
operation/agentes/estado_monitores.php,
operation/agentes/ver_agente.php, operation/agentes/estadisticas.php,
operation/agentes/tactical.php, operation/agentes/networkmap.php,
operation/messages/message.php,
operation/reporting/reporting_viewer.php,
operation/reporting/graph_viewer.php,
operation/reporting/custom_reporting.php,
operation/servers/view_server.php,
operation/servers/view_server_detail.php, operation/menu.php,
reporting/fgraph.php, reporting/stat_win.php, ajax.php,
general/logoff.php, general/pandora_help.php, general/footer.php,
general/noaccess.php, general/logon_failed.php,
general/links_menu.php, general/login_page.php, general/logon_ok.php,
general/header.php, general/main_menu.php,
godmode/groups/configure_group.php, godmode/groups/group_list.php,
godmode/setup/news.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/users/user_list.php,
godmode/users/configure_user.php, godmode/profiles/profile_list.php,
godmode/admin_access_logs.php, godmode/db/db_info_data.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/agent_template.php,
godmode/agentes/module_manager_editor_network.php,
godmode/agentes/module_manager_editor_wmi.php,
godmode/agentes/alert_manager.php,
godmode/agentes/module_manager_editor_plugin.php,
godmode/agentes/module_manager_editor_prediction.php,
godmode/agentes/alert_manager_editor.php,
godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor_data.php,
godmode/agentes/module_manager.php,
godmode/agentes/modificar_agente.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/agent_disk_conf_editor.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/agentes/agent_manager.php,
godmode/modules/manage_network_components_form.php,
godmode/modules/manage_nc_groups_form.php,
godmode/modules/manage_network_templates.php,
godmode/modules/module_list.php,
godmode/modules/manage_network_templates_form.php,
godmode/modules/manage_network_components_form_network.php,
godmode/modules/manage_network_components_form_wmi.php,
godmode/modules/manage_network_components.php,
godmode/modules/manage_nc_groups.php,
godmode/reporting/reporting_builder.php,
godmode/reporting/map_builder.php,
godmode/reporting/graph_builder.php, godmode/servers/plugin.php,
godmode/servers/manage_recontask.php,
godmode/servers/modificar_server.php,
godmode/servers/manage_recontask_form.php,
godmode/alerts/modify_alert.php, godmode/alerts/configure_alert.php,
godmode/menu.php: Replaced $id_user with $config['id_user']. Use __a
instead of $lang_label to future use of gettext. Style
corrections.
* godmode/agentes/planned_downtime.php: Rewritten to use Pandora
functions and adopt the UI style. Replaced lang_string with __().
* pandoradb.sql: Fields in tplanned_downtime renamed to fit
guidelines.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1005 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-08-11 12:59:07 +02:00
if ( ! give_acl ( $config [ 'id_user' ], 0 , " LM " )) {
audit_db ( $config [ 'id_user' ], $REMOTE_ADDR , " ACL Violation " ,
" Trying to access Agent Config Management Admin section " );
require ( " general/noaccess.php " );
return ;
}
2009-01-19 15:42:34 +01:00
$id_group = ( int ) get_parameter ( " id_group " );
$origen = ( int ) get_parameter_post ( " origen " , - 1 );
$update_agent = ( int ) get_parameter ( " update_agent " , - 1 );
$update_group = ( int ) get_parameter ( " update_group " , - 1 );
$destino = ( array ) get_parameter_post ( " destino " , array ());
$origen_modulo = ( array ) get_parameter_post ( " origen_modulo " , array ());
2008-06-16 20:09:56 +02:00
// Operations
// ---------------
2008-10-14 17:07:53 +02:00
// DATA COPY
// ---------
if ( isset ( $_POST [ " copy " ])) {
echo " <h2> " . __ ( 'Data Copy' ) . " </h2> " ;
if ( empty ( $destino )) {
echo '<h3 class="error">ERROR: ' . __ ( 'No selected agents to copy' ) . '</h3>' ;
return ;
}
if ( empty ( $origen_modulo )) {
echo '<h3 class="error">ERROR: ' . __ ( 'No modules have been selected' ) . '</h3>' ;
return ;
}
2009-01-19 15:42:34 +01:00
$copy_modules = ( bool ) get_parameter ( 'modules' );
$copy_alerts = ( bool ) get_parameter ( 'alerts' );
if ( ! $copy_alerts && ! $copy_modules ) {
2008-10-14 17:07:53 +02:00
echo '<h3 class="error">ERROR: ' . __ ( 'You must check modules and/or alerts to be copied' ) . '</h3>' ;
return ;
}
2009-01-19 15:42:34 +01:00
require_once ( " include/functions_alerts.php " );
$origin_name = get_agent_name ( $origen );
2008-10-14 17:07:53 +02:00
// Copy
$errors = 0 ;
$id_new_module = 0 ;
process_sql ( " SET AUTOCOMMIT = 0; " );
2009-01-19 15:42:34 +01:00
process_sql ( " START TRANSACTION; " );
2008-10-14 17:07:53 +02:00
foreach ( $origen_modulo as $id_module ) {
//For each selected module
$module = get_db_row ( " tagente_modulo " , " id_agente_modulo " , $id_module );
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
foreach ( $destino as $id_agent_dest ) {
//For each destination agent
2009-01-19 15:42:34 +01:00
$destiny_name = get_agent_name ( $id_agent_dest );
2008-10-14 17:07:53 +02:00
2009-01-19 15:42:34 +01:00
if ( $copy_modules ) {
echo '<br /><br />' . __ ( 'Copying module' ) . '<b> [' . $origin_name . ' - ' . $module [ " nombre " ] . '] -> [' . $destiny_name . ']</b>' ;
2008-12-02 09:11:42 +01:00
$sql = sprintf ( ' INSERT INTO tagente_modulo
( id_agente , id_tipo_modulo , descripcion ,
nombre , max , min , module_interval ,
tcp_port , tcp_send , tcp_rcv ,
snmp_community , snmp_oid , ip_target ,
id_module_group , flag , id_modulo ,
disabled , id_export ,
plugin_user , plugin_pass ,
plugin_parameter , id_plugin ,
post_process , prediction_module ,
max_timeout )
VALUES ( % d , % d , " %s " , " %s " , % f , % f , % d ,
% d , " %s " , " %s " , " %s " , " %s " , " %s " , % d ,
% d , % d , % d , % d , " %s " , " %s " , " %s " , % d ,
% f , % d , % d ) ' ,
$id_agent_dest , $module [ " id_tipo_modulo " ],
$module [ " descripcion " ],
$module [ " nombre " ], $module [ " max " ],
$module [ " min " ],
$module [ " module_interval " ],
$module [ " tcp_port " ],
$module [ " tcp_send " ],
$module [ " tcp_rcv " ],
$module [ " snmp_community " ],
$module [ " snmp_oid " ],
get_agent_address ( $id_agent_dest ),
$module [ " id_module_group " ],
$module [ " flag " ],
$module [ " id_modulo " ],
$module [ " disabled " ],
$module [ " id_export " ],
$module [ " plugin_user " ],
$module [ " plugin_pass " ],
$module [ " plugin_parameter " ],
$module [ " id_plugin " ],
$module [ " post_process " ],
$module [ " prediction_module " ],
$module [ " max_timeout " ]);
2008-10-14 17:07:53 +02:00
$id_new_module = process_sql ( $sql , " insert_id " );
if ( empty ( $id_new_module )) {
$errors ++ ;
} else {
switch ( $module [ " id_tipo_modulo " ]) {
2008-12-02 09:11:42 +01:00
case 2 :
case 6 :
case 9 :
case 100 :
case 21 :
case 18 :
$sql = sprintf ( " INSERT INTO tagente_estado (id_agente_modulo, datos, timestamp, cambio, estado, id_agente, utimestamp)
VALUES ( % d , 0 , '0000-00-00 00:00:00' , 0 , 0 , % d , 0 ) " , $id_new_module , $id_agent_dest );
break ;
default :
$sql = sprintf ( " INSERT INTO tagente_estado (id_agente_modulo, datos, timestamp, cambio, estado, id_agente, utimestamp)
VALUES ( % d , 0 , '0000-00-00 00:00:00' , 0 , 100 , % d , 0 ) " , $id_new_module , $id_agent_dest );
2008-10-14 17:07:53 +02:00
}
$result = process_sql ( $sql );
if ( $result === false )
$errors ++ ;
} //If empty id_new_module
} //If modulos
2009-01-19 15:42:34 +01:00
if ( $copy_alerts ) {
2008-10-14 17:07:53 +02:00
if ( empty ( $id_new_module )) {
//If we didn't copy modules or if we
//didn't create new modules we have to
//look for the module id
2009-01-19 15:42:34 +01:00
$sql = sprintf ( ' SELECT id_agente_modulo
FROM tagente_modulo
WHERE nombre = " %s "
AND id_agente = % d ' ,
$module [ 'nombre' ], $id_agent_dest );
2008-10-14 17:07:53 +02:00
$id_new_module = get_db_sql ( $sql );
2009-01-19 15:42:34 +01:00
if ( empty ( $id_new_module ))
// We can't find a module belonging to this agent
continue ;
2008-06-16 20:09:56 +02:00
}
2008-10-14 17:07:53 +02:00
2009-01-19 15:42:34 +01:00
$alerts = get_db_all_rows_field_filter ( 'talert_template_modules' ,
'id_agent_module' , $id_module );
if ( empty ( $alerts ))
// The module doesn't have alerts
continue ;
2008-10-14 17:07:53 +02:00
2009-01-19 15:42:34 +01:00
foreach ( $alerts as $alert ) {
echo '<br />' . __ ( 'Copying alert' ) . '<b> [' . $origin_name . ' - ' . $module [ " nombre " ] . '] -> [' . $destiny_name . ']</b>' ;
2008-10-14 17:07:53 +02:00
if ( ! empty ( $alert [ " id_agent " ])) {
//Compound alert
$alert [ " id_agent " ] = $id_agent_dest ;
2008-10-10 17:08:31 +02:00
}
2009-01-19 15:42:34 +01:00
$values = array ( 'id_agent_module' => ( int ) $id_new_module ,
'id_alert_template' => ( int ) $alert [ 'id_alert_template' ]);
$id_alert = process_sql_insert ( 'talert_template_modules' ,
$values );
2008-10-14 17:07:53 +02:00
2009-01-19 15:42:34 +01:00
if ( $id_alert === false ) {
2008-10-14 17:07:53 +02:00
$errors ++ ;
2009-01-19 15:42:34 +01:00
continue ;
}
$actions = get_alert_agent_module_actions ( $alert [ 'id' ]);
if ( empty ( $actions ))
continue ;
foreach ( $actions as $action ) {
$values = array ( 'id_alert_template_module' => ( int ) $id_alert ,
'id_alert_action' => ( int ) $action [ 'id' ],
'fires_min' => ( int ) $action [ 'fires_min' ],
'fires_max' => ( int ) $action [ 'fires_max' ]);
$result = process_sql_insert ( 'talert_template_module_actions' ,
$values );
2008-10-14 17:07:53 +02:00
if ( $result === false )
2009-01-19 15:42:34 +01:00
$errors ++ ;
}
/* TODO: Copy compound alerts */
2008-10-14 17:07:53 +02:00
} //foreach alert
} //if alerts
} //Foreach destino
} //Foreach origen_modulo
if ( $errors > 1 ) {
echo '<h3 class="error">' . __ ( 'There was an error copying the module, the copy has been cancelled' ) . '</h3>' ;
process_sql ( " ROLLBACK; " );
} else {
echo '<h3 class="suc">' . __ ( 'Successfully copied module' ) . '</h3>' ;
process_sql ( " COMMIT; " );
2008-10-10 17:08:31 +02:00
}
2008-10-14 17:07:53 +02:00
process_sql ( " SET AUTOCOMMIT = 1; " );
return ; //Page shouldn't continue anymore
} //end of copy modules or alerts
// -----------
// DELETE DATA
// -----------
if ( isset ( $_POST [ " delete " ])) {
2008-12-02 09:11:42 +01:00
echo " <h2> " . __ ( 'Agent Module Data Deletion' ) . " </h2> " ;
2008-10-14 17:07:53 +02:00
2008-12-02 09:11:42 +01:00
if ( empty ( $destino )) {
echo '<h3 class="error">ERROR: ' . __ ( 'No selected agents to copy' ) . '</h3>' ;
return ;
}
2008-10-14 17:07:53 +02:00
2008-12-02 09:11:42 +01:00
if ( empty ( $origen_modulo )) {
echo '<h3 class="error">ERROR: ' . __ ( 'No modules have been selected' ) . '</h3>' ;
return ;
}
2009-01-12 Esteban Sanchez <estebans@artica.es>
* godmode/agentes/alert_manager.php: Complete rewritten of the alert
system when assigned alerts to an agent.
* pandoradb.sql: New tables for alert system. These are:
talert_commands, talert_actions, talert_templates,
talert_template_modules, talert_template_module_actions. No migration
tool is available yet.
* godmode/alerts/configure_alert_template.php,
godmode/alerts/configure_alert_action.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_command.php,
godmode/alerts/alert_actions.php: Added to repository. Administration
interface to new alert system.
* godmode/alerts/modify_alert.php: Deleted from repository.
* godmode/setup/setup.php: Added an example of the date format. Main
table has now percentage width.
* godmode/menu.php, operation/menu.php: Added new alert options.
Removed refr value when it's not neccesary.
* include/styles/pandora.css: Added width to textarea elements. Style
correction and cleanup. Tables doesn't have a odd-even pattern, but
the hovered row now changes its colour. New styles for alert pages.
* include/functions_custom_graphs.php: Added to repository. custom
graphs functions moved here.
* include/functions_incidents.php, include/functions_events.php: Moved
to LGPL. Style comment corrections.
* include/functions_html.php: Documentation style correction. Added
print_input_file() and print_label().
* include/functions_ui.php: Doc style correction.
* operation/reporting/graph_viewer.php: Include new function file with
custom graphs. Use generic functions.
* index.php: Unset pass from POST and REQUEST arrays.
* include/functions_db.php: Some documentation updated to new format.
Added format_array_to_update_sql() to generate SQL sentences for
updates. Style correction.
* godmode/agentes/configurar_agente.php: Variables renamed to have a
meaning.
* extensions/update_manager/main.php: Mark an string translatable.
* extensions/update_manager/lib/libupdate_manager_client.php,
godmode/alerts/configure_alert.php, include/functions.php,
godmode/agentes/module_manager.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
godmode/agentes/manage_config.php: Style correction.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
2008-12-02 09:11:42 +01:00
// If selected modules or alerts
2008-10-14 17:07:53 +02:00
if ( isset ( $_POST [ " alerts " ])) {
$alertas = 1 ;
} else {
$alertas = 0 ;
}
if ( isset ( $_POST [ " modules " ])) {
2008-12-02 09:11:42 +01:00
$modulos = 1 ;
2008-10-14 17:07:53 +02:00
$alertas = 1 ;
2008-12-02 09:11:42 +01:00
} else {
$modulos = 0 ;
}
2008-10-14 17:07:53 +02:00
2008-12-02 09:11:42 +01:00
if (( $alertas + $modulos ) == 0 ){
echo '<h3 class="error">ERROR: ' . __ ( 'You must check modules and/or alerts to be deleted' ) . '</h3>' ;
return ;
}
2008-10-14 17:07:53 +02:00
2008-12-02 09:11:42 +01:00
// Deletion
// ----
$errors = 0 ;
2008-10-14 17:07:53 +02:00
process_sql ( " SET AUTOCOMMIT = 0; " );
2008-12-02 09:11:42 +01:00
process_sql ( " START TRANSACTION; " ); //Start a transaction
2008-10-14 17:07:53 +02:00
function temp_sql_delete ( $table , $row , $value ) {
global $errors ; //Globalize the errors variable
$sql = sprintf ( " DELETE FROM %s WHERE %s = %s " , $table , $row , $value );
2008-06-19 02:24:05 +02:00
2008-10-14 17:07:53 +02:00
$result = process_sql ( $sql );
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
if ( $result === false )
$errors ++ ;
}
2008-12-02 09:11:42 +01:00
foreach ( $origen_modulo as $id_module_src ) {
2008-10-14 17:07:53 +02:00
$nombre_src = get_db_value ( " nombre " , " tagente_modulo " , " id_agente_modulo " , $id_module_src );
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
foreach ( $destino as $agent_dest ) {
$sql = sprintf ( " SELECT id_agente_modulo FROM tagente_modulo WHERE nombre = '%s' AND id_agente = %d " , $nombre_src , $agent_dest );
$id_module_dest = get_db_sql ( $sql );
if ( $id_module_dest === false )
continue ; //If we don't have a module like that in the agent, then don't try deleting
if ( $alertas == 1 ) {
//Alert
2009-01-19 15:42:34 +01:00
/* TODO: Delete compound alerts */
temp_sql_delete ( 'talert_template_modules' , " id_agent_module " , $id_module_dest );
2006-03-27 05:37:27 +02:00
}
2008-10-14 17:07:53 +02:00
if ( $modulos == 1 ) {
//Standard data
temp_sql_delete ( " tagente_datos " , " id_agente_modulo " , $id_module_dest );
2008-12-02 09:11:42 +01:00
//Incremental Data
2008-10-14 17:07:53 +02:00
temp_sql_delete ( " tagente_datos_inc " , " id_agente_modulo " , $id_module_dest );
//String data
2008-12-02 09:11:42 +01:00
temp_sql_delete ( " tagente_datos_string " , " id_agente_modulo " , $id_module_dest );
2008-10-14 17:07:53 +02:00
//Events (up/down monitors)
temp_sql_delete ( " tevento " , " id_agentmodule " , $id_module_dest );
//Graphs, layouts & reports
temp_sql_delete ( " tgraph_source " , " id_agent_module " , $id_module_dest );
temp_sql_delete ( " tlayout_data " , " id_agente_modulo " , $id_module_dest );
temp_sql_delete ( " treport_content " , " id_agent_module " , $id_module_dest );
//The status of the module
temp_sql_delete ( " tagente_estado " , " id_agente_modulo " , $id_module_dest );
//The actual modules, don't put anything based on
//tagente_modulo after this
temp_sql_delete ( " tagente_modulo " , " id_agente_modulo " , $id_module_dest );
} //if modulos
} //foreach destino
} //foreach origen_modulo
if ( $errors > 1 ) {
echo '<h3 class="error">' . __ ( 'There was an error removing the module data, the removal has been cancelled' ) . '</h3>' ;
process_sql ( " ROLLBACK; " );
} else {
echo '<h3 class="suc">' . __ ( 'Successfully removed module data' ) . '</h3>' ;
process_sql ( " COMMIT; " );
}
process_sql ( " SET AUTOCOMMIT = 1; " );
2009-01-12 Esteban Sanchez <estebans@artica.es>
* godmode/agentes/alert_manager.php: Complete rewritten of the alert
system when assigned alerts to an agent.
* pandoradb.sql: New tables for alert system. These are:
talert_commands, talert_actions, talert_templates,
talert_template_modules, talert_template_module_actions. No migration
tool is available yet.
* godmode/alerts/configure_alert_template.php,
godmode/alerts/configure_alert_action.php,
godmode/alerts/alert_templates.php,
godmode/alerts/configure_alert_command.php,
godmode/alerts/alert_actions.php: Added to repository. Administration
interface to new alert system.
* godmode/alerts/modify_alert.php: Deleted from repository.
* godmode/setup/setup.php: Added an example of the date format. Main
table has now percentage width.
* godmode/menu.php, operation/menu.php: Added new alert options.
Removed refr value when it's not neccesary.
* include/styles/pandora.css: Added width to textarea elements. Style
correction and cleanup. Tables doesn't have a odd-even pattern, but
the hovered row now changes its colour. New styles for alert pages.
* include/functions_custom_graphs.php: Added to repository. custom
graphs functions moved here.
* include/functions_incidents.php, include/functions_events.php: Moved
to LGPL. Style comment corrections.
* include/functions_html.php: Documentation style correction. Added
print_input_file() and print_label().
* include/functions_ui.php: Doc style correction.
* operation/reporting/graph_viewer.php: Include new function file with
custom graphs. Use generic functions.
* index.php: Unset pass from POST and REQUEST arrays.
* include/functions_db.php: Some documentation updated to new format.
Added format_array_to_update_sql() to generate SQL sentences for
updates. Style correction.
* godmode/agentes/configurar_agente.php: Variables renamed to have a
meaning.
* extensions/update_manager/main.php: Mark an string translatable.
* extensions/update_manager/lib/libupdate_manager_client.php,
godmode/alerts/configure_alert.php, include/functions.php,
godmode/agentes/module_manager.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
godmode/agentes/manage_config.php: Style correction.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1331 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-12 15:31:01 +01:00
return ; //Page shouldn't continue anymore
2008-10-14 17:07:53 +02:00
} //if $_POST['delete']
// -----------
// DELETE AGENT
// -----------
if ( isset ( $_POST [ " delete_agent " ])) {
echo " <h2> " . __ ( 'Deleting Agent' ) . " </h2> " ;
// Initial checkings
// if selected more than 0 agents
$destino = get_parameter_post ( " destino " , array ());
if ( empty ( $destino )) {
echo '<h3 class="error">ERROR: ' . __ ( 'You must select at least one agent to be removed' ) . '</h3>' ;
return ;
}
$result = delete_agent ( $destino );
if ( $result === false ) {
echo '<h3 class="error">' . __ ( 'There was an error removing the agents. Removal has been cancelled' ) . '</h3>' ;
} else {
echo '<h3 class="suc">' . __ ( 'Successfully removed agents' ) . '</h3>' ;
}
return ;
}
// ============
// Form view
// ============
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
// title
2008-10-22 Jorge Gonzalez <jorgegonz@artica.es>
* include/languages/es.po, include/languages/es.mo: Updated Spanish
translation.
* include/languages/index.pot: Updated po template file.
* operation/messages/message.php, operation/servers/view_server.php,
general/logon_ok.php, godmode/admin_access_logs.php,
godmode/db/db_purge.php, godmode/agentes/manage_config.php,
godmode/agentes/planned_downtime.php,
godmode/agentes/manage_config_remote.php,
godmode/reporting/graph_builder.php,
godmode/servers/modificar_server.php: Updated translation
infrastructure.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1188 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2008-10-22 17:03:48 +02:00
echo '<h2>' . __ ( 'Agent configuration' ) . ' > ' . __ ( 'Configuration Management' ) . '</h2>' ;
2008-10-14 17:07:53 +02:00
echo '<form method="post" action="index.php?sec=gagente&sec2=godmode/agentes/manage_config&operacion=1">' ;
echo '<table width="650" border="0" cellspacing="4" cellpadding="4" class="databox">' ;
// Source group
echo '<tr><td class="datost"><b>' . __ ( 'Source group' ) . '</b><br /><br />' ;
$groups = get_user_groups ( $config [ 'id_user' ]);
print_select ( $groups , " id_group " , $id_group , 'javascript:this.form.submit();' , '' , 0 , false , false , false , '" style="width:200px' );
echo '<noscript> ' ;
print_submit_button ( __ ( 'Filter' ), " update_group " , false , 'class="sub upd"' );
echo '</noscript><br /><br />' ;
// Source agent
echo '<b>' . __ ( 'Source agent' ) . '</b><br /><br />' ;
// Show combo with SOURCE agents
if ( $id_group > 1 ) { //Group -1, 0 and 1 all mean that we should select ALL
$result = get_db_all_rows_field_filter ( " tagente " , " id_grupo " , $id_group , " nombre " );
} else {
$result = get_db_all_rows_in_table ( " tagente " , " nombre " );
}
if ( $result === false ) {
$result = array ();
$result [ 0 ][ " id_grupo " ] = 0 ;
$result [ 0 ][ " id_agente " ] = 0 ;
$result [ 0 ][ " nombre " ] = __ ( 'No Agents in this Group' );
}
$agents = array ();
foreach ( $result as $row ) {
if ( give_acl ( $config [ " id_user " ], $row [ " id_grupo " ], " AR " ))
$agents [ $row [ " id_agente " ]] = $row [ " nombre " ];
}
if ( $origen == - 1 || ( $id_group > 1 && dame_id_grupo ( $origen ) != $id_group )) {
$origen = $result [ 0 ][ " id_agente " ];
//If the agent selected is not in the group selected (that
//happens if an agent was selected and then the group was changed)
}
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
print_select ( $agents , " origen " , $origen , 'javascript:this.form.submit();' , '' , 0 , false , false , false , '" style="width:200px' );
echo '<noscript> ' ;
print_submit_button ( __ ( 'Get Info' ), " update_agent " , false , 'class="sub upd"' );
echo '</noscript><br /><br />' ;
// Source Module(s)
$result = get_db_all_rows_field_filter ( " tagente_modulo " , " id_agente " , $origen , " nombre " );
$modules = array ();
if ( $result === false ) {
$result = array ();
$result [ 0 ][ " id_agente_modulo " ] = - 1 ;
if ( $origen > 0 ) {
$result [ 0 ][ " nombre " ] = __ ( 'No modules for this agent' );
} else {
$result [ 0 ][ " nombre " ] = __ ( 'No agent selected' );
}
}
foreach ( $result as $row ) {
$modules [ $row [ " id_agente_modulo " ]] = $row [ " nombre " ];
}
echo '<b>' . __ ( 'Modules' ) . '</b><br /><br />' ;
print_select ( $modules , " origen_modulo[] " , '' , '' , '' , 0 , false , true , false , '" style="width:250px' );
echo '</td>' ;
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
echo '<td class="datost">' ;
echo '<b>' . __ ( 'Targets' ) . '</b>' ;
pandora_help ( 'manageconfig' );
echo '<br /><br />' ;
echo '<table>' ;
echo '<tr><td class="datos">' . __ ( 'Modules' ) . '</td><td class="datos">' ;
print_checkbox_extended ( " modules " , " 1 " , false , false , '' , 'class="chk"' );
echo '</td></tr><tr><td class="datos">' . __ ( 'Alerts' ) . '<td class="datos">' ;
print_checkbox_extended ( " alerts " , " 1 " , false , false , '' , 'class="chk"' );
echo '</td></tr></table></td></tr>' ;
2008-10-10 17:08:31 +02:00
2008-06-19 02:24:05 +02:00
2008-10-14 17:07:53 +02:00
// Destination agent
$result = get_db_all_rows_in_table ( " tagente " , " nombre " );
$agents = array ();
if ( $result === false ) {
$result = array ();
}
foreach ( $result as $row ) {
if ( give_acl ( $config [ " id_user " ], $row [ " id_grupo " ], " AW " ))
$agents [ $row [ " id_agente " ]] = $row [ " nombre " ];
}
2008-06-16 20:09:56 +02:00
2008-10-14 17:07:53 +02:00
echo '<tr><td class="datost">' ;
echo '<b>' . __ ( 'To Agent(s):' ) . '</b><br /><br />' ;
print_select ( $agents , " destino[] " , $destino , '' , '' , 0 , false , true , false , '" style="width:250px' );
echo '</td>' ;
// Form buttons
echo '<td align="left" class="datosb">' ;
echo " <br /><br /> " ;
print_submit_button ( __ ( 'Copy Modules/Alerts' ), " copy " , false , 'class="sub copy" onClick="if (!confirm("' . __ ( 'Are you sure?' ) . '")) return false;"' );
pandora_help ( 'manageconfig' );
echo " <br /><br /> " ;
print_submit_button ( __ ( 'Delete Modules/Alerts' ), " delete " , false , 'class="sub delete" onClick="if (!confirm("' . __ ( 'Are you sure you want to delete these modules and alerts?' ) . '")) return false;"' );
pandora_help ( 'manageconfig' );
echo " <br /><br /> " ;
print_submit_button ( __ ( 'Delete Agents' ), " delete_agent " , false , 'class="sub delete" onClick="if (!confirm("' . __ ( 'Are you sure you want to delete these agents?' ) . '")) return false;"' );
pandora_help ( 'manageconfig' );
echo '</td></tr>' ;
echo '</table>' ;
2008-06-16 20:09:56 +02:00
2007-06-10 15:19:27 +02:00
?>