2009-01-07 11:42:38 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
// Pandora FMS - the Flexible Monitoring System
|
|
|
|
// ============================================
|
|
|
|
// Copyright (c) 2008 Artica Soluciones Tecnologicas, http://www.artica.es
|
|
|
|
// Please see http://pandora.sourceforge.net for full contribution list
|
|
|
|
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU Lesser General Public License (LGPL)
|
|
|
|
// 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.
|
|
|
|
// 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.
|
|
|
|
|
|
|
|
/**
|
2009-01-07 11:49:42 +01:00
|
|
|
* Evaluates a result using empty() and then prints an error message or a
|
2009-01-07 11:42:38 +01:00
|
|
|
* success message
|
|
|
|
*
|
2009-01-08 16:52:13 +01:00
|
|
|
* @param mixed $result the results to evaluate. 0, NULL, false, '' or
|
|
|
|
* array() is bad, the rest is good
|
2009-01-07 11:42:38 +01:00
|
|
|
* @param string $good the string to be displayed if the result was good
|
|
|
|
* @param string $bad the string to be displayed if the result was bad
|
|
|
|
* @param string $attributes any other attributes to be set for the h3
|
|
|
|
* @param bool $return whether to output the string or return it
|
|
|
|
* @param string $tag what tag to use (you could specify something else than
|
2009-01-08 16:52:13 +01:00
|
|
|
* h3 like div or h2)
|
2009-01-07 11:42:38 +01:00
|
|
|
*
|
2009-01-08 16:52:13 +01:00
|
|
|
* @return string XHTML code if return parameter is true.
|
|
|
|
*/
|
2009-01-07 11:42:38 +01:00
|
|
|
function print_error_message ($result, $good = '', $bad = '', $attributes = '', $return = false, $tag = 'h3') {
|
|
|
|
if ($good == '' || $good === false)
|
|
|
|
$good = __('Request successfully processed');
|
|
|
|
|
|
|
|
if ($bad == '' || $bad === false)
|
|
|
|
$bad = __('Error processing request');
|
|
|
|
|
|
|
|
if (empty ($result)) {
|
|
|
|
$output = '<'.$tag.' class="error" '.$attributes.'>'.$bad.'</'.$tag.'>';
|
|
|
|
} else {
|
|
|
|
$output = '<'.$tag.' class="suc" '.$attributes.'>'.$good.'</'.$tag.'>';
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
|
|
|
|
echo $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Evaluates a unix timestamp and returns a span (or whatever tag specified)
|
|
|
|
* with as title the correctly formatted full timestamp and a time comparation
|
|
|
|
* in the tag
|
|
|
|
*
|
|
|
|
* @param int $unixtime: Any type of timestamp really, but we prefer unixtime
|
|
|
|
* @param bool $return whether to output the string or return it
|
|
|
|
* @param array $option: An array with different options for this function
|
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
|
|
|
* Key html_attr: which html attributes to add (defaults to none)
|
|
|
|
* Key tag: Which html tag to use (defaults to span)
|
|
|
|
* Key prominent: Overrides user preference and display "comparation" or "timestamp"
|
2009-01-07 11:42:38 +01:00
|
|
|
*
|
|
|
|
* @return string HTML code if return parameter is true.
|
|
|
|
*/
|
|
|
|
function print_timestamp ($unixtime, $return = false, $option = array ()) {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
//TODO: Add/use a javascript timer for the seconds so it automatically updates as time passes by
|
|
|
|
|
|
|
|
if (isset ($option["html_attr"])) {
|
|
|
|
$attributes = $option["html_attr"];
|
|
|
|
} else {
|
|
|
|
$attributes = "";
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset ($option["tag"])) {
|
|
|
|
$tag = $option["tag"];
|
|
|
|
} else {
|
|
|
|
$tag = "span";
|
|
|
|
}
|
|
|
|
|
2009-03-20 20:57:13 +01:00
|
|
|
if (empty ($option["style"])) {
|
|
|
|
$style = 'style="white-space:nowrap;"';
|
|
|
|
} else {
|
|
|
|
$style = 'style="'.$option["style"].'"';
|
|
|
|
}
|
|
|
|
|
2009-01-07 11:42:38 +01:00
|
|
|
if (!empty ($option["prominent"])) {
|
|
|
|
$prominent = $option["prominent"];
|
|
|
|
} else {
|
|
|
|
$prominent = $config["prominent_time"];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!is_numeric ($unixtime)) {
|
|
|
|
$unixtime = strtotime ($unixtime);
|
|
|
|
}
|
|
|
|
|
|
|
|
//prominent_time is either timestamp or comparation
|
|
|
|
if ($unixtime == 0) {
|
2009-03-20 20:57:13 +01:00
|
|
|
$title = __('Unknown').'/'.__('Never');
|
|
|
|
$data = __('Unknown');
|
2009-01-07 11:42:38 +01:00
|
|
|
} elseif ($prominent == "timestamp") {
|
|
|
|
$title = human_time_comparation ($unixtime);
|
|
|
|
$data = date ($config["date_format"], $unixtime);
|
|
|
|
} else {
|
|
|
|
$title = date ($config["date_format"], $unixtime);
|
|
|
|
$data = human_time_comparation ($unixtime);
|
|
|
|
}
|
|
|
|
|
|
|
|
$output = '<'.$tag;
|
|
|
|
switch ($tag) {
|
|
|
|
default:
|
|
|
|
//Usually tags have title attributes, so by default we add, then fall through to add attributes and data
|
|
|
|
$output .= ' title="'.$title.'"';
|
|
|
|
case "h1":
|
|
|
|
case "h2":
|
|
|
|
case "h3":
|
|
|
|
//Above tags don't have title attributes
|
2009-03-20 20:57:13 +01:00
|
|
|
$output .= ' '.$attributes.' '.$style.'>'.$data.'</'.$tag.'>';
|
2009-01-07 11:42:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
|
|
|
|
echo $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints a username with real name, link to the user_edit page etc.
|
|
|
|
*
|
|
|
|
* @param string $username The username to render
|
|
|
|
* @param bool $return Whether to return or print
|
|
|
|
*
|
|
|
|
* @return string HTML code if return parameter is true.
|
|
|
|
*/
|
|
|
|
function print_username ($username, $return = false) {
|
2009-02-19 22:34:27 +01:00
|
|
|
$string = '<a href="index.php?sec=usuario&sec2=operation/users/user_edit&id='.$username.'">'.get_user_fullname ($username).'</a>';
|
2009-01-07 11:42:38 +01:00
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $string;
|
|
|
|
|
|
|
|
echo $string;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Print group icon within a link
|
|
|
|
*
|
|
|
|
* @param string $id_group Group id
|
|
|
|
* @param bool $return Whether to return or print
|
|
|
|
* @param string $path What path to use (relative to images/). Defaults to groups_small
|
|
|
|
*
|
|
|
|
* @return string HTML code if return parameter is true.
|
|
|
|
*/
|
|
|
|
function print_group_icon ($id_group, $return = false, $path = "groups_small") {
|
|
|
|
$icon = (string) get_db_value ('icon', 'tgrupo', 'id_grupo', (int) $id_group);
|
|
|
|
|
|
|
|
if (empty ($icon)) {
|
|
|
|
return "-";
|
|
|
|
}
|
|
|
|
|
2009-02-19 22:34:27 +01:00
|
|
|
$output = '<a href="index.php?sec=estado&sec2=operation/agentes/estado_agente&refr=60&group_id='.$id_group.'">';
|
2009-01-07 11:49:42 +01:00
|
|
|
$output .= '<img class="bot" src="images/'.$path.'/'.$icon.'.png" alt="'.get_group_name ($id_group).'" title="'.get_group_name ($id_group).'" />';
|
|
|
|
$output .= '</a>';
|
2009-01-07 11:42:38 +01:00
|
|
|
|
|
|
|
if ($return)
|
2009-01-07 11:49:42 +01:00
|
|
|
return $output;
|
2009-01-07 11:42:38 +01:00
|
|
|
|
2009-01-07 11:49:42 +01:00
|
|
|
echo $output;
|
2009-01-07 11:42:38 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the icon of an operating system.
|
|
|
|
*
|
|
|
|
* @param int Operating system id
|
|
|
|
* @param bool Whether to also append the name of the OS after the icon
|
|
|
|
* @param bool Whether to return or echo the result
|
|
|
|
*
|
|
|
|
* @return string HTML with icon of the OS
|
|
|
|
*/
|
|
|
|
function print_os_icon ($id_os, $name = true, $return = false) {
|
|
|
|
$icon = (string) get_db_value ('icon_name', 'tconfig_os', 'id_os', (int) $id_os);
|
|
|
|
$os_name = get_os_name ($id_os);
|
|
|
|
if (empty ($icon)) {
|
|
|
|
return "-";
|
|
|
|
}
|
|
|
|
|
|
|
|
$output = '<img src="images/'.$icon.'" border="0" alt="'.$os_name.'" title="'.$os_name.'" />';
|
|
|
|
|
|
|
|
if ($name === true) {
|
|
|
|
$output .= ' - '.$os_name;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
|
|
|
|
echo $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints an agent name with the correct link
|
|
|
|
*
|
2009-01-08 16:52:13 +01:00
|
|
|
* @param int $id_agent Agent id
|
2009-01-07 11:42:38 +01:00
|
|
|
* @param bool $return Whether to return the string or echo it too
|
2009-01-08 16:52:13 +01:00
|
|
|
* @param int $cutoff After how much characters to cut off the inside of the
|
|
|
|
* link. The full agent name will remain in the roll-over
|
2009-01-07 11:42:38 +01:00
|
|
|
*
|
|
|
|
* @return string HTML with agent name and link
|
2009-01-08 16:52:13 +01:00
|
|
|
*/
|
2009-01-07 11:42:38 +01:00
|
|
|
function print_agent_name ($id_agent, $return = false, $cutoff = 0) {
|
|
|
|
$agent_name = (string) get_agent_name ($id_agent);
|
2009-02-13 21:23:44 +01:00
|
|
|
$output = '<a href="index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente='.$id_agent.'" title="'.$agent_name.'"><b>';
|
2009-01-07 11:42:38 +01:00
|
|
|
if ($cutoff > 0 && (mb_strlen ($agent_name, "UTF-8") > $cutoff)) {
|
|
|
|
$output .= mb_substr (utf8_decode ($agent_name), 0, $cutoff, "UTF-8").'...';
|
|
|
|
} else {
|
|
|
|
$output .= $agent_name;
|
|
|
|
}
|
|
|
|
$output .= '</b></a>';
|
|
|
|
|
|
|
|
//TODO: Add a pretty javascript (using jQuery) popup-box with agent details
|
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
|
|
|
|
echo $output;
|
|
|
|
}
|
2009-01-15 11:21:38 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Formats a row from the alert table and returns an array usable in the table function
|
|
|
|
*
|
|
|
|
* @param array A valid (non empty) row from the alert table
|
|
|
|
* @param bool Whether or not this is a combined alert
|
|
|
|
* @param bool Whether to print the agent information with the module information
|
|
|
|
* @param string Tab where the function was called from (used for urls)
|
|
|
|
*
|
|
|
|
* @return array A formatted array with proper html for use in $table->data (6 columns)
|
|
|
|
*/
|
2009-02-11 17:55:04 +01:00
|
|
|
function format_alert_row ($alert, $compound = false, $agent = true, $url = '') {
|
2009-01-15 11:21:38 +01:00
|
|
|
require_once ("include/functions_alerts.php");
|
|
|
|
|
|
|
|
if (empty ($alert))
|
|
|
|
return array ("", "", "", "", "", "", "");
|
|
|
|
|
|
|
|
// Get agent id
|
2009-02-11 17:55:04 +01:00
|
|
|
if ($compound) {
|
|
|
|
$id_agent = $alert['id_agent'];
|
|
|
|
$description = $alert['description'];
|
|
|
|
} else {
|
|
|
|
$id_agent = get_agentmodule_agent ($alert['id_agent_module']);
|
|
|
|
$template = get_alert_template ($alert['id_alert_template']);
|
2009-03-03 16:21:13 +01:00
|
|
|
$description = $template['name'];
|
2009-02-11 17:55:04 +01:00
|
|
|
}
|
2009-01-15 11:21:38 +01:00
|
|
|
$data = array ();
|
|
|
|
|
|
|
|
// Force alert execution
|
|
|
|
$data[0] = '';
|
2009-02-11 17:55:04 +01:00
|
|
|
if (! $compound) {
|
2009-01-15 11:21:38 +01:00
|
|
|
if ($alert["force_execution"] == 0) {
|
|
|
|
$data[0] = '<a href="'.$url.'&id_alert='.$alert["id"].'&force_execution=1&refr=60"><img src="images/target.png" ></a>';
|
|
|
|
} else {
|
|
|
|
$data[0] = '<a href="'.$url.'&id_alert='.$alert["id"].'&refr=60"><img src="images/refresh.png" /></a>';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2009-02-11 17:55:04 +01:00
|
|
|
if ($compound) {
|
|
|
|
$data[1] = print_agent_name ($id_agent, true, 20);
|
2009-01-15 11:21:38 +01:00
|
|
|
} elseif ($agent == 0) {
|
|
|
|
$data[1] = mb_substr (get_agentmodule_name ($alert["id_agent_module"]), 0, 20);
|
|
|
|
} else {
|
|
|
|
$data[1] = print_agent_name (get_agentmodule_agent ($alert["id_agent_module"]), true, 20);
|
|
|
|
}
|
|
|
|
|
|
|
|
$data[2] = '<span class="left">';
|
2009-02-11 17:55:04 +01:00
|
|
|
$data[2] .= mb_substr (safe_input ($description), 0, 35);
|
|
|
|
$data[2] .= '</span>';
|
|
|
|
if (! $compound) {
|
|
|
|
$data[2] .= ' <span class="right">';
|
|
|
|
$data[2] .= '<a class="template_details" href="ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$template['id'].'">';
|
|
|
|
$data[2] .= '<img src="images/zoom.png" />';
|
|
|
|
$data[2] .= '</a></span>';
|
|
|
|
}
|
2009-01-15 11:21:38 +01:00
|
|
|
|
|
|
|
$data[3] = print_timestamp ($alert["last_fired"], true);
|
|
|
|
|
|
|
|
$options = array ();
|
2009-02-11 17:55:04 +01:00
|
|
|
$options["height"] = 18;
|
|
|
|
$options["width"] = 40;
|
2009-01-15 11:21:38 +01:00
|
|
|
|
|
|
|
if ($alert["times_fired"] > 0) {
|
|
|
|
$options["src"] = "images/pixel_red.png";
|
|
|
|
$options["title"] = __('Alert fired').' '.$alert["times_fired"].' '.__('times');
|
|
|
|
} elseif ($alert["disabled"] > 0) {
|
|
|
|
$options["src"] = "images/pixel_gray.png";
|
|
|
|
$options["title"] = __('Alert disabled');
|
|
|
|
} else {
|
|
|
|
$options["src"] = "images/pixel_green.png";
|
|
|
|
$options["title"] = __('Alert not fired');
|
|
|
|
}
|
|
|
|
|
|
|
|
$data[4] = print_image ($options["src"], true, $options);
|
|
|
|
|
2009-02-11 17:55:04 +01:00
|
|
|
if ($compound) {
|
|
|
|
$data[5] = print_checkbox ("validate_compound[]", $alert["id"], false, true);
|
|
|
|
} else {
|
|
|
|
$data[5] = print_checkbox ("validate[]", $alert["id"], false, true);
|
|
|
|
}
|
2009-01-15 11:21:38 +01:00
|
|
|
|
|
|
|
return $data;
|
|
|
|
}
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints a substracted string, length specified by cutoff, the full string will be in a rollover.
|
|
|
|
*
|
|
|
|
* @param string The string to be cut
|
|
|
|
* @param int At how much characters to cut
|
|
|
|
* @param bool Whether to return or print it out
|
|
|
|
*
|
|
|
|
* @return An HTML string
|
|
|
|
*/
|
|
|
|
function print_string_substr ($string, $cutoff = 16, $return = false) {
|
2009-02-17 19:20:04 +01:00
|
|
|
if (empty ($string)) {
|
|
|
|
return "";
|
|
|
|
}
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
$string = '<span title="'.safe_input ($string).'">'.mb_substr ($string, 0, $cutoff, "UTF-8").(mb_strlen ($string. "UTF-8") > $cutoff ? '...' : '').'</span>';
|
|
|
|
if ($return === false) {
|
|
|
|
echo $string;
|
|
|
|
}
|
|
|
|
return $string;
|
|
|
|
}
|
2009-01-21 15:56:55 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets a helper text explaining the requirement needs for an alert template
|
|
|
|
* to get it fired.
|
|
|
|
*
|
|
|
|
* @param int Alert template id.
|
|
|
|
* @param bool Wheter to return or print it out.
|
2009-01-29 10:06:38 +01:00
|
|
|
* @param bool Wheter to put the values in the string or not.
|
2009-01-21 15:56:55 +01:00
|
|
|
*
|
|
|
|
* @return An HTML string if return was true.
|
|
|
|
*/
|
2009-01-29 10:06:38 +01:00
|
|
|
function print_alert_template_example ($id_alert_template, $return = false, $print_values = true) {
|
2009-01-21 15:56:55 +01:00
|
|
|
$output = '';
|
|
|
|
|
|
|
|
$output .= '<img src="images/information.png" /> ';
|
|
|
|
$output .= '<span id="example">';
|
2009-01-26 11:44:26 +01:00
|
|
|
$template = get_alert_template ($id_alert_template);
|
|
|
|
|
|
|
|
switch ($template['type']) {
|
|
|
|
case 'equal':
|
|
|
|
/* Do not translate the HTML attributes */
|
|
|
|
$output .= __('The alert would fire when the value is <span id="value"></span>');
|
|
|
|
break;
|
|
|
|
case 'not_equal':
|
|
|
|
/* Do not translate the HTML attributes */
|
|
|
|
$output .= __('The alert would fire when the value is not <span id="value"></span>');
|
|
|
|
break;
|
|
|
|
case 'regex':
|
|
|
|
if ($template['matches_value'])
|
2009-01-21 15:56:55 +01:00
|
|
|
/* Do not translate the HTML attributes */
|
2009-01-26 11:44:26 +01:00
|
|
|
$output .= __('The alert would fire when the value matches <span id="value"></span>');
|
|
|
|
else
|
2009-01-21 15:56:55 +01:00
|
|
|
/* Do not translate the HTML attributes */
|
2009-01-26 11:44:26 +01:00
|
|
|
$output .= __('The alert would fire when the value doesn\'t match <span id="value"></span>');
|
|
|
|
$value = $template['value'];
|
|
|
|
break;
|
|
|
|
case 'max_min':
|
|
|
|
if ($template['matches_value'])
|
2009-01-21 15:56:55 +01:00
|
|
|
/* Do not translate the HTML attributes */
|
2009-01-26 11:44:26 +01:00
|
|
|
$output .= __('The alert would fire when the value is between <span id="min"></span> and <span id="max"></span>');
|
|
|
|
else
|
2009-01-21 15:56:55 +01:00
|
|
|
/* Do not translate the HTML attributes */
|
2009-01-26 11:44:26 +01:00
|
|
|
$output .= __('The alert would fire when the value is not between <span id="min"></span> and <span id="max"></span>');
|
|
|
|
break;
|
|
|
|
case 'max':
|
|
|
|
/* Do not translate the HTML attributes */
|
|
|
|
$output .= __('The alert would fire when the value is over <span id="max"></span>');
|
|
|
|
|
|
|
|
break;
|
|
|
|
case 'min':
|
|
|
|
/* Do not translate the HTML attributes */
|
|
|
|
$output .= __('The alert would fire when the value is under <span id="min"></span>');
|
|
|
|
break;
|
2009-01-21 15:56:55 +01:00
|
|
|
}
|
|
|
|
|
2009-01-29 10:06:38 +01:00
|
|
|
if ($print_values) {
|
|
|
|
/* Replace span elements with real values. This is done in such way to avoid
|
|
|
|
duplicating strings and make it easily modificable via Javascript. */
|
|
|
|
$output = str_replace ('<span id="value"></span>', $template['value'], $output);
|
|
|
|
$output = str_replace ('<span id="max"></span>', $template['max_value'], $output);
|
|
|
|
$output = str_replace ('<span id="min"></span>', $template['min_value'], $output);
|
|
|
|
}
|
2009-01-21 15:56:55 +01:00
|
|
|
$output .= '</span>';
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
echo $output;
|
|
|
|
}
|
|
|
|
|
2009-02-13 21:23:44 +01:00
|
|
|
/**
|
|
|
|
* DEPRECATED: Use print_help_icon to avoid confusion with pandora_help javascript function
|
|
|
|
*/
|
|
|
|
function pandora_help ($help_id, $return = false) {
|
|
|
|
return print_help_icon ($help_id, $return);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints a help tip icon.
|
|
|
|
*
|
|
|
|
* @param string $help_id Id of the help article
|
|
|
|
* @param bool $return Whether to return or output the result
|
|
|
|
*
|
|
|
|
* @return string The help tip
|
|
|
|
*/
|
|
|
|
function print_help_icon ($help_id, $return = false) {
|
|
|
|
$output = ' '.print_image ("images/help.png", true, array ("class" => "img_help", "title" => __('Help'), "onclick" => "pandora_help ('".$help_id."')"));
|
|
|
|
if (!$return)
|
|
|
|
echo $output;
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
}
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Add a CSS file to the HTML head tag.
|
|
|
|
*
|
|
|
|
* To make a CSS file available just put it in include/styles. The
|
|
|
|
* file name should be like "name.css". The "name" would be the value
|
|
|
|
* needed to pass to this function.
|
|
|
|
|
|
|
|
* @param string Script name to add without the "jquery." prefix and the ".js"
|
|
|
|
* suffix. Example:
|
|
|
|
<code>
|
|
|
|
require_css_file ('pandora');
|
|
|
|
// Would include include/styles/pandora.js
|
|
|
|
</code>
|
|
|
|
*
|
|
|
|
* @return bool True if the file was added. False if the file doesn't exist.
|
|
|
|
*/
|
|
|
|
function require_css_file ($name, $path = 'include/styles/') {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
$filename = $path.$name.'.css';
|
|
|
|
|
|
|
|
if (! isset ($config['css']))
|
|
|
|
$config['css'] = array ();
|
|
|
|
if (isset ($config['css'][$name]))
|
|
|
|
return true;
|
|
|
|
if (! file_exists ($filename) && ! file_exists ($config['homedir'].'/'.$filename))
|
|
|
|
return false;
|
|
|
|
$config['css'][$name] = $filename;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add a javascript file to the HTML head tag.
|
|
|
|
*
|
|
|
|
* To make a javascript file available just put it in include/javascript. The
|
|
|
|
* file name should be like "name.js". The "name" would be the value
|
|
|
|
* needed to pass to this function.
|
|
|
|
|
|
|
|
* @param string Script name to add without the "jquery." prefix and the ".js"
|
|
|
|
* suffix. Example:
|
|
|
|
<code>
|
|
|
|
require_javascript_file ('pandora');
|
|
|
|
// Would include include/javascript/pandora.js
|
|
|
|
</code>
|
|
|
|
*
|
|
|
|
* @return bool True if the file was added. False if the file doesn't exist.
|
|
|
|
*/
|
|
|
|
function require_javascript_file ($name, $path = 'include/javascript/') {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
$filename = $path.$name.'.js';
|
|
|
|
|
|
|
|
if (! isset ($config['js']))
|
|
|
|
$config['js'] = array ();
|
|
|
|
if (isset ($config['js'][$name]))
|
|
|
|
return true;
|
|
|
|
/* We checks two paths because it may fails on enterprise */
|
|
|
|
if (! file_exists ($filename) && ! file_exists ($config['homedir'].'/'.$filename))
|
|
|
|
return false;
|
|
|
|
$config['js'][$name] = $filename;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Add a jQuery file to the HTML head tag.
|
|
|
|
*
|
|
|
|
* To make a jQuery script available just put it in include/javascript. The
|
|
|
|
* file name should be like "jquery.name.js". The "name" would be the value
|
|
|
|
* needed to pass to this function. Notice that this function does not manage
|
|
|
|
* jQuery denpendencies.
|
|
|
|
|
|
|
|
* @param string Script name to add without the "jquery." prefix and the ".js"
|
|
|
|
* suffix. Example:
|
|
|
|
<code>
|
|
|
|
require_jquery_file ('form');
|
|
|
|
// Would include include/javascript/jquery.form.js
|
|
|
|
</code>
|
|
|
|
*
|
|
|
|
* @return bool True if the file was added. False if the file doesn't exist.
|
|
|
|
*/
|
|
|
|
function require_jquery_file ($name, $path = 'include/javascript/') {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
$filename = $path.'jquery.'.$name.'.js';
|
|
|
|
|
|
|
|
if (! isset ($config['jquery']))
|
|
|
|
$config['jquery'] = array ();
|
|
|
|
if (isset ($config['jquery'][$name]))
|
|
|
|
return true;
|
|
|
|
/* We checks two paths because it may fails on enterprise */
|
|
|
|
if (! file_exists ($filename) && ! file_exists ($config['homedir'].'/'.$filename))
|
|
|
|
return false;
|
|
|
|
|
|
|
|
$config['jquery'][$name] = $filename;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function to add stuff to the head. This allows us to add scripts
|
|
|
|
* to the header after the fact as well as extensive validation.
|
|
|
|
*
|
|
|
|
* DO NOT CALL print_f, echo, ob_start, ob_flush, ob_end functions here.
|
|
|
|
*
|
|
|
|
* To add css just put them in include/styles and then add them to the
|
|
|
|
* $config['css'] array
|
|
|
|
*
|
|
|
|
* @param string Callback will fill this with the current buffer.
|
|
|
|
* @param bitfield Callback will fill this with a bitfield (see ob_start)
|
|
|
|
*
|
|
|
|
* @return string String to return to the browser
|
|
|
|
*/
|
|
|
|
function process_page_head ($string, $bitfield) {
|
|
|
|
global $config;
|
|
|
|
$output = '';
|
|
|
|
|
|
|
|
if ($config["refr"] > 0) {
|
|
|
|
// Agent selection filters and refresh
|
2009-03-24 11:22:37 +01:00
|
|
|
$protocol = 'http';
|
|
|
|
$ssl = false;
|
|
|
|
if ($config['https']) {
|
|
|
|
/* Check with "on" because some web servers like Cherokee always
|
|
|
|
set this value even if SSL is not enabled */
|
|
|
|
if (isset ($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == true || $_SERVER['HTTPS'] == 'on')) {
|
|
|
|
$protocol = 'https';
|
|
|
|
$ssl = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$query = $protocol.'://' . $_SERVER['SERVER_NAME'];
|
|
|
|
if ($_SERVER['SERVER_PORT'] != 80 && ($ssl && $_SERVER['SERVER_PORT'] != 443)) {
|
|
|
|
$query .= ":".$_SERVER['SERVER_PORT'];
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
}
|
|
|
|
$query .= $_SERVER['SCRIPT_NAME'];
|
|
|
|
|
|
|
|
if (sizeof ($_REQUEST))
|
|
|
|
//Some (old) browsers don't like the ?&key=var
|
|
|
|
$query .= '?1=1';
|
|
|
|
|
|
|
|
//We don't clean these variables up as they're only being passed along
|
|
|
|
foreach ($_GET as $key => $value) {
|
|
|
|
/* Avoid the 1=1 */
|
|
|
|
if ($key == 1)
|
|
|
|
continue;
|
|
|
|
$query .= '&'.$key.'='.$value;
|
|
|
|
}
|
|
|
|
foreach ($_POST as $key => $value) {
|
|
|
|
$query .= '&'.$key.'='.$value;
|
|
|
|
}
|
|
|
|
|
|
|
|
$output .= '<meta http-equiv="refresh" content="'.$config["refr"].'; URL='.$query.'" />';
|
|
|
|
}
|
|
|
|
$output .= "\n\t";
|
|
|
|
$output .= '<title>Pandora FMS - '.__('the Flexible Monitoring System').'</title>
|
|
|
|
<meta http-equiv="expires" content="0" />
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
|
|
<meta http-equiv="Content-Style-Type" content="text/css" />
|
|
|
|
<meta name="resource-type" content="document" />
|
|
|
|
<meta name="distribution" content="global" />
|
|
|
|
<meta name="author" content="Sancho Lerena" />
|
|
|
|
<meta name="copyright" content="This is GPL software. Created by Sancho Lerena and others" />
|
|
|
|
<meta name="keywords" content="pandora, monitoring, system, GPL, software" />
|
|
|
|
<meta name="robots" content="index, follow" />
|
|
|
|
<link rel="icon" href="images/pandora.ico" type="image/ico" />
|
2009-03-02 Esteban Sanchez <estebans@artica.es>
* include/functions_menu.php: Added to repository. Functions for menu.
* operation/menu.php, godmode/menu.php: Added class to menu due to
changes in print_menu().
* general/main_menu.php: temp_print_menu() moved to functions_menu.php
* include/functions_themes.php: Added to repository. Implement
functions relative to themes (only CSS themes list at this moment).
* include/styles/pandora.css, include/styles/pandora_black.css,
include/styles/pandora_minimal.css, include/styles/pandora_red.css:
Added author, name and description comments to adopt to new
get_themes() interface.
* include/styles/pandora_width.css: Improved and make lighter by
simply rewrite some classes.
* include/functions.php: Added is_ajax().
* godmode/agentes/module_manager_editor.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php, godmode/groups/group_list.php,
godmode/reporting/map_builder.php,
godmode/reporting/reporting_builder.php,
operation/agentes/estado_agente.php, operation/agentes/ver_agente.php,
operation/events/events.php, operation/messages/message.php: Use
is_ajax()
* godmode/setup/setup.php: Use enterprise_include() instead of manual
checking. Use get_css_themes() to show the theme list.
* include/styles/common.css: Added to repository. Minimal styles to
make pandora works and common with all the CSS themes.
* include/functions_ui.php: Added common.css file.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1496 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-02 14:43:15 +01:00
|
|
|
<link rel="stylesheet" href="include/styles/common.css" type="text/css"/>
|
2009-03-05 18:40:40 +01:00
|
|
|
<link rel="alternate" href="operation/events/events_rss.php" title="Pandora RSS Feed" type="application/rss+xml" />';
|
2009-02-19 22:34:27 +01:00
|
|
|
|
|
|
|
if ($config["language"] != "en") {
|
2009-02-24 17:31:02 +01:00
|
|
|
//Load translated strings - load them last so they overload all the objects
|
|
|
|
require_javascript_file ("time_".$config["language"]);
|
|
|
|
require_javascript_file ("date".$config["language"]);
|
|
|
|
require_javascript_file ("countdown_".$config["language"]);
|
2009-02-19 22:34:27 +01:00
|
|
|
}
|
|
|
|
$output .= "\n\t";
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
|
2009-02-24 17:31:02 +01:00
|
|
|
//Load CSS
|
|
|
|
if (empty ($config['css'])) {
|
2009-03-02 Esteban Sanchez <estebans@artica.es>
* include/functions_menu.php: Added to repository. Functions for menu.
* operation/menu.php, godmode/menu.php: Added class to menu due to
changes in print_menu().
* general/main_menu.php: temp_print_menu() moved to functions_menu.php
* include/functions_themes.php: Added to repository. Implement
functions relative to themes (only CSS themes list at this moment).
* include/styles/pandora.css, include/styles/pandora_black.css,
include/styles/pandora_minimal.css, include/styles/pandora_red.css:
Added author, name and description comments to adopt to new
get_themes() interface.
* include/styles/pandora_width.css: Improved and make lighter by
simply rewrite some classes.
* include/functions.php: Added is_ajax().
* godmode/agentes/module_manager_editor.php,
godmode/alerts/alert_actions.php, godmode/alerts/alert_commands.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/alert_templates.php, godmode/groups/group_list.php,
godmode/reporting/map_builder.php,
godmode/reporting/reporting_builder.php,
operation/agentes/estado_agente.php, operation/agentes/ver_agente.php,
operation/events/events.php, operation/messages/message.php: Use
is_ajax()
* godmode/setup/setup.php: Use enterprise_include() instead of manual
checking. Use get_css_themes() to show the theme list.
* include/styles/common.css: Added to repository. Minimal styles to
make pandora works and common with all the CSS themes.
* include/functions_ui.php: Added common.css file.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1496 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-02 14:43:15 +01:00
|
|
|
$config['css'] = array ();
|
2009-02-24 17:31:02 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
//Style should go first
|
|
|
|
$config['css'] = array_merge (array ($config['style'] => "include/styles/".$config['style'].".css",
|
2009-02-26 13:09:21 +01:00
|
|
|
"menu" => "include/styles/menu.css",
|
|
|
|
"tip", "include/styles/tip.css"),
|
|
|
|
$config['css']);
|
2009-02-24 17:31:02 +01:00
|
|
|
|
|
|
|
//We can't load empty and we loaded (conditionally) ie
|
|
|
|
$loaded = array ('', 'ie');
|
|
|
|
foreach ($config['css'] as $name => $filename) {
|
|
|
|
if (in_array ($name, $loaded))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
array_push ($loaded, $name);
|
|
|
|
if (!empty ($config["compact_header"])) {
|
|
|
|
$output .= '<style type="text/css">';
|
|
|
|
$style = file_get_contents ($config["homedir"]."/".$filename);
|
|
|
|
$output .= str_replace ("../../images", "images", $style);
|
|
|
|
$output .= '</style>';
|
|
|
|
} else {
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
$output .= '<link rel="stylesheet" href="'.$filename.'" type="text/css" />'."\n\t";
|
|
|
|
}
|
|
|
|
}
|
2009-02-24 17:31:02 +01:00
|
|
|
//End load CSS
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
|
2009-02-24 17:31:02 +01:00
|
|
|
//Load JS
|
|
|
|
if (empty ($config['js'])) {
|
|
|
|
$config['js'] = array (); //If it's empty, false or not init set array to empty just in case
|
|
|
|
}
|
|
|
|
|
|
|
|
//Pandora specific JavaScript should go first
|
|
|
|
$config['js'] = array_merge (array ("pandora" => "include/javascript/pandora.js"), $config['js']);
|
|
|
|
|
|
|
|
//Load other javascript
|
|
|
|
//We can't load empty
|
|
|
|
$loaded = array ('');
|
|
|
|
foreach ($config['js'] as $name => $filename) {
|
|
|
|
if (in_array ($name, $loaded))
|
|
|
|
continue;
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
|
2009-02-24 17:31:02 +01:00
|
|
|
array_push ($loaded, $name);
|
|
|
|
if (!empty ($config["compact_header"])) {
|
|
|
|
$output .= '<script type="text/javascript">/* <![CDATA[ */'."\n";
|
|
|
|
$output .= file_get_contents ($config["homedir"]."/".$filename);
|
|
|
|
$output .= "\n".'/* ]]> */</script>';
|
|
|
|
} else {
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
$output .= '<script type="text/javascript" src="'.$filename.'"></script>'."\n\t";
|
|
|
|
}
|
|
|
|
}
|
2009-02-24 17:31:02 +01:00
|
|
|
//End load JS
|
|
|
|
|
|
|
|
//Load jQuery
|
|
|
|
if (empty ($config['jquery'])) {
|
|
|
|
$config['jquery'] = array (); //If it's empty, false or not init set array to empty just in case
|
|
|
|
}
|
|
|
|
|
|
|
|
//Pandora specific jquery should go first
|
2009-03-03 16:21:13 +01:00
|
|
|
$config['jquery'] = array_merge (array ("jquery" => "include/javascript/jquery.js",
|
|
|
|
"pandora" => "include/javascript/jquery.pandora.js"),
|
|
|
|
$config['jquery']);
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
|
|
|
|
|
2009-02-24 17:31:02 +01:00
|
|
|
//Then add each script as necessary
|
|
|
|
$loaded = array ('');
|
|
|
|
foreach ($config['jquery'] as $name => $filename) {
|
|
|
|
if (in_array ($name, $loaded))
|
|
|
|
continue;
|
|
|
|
|
|
|
|
array_push ($loaded, $name);
|
|
|
|
if (!empty ($config["compact_header"])) {
|
|
|
|
$output .= '<script type="text/javascript">/* <![CDATA[ */'."\n";
|
|
|
|
$output .= file_get_contents ($config["homedir"]."/".$filename);
|
|
|
|
$output .= "\n".'/* ]]> */</script>';
|
|
|
|
} else {
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
$output .= '<script type="text/javascript" src="'.$filename.'"></script>'."\n\t";
|
|
|
|
}
|
|
|
|
}
|
2009-03-13 12:22:07 +01:00
|
|
|
|
|
|
|
|
|
|
|
$output .= '<!--[if gte IE 6]>
|
|
|
|
<link rel="stylesheet" href="include/styles/ie.css" type="text/css"/>
|
|
|
|
<![endif]-->';
|
|
|
|
|
2009-02-19 Esteban Sanchez <estebans@artica.es>
* include/functions_ui.php: Added require_css_file(),
require_javascript_file() and require_jquery_file() to add CSS,
javascript and jQuery files to the header easily without changing
config object. A path parameter is addded to allow the use on
enterprise code.
* include/functions_db.php: Added
get_db_value_filter(), get_db_all_rows_filter() and
process_sql_delete(). Fixed delete_agent() style and use these
functions. Added process_page_head() from functions_ui.php and changed
a bit the config javascript object part.
* include/functions_custom_graphs.php: Get results indexed by id on
get_user_custom_graphs().
* include/functions.php: Moved process_page_head to functions_ui.php.
* godmode/agentes/manage_delete.php: New interface to perform massive
agents deletion.
* godmode/menu.php: Added new option to massive agents deletion.
* general/main_menu.php, godmode/agentes/manage_config.php,
godmode/agentes/module_manager_editor.php,
godmode/agentes/planned_downtime.php,
godmode/alerts/alert_compounds.php, godmode/alerts/alert_list.php,
godmode/alerts/configure_alert_compound.php,
godmode/alerts/configure_alert_template.php,
godmode/reporting/map_builder.php, operation/agentes/networkmap.php,
operation/reporting/reporting_viewer.php,
operation/visual_console/render_view.php: Use new functions in include
CSS and javascript files.
* index.php: Bit of style when printing the header so the HTML can be
readed easily in a editor.
* include/javascript/pandora.js: Added a variable to determine the
enterprise directory.
* include/styles/pandora.css: Added style for manage_delete.php
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1467 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-02-19 17:10:04 +01:00
|
|
|
$output .= $string;
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Callback function to add stuff to the body
|
|
|
|
*
|
|
|
|
* @param string Callback will fill this with the current buffer.
|
|
|
|
* @param bitfield Callback will fill this with a bitfield (see ob_start)
|
|
|
|
*
|
|
|
|
* @return string String to return to the browser
|
|
|
|
*/
|
|
|
|
function process_page_body ($string, $bitfield) {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
// Show custom background
|
|
|
|
if ($config["pure"] == 0) {
|
|
|
|
$output = '<body style="background-color:#555555;">';
|
|
|
|
} else {
|
|
|
|
$output = '<body>'; //Don't enforce a white background color. Let user style sheet do that
|
|
|
|
}
|
|
|
|
|
|
|
|
$output .= $string;
|
|
|
|
|
|
|
|
$output .= '</body>';
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
}
|
2009-02-20 22:48:09 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints a pagination menu to browse into a collection of data.
|
|
|
|
*
|
|
|
|
* @param int $count Number of elements in the collection.
|
|
|
|
* @param string $url URL of the pagination links. It must include all form
|
|
|
|
* values as GET form.
|
|
|
|
* @param int $offset Current offset for the pagination. Default value would be
|
|
|
|
* taken from $_REQUEST['offset']
|
|
|
|
* @param int $pagination Current pagination size. If a user requests a larger
|
|
|
|
* pagination than config["block_size"]
|
|
|
|
* @param bool $return Whether to return or print this
|
|
|
|
*
|
|
|
|
* @return string The pagination div or nothing if no pagination needs to be done
|
|
|
|
*/
|
|
|
|
function pagination ($count, $url, $offset = 0, $pagination = 0, $return = false) {
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
if (empty ($pagination)) {
|
|
|
|
$pagination = $config["block_size"];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (empty ($offset)) {
|
|
|
|
$offset = (int) get_parameter ('offset');
|
|
|
|
}
|
|
|
|
|
|
|
|
$url = safe_input ($url);
|
|
|
|
|
|
|
|
/* URL passed render links with some parameter
|
|
|
|
&offset - Offset records passed to next page
|
|
|
|
&counter - Number of items to be blocked
|
|
|
|
Pagination needs $url to build the base URL to render links, its a base url, like
|
|
|
|
" http://pandora/index.php?sec=godmode&sec2=godmode/admin_access_logs "
|
|
|
|
*/
|
|
|
|
$block_limit = 15; // Visualize only $block_limit blocks
|
|
|
|
if ($count <= $pagination) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
// If exists more registers than I can put in a page, calculate index markers
|
2009-02-24 17:24:02 +01:00
|
|
|
$index_counter = ceil ($count /$pagination); // Number of blocks of block_size with data
|
|
|
|
$index_page = ceil ($offset / $pagination) - (ceil ($block_limit / 2)); // block to begin to show data;
|
2009-02-20 22:48:09 +01:00
|
|
|
if ($index_page < 0)
|
|
|
|
$index_page = 0;
|
|
|
|
|
|
|
|
// This calculate index_limit, block limit for this search.
|
|
|
|
if (($index_page + $block_limit) > $index_counter)
|
|
|
|
$index_limit = $index_counter;
|
|
|
|
else
|
|
|
|
$index_limit = $index_page + $block_limit;
|
|
|
|
|
|
|
|
// This calculate if there are more blocks than visible (more than $block_limit blocks)
|
|
|
|
if ($index_counter > $block_limit )
|
|
|
|
$paginacion_maxima = 1; // If maximum blocks ($block_limit), show only 10 and "...."
|
|
|
|
else
|
|
|
|
$paginacion_maxima = 0;
|
|
|
|
|
|
|
|
// This setup first block of query
|
|
|
|
if ( $paginacion_maxima == 1)
|
|
|
|
if ($index_page == 0)
|
|
|
|
$inicio_pag = 0;
|
|
|
|
else
|
|
|
|
$inicio_pag = $index_page;
|
|
|
|
else
|
|
|
|
$inicio_pag = 0;
|
|
|
|
|
|
|
|
$output = '<div>';
|
|
|
|
// Show GOTO FIRST button
|
2009-02-24 17:24:02 +01:00
|
|
|
$output .= '<a class="pagination go_first" href="'.$url.'&offset=0">'.print_image ("images/control_start_blue.png", true, array ("class" => "bot")).'</a> ';
|
2009-02-20 22:48:09 +01:00
|
|
|
// Show PREVIOUS button
|
2009-02-24 17:24:02 +01:00
|
|
|
if ($index_page > 0) {
|
|
|
|
$index_page_prev = ($index_page - (floor ($block_limit / 2))) * $pagination;
|
2009-02-20 22:48:09 +01:00
|
|
|
if ($index_page_prev < 0)
|
|
|
|
$index_page_prev = 0;
|
2009-02-24 17:24:02 +01:00
|
|
|
$output .= '<a class="pagination go_rewind" href="'.$url.'&offset='.$index_page_prev.'">'.print_image ("images/control_rewind_blue.png", true, array ("class" => "bot")).'</a>';
|
2009-02-20 22:48:09 +01:00
|
|
|
}
|
|
|
|
$output .= " ";
|
|
|
|
// Draw blocks markers
|
|
|
|
// $i stores number of page
|
|
|
|
for ($i = $inicio_pag; $i < $index_limit; $i++) {
|
|
|
|
$inicio_bloque = ($i * $pagination);
|
|
|
|
$final_bloque = $inicio_bloque + $pagination;
|
|
|
|
if ($final_bloque > $count){ // if upper limit is beyond max, this shouldnt be possible !
|
|
|
|
$final_bloque = ($i-1) * $pagination + $count-(($i-1) * $pagination);
|
|
|
|
}
|
|
|
|
$output .= "<span>";
|
|
|
|
|
|
|
|
$inicio_bloque_fake = $inicio_bloque + 1;
|
|
|
|
// To Calculate last block (doesnt end with round data,
|
|
|
|
// it must be shown if not round to block limit)
|
2009-02-24 17:24:02 +01:00
|
|
|
$output .= '<a class="pagination" href="'.$url.'&offset='.$inicio_bloque.'">';
|
2009-02-20 22:48:09 +01:00
|
|
|
if ($inicio_bloque == $offset) {
|
|
|
|
$output .= "<b>[ $i ]</b>";
|
|
|
|
} else {
|
|
|
|
$output .= "[ $i ]";
|
|
|
|
}
|
|
|
|
$output .= '</a></span>';
|
|
|
|
}
|
|
|
|
$output .= " ";
|
|
|
|
// Show NEXT PAGE (fast forward)
|
|
|
|
// Index_counter stores max of blocks
|
|
|
|
if (($paginacion_maxima == 1) AND (($index_counter - $i) > 0)) {
|
|
|
|
$prox_bloque = ($i + ceil ($block_limit / 2)) * $pagination;
|
|
|
|
if ($prox_bloque > $count)
|
|
|
|
$prox_bloque = ($count -1) - $pagination;
|
2009-02-24 17:24:02 +01:00
|
|
|
$output .= '<a class="pagination go_fastforward" href="'.$url.'&offset='.$prox_bloque.'">'.print_image ("images/control_fastforward_blue.png", true, array ("class" => "bot")).'</a>';
|
2009-02-20 22:48:09 +01:00
|
|
|
$i = $index_counter;
|
|
|
|
}
|
|
|
|
// if exists more registers than i can put in a page (defined by $block_size config parameter)
|
|
|
|
// get offset for index calculation
|
|
|
|
// Draw "last" block link, ajust for last block will be the same
|
|
|
|
// as painted in last block (last integer block).
|
|
|
|
if (($count - $pagination) > 0) {
|
|
|
|
$myoffset = floor (($count - 1) / $pagination) * $pagination;
|
2009-02-24 17:24:02 +01:00
|
|
|
$output .= '<a class="pagination go_last" href="'.$url.'&offset='.$myoffset.'">'.print_image ("images/control_end_blue.png", true, array ("class" => "bot")).'</a>';
|
2009-02-20 22:48:09 +01:00
|
|
|
}
|
|
|
|
// End div and layout
|
|
|
|
$output .= "</div>";
|
|
|
|
|
|
|
|
if ($return === false)
|
|
|
|
echo $output;
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints only a tip button which shows a text when the user puts the mouse over it.
|
|
|
|
*
|
|
|
|
* @param string Complete text to show in the tip
|
|
|
|
* @param bool whether to return an output string or echo now
|
|
|
|
*
|
|
|
|
* @return string HTML code if return parameter is true.
|
|
|
|
*/
|
|
|
|
function print_help_tip ($text, $return = false) {
|
|
|
|
$output = '<a href="#" class="tip"> <span>'.$text.'</span></a>';
|
|
|
|
|
|
|
|
if ($return)
|
|
|
|
return $output;
|
|
|
|
echo $output;
|
|
|
|
}
|
2009-02-25 13:24:06 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Powerful debug function that also shows a backtrace.
|
|
|
|
*
|
|
|
|
* This functions need to have active $config['debug'] variable to work.
|
|
|
|
*
|
|
|
|
* @param mixed Variable name to debug
|
2009-03-12 10:20:49 +01:00
|
|
|
* @param bool Wheter to print the backtrace or not.
|
2009-02-25 13:24:06 +01:00
|
|
|
*/
|
2009-03-12 10:20:49 +01:00
|
|
|
function debug ($var, $backtrace = true) {
|
2009-02-25 13:24:06 +01:00
|
|
|
global $config;
|
|
|
|
if (! isset ($config['debug']))
|
|
|
|
return;
|
|
|
|
|
|
|
|
static $id = 0;
|
|
|
|
static $trace_id = 0;
|
|
|
|
|
|
|
|
$id++;
|
|
|
|
|
2009-03-12 10:20:49 +01:00
|
|
|
if ($backtrace) {
|
|
|
|
echo '<div class="debug">';
|
|
|
|
echo '<a href="#" onclick="$(\'#trace-'.$id.'\').toggle ();return false;">Backtrace</a>';
|
|
|
|
echo '<div id="trace-'.$id.'" class="backtrace invisible">';
|
2009-02-25 13:24:06 +01:00
|
|
|
echo '<ol>';
|
2009-03-12 10:20:49 +01:00
|
|
|
$traces = debug_backtrace ();
|
|
|
|
/* Ignore debug function */
|
|
|
|
unset ($traces[0]);
|
|
|
|
foreach ($traces as $trace) {
|
|
|
|
$trace_id++;
|
|
|
|
|
|
|
|
/* Many classes are used to allow better customization. Please, do not
|
|
|
|
remove them */
|
2009-02-25 13:24:06 +01:00
|
|
|
echo '<li>';
|
2009-03-12 10:20:49 +01:00
|
|
|
if (isset ($trace['class']))
|
|
|
|
echo '<span class="class">'.$trace['class'].'</span>';
|
|
|
|
if (isset ($trace['type']))
|
|
|
|
echo '<span class="type">'.$trace['type'].'</span>';
|
|
|
|
echo '<span class="function">';
|
|
|
|
echo '<a href="#" onclick="$(\'#args-'.$trace_id.'\').toggle ();return false;">'.$trace['function'].'()</a>';
|
|
|
|
echo '</span>';
|
|
|
|
if (isset ($trace['file'])) {
|
|
|
|
echo ' - <span class="filename">';
|
|
|
|
echo str_replace ($config['homedir'].'/', '', $trace['file']);
|
|
|
|
echo ':'.$trace['line'].'</span>';
|
|
|
|
} else {
|
|
|
|
echo ' - <span class="filename"><em>Unknown file</em></span>';
|
|
|
|
}
|
|
|
|
echo '<pre id="args-'.$trace_id.'" class="invisible">';
|
|
|
|
echo '<div class="parameters">Parameter values:</div>';
|
|
|
|
echo '<ol>';
|
|
|
|
foreach ($trace['args'] as $arg) {
|
|
|
|
echo '<li>';
|
|
|
|
print_r ($arg);
|
|
|
|
echo '</li>';
|
|
|
|
}
|
|
|
|
echo '</ol>';
|
|
|
|
echo '</pre>';
|
2009-02-25 16:15:14 +01:00
|
|
|
echo '</li>';
|
2009-02-25 13:24:06 +01:00
|
|
|
}
|
|
|
|
echo '</ol>';
|
2009-03-12 10:20:49 +01:00
|
|
|
echo '</div></div>';
|
2009-02-25 13:24:06 +01:00
|
|
|
}
|
2009-02-20 22:48:09 +01:00
|
|
|
|
2009-02-25 13:24:06 +01:00
|
|
|
/* Actually print the variable given */
|
|
|
|
echo '<pre class="debug">';
|
|
|
|
print_r ($var);
|
|
|
|
echo '</pre>';
|
|
|
|
}
|
2009-03-02 Evi Vanoost <vanooste@rcbi.rochester.edu>
* include/functions_reporting.php: Rewrote get_agentmodule_sla with
faster calculations (count in SQL).
* include/functions_ui.php: Added print_moduletype_icon that prints the
whole (correct) icon including rollover text
* include/functions_db.php: Updated some documenation and removed
deprecated functions that are now in the auth parts. Renamed
return_status_agent_module to get_agentmodule_status
* operation/agentes/sla_view.php: Made it use the 2.0 SQL and HTML
functions
* godmode/agentes/configurar_agente.php: Fixed tab links
* operation/events/events.php, include/functions_visual_map.php,
operation/agentes/networkmap.php, operation/agentes/status_monitor.php,
operation/agentes/estado_grupo.php, operation/agentes/ver_agente.php,
operation/reporting/custom_reporting.php,
operation/reporting/reporting_viewer.php,
operation/reporting/reporting_xml.php, godmode/setup/links.php,
godmode/setup/setup.php, godmode/reporting/map_builder.php,
godmode/reporting/reporting_builder.php: Fixed renamed functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1497 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-03-02 20:16:46 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Prints icon of a module type
|
|
|
|
*
|
|
|
|
* @param int Module Type ID
|
|
|
|
* @param bool Whether to return or print
|
|
|
|
*
|
|
|
|
* @return string An HTML string with the icon. Printed if return is false
|
|
|
|
*/
|
|
|
|
function print_moduletype_icon ($id_moduletype, $return = false) {
|
|
|
|
$type = get_db_row ("ttipo_modulo", "id_tipo", (int) $id_moduletype, array ("nombre", "icon"));
|
|
|
|
if ($type === false) {
|
|
|
|
$type = array ();
|
|
|
|
$type["nombre"] = __('Unknown Type');
|
|
|
|
$type["icon"] = 'b_down.png';
|
|
|
|
}
|
|
|
|
return print_image ("images/".$type["icon"], $return, array ("border" => 0, "title" => $type["nombre"]));
|
|
|
|
}
|
2009-03-04 16:59:00 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Format a file size from bytes to a human readable meassure.
|
|
|
|
*
|
|
|
|
* @param int File size in bytes
|
|
|
|
* @return string Bytes converted to a human readable meassure.
|
|
|
|
*/
|
|
|
|
function format_filesize ($bytes) {
|
|
|
|
$bytes = (int) $bytes;
|
|
|
|
$strs = array ('B', 'kB', 'MB', 'GB', 'TB');
|
|
|
|
if ($bytes < 0) {
|
|
|
|
return "0 ".$strs[0];
|
|
|
|
}
|
|
|
|
$con = 1024;
|
|
|
|
$log = (int) (log ($bytes, $con));
|
|
|
|
|
|
|
|
return format_numeric ($bytes / pow ($con, $log), 1).' '.$strs[$log];
|
|
|
|
}
|
2009-01-07 11:42:38 +01:00
|
|
|
?>
|