mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-09-28 20:39:18 +02:00
* include/functions_graph.php include/functions_users.php include/functions_events.php include/functions_html.php include/functions_menu.php include/styles/pandora.css include/graphs/functions_pchart.php include/functions_messages.php include/functions_exportserver.php include/functions_modules.php include/functions_reporting.php include/functions_filemanager.php include/functions_groups.php include/functions_gis.php include/functions_networkmap.php include/functions_servers.php include/functions_network_components.php include/functions_visual_map.php include/ajax/skins.ajax.php include/ajax/visual_console_builder.ajax.php include/help/en/help_gis_map_builder.php include/help/en/help_agent_status.php include/help/en/help_eventview.php include/help/en/help_configure_gis_map.php include/help/en/help_cascade_protection.php include/help/en/help_setup_gis_index.php include/help/es/help_gis_map_builder.php include/help/es/help_agent_status.php include/help/es/help_eventview.php include/help/es/help_configure_gis_map.php include/help/es/help_cascade_protection.php include/help/ja/help_gis_map_builder.php include/help/ja/help_agent_status.php include/help/ja/help_eventview.php include/help/ja/help_configure_gis_map.php include/help/ja/help_cascade_protection.php include/help/ja/help_setup_gis_index.php include/functions_ui.php include/functions_incidents.php include/functions.php include/functions_agents.php include/functions_db.php include/functions_fsgraph.php include/functions_extensions.php include/functions_ui_renders.php extensions/insert_data.php extensions/system_info.php extensions/extension_uploader.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 operation/incidents/incident.incident.php operation/incidents/incident.php operation/incidents/incident.files.php operation/incidents/incident.tracking.php operation/incidents/incident_detail.php operation/incidents/incident.workunits.php operation/incidents/incident.list.php operation/search_modules.php operation/extensions.php operation/visual_console/render_view.php operation/visual_console/index.php operation/agentes/status_monitor.php operation/agentes/estado_ultimopaquete.php operation/agentes/datos_agente.php operation/agentes/alerts_status.php operation/agentes/estado_generalagente.php operation/agentes/custom_fields.php operation/agentes/estado_agente.php operation/agentes/networkmap.topology.php operation/agentes/alerts_status.functions.php operation/agentes/networkmap.groups.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/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/integria_incidents/incident.incident.php operation/integria_incidents/incident.php operation/integria_incidents/incident.files.php operation/integria_incidents/incident.tracking.php operation/integria_incidents/incident_detail.php operation/integria_incidents/incident.workunits.php operation/integria_incidents/incident.list.php operation/gis_maps/render_view.php operation/gis_maps/ajax.php operation/gis_maps/index.php operation/events/export_csv.php operation/events/sound_events.php operation/events/events_validate.php operation/events/events_list.php operation/events/events.php operation/search_alerts.php operation/messages/message.php operation/reporting/reporting_xml.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 mobile/operation/agents/monitor_status.php mobile/operation/agents/view_agents.php mobile/operation/agents/tactical.php mobile/operation/agents/view_alerts.php mobile/operation/agents/group_view.php mobile/operation/events/events.php mobile/operation/servers/view_servers.php mobile/include/user.class.php general/pandora_help.php general/noaccess.php general/login_page.php general/logon_ok.php general/logoff.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/extensions.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/agentes/agent_template.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/agent_conf_gis.php godmode/agentes/module_manager_editor_prediction.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/snmpconsole/snmp_alert.php godmode/snmpconsole/snmp_filters.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/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_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_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/graph_builder.main.php godmode/reporting/visual_console_builder.wizard.php godmode/reporting/visual_console_builder.php godmode/reporting/reporting_builder.preview.php godmode/reporting/reporting_builder.main.php godmode/reporting/visual_console_builder.data.php godmode/reporting/visual_console_builder.elements.php godmode/reporting/graph_builder.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 functions on functions_html.php, functions_gis.php, functions_filemanager.php, functions_exportserver.php have "html_", "gis_", "filemanager_" and "exportserver_" prefix respectively. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4281 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
208 lines
7.2 KiB
PHP
208 lines
7.2 KiB
PHP
<?php
|
|
|
|
//Pandora FMS- http://pandorafms.com
|
|
// ==================================================
|
|
// Copyright (c) 2005-2010 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.
|
|
|
|
// Load global vars
|
|
global $config;
|
|
|
|
check_login ();
|
|
|
|
um_db_connect ('mysql', $config['dbhost'], $config['dbuser'],
|
|
$config['dbpass'], $config['dbname']);
|
|
|
|
$settings = um_db_load_settings ();
|
|
$error = '';
|
|
|
|
ui_print_page_header (__('Update manager'), "images/extensions.png", false, "", false, "" );
|
|
|
|
if ($settings->customer_key == FREE_USER) {
|
|
echo '<div class="notify" style="width: 80%; text-align:left;" >';
|
|
echo html_print_image("images/information.png", true) . ' ';
|
|
/* Translators: Do not translade Update Manager, it's the name of the program */
|
|
echo __('The new <a href="http://updatemanager.sourceforge.net">Update Manager</a> client is shipped with Pandora FMS 3.0. It helps system administrators to update their Pandora FMS automatically, since the Update Manager does the task of getting new modules, new plugins and new features (even full migrations tools for future versions) automatically.');
|
|
echo '<p />';
|
|
echo __('Update Manager is one of the most advanced features of Pandora FMS 3.0 Enterprise version, for more information visit <a href="http://pandorafms.com">http://pandorafms.com</a>.');
|
|
echo '<p />';
|
|
echo __('Update Manager sends anonymous information about Pandora FMS usage (number of agents and modules running). To disable it, just delete extension or remove remote server address from Update Manager plugin setup.');
|
|
echo '</div>';
|
|
}
|
|
|
|
$user_key = get_user_key ($settings);
|
|
$update_package = (bool) get_parameter_post ('update_package');
|
|
|
|
if ($update_package) {
|
|
if ($config['enterprise_installed'] == 1) {
|
|
echo '<h2>'.__('Updating').'...</h2>';
|
|
flush ();
|
|
$force = (bool) get_parameter_post ('force_update');
|
|
|
|
um_client_upgrade_to_latest ($user_key, $force);
|
|
/* TODO: Add a new in tnews */
|
|
|
|
} else {
|
|
echo '<h5 class="error">' . __('This is an Enterprise feature. Visit %s for more information.', '<a href="http://pandorafms.com">http://pandorafms.com</a>') . '</h5>';
|
|
}
|
|
}
|
|
|
|
if (isset($_FILES["fileloaded"]["error"]) && !$_FILES["fileloaded"]["error"]) {
|
|
$extension = substr($_FILES["fileloaded"]["name"], strlen($_FILES["fileloaded"]["name"])-4, 4);
|
|
if($extension != '.oum') {
|
|
$error = '<h5 class="error">'.__('Incorrect file extension').'</h5>';
|
|
}
|
|
else {
|
|
$tempDir = sys_get_temp_dir()."/tmp_oum/";
|
|
|
|
$zip = new ZipArchive;
|
|
if ($zip->open($_FILES["fileloaded"]['tmp_name']) === TRUE) {
|
|
$zip->extractTo($tempDir);
|
|
$zip->close();
|
|
} else {
|
|
$error = '<h5 class="error">'.__('Update cannot be opened').'</h5>';
|
|
}
|
|
|
|
$package = um_package_info_from_paths ($tempDir);
|
|
|
|
$settings = um_db_load_settings ();
|
|
|
|
if($settings->current_update >= $package->id) {
|
|
$error = '<h5 class="error">'.__('Your system version is higher or equal than the loaded package').'</h5>';
|
|
}
|
|
else {
|
|
$binary_paths = um_client_get_files ($tempDir."binary/");
|
|
|
|
foreach($binary_paths as $key => $paths) {
|
|
foreach($paths as $index => $path) {
|
|
$tempDir_scaped = preg_replace('/\//', '\/', $tempDir."binary");
|
|
$binary_paths[$key][$index] = preg_replace('/^'.$tempDir_scaped.'/', ' ', $path);
|
|
}
|
|
}
|
|
|
|
$code_paths = um_client_get_files ($tempDir."code/");
|
|
|
|
foreach($code_paths as $key => $paths) {
|
|
foreach($paths as $index => $path) {
|
|
$tempDir_scaped = preg_replace('/\//', '\/', $tempDir."code");
|
|
$code_paths[$key][$index] = preg_replace('/^'.$tempDir_scaped.'/', ' ', $path);
|
|
}
|
|
}
|
|
|
|
$sql_paths = um_client_get_files ($tempDir);
|
|
foreach($sql_paths as $key => $paths) {
|
|
foreach($paths as $index => $path) {
|
|
if($path != $tempDir || ($key == 'info_package' && $path == $tempDir)) {
|
|
unset($sql_paths[$key]);
|
|
}
|
|
}
|
|
}
|
|
|
|
$updates_binary = array();
|
|
$updates_code = array();
|
|
$updates_sql = array();
|
|
|
|
if(!empty($binary_paths)) {
|
|
$updates_binary = um_client_update_from_paths ($binary_paths, $tempDir, $package->id, 'binary');
|
|
}
|
|
if(!empty($code_paths)) {
|
|
$updates_code = um_client_update_from_paths ($code_paths, $tempDir, $package->id, 'code');
|
|
}
|
|
if(!empty($sql_paths)) {
|
|
$updates_sql = um_client_update_from_paths ($sql_paths, $tempDir, $package->id, 'sql');
|
|
}
|
|
|
|
um_delete_directory($tempDir);
|
|
|
|
$updates= array_merge((array) $updates_binary, (array) $updates_code, (array) $updates_sql);
|
|
|
|
$package->updates = $updates;
|
|
|
|
$settings = um_db_load_settings ();
|
|
|
|
if(um_client_upgrade_to_package ($package, $settings, true)) {
|
|
echo '<h5 class="suc">'.__('Successfully upgraded').'.</h5>';
|
|
$settings = um_db_load_settings ();
|
|
}
|
|
else {
|
|
echo '<h5 class="error">'.__('Cannot be upgraded').'</h5>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
$error = '<h5 class="error">'.__('File cannot be uploaded').'</h5>';
|
|
}
|
|
|
|
db_clean_cache();
|
|
$settings = um_db_load_settings ();
|
|
$user_key = get_user_key ($settings);
|
|
|
|
$package = um_client_check_latest_update ($settings, $user_key);
|
|
|
|
if (check_acl ($config['id_user'], 0, 'PM')) {
|
|
if ($package === true) {
|
|
echo '<h5 class="suc">'.__('Your system is up-to-date').'.</h5>';
|
|
} elseif ($package === false) {
|
|
echo '<h5 class="error">'.__('Server authorization rejected').'</h5>';
|
|
} elseif ($package === 0) {
|
|
echo '<h5 class="error">'.__('Server connection failed').'</h5>';
|
|
} else {
|
|
echo '<h5 class="suc">'.__('There\'s a new update for Pandora FMS').'</h5>';
|
|
|
|
$table->width = '80%';
|
|
$table->data = array ();
|
|
|
|
$table->data[0][0] = '<strong>'.__('Id').'</strong>';
|
|
$table->data[0][1] = $package->id;
|
|
|
|
$table->data[1][0] = '<strong>'.__('Timestamp').'</strong>';
|
|
$table->data[1][1] = $package->timestamp;
|
|
|
|
$table->data[2][0] = '<strong>'.__('Description').'</strong>';
|
|
$table->data[2][1] = html_entity_decode ($package->description);
|
|
|
|
html_print_table ($table);
|
|
echo '<div class="action-buttons" style="width: '.$table->width.'">';
|
|
echo '<form method="post">';
|
|
echo __('Overwrite local changes');
|
|
html_print_checkbox ('force_update', '1', false);
|
|
echo '<p />';
|
|
html_print_input_hidden ('update_package', 1);
|
|
html_print_submit_button (__('Update'), 'update_button', false, 'class="sub upd"');
|
|
echo '</form>';
|
|
echo '</div>';
|
|
}
|
|
|
|
if($error != '' && isset($_FILES["fileloaded"]["error"])) {
|
|
echo $error;
|
|
}
|
|
|
|
unset($table);
|
|
|
|
$table->width = '80%';
|
|
$table->data = array ();
|
|
$table->colspan[0][0] = 2;
|
|
|
|
$table->data[0][0] = '<h3>'.__('Offline packages loader').'</h3>';
|
|
$table->data[1][0] = '<input type="hidden" name="upload_package" value="1">';
|
|
$table->data[1][0] .= '<input type="file" size="55" name="fileloaded">';
|
|
$table->data[1][1] = '<input type="submit" name="upload_button" value="'.__('Upload').'">';
|
|
|
|
echo '<form method="post" enctype="multipart/form-data">';
|
|
html_print_table($table);
|
|
echo '</form>';
|
|
|
|
}
|
|
|
|
echo '<h4>'.__('Your system version number is').': '.$settings->current_update.'</h4>';
|
|
|
|
?>
|