Merge remote-tracking branch 'origin/develop' into features/oracle
Conflicts resolved: pandora_console/include/functions_reporting.php
This commit is contained in:
commit
137acdb232
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-agent-unix
|
||||
Version: 6.0dev-150514
|
||||
Version: 6.0dev-150519
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0dev-150514"
|
||||
pandora_version="6.0dev-150519"
|
||||
|
||||
echo "Test if you has the tools for to make the packages."
|
||||
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
|
||||
|
|
|
@ -41,7 +41,7 @@ my $Sem = undef;
|
|||
my $ThreadSem = undef;
|
||||
|
||||
use constant AGENT_VERSION => '6.0dev';
|
||||
use constant AGENT_BUILD => '150514';
|
||||
use constant AGENT_BUILD => '150519';
|
||||
|
||||
# Commands to retrieve total memory information in kB
|
||||
use constant TOTALMEMORY_CMDS => {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_agent_unix
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
|
||||
Summary: Pandora FMS Linux agent, PERL version
|
||||
Name: %{name}
|
||||
|
|
|
@ -21,7 +21,7 @@ my $freemem=`cat /proc/meminfo | grep 'MemFree' | awk '{ print \$2 } '`;
|
|||
my $cached=`cat /proc/meminfo | grep '^Cached:' | awk '{ print \$2 } '`;
|
||||
my $cachedswap=`cat /proc/meminfo | grep '^SwapCached:' | awk '{ print \$2 }'`;
|
||||
my $available=$freemem+$cached+$cachedwap;
|
||||
my $available_percent = floor(($available / $STOTAL)*100);
|
||||
my $available_percent = floor(($available / $TOTAL)*100);
|
||||
|
||||
|
||||
print "<module>\n";
|
||||
|
|
|
@ -186,7 +186,7 @@ UpgradeApplicationID
|
|||
{}
|
||||
|
||||
Version
|
||||
{150514}
|
||||
{150519}
|
||||
|
||||
ViewReadme
|
||||
{Yes}
|
||||
|
|
|
@ -30,7 +30,7 @@ using namespace Pandora;
|
|||
using namespace Pandora_Strutils;
|
||||
|
||||
#define PATH_SIZE _MAX_PATH+1
|
||||
#define PANDORA_VERSION ("6.0dev(Build 150514)")
|
||||
#define PANDORA_VERSION ("6.0dev(Build 150519)")
|
||||
|
||||
string pandora_path;
|
||||
string pandora_dir;
|
||||
|
|
|
@ -11,7 +11,7 @@ BEGIN
|
|||
VALUE "LegalCopyright", "Artica ST"
|
||||
VALUE "OriginalFilename", "PandoraAgent.exe"
|
||||
VALUE "ProductName", "Pandora FMS Windows Agent"
|
||||
VALUE "ProductVersion", "(6.0dev(Build 150514))"
|
||||
VALUE "ProductVersion", "(6.0dev(Build 150519))"
|
||||
VALUE "FileVersion", "1.0.0.0"
|
||||
END
|
||||
END
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-console
|
||||
Version: 6.0dev-150514
|
||||
Version: 6.0dev-150519
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0dev-150514"
|
||||
pandora_version="6.0dev-150519"
|
||||
|
||||
package_pear=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -258,6 +258,7 @@ config_check();
|
|||
}
|
||||
|
||||
$table->data[0][3] = $maintenance_img;
|
||||
|
||||
// Main help icon
|
||||
$table->data[0][4] = ui_print_help_icon ("main_help", true, '', 'images/header_help.png');
|
||||
|
||||
|
|
|
@ -938,7 +938,7 @@ if ($update_module || $create_module) {
|
|||
|
||||
$plugin_parameter = (string) get_parameter ('plugin_parameter');
|
||||
}
|
||||
|
||||
|
||||
$ip_target = (string) get_parameter ('ip_target');
|
||||
$custom_id = (string) get_parameter ('custom_id');
|
||||
$history_data = (int) get_parameter('history_data');
|
||||
|
|
|
@ -139,6 +139,7 @@ if (!$own_info['is_admin'] && !check_acl ($config['id_user'], 0, "PM"))
|
|||
else
|
||||
$return_all_group = true;
|
||||
html_print_select_groups(false, "AR", $return_all_group, "ag_group", $ag_group, 'this.form.submit();', '', 0, false, false, true, '', false, 'width:100px;');
|
||||
|
||||
echo "<td>";
|
||||
echo __('Show Agents') . ' ';
|
||||
$fields = array(
|
||||
|
@ -398,6 +399,7 @@ else {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
$agents = db_get_all_rows_sql ($sql);
|
||||
|
||||
// Delete rnum row generated by oracle_recode_query() function
|
||||
|
|
|
@ -31,7 +31,7 @@ if (is_ajax ()) {
|
|||
|
||||
$component['throw_unknown_events'] =
|
||||
!network_components_is_disable_type_event($id_component, EVENTS_GOING_UNKNOWN);
|
||||
|
||||
|
||||
// Decrypt passwords in the component.
|
||||
$component['plugin_pass'] = io_output_password($component['plugin_pass']);
|
||||
|
||||
|
|
|
@ -140,7 +140,7 @@ if (is_ajax ()) {
|
|||
$rfield = html_print_select($fields_value_select,
|
||||
'field'.$i.'_recovery_value', '', '', '', 0, true, false, false, 'fields_recovery');
|
||||
}
|
||||
else{
|
||||
else {
|
||||
$ffield = html_print_textarea ('field' . $i . '_value',1, 1, $fv[0],
|
||||
'style="min-height:40px" class="fields"', true);
|
||||
$rfield = html_print_textarea ('field' . $i . '_recovery_value', 1, 1, $fv[0],
|
||||
|
|
|
@ -306,7 +306,7 @@ $(document).ready (function () {
|
|||
$("[name=field" + i + "_value]").val(old_value);
|
||||
$("[name=field" + i + "_recovery_value]").val(old_recovery_value);
|
||||
}
|
||||
else{
|
||||
else {
|
||||
$("[name=field" + i + "_value]").val($("[name=field" + i + "_value]").val());
|
||||
$("[name=field" + i + "_recovery_value]").val($("[name=field" + i + "_recovery_value]").val());
|
||||
}
|
||||
|
|
|
@ -471,7 +471,7 @@ print_alert_template_steps ($step, $id);
|
|||
|
||||
$table->id = 'template';
|
||||
$table->width = '98%';
|
||||
if(defined("METACONSOLE")){
|
||||
if(defined("METACONSOLE")) {
|
||||
$table->width = '100%';
|
||||
$table->class = 'databox data';
|
||||
$table->head[0] = __('Create Template');
|
||||
|
@ -479,7 +479,7 @@ if(defined("METACONSOLE")){
|
|||
$table->headstyle[0] = 'text-align: center';
|
||||
}
|
||||
$table->style = array ();
|
||||
if(!defined("METACONSOLE")){
|
||||
if(!defined("METACONSOLE")) {
|
||||
$table->style[0] = 'font-weight: bold; vertical-align: top';
|
||||
$table->style[2] = 'font-weight: bold; vertical-align: top';
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ if(defined('METACONSOLE')) {
|
|||
'text' => '<a href="index.php?sec=advanced&sec2=godmode/category/category&tab=list&pure='.(int)$config['pure'].'">' .
|
||||
html_print_image ("images/list.png", true, array ("title" => __('List categories'))) .'</a>'));
|
||||
}
|
||||
else{
|
||||
else {
|
||||
$buttons = array(
|
||||
'list' => array(
|
||||
'active' => false,
|
||||
|
@ -132,6 +132,7 @@ if (!empty($result)) {
|
|||
$iterator++;
|
||||
|
||||
$data = array ();
|
||||
|
||||
if(defined('METACONSOLE')){
|
||||
$data[0] = "<a href='index.php?sec=advanced&sec2=godmode/category/edit_category&action=update&id_category=" . $category["id"] . "&pure=" . (int)$config['pure'] . "'>" . $category["name"] . "</a>";
|
||||
$data[1] = "<a href='index.php?sec=advanced&sec2=godmode/category/edit_category&action=update&id_category=".$category["id"] . "&pure=" . (int)$config['pure'] . "'>" . html_print_image("images/config.png", true, array("title" => "Edit")) . "</a> ";
|
||||
|
|
|
@ -28,6 +28,7 @@ if (! check_acl($config['id_user'], 0, "EW")) {
|
|||
$update = get_parameter('upd_button', '');
|
||||
$default = (int) get_parameter('default', 0);
|
||||
|
||||
|
||||
if ($default != 0) {
|
||||
$event_fields = io_safe_input('evento,id_agente,estado,timestamp');
|
||||
$fields_selected = explode (',', $event_fields);
|
||||
|
|
|
@ -159,7 +159,8 @@ $table->class = "databox";
|
|||
$table->style[0] = 'vertical-align: top;';
|
||||
|
||||
$table->valign[1] = 'top';
|
||||
if (defined('METACONSOLE')){
|
||||
|
||||
if (defined('METACONSOLE')) {
|
||||
$table->width = '100%';
|
||||
$table->border = 0;
|
||||
$table->cellspacing = 3;
|
||||
|
@ -288,7 +289,7 @@ $add_without_tag_disabled = empty($tags_select_without);
|
|||
$remove_without_tag_disabled = empty($tag_without_temp);
|
||||
|
||||
|
||||
if (defined("METACONSOLE")){
|
||||
if (defined("METACONSOLE")) {
|
||||
|
||||
$table->data[13][0] = '<b>' . __('Events with following tags') . '</b>';
|
||||
$table->data[13][0] .= '<br>' . html_print_select ($tags_select_with, 'select_with',
|
||||
|
|
|
@ -57,7 +57,7 @@ else {
|
|||
|
||||
$table->width = '90%';
|
||||
|
||||
if(defined('METACONSOLE')){
|
||||
if(defined('METACONSOLE')) {
|
||||
$table->width = '100%';
|
||||
$table->class = 'databox data';
|
||||
$table->head[0] = __('Edit event responses');
|
||||
|
|
|
@ -25,7 +25,7 @@ if (! check_acl($config['id_user'], 0, "PM")) {
|
|||
return;
|
||||
}
|
||||
|
||||
if(!defined('METACONSOLE')){
|
||||
if(!defined('METACONSOLE')) {
|
||||
echo '<br><br><div style="width:99%;text-align:right;">';
|
||||
echo '<form method="post" action="index.php?sec=geventos&sec2=godmode/events/events§ion=responses&mode=editor&pure='.$config['pure'].'">';
|
||||
html_print_submit_button(__('Create response'), 'create_response_button', false, array('class' => 'sub next'));
|
||||
|
@ -78,7 +78,7 @@ foreach($event_responses as $response) {
|
|||
|
||||
html_print_table($table);
|
||||
|
||||
if(defined('METACONSOLE')){
|
||||
if(defined('METACONSOLE')) {
|
||||
echo '<br><br><div style="width:100%;text-align:right;">';
|
||||
echo '<form method="post" action="index.php?sec=geventos&sec2=godmode/events/events§ion=responses&mode=editor&pure='.$config['pure'].'">';
|
||||
html_print_submit_button(__('Create response'), 'create_response_button', false, array('class' => 'sub next'));
|
||||
|
|
|
@ -176,7 +176,7 @@ $agents_with_templates_json = json_encode($agents_with_templates_json);
|
|||
|
||||
echo "<input type='hidden' id='hidden-agents_with_templates' value='$agents_with_templates_json'>";
|
||||
|
||||
echo '<div class="action-buttons" style="width: '. $table->width . '" onsubmit="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
||||
echo '<div class="action-buttons" style="width: ' . $table->width . '" onsubmit="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
||||
html_print_input_hidden ('add', 1);
|
||||
html_print_submit_button (__('Add'), 'go', false, 'class="sub add"');
|
||||
echo '</div>';
|
||||
|
|
|
@ -58,6 +58,7 @@ $group = 0;
|
|||
$group_by_agent = 0;
|
||||
$order_uptodown = 0;
|
||||
$show_resume = 0;
|
||||
$show_address_agent = 0;
|
||||
$top_n = 0;
|
||||
$top_n_value = 10;
|
||||
$exception_condition = REPORT_EXCEPTION_CONDITION_EVERYTHING;
|
||||
|
@ -87,6 +88,7 @@ $inventory_modules = array();
|
|||
$date = null;
|
||||
// Only avg is selected by default for the simple graphs
|
||||
$only_avg = true;
|
||||
$time_compare_overlapped = false;
|
||||
|
||||
//Added for events items
|
||||
$filter_event_validated = false;
|
||||
|
@ -102,6 +104,9 @@ $netflow_filter = 0;
|
|||
$max_values = 0;
|
||||
$resolution = 0;
|
||||
|
||||
//Others
|
||||
$filter_search = "";
|
||||
|
||||
switch ($action) {
|
||||
case 'new':
|
||||
$actionParameter = 'save';
|
||||
|
@ -128,6 +133,7 @@ switch ($action) {
|
|||
case 'exception':
|
||||
case 'general':
|
||||
case 'network_interfaces_report':
|
||||
case 'availability':
|
||||
$get_data_editor = true;
|
||||
break;
|
||||
default:
|
||||
|
@ -187,6 +193,9 @@ switch ($action) {
|
|||
$projection_period = $item['top_n_value'];
|
||||
$period_pg = $item['period'];
|
||||
}
|
||||
|
||||
// HACK it is saved in show_graph field.
|
||||
$time_compare_overlapped = $item['show_graph'];
|
||||
break;
|
||||
case 'prediction_date':
|
||||
$description = $item['description'];
|
||||
|
@ -406,6 +415,8 @@ switch ($action) {
|
|||
$event_graph_by_user_validator = $style['event_graph_by_user_validator'];
|
||||
$event_graph_by_criticity = $style['event_graph_by_criticity'];
|
||||
$event_graph_validated_vs_unvalidated = $style['event_graph_validated_vs_unvalidated'];
|
||||
|
||||
$filter_search = $style['event_filter_search'];
|
||||
break;
|
||||
case 'event_report_module':
|
||||
$description = $item['description'];
|
||||
|
@ -419,7 +430,15 @@ switch ($action) {
|
|||
$period = $item['period'];
|
||||
$order_uptodown = $item['order_uptodown'];
|
||||
$show_resume = $item['show_resume'];
|
||||
$show_graph = $item['show_graph'];
|
||||
break;
|
||||
case 'availability':
|
||||
$description = $item['description'];
|
||||
$period = $item['period'];
|
||||
$order_uptodown = $item['order_uptodown'];
|
||||
$show_resume = $item['show_resume'];
|
||||
// HACK it is saved in show_graph field.
|
||||
// Show interfaces instead the modules
|
||||
$show_address_agent = $item['show_graph'];
|
||||
break;
|
||||
case 'group_report':
|
||||
$description = $item['description'];
|
||||
|
@ -1040,6 +1059,14 @@ else
|
|||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_time_compare_overlapped" style="" class="datos">
|
||||
<td><?php echo __('Time compare (Overlapped)');?></td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_checkbox('time_compare_overlapped', 1, $time_compare_overlapped);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_only_avg" style="" class="datos">
|
||||
<td><?php echo __('Only average');?></td>
|
||||
<td><?php html_print_checkbox('only_avg', 1, $only_avg);?></td>
|
||||
|
@ -1081,6 +1108,20 @@ else
|
|||
<td><?php html_print_select ($show_graph_options, 'combo_graph_options', $show_graph);?></td>
|
||||
|
||||
</tr>
|
||||
<tr id="row_show_address_agent" style="" class="datos">
|
||||
<td>
|
||||
<?php
|
||||
echo __('Show address instead module name.') .
|
||||
ui_print_help_tip(__('Show the main address of agent.'), true);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_checkbox('checkbox_show_address_agent', 1,
|
||||
$show_address_agent);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_show_resume" style="" class="datos">
|
||||
<td><?php echo __('Show resume') . ui_print_help_tip(__('Show a resume table with max, min, average of total modules on the report bottom'), true);?></td>
|
||||
<td>
|
||||
|
@ -1154,13 +1195,21 @@ else
|
|||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="row_filter_search" style="" class="datos">
|
||||
<td><?php echo __('Free search');?></td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_input_text('filter_search', $filter_search);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<br />
|
||||
<?php
|
||||
print_SLA_list('95%', $action, $idItem);
|
||||
print_General_list('95%', $action, $idItem);
|
||||
print_General_list('95%', $action, $idItem, $type);
|
||||
echo '<div class="action-buttons" style="width: 100%">';
|
||||
if ($action == 'new') {
|
||||
html_print_submit_button(__('Create item'), 'create_item', false, 'class="sub wand"');
|
||||
|
@ -1339,7 +1388,7 @@ function print_SLA_list($width, $action, $idItem = null) {
|
|||
<?php
|
||||
}
|
||||
|
||||
function print_General_list($width, $action, $idItem = null) {
|
||||
function print_General_list($width, $action, $idItem = null, $type = 'general') {
|
||||
global $config;
|
||||
global $meta;
|
||||
|
||||
|
@ -1357,11 +1406,24 @@ function print_General_list($width, $action, $idItem = null) {
|
|||
<table class="databox" id="general_list" border="0" cellpadding="4" cellspacing="4" width="100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="header" scope="col"><?php echo __('Agent');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Module');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Operation') .
|
||||
ui_print_help_tip(__("Please be careful, when the module have diferent intervals in their life, the summatory maybe get bad result."), true);?></th>
|
||||
<th class="header" scope="col"><?php echo __('Action');?></th>
|
||||
<?php
|
||||
if ($type == "availability") {
|
||||
?>
|
||||
<th class="header" scope="col"><?php echo __('Agent');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Module');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Action');?></th>
|
||||
<?php
|
||||
}
|
||||
else {
|
||||
?>
|
||||
<th class="header" scope="col"><?php echo __('Agent');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Module');?></th>
|
||||
<th class="header" scope="col"><?php echo __('Operation') .
|
||||
ui_print_help_tip(__("Please be careful, when the module have diferent intervals in their life, the summatory maybe get bad result."), true);?></th>
|
||||
<th class="header" scope="col"><?php echo __('Action');?></th>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
|
@ -1406,14 +1468,27 @@ function print_General_list($width, $action, $idItem = null) {
|
|||
$server_name_element .= ' (' . $server_name . ')';
|
||||
|
||||
|
||||
echo '<tr id="general_' . $item['id'] . '" style="" class="datos">
|
||||
if ($type == "availability") {
|
||||
echo '<tr id="general_' . $item['id'] . '" style="" class="datos">
|
||||
<td>' . printSmallFont($nameAgent) . $server_name_element . '</td>
|
||||
<td>' . printSmallFont($nameModule) . '</td>
|
||||
<td>' . printSmallFont($operation[$item['operation']]) . '</td>
|
||||
<td style="text-align: center;">
|
||||
<a href="javascript: deleteGeneralRow(' . $item['id'] . ');">' . html_print_image("images/cross.png", true) . '</a>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
else {
|
||||
echo '<tr id="general_' . $item['id'] . '" style="" class="datos">
|
||||
<td>' . printSmallFont($nameAgent) . $server_name_element . '</td>
|
||||
<td>' . printSmallFont($nameModule) . '</td>
|
||||
<td>' .
|
||||
printSmallFont($operation[$item['operation']]) .
|
||||
'</td>
|
||||
<td style="text-align: center;">
|
||||
<a href="javascript: deleteGeneralRow(' . $item['id'] . ');">' . html_print_image("images/cross.png", true) . '</a>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
|
||||
if ($meta) {
|
||||
|
@ -1427,7 +1502,13 @@ function print_General_list($width, $action, $idItem = null) {
|
|||
<tr id="row" style="display: none;" class="datos">
|
||||
<td class="agent_name"></td>
|
||||
<td class="module_name"></td>
|
||||
<td class="operation_name"></td>
|
||||
<?php
|
||||
if ($type != "availability") {
|
||||
?>
|
||||
<td class="operation_name"></td>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<td style="text-align: center;"><a class="delete_button" href="javascript: deleteGeneralRow(0);"><?php html_print_image("images/cross.png", false); ?></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -1459,14 +1540,20 @@ function print_General_list($width, $action, $idItem = null) {
|
|||
<option value="0"><?php echo __('Select an Agent first'); ?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
html_print_select($operation,
|
||||
'id_operation_module_general', 0,
|
||||
false, '', '', false, false, true,
|
||||
'width: 200px', false);
|
||||
?>
|
||||
</td>
|
||||
<?php
|
||||
if ($type !== "availability") {
|
||||
?>
|
||||
<td>
|
||||
<?php
|
||||
html_print_select($operation,
|
||||
'id_operation_module_general', 0,
|
||||
false, '', '', false, false, true,
|
||||
'width: 200px', false);
|
||||
?>
|
||||
</td>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<td style="text-align: center;"><a href="javascript: addGeneralRow();"><?php html_print_image("images/disk.png", false); ?></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -1839,7 +1926,13 @@ function addGeneralRow() {
|
|||
var idAgent = $("input[name=id_agent_general]").val();
|
||||
var serverId = $("input[name=id_server]").val();
|
||||
var idModule = $("#id_agent_module_general").val();
|
||||
var operation = $("#id_operation_module_general").val();
|
||||
var operation;
|
||||
if ($("#id_operation_module_general").length) {
|
||||
operation = $("#id_operation_module_general").val();
|
||||
}
|
||||
else {
|
||||
operation = "";
|
||||
}
|
||||
var nameModule = $("#id_agent_module_general :selected").text();
|
||||
var nameOperation = $("#id_operation_module_general :selected").text();
|
||||
|
||||
|
@ -1960,9 +2053,11 @@ function chooseType() {
|
|||
$("#general_list").hide();
|
||||
$("#row_order_uptodown").hide();
|
||||
$("#row_show_resume").hide();
|
||||
$("#row_show_address_agent").hide();
|
||||
$("#row_show_graph").hide();
|
||||
$("#row_max_min_avg").hide();
|
||||
$("#row_only_avg").hide();
|
||||
$("#row_time_compare_overlapped").hide();
|
||||
$("#row_quantity").hide();
|
||||
$("#row_exception_condition_value").hide();
|
||||
$("#row_exception_condition").hide();
|
||||
|
@ -1984,6 +2079,7 @@ function chooseType() {
|
|||
$("#row_max_values").hide();
|
||||
$("#row_resolution").hide();
|
||||
$("#row_last_value").hide();
|
||||
$("#row_filter_search").hide();
|
||||
|
||||
// SLA list default state
|
||||
$("#sla_list").hide();
|
||||
|
@ -2012,8 +2108,11 @@ function chooseType() {
|
|||
$("#row_event_graph_by_user").show();
|
||||
$("#row_event_graph_by_criticity").show();
|
||||
$("#row_event_graph_by_validated").show();
|
||||
|
||||
$("#row_filter_search").show();
|
||||
break;
|
||||
case 'simple_graph':
|
||||
$("#row_time_compare_overlapped").show();
|
||||
$("#row_only_avg").show();
|
||||
// The break hasn't be forgotten, this element
|
||||
// only should be shown on the simple graphs.
|
||||
|
@ -2024,6 +2123,7 @@ function chooseType() {
|
|||
$("#row_period").show();
|
||||
$("#row_show_in_two_columns").show();
|
||||
$("#row_show_in_landscape").show();
|
||||
$("#row_time_compare_overlapped").show();
|
||||
break;
|
||||
case 'projection_graph':
|
||||
$("#row_description").show();
|
||||
|
@ -2264,6 +2364,15 @@ function chooseType() {
|
|||
$("input[name='last_value']").prop("checked", true);
|
||||
}
|
||||
break;
|
||||
case 'availability':
|
||||
$("#row_description").show();
|
||||
$("#row_period").show();
|
||||
$("#general_list").show();
|
||||
$("#row_order_uptodown").show();
|
||||
$("#row_show_address_agent").show();
|
||||
$("#row_show_in_two_columns").show();
|
||||
$("#row_show_resume").show();
|
||||
break;
|
||||
case 'group_report':
|
||||
$("#row_group").show();
|
||||
$("#row_servers").show();
|
||||
|
|
|
@ -77,7 +77,7 @@ else {
|
|||
$agents[$row['id_agente']] = $row['nombre'];
|
||||
}
|
||||
|
||||
switch ($config['dbtype']){
|
||||
switch ($config['dbtype']) {
|
||||
case "mysql":
|
||||
case "postgresql":
|
||||
$rows = db_get_all_rows_sql('
|
||||
|
|
|
@ -97,11 +97,11 @@ if ($idReport != 0) {
|
|||
$edit = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (! $edit) {
|
||||
// The user that created the report should can delete it. Despite its permissions.
|
||||
$delete_report_bypass = false;
|
||||
|
||||
|
||||
if ($action == 'delete_report') {
|
||||
if ($config['id_user'] == $report['id_user'] || is_user_admin ($config["id_user"])) {
|
||||
$delete_report_bypass = true;
|
||||
|
@ -342,14 +342,14 @@ switch ($action) {
|
|||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (! $delete) {
|
||||
db_pandora_audit("ACL Violation",
|
||||
"Trying to access report builder deletion");
|
||||
require ("general/noaccess.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
$result = reports_delete_report ($idReport);
|
||||
if ($result !== false)
|
||||
db_pandora_audit("Report management", "Delete report #$idReport");
|
||||
|
@ -402,7 +402,7 @@ switch ($action) {
|
|||
html_print_table($table_aux);
|
||||
echo "</form>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
ui_require_jquery_file ('pandora.controls');
|
||||
ui_require_jquery_file ('ajaxqueue');
|
||||
|
@ -453,8 +453,14 @@ switch ($action) {
|
|||
$filter['metaconsole'] = 0;
|
||||
|
||||
$reports = reports_get_reports ($filter,
|
||||
array ('name', 'id_report', 'description', 'private',
|
||||
'id_user', 'id_group', 'non_interactive'), $return_all_group, 'RR', $group, $strict_user);
|
||||
array (
|
||||
'name',
|
||||
'id_report',
|
||||
'description',
|
||||
'private',
|
||||
'id_user',
|
||||
'id_group',
|
||||
'non_interactive'), $return_all_group, 'RR', $group, $strict_user);
|
||||
|
||||
$table->width = '0px';
|
||||
if (sizeof ($reports)) {
|
||||
|
@ -557,7 +563,8 @@ switch ($action) {
|
|||
if (enterprise_hook ('load_custom_reporting_2') !== ENTERPRISE_NOT_HOOK) {
|
||||
$next = 7;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//Admin options only for RM flag
|
||||
if (check_acl ($config['id_user'], 0, "RM")) {
|
||||
|
||||
|
@ -688,7 +695,7 @@ switch ($action) {
|
|||
}
|
||||
break;
|
||||
case 'update':
|
||||
case 'save':
|
||||
case 'save':
|
||||
switch ($activeTab) {
|
||||
case 'main':
|
||||
$reportName = get_parameter('name');
|
||||
|
@ -768,12 +775,13 @@ switch ($action) {
|
|||
$first_page = $config['custom_report_front_firstpage'];
|
||||
$footer = $config['custom_report_front_footer'];
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
$start_url = ui_get_full_url(false, false, false, false);
|
||||
$first_page = "<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><img src="" . $start_url . "/images/pandora_report_logo.png" alt="" width="800" /></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><span style="font-size: xx-large;">(_REPORT_NAME_)</span></p>
<p style="text-align: center;"><span style="font-size: large;">(_DATETIME_)</span></p>";
|
||||
$logo = $header = $footer = null;
|
||||
|
||||
|
||||
}
|
||||
|
||||
$idOrResult = db_process_sql_insert('treport',
|
||||
|
@ -813,7 +821,8 @@ switch ($action) {
|
|||
break;
|
||||
case 'item_editor':
|
||||
$resultOperationDB = null;
|
||||
$report = db_get_row_filter('treport', array('id_report' => $idReport));
|
||||
$report = db_get_row_filter('treport',
|
||||
array('id_report' => $idReport));
|
||||
|
||||
$reportName = $report['name'];
|
||||
$idGroupReport = $report['id_group'];
|
||||
|
@ -855,6 +864,8 @@ switch ($action) {
|
|||
$values['top_n'] = get_parameter('combo_sla_sort_options',0);
|
||||
$values['top_n_value'] = get_parameter('quantity');
|
||||
$values['text'] = get_parameter('text');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'inventory':
|
||||
|
@ -886,11 +897,27 @@ switch ($action) {
|
|||
$values['top_n_value'] = get_parameter('max_values');
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'availability':
|
||||
// HACK it is saved in show_graph field.
|
||||
// Show interfaces instead the modules
|
||||
$values['show_graph'] =
|
||||
get_parameter('checkbox_show_address_agent');
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'simple_graph':
|
||||
case 'simple_baseline_graph':
|
||||
// HACK it is saved in show_graph field.
|
||||
$values['show_graph'] =
|
||||
(int)get_parameter('time_compare_overlapped');
|
||||
$values['period'] = get_parameter('period');
|
||||
$good_format = true;
|
||||
break;
|
||||
default:
|
||||
$values['period'] = get_parameter('period');
|
||||
$values['top_n'] = get_parameter('radiobutton_max_min_avg',0);
|
||||
$values['top_n_value'] = get_parameter('quantity');
|
||||
$values['text'] = get_parameter('text');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
$good_format = true;
|
||||
}
|
||||
|
||||
|
@ -922,7 +949,6 @@ switch ($action) {
|
|||
$values['order_uptodown'] = get_parameter ('radiobutton_order_uptodown');
|
||||
$values['exception_condition'] = (int)get_parameter('exception_condition', 0);
|
||||
$values['exception_condition_value'] = get_parameter('exception_condition_value');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
$values['id_module_group'] = get_parameter('combo_modulegroup');
|
||||
$values['id_group'] = get_parameter ('combo_group');
|
||||
$values['server_name'] = get_parameter ('server_name');
|
||||
|
@ -948,6 +974,8 @@ switch ($action) {
|
|||
$event_graph_by_criticity = get_parameter('event_graph_by_criticity', 0);
|
||||
$event_graph_validated_vs_unvalidated = get_parameter('event_graph_validated_vs_unvalidated', 0);
|
||||
|
||||
$event_filter_search = get_parameter('filter_search', '');
|
||||
|
||||
// If metaconsole is activated
|
||||
if ($config['metaconsole'] == 1 && defined('METACONSOLE')) {
|
||||
if (($values['type'] == 'custom_graph') or ($values['type'] == 'automatic_custom_graph')) {
|
||||
|
@ -1014,6 +1042,13 @@ switch ($action) {
|
|||
$style['event_graph_by_user_validator'] = $event_graph_by_user_validator;
|
||||
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
||||
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
||||
|
||||
switch ($values['type']) {
|
||||
case 'event_report_group':
|
||||
$style['event_filter_search'] =
|
||||
$event_filter_search;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 'simple_graph':
|
||||
// Warning. We are using this column to hold this value to avoid
|
||||
|
@ -1065,6 +1100,8 @@ switch ($action) {
|
|||
$values['top_n'] = get_parameter('combo_sla_sort_options',0);
|
||||
$values['top_n_value'] = get_parameter('quantity');
|
||||
$values['text'] = get_parameter('text');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'inventory':
|
||||
|
@ -1102,11 +1139,28 @@ switch ($action) {
|
|||
$values['top_n_value'] = get_parameter('max_values');
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'availability':
|
||||
$values['period'] = get_parameter('period');
|
||||
// HACK it is saved in show_graph field.
|
||||
// Show interfaces instead the modules
|
||||
$values['show_graph'] =
|
||||
get_parameter('checkbox_show_address_agent');
|
||||
$good_format = true;
|
||||
break;
|
||||
case 'simple_graph':
|
||||
case 'simple_baseline_graph':
|
||||
// HACK it is saved in show_graph field.
|
||||
$values['show_graph'] =
|
||||
(int)get_parameter('time_compare_overlapped');
|
||||
$values['period'] = get_parameter('period');
|
||||
$good_format = true;
|
||||
break;
|
||||
default:
|
||||
$values['period'] = get_parameter('period');
|
||||
$values['top_n'] = get_parameter('radiobutton_max_min_avg',0);
|
||||
$values['top_n_value'] = get_parameter('quantity');
|
||||
$values['text'] = get_parameter('text');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
$good_format = true;
|
||||
}
|
||||
|
||||
|
@ -1154,7 +1208,6 @@ switch ($action) {
|
|||
$values['order_uptodown'] = get_parameter ('radiobutton_order_uptodown',0);
|
||||
$values['exception_condition'] = (int)get_parameter('radiobutton_exception_condition', 0);
|
||||
$values['exception_condition_value'] = get_parameter('exception_condition_value');
|
||||
$values['show_graph'] = get_parameter('combo_graph_options');
|
||||
$values['id_module_group'] = get_parameter('combo_modulegroup');
|
||||
$values['id_group'] = get_parameter ('combo_group');
|
||||
$values['server_name'] = get_parameter ('server_name');
|
||||
|
@ -1218,6 +1271,9 @@ switch ($action) {
|
|||
$event_graph_by_user_validator = get_parameter('event_graph_by_user_validator', 0);
|
||||
$event_graph_by_criticity = get_parameter('event_graph_by_criticity', 0);
|
||||
$event_graph_validated_vs_unvalidated = get_parameter('event_graph_validated_vs_unvalidated', 0);
|
||||
|
||||
$event_filter_search = get_parameter('filter_search', '');
|
||||
|
||||
//Added for events items
|
||||
$style['filter_event_no_validated'] = $filter_event_no_validated;
|
||||
$style['filter_event_validated'] = $filter_event_validated;
|
||||
|
@ -1228,6 +1284,14 @@ switch ($action) {
|
|||
$style['event_graph_by_user_validator'] = $event_graph_by_user_validator;
|
||||
$style['event_graph_by_criticity'] = $event_graph_by_criticity;
|
||||
$style['event_graph_validated_vs_unvalidated'] = $event_graph_validated_vs_unvalidated;
|
||||
|
||||
switch ($values['type']) {
|
||||
case 'event_report_group':
|
||||
$style['event_filter_search'] =
|
||||
$event_filter_search;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 'simple_graph':
|
||||
// Warning. We are using this column to hold this value to avoid
|
||||
|
@ -1592,7 +1656,7 @@ switch ($action) {
|
|||
switch ($activeTab) {
|
||||
case 'main':
|
||||
$buttons['list_reports']['active'] = true;
|
||||
$subsection = ' » '.__('Custom reporting');
|
||||
$subsection = ' » ' . __('Custom reporting');
|
||||
break;
|
||||
default:
|
||||
$subsection = reporting_enterprise_add_subsection_main($activeTab, $buttons);
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 480 B |
|
@ -22,7 +22,7 @@
|
|||
/**
|
||||
* Pandora build version and version
|
||||
*/
|
||||
$build_version = 'PC150514';
|
||||
$build_version = 'PC150519';
|
||||
$pandora_version = 'v6.0dev';
|
||||
|
||||
// Do not overwrite default timezone set if defined.
|
||||
|
|
|
@ -343,27 +343,42 @@ define('SERVER_TYPE_ENTERPRISE_ICMP', 11);
|
|||
define('SERVER_TYPE_ENTERPRISE_SNMP', 12);
|
||||
|
||||
/* REPORTS */
|
||||
define ('REPORT_TOP_N_MAX', 1);
|
||||
define ('REPORT_TOP_N_MIN', 2);
|
||||
define ('REPORT_TOP_N_AVG', 0);
|
||||
define('REPORT_TOP_N_MAX', 1);
|
||||
define('REPORT_TOP_N_MIN', 2);
|
||||
define('REPORT_TOP_N_AVG', 0);
|
||||
|
||||
define ('REPORT_TOP_N_ONLY_GRAPHS', 2);
|
||||
define ('REPORT_TOP_N_SHOW_TABLE_GRAPS', 1);
|
||||
define ('REPORT_TOP_N_ONLY_TABLE', 0);
|
||||
define('REPORT_TOP_N_ONLY_GRAPHS', 2);
|
||||
define('REPORT_TOP_N_SHOW_TABLE_GRAPS', 1);
|
||||
define('REPORT_TOP_N_ONLY_TABLE', 0);
|
||||
|
||||
define ('REPORT_EXCEPTION_CONDITION_EVERYTHING', 0);
|
||||
define ('REPORT_EXCEPTION_CONDITION_GE', 1);
|
||||
define ('REPORT_EXCEPTION_CONDITION_LE', 5);
|
||||
define ('REPORT_EXCEPTION_CONDITION_L', 2);
|
||||
define ('REPORT_EXCEPTION_CONDITION_G', 6);
|
||||
define ('REPORT_EXCEPTION_CONDITION_E', 7);
|
||||
define ('REPORT_EXCEPTION_CONDITION_NE', 8);
|
||||
define ('REPORT_EXCEPTION_CONDITION_OK', 3);
|
||||
define ('REPORT_EXCEPTION_CONDITION_NOT_OK', 4);
|
||||
define('REPORT_EXCEPTION_CONDITION_EVERYTHING', 0);
|
||||
define('REPORT_EXCEPTION_CONDITION_GE', 1);
|
||||
define('REPORT_EXCEPTION_CONDITION_LE', 5);
|
||||
define('REPORT_EXCEPTION_CONDITION_L', 2);
|
||||
define('REPORT_EXCEPTION_CONDITION_G', 6);
|
||||
define('REPORT_EXCEPTION_CONDITION_E', 7);
|
||||
define('REPORT_EXCEPTION_CONDITION_NE', 8);
|
||||
define('REPORT_EXCEPTION_CONDITION_OK', 3);
|
||||
define('REPORT_EXCEPTION_CONDITION_NOT_OK', 4);
|
||||
|
||||
define ('REPORT_ITEM_ORDER_BY_AGENT_NAME', 3);
|
||||
define ('REPORT_ITEM_ORDER_BY_ASCENDING', 2);
|
||||
define ('REPORT_ITEM_ORDER_BY_DESCENDING', 1);
|
||||
define('REPORT_ITEM_ORDER_BY_AGENT_NAME', 3);
|
||||
define('REPORT_ITEM_ORDER_BY_ASCENDING', 2);
|
||||
define('REPORT_ITEM_ORDER_BY_DESCENDING', 1);
|
||||
define('REPORT_ITEM_ORDER_BY_UNSORT', 0);
|
||||
|
||||
define('REPORT_OLD_TYPE_SIMPLE_GRAPH', 1);
|
||||
define('REPORT_OLD_TYPE_CUSTOM_GRAPH', 2);
|
||||
define('REPORT_OLD_TYPE_SLA', 3);
|
||||
define('REPORT_OLD_TYPE_MONITOR_REPORT', 6);
|
||||
define('REPORT_OLD_TYPE_AVG_VALUE', 7);
|
||||
define('REPORT_OLD_TYPE_MAX_VALUE', 8);
|
||||
define('REPORT_OLD_TYPE_MIN_VALUE', 9);
|
||||
define('REPORT_OLD_TYPE_SUMATORY', 10);
|
||||
|
||||
define('REPORT_GENERAL_NOT_GROUP_BY_AGENT', 0);
|
||||
define('REPORT_GENERAL_GROUP_BY_AGENT', 1);
|
||||
|
||||
define('REPORTING_CUSTOM_GRAPH_LEGEND_EACH_MODULE_VERTICAL_SIZE', 15);
|
||||
|
||||
/* POLICIES */
|
||||
|
||||
|
|
|
@ -853,6 +853,7 @@ function config_process_config () {
|
|||
// }
|
||||
|
||||
require_once ($config["homedir"] . "/include/auth/mysql.php");
|
||||
require_once ($config["homedir"] . "/include/functions_io.php");
|
||||
|
||||
|
||||
// Next is the directory where "/attachment" directory is placed,
|
||||
|
|
|
@ -109,7 +109,9 @@ function events_get_event ($id, $fields = false) {
|
|||
return $event;
|
||||
}
|
||||
|
||||
function events_get_events_grouped($sql_post, $offset = 0, $pagination = 1, $meta = false, $history = false, $total = false) {
|
||||
function events_get_events_grouped($sql_post, $offset = 0,
|
||||
$pagination = 1, $meta = false, $history = false, $total = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$table = events_get_events_table($meta, $history);
|
||||
|
@ -1184,7 +1186,8 @@ function events_print_type_description ($type, $return = false) {
|
|||
*/
|
||||
function events_get_group_events ($id_group, $period, $date,
|
||||
$filter_event_validated = false, $filter_event_critical = false,
|
||||
$filter_event_warning = false, $filter_event_no_validated = false) {
|
||||
$filter_event_warning = false, $filter_event_no_validated = false,
|
||||
$filter_event_search = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
|
@ -1214,8 +1217,17 @@ function events_get_group_events ($id_group, $period, $date,
|
|||
if ($filter_event_no_validated) {
|
||||
$sql_where .= ' AND estado = 0 ';
|
||||
}
|
||||
$sql_where .= sprintf(' AND id_grupo IN (%s) AND utimestamp > %d
|
||||
AND utimestamp <= %d ', implode (",", $id_group), $datelimit, $date);
|
||||
|
||||
if (!empty($filter_event_search)) {
|
||||
$sql_where .= ' AND (evento LIKE "%'. io_safe_input($filter_event_search) . '%"'.
|
||||
' OR id_evento LIKE "%' . io_safe_input($filter_event_search) . '%")';
|
||||
}
|
||||
|
||||
$sql_where .= sprintf('
|
||||
AND id_grupo IN (%s)
|
||||
AND utimestamp > %d
|
||||
AND utimestamp <= %d ',
|
||||
implode (",", $id_group), $datelimit, $date);
|
||||
|
||||
return events_get_events_grouped($sql_where, 0, 1000);
|
||||
}
|
||||
|
@ -1352,7 +1364,7 @@ function events_get_module ($id_agent_module, $period, $date = 0) {
|
|||
|
||||
$datelimit = $date - $period;
|
||||
|
||||
$sql_where .= sprintf(' AND id_agentmodule = %d AND utimestamp > %d
|
||||
$sql_where = sprintf(' AND id_agentmodule = %d AND utimestamp > %d
|
||||
AND utimestamp <= %d ', $id_agent_module, $datelimit, $date);
|
||||
|
||||
return events_get_events_grouped($sql_where, 0, 1000);
|
||||
|
@ -2533,7 +2545,9 @@ function events_clean_tags ($tags) {
|
|||
*/
|
||||
function events_get_count_events_by_agent ($id_group, $period, $date,
|
||||
$filter_event_validated = false, $filter_event_critical = false,
|
||||
$filter_event_warning = false, $filter_event_no_validated = false) {
|
||||
$filter_event_warning = false, $filter_event_no_validated = false,
|
||||
$filter_event_search = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$id_group = groups_safe_acl ($config["id_user"], $id_group, "AR");
|
||||
|
@ -2564,6 +2578,11 @@ function events_get_count_events_by_agent ($id_group, $period, $date,
|
|||
$sql_where .= ' AND estado = 0 ';
|
||||
}
|
||||
|
||||
if (!empty($filter_event_search)) {
|
||||
$sql_where .= ' AND (evento LIKE "%%'. io_safe_input($filter_event_search) . '%%"'.
|
||||
' OR id_evento LIKE "%%' . io_safe_input($filter_event_search) . '%%")';
|
||||
}
|
||||
|
||||
$sql = sprintf ('SELECT id_agente,
|
||||
(SELECT t2.nombre
|
||||
FROM tagente t2
|
||||
|
@ -2605,7 +2624,9 @@ function events_get_count_events_by_agent ($id_group, $period, $date,
|
|||
*/
|
||||
function events_get_count_events_validated_by_user ($filter, $period, $date,
|
||||
$filter_event_validated = false, $filter_event_critical = false,
|
||||
$filter_event_warning = false, $filter_event_no_validated = false) {
|
||||
$filter_event_warning = false, $filter_event_no_validated = false,
|
||||
$filter_event_search = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$sql_filter = ' AND 1=1 ';
|
||||
|
@ -2646,6 +2667,11 @@ function events_get_count_events_validated_by_user ($filter, $period, $date,
|
|||
$sql_where .= ' AND estado = 0 ';
|
||||
}
|
||||
|
||||
if (!empty($filter_event_search)) {
|
||||
$sql_where .= ' AND (evento LIKE "%%'. io_safe_input($filter_event_search) . '%%"'.
|
||||
' OR id_evento LIKE "%%' . io_safe_input($filter_event_search) . '%%")';
|
||||
}
|
||||
|
||||
$sql = sprintf ('SELECT id_usuario,
|
||||
(SELECT t2.fullname
|
||||
FROM tusuario t2
|
||||
|
@ -2687,7 +2713,9 @@ function events_get_count_events_validated_by_user ($filter, $period, $date,
|
|||
*/
|
||||
function events_get_count_events_by_criticity ($filter, $period, $date,
|
||||
$filter_event_validated = false, $filter_event_critical = false,
|
||||
$filter_event_warning = false, $filter_event_no_validated = false) {
|
||||
$filter_event_warning = false, $filter_event_no_validated = false,
|
||||
$filter_event_search = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$sql_filter = ' AND 1=1 ';
|
||||
|
@ -2728,6 +2756,11 @@ function events_get_count_events_by_criticity ($filter, $period, $date,
|
|||
$sql_where .= ' AND estado = 0 ';
|
||||
}
|
||||
|
||||
if (!empty($filter_event_search)) {
|
||||
$sql_where .= ' AND (evento LIKE "%%'. io_safe_input($filter_event_search) . '%%"'.
|
||||
' OR id_evento LIKE "%%' . io_safe_input($filter_event_search) . '%%")';
|
||||
}
|
||||
|
||||
$sql = sprintf ('SELECT criticity,
|
||||
COUNT(*) AS count
|
||||
FROM tevento
|
||||
|
@ -2762,7 +2795,9 @@ function events_get_count_events_by_criticity ($filter, $period, $date,
|
|||
*/
|
||||
function events_get_count_events_validated ($filter, $period, $date,
|
||||
$filter_event_validated = false, $filter_event_critical = false,
|
||||
$filter_event_warning = false, $filter_event_no_validated = false) {
|
||||
$filter_event_warning = false, $filter_event_no_validated = false,
|
||||
$filter_event_search = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
$sql_filter = ' AND 1=1 ';
|
||||
|
@ -2803,6 +2838,11 @@ function events_get_count_events_validated ($filter, $period, $date,
|
|||
$sql_where .= ' AND estado = 0 ';
|
||||
}
|
||||
|
||||
if (!empty($filter_event_search)) {
|
||||
$sql_where .= ' AND (evento LIKE "%%'. io_safe_input($filter_event_search) . '%%"'.
|
||||
' OR id_evento LIKE "%%' . io_safe_input($filter_event_search) . '%%")';
|
||||
}
|
||||
|
||||
$sql = sprintf ('SELECT estado,
|
||||
COUNT(*) AS count
|
||||
FROM tevento
|
||||
|
|
|
@ -2634,7 +2634,10 @@ function grafico_eventos_usuario ($width, $height) {
|
|||
* @param integer width graph width
|
||||
* @param integer Graph type 1 vbar, 2 hbar, 3 pie
|
||||
*/
|
||||
function graph_custom_sql_graph ($id, $width, $height, $type = 'sql_graph_vbar', $only_image = false, $homeurl = '', $ttl = 1) {
|
||||
function graph_custom_sql_graph ($id, $width, $height,
|
||||
$type = 'sql_graph_vbar', $only_image = false, $homeurl = '',
|
||||
$ttl = 1) {
|
||||
|
||||
global $config;
|
||||
|
||||
$report_content = db_get_row ('treport_content', 'id_rc', $id);
|
||||
|
|
|
@ -2071,7 +2071,7 @@ function modules_relation_exists ($id_module, $id_module_other = false) {
|
|||
*/
|
||||
function modules_add_relation ($id_module_a, $id_module_b) {
|
||||
$result = false;
|
||||
|
||||
|
||||
if (!modules_relation_exists($id_module_a, $id_module_b) && $id_module_a > 0 && $id_module_b > 0) {
|
||||
$values = array(
|
||||
'module_a' => $id_module_a,
|
||||
|
@ -2079,7 +2079,7 @@ function modules_add_relation ($id_module_a, $id_module_b) {
|
|||
);
|
||||
$result = db_process_sql_insert('tmodule_relationship', $values);
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
@ -2092,7 +2092,7 @@ function modules_add_relation ($id_module_a, $id_module_b) {
|
|||
*/
|
||||
function modules_delete_relation ($id_relation) {
|
||||
$result = db_process_sql_delete('tmodule_relationship', array('id' => $id_relation));
|
||||
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
@ -2107,11 +2107,125 @@ function modules_change_relation_lock ($id_relation) {
|
|||
$old_value = (int) db_get_value('disable_update', 'tmodule_relationship', 'id', $id_relation);
|
||||
$new_value = $old_value === 1 ? 0 : 1;
|
||||
|
||||
$result = db_process_sql_update('tmodule_relationship',
|
||||
array('disable_update' => $new_value),
|
||||
array('id' => $id_relation));
|
||||
|
||||
$result = db_process_sql_update(
|
||||
'tmodule_relationship',
|
||||
array('disable_update' => $new_value),
|
||||
array('id' => $id_relation));
|
||||
|
||||
return ($result !== false ? $new_value : $old_value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function modules_get_count_datas($id_agent_module, $date_init, $date_end) {
|
||||
$interval = modules_get_interval ($id_agent_module);
|
||||
|
||||
// TODO REMOVE THE TIME IN PLANNED DOWNTIME
|
||||
|
||||
if (!is_numeric($date_init)) {
|
||||
$date_init = strtotime($date_init);
|
||||
}
|
||||
|
||||
if (!is_numeric($date_end)) {
|
||||
$date_end = strtotime($date_end);
|
||||
}
|
||||
|
||||
$first_date = modules_get_first_contact_date($id_agent_module);
|
||||
|
||||
if ($date_init < $first_date) {
|
||||
$date_init = $first_date;
|
||||
}
|
||||
|
||||
$diff = $date_end - $date_init;
|
||||
|
||||
return ($diff / $interval);
|
||||
}
|
||||
|
||||
function modules_get_data_with_value($id_agent_module, $date_init,
|
||||
$date_end, $value, $split_interval = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
// TODO REMOVE THE TIME IN PLANNED DOWNTIME
|
||||
|
||||
// TODO FOR OTHER KIND OF DATA
|
||||
|
||||
if (!is_numeric($date_init)) {
|
||||
$date_init = strtotime($date_init);
|
||||
}
|
||||
|
||||
if (!is_numeric($date_end)) {
|
||||
$date_end = strtotime($date_end);
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM tagente_datos
|
||||
WHERE
|
||||
datos = " . (int)$value . "
|
||||
AND id_agente_modulo = " . (int)$id_agent_module . "
|
||||
AND (utimestamp >= " . $date_init . " AND utimestamp <= " . $date_end . ")";
|
||||
|
||||
$data = db_get_all_rows_sql($sql,
|
||||
$config['history_db_enabled']);
|
||||
|
||||
if (empty($data)) {
|
||||
$data = array();
|
||||
}
|
||||
|
||||
if ($split_interval) {
|
||||
$temp = array();
|
||||
$previous_utimestamp = false;
|
||||
foreach ($data as $row) {
|
||||
if ($previous_utimestamp === false) {
|
||||
$previous_utimestamp = $row['utimestamp'];
|
||||
|
||||
$temp[] = $row;
|
||||
}
|
||||
else {
|
||||
$diff = $row['utimestamp'] - $previous_utimestamp;
|
||||
|
||||
$interval = modules_get_interval($id_agent_module);
|
||||
|
||||
if ($diff > $interval) {
|
||||
$fake_count = (int)($diff / $interval);
|
||||
|
||||
$fake = $row;
|
||||
for ($iterator = 1; $iterator <= $fake_count; $iterator++) {
|
||||
$fake['utimestamp'] = $previous_utimestamp + ($iterator * $interval);
|
||||
$temp[] = $fake;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$temp[] = $row;
|
||||
}
|
||||
|
||||
$previous_utimestamp = $row['utimestamp'];
|
||||
|
||||
$data = $temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
function modules_get_first_contact_date($id_agent_module) {
|
||||
global $config;
|
||||
|
||||
// TODO REMOVE THE TIME IN PLANNED DOWNTIME
|
||||
|
||||
// TODO FOR OTHER KIND OF DATA
|
||||
|
||||
$sql = "
|
||||
SELECT utimestamp
|
||||
FROM tagente_datos
|
||||
WHERE id_agente_modulo = " . (int)($id_agent_module) . "
|
||||
ORDER BY utimestamp ASC
|
||||
LIMIT 1";
|
||||
|
||||
$first_date = db_get_sql($sql, 0, $config['history_db_enabled']);
|
||||
|
||||
return $first_date;
|
||||
}
|
||||
?>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -82,7 +82,10 @@ function reports_get_report ($id_report, $filter = false, $fields = false) {
|
|||
*
|
||||
* @return array An array with all the reports the user can view.
|
||||
*/
|
||||
function reports_get_reports ($filter = false, $fields = false, $returnAllGroup = true, $privileges = 'RR', $group = false, $strict_user) {
|
||||
function reports_get_reports ($filter = false, $fields = false,
|
||||
$returnAllGroup = true, $privileges = 'RR', $group = false,
|
||||
$strict_user = false) {
|
||||
|
||||
global $config;
|
||||
|
||||
if (! is_array ($filter))
|
||||
|
@ -578,7 +581,8 @@ function reports_get_report_types ($template = false, $not_editor = false) {
|
|||
'name' => __('Top n'));
|
||||
$types['network_interfaces_report'] = array('optgroup' => __('Grouped'),
|
||||
'name' => __('Network interfaces'));
|
||||
|
||||
$types['availability'] = array('optgroup' => __('Grouped'),
|
||||
'name' => __('Availability'));
|
||||
|
||||
|
||||
$types['text'] = array('optgroup' => __('Text/HTML '),
|
||||
|
|
|
@ -1,171 +0,0 @@
|
|||
<?php
|
||||
|
||||
// Pandora FMS - http://pandorafms.com
|
||||
// ==================================================
|
||||
// Copyright (c) 2005-2009 Artica Soluciones Tecnologicas
|
||||
// Please see http://pandorafms.org for full contribution list
|
||||
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
// as published by the Free Software Foundation for version 2.
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
include_once("include/functions_modules.php");
|
||||
include_once("include/functions_events.php");
|
||||
include_once ('include/functions_groups.php');
|
||||
include_once ('include/functions_netflow.php');
|
||||
|
||||
//xml con los datos de un agente
|
||||
function xml_file_agent_data ($agent_data = array(), $file_temp) {
|
||||
$file = fopen($file_temp, 'a+');
|
||||
|
||||
$content_report = " <name>". $agent_data['nombre']."</name>\n";
|
||||
$content_report .= " <description>". $agent_data['comentarios']."</description>\n";
|
||||
$content_report .= " <main_ipaddress>".$agent_data['direccion']."</main_ipaddress>\n";
|
||||
$content_report .= " <group>".$agent_data['id_grupo']."</group>\n";
|
||||
$content_report .= " <interval>". $agent_data['intervalo']."</interval>\n";
|
||||
|
||||
$sql = "SELECT t1.description, t2.name
|
||||
FROM tagent_custom_data t1, tagent_custom_fields t2
|
||||
WHERE t1.id_agent=".$agent_data['id_agente']."
|
||||
AND t1.id_field=t2.id_field";
|
||||
$custom_fields = db_get_all_rows_sql($sql);
|
||||
|
||||
if ($custom_fields !== false) {
|
||||
foreach ($custom_fields as $field) {
|
||||
$field['name'] = io_safe_output($field['name']);
|
||||
//remove blank
|
||||
$field['name'] = preg_replace('/\s/', '_', $field['name']);
|
||||
$content_report .= " <".$field['name'].">".$field['description']."</".$field['name'].">\n";
|
||||
}
|
||||
}
|
||||
$content_report .= " <os_type>".$agent_data['id_os']."</os_type>\n";
|
||||
$content_report .= " <parent>". agents_get_name ($agent_data['id_parent'])."</parent>\n";
|
||||
$content_report .= " <extra_id>".$agent_data['id_extra']."</extra_id>\n";
|
||||
$content_report .= " <disabled>".$agent_data['disabled']."</disabled>\n";
|
||||
|
||||
$result = fwrite($file, $content_report);
|
||||
$position++;
|
||||
|
||||
fclose($file);
|
||||
return $position;
|
||||
}
|
||||
|
||||
//xml con los datos de módulos de un agente
|
||||
function xml_file_agent_conf ($modules = array(), $file_temp, $position = 0, $id_agent) {
|
||||
|
||||
$file = fopen($file_temp, 'a+');
|
||||
|
||||
foreach ($modules as $module) {
|
||||
|
||||
$content_report = " <object id=\"$position\">\n";
|
||||
|
||||
$content_report .= " <name>".$module['nombre']."</name>\n";
|
||||
$content_report .= " <id>".$module['id_agente_modulo']."</id>\n";
|
||||
$content_report .= " <type>".$module['id_tipo_modulo']."</type>\n";
|
||||
$content_report .= " <description>".$module['descripcion']."</description>\n";
|
||||
$content_report .= " <extended_info>". $module['extended_info']."</extended_info>\n";
|
||||
$content_report .= " <unit>". $module['unit']."</unit>\n";
|
||||
$content_report .= " <max>". $module['max']."</max>\n";
|
||||
$content_report .= " <min>".$module['min']."</min>\n";
|
||||
$content_report .= " <interval>". $module['module_interval']."</interval>\n";
|
||||
$content_report .= " <ff_interval>". $module['module_ff_interval']."</ff_interval>\n";
|
||||
$content_report .= " <tcp_port>". $module['tcp_port']."</tcp_port>\n";
|
||||
$content_report .= " <tcp_send>". $module['tcp_send']."</tcp_send>\n";
|
||||
$content_report .= " <tcp_rcv>". $module['tcp_rcv']."</tcp_rcv>\n";
|
||||
$content_report .= " <snmp_community>". $module['snmp_community']."</snmp_community>\n";
|
||||
$content_report .= " <snmp_oid>".$module['snmp_oid']."</snmp_oid>\n";
|
||||
$content_report .= " <ip>". $module['ip_target']."</ip>\n";
|
||||
$content_report .= " <module_group>".$module['id_module_group']."</module_group>\n";
|
||||
$content_report .= " <disabled>". $module['disabled']."</disabled>\n";
|
||||
$content_report .= " <id_plugin>".$module['id_plugin']."</id_plugin>\n";
|
||||
$content_report .= " <post_process>". $module['post_process']."</post_process>\n";
|
||||
$content_report .= " <min_warning>". $module['min_warning']."</min_warning>\n";
|
||||
$content_report .= " <max_warning>". $module['max_warning']."</max_warning>\n";
|
||||
$content_report .= " <str_warning>". $module['str_warning']."</str_warning>\n";
|
||||
$content_report .= " <min_critical>". $module['min_critical']."</min_critical>\n";
|
||||
$content_report .= " <max_critical>".$module['max_critical']."</max_critical>\n";
|
||||
$content_report .= " <str_critical>". $module['str_critical']."</str_critical>\n";
|
||||
$content_report .= " <id_policy_module>". $module['id_policy_module']."</id_policy_module>\n";
|
||||
$content_report .= " <wizard_level>".$module['wizard_level']."</wizard_level>\n";
|
||||
$content_report .= " <critical_instructions>". $module['critical_instructions']."</critical_instructions>\n";
|
||||
$content_report .= " <warning_instructions>". $module['warning_instructions']."</warning_instructions>\n";
|
||||
$content_report .= " <unknown_instructions>".$module['unknown_instructions']."</unknown_instructions>\n";
|
||||
|
||||
$content_report .= " </object>\n";
|
||||
|
||||
$result = fwrite($file, $content_report);
|
||||
$position++;
|
||||
}
|
||||
fclose($file);
|
||||
|
||||
return $position;
|
||||
}
|
||||
|
||||
// xml eventos
|
||||
function xml_file_event ($events = array(), $file_temp, $position = 0, $id_agent) {
|
||||
|
||||
$file = fopen($file_temp, 'a+');
|
||||
|
||||
foreach ($events as $event) {
|
||||
|
||||
$content_report = " <object id=\"$position\">\n";
|
||||
$content_report .= " <event>" . io_safe_output($event['evento']) . "</event>\n";
|
||||
$content_report .= " <event_type>" . $event['event_type'] . "</event_type>\n";
|
||||
$content_report .= " <criticity>" . get_priority_name($event['criticity']) . "</criticity>\n";
|
||||
$content_report .= " <count>" . $event['count_rep'] . "</count>\n";
|
||||
$content_report .= " <timestamp>" . $event['time2'] . "</timestamp>\n";
|
||||
$content_report .= " <module_name>" . io_safe_output(modules_get_agentmodule_name ($event['id_agentmodule'])) . "</module_name>\n";
|
||||
$content_report .= " <agent_name>" . io_safe_output(agents_get_name ($id_agent)) . "</agent_name>\n";
|
||||
|
||||
if ($event['estado'] == 0)
|
||||
$status = __('New');
|
||||
else if ($event['estado'] == 1)
|
||||
$status = __('Validated');
|
||||
else if ($event['estado'] == 2)
|
||||
$status = __('In process');
|
||||
else
|
||||
$status = "";
|
||||
|
||||
$content_report .= " <event_status>".$status."</event_status>\n";
|
||||
$content_report .= " <user_comment>".$event['user_comment']."</user_comment>\n";
|
||||
$content_report .= " <tags>".$event['tags']."</tags>\n";
|
||||
$content_report .= " <event_source>".$event['source']."</event_source>\n";
|
||||
$content_report .= " <extra_id>".$event['id_extra']."</extra_id>\n";
|
||||
$content_report .= " <user_validation>".$event['owner_user']."</user_validation>\n";
|
||||
$content_report .= " </object>\n";
|
||||
|
||||
$result = fwrite($file, $content_report);
|
||||
$position++;
|
||||
|
||||
}
|
||||
fclose($file);
|
||||
|
||||
return $position;
|
||||
}
|
||||
|
||||
//xml graph
|
||||
function xml_file_graph ($data_module = array(), $file_temp, $position = 0) {
|
||||
|
||||
$file = fopen($file_temp, 'a+');
|
||||
|
||||
foreach ($data_module as $data_m) {
|
||||
|
||||
$content_report = " <object id=\"$position\">\n";
|
||||
$content_report .= " <timestamp>".date ('Y-m-d H:i:s', $data_m['utimestamp'])."</timestamp>\n";
|
||||
$content_report .= " <utimestamp>".$data_m['utimestamp']."</utimestamp>\n";
|
||||
$content_report .= " <data>".$data_m['datos']."</data>\n";
|
||||
$content_report .= " </object>\n";
|
||||
|
||||
$result = fwrite($file, $content_report);
|
||||
$position++;
|
||||
}
|
||||
|
||||
fclose($file);
|
||||
|
||||
return $position;
|
||||
}
|
||||
?>
|
|
@ -129,7 +129,7 @@ $(document).ready (function () {
|
|||
resizable: true,
|
||||
draggable: true,
|
||||
modal: true,
|
||||
height: 260,
|
||||
height: 360,
|
||||
width: 590,
|
||||
overlay: {
|
||||
opacity: 0.5,
|
||||
|
|
|
@ -153,11 +153,12 @@ $change_pass = get_parameter_post('renew_password', 0);
|
|||
|
||||
if ($change_pass == 1) {
|
||||
|
||||
$password_old = (string) get_parameter_post ('old_password', '');
|
||||
$password_new = (string) get_parameter_post ('new_password', '');
|
||||
$password_confirm = (string) get_parameter_post ('confirm_new_password', '');
|
||||
$id = (string) get_parameter_post ('login', '');
|
||||
|
||||
$changed_pass = login_update_password_check ($password_new, $password_confirm, $id);
|
||||
$changed_pass = login_update_password_check ($password_old, $password_new, $password_confirm, $id);
|
||||
}
|
||||
|
||||
$searchPage = false;
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
<div style='height: 10px'>
|
||||
<?php
|
||||
$version = '6.0dev';
|
||||
$build = '150514';
|
||||
$build = '150519';
|
||||
$banner = "v$version Build $build";
|
||||
|
||||
error_reporting(0);
|
||||
|
|
|
@ -24,45 +24,49 @@ $id_report = (int) get_parameter ('id');
|
|||
|
||||
if (! $id_report) {
|
||||
db_pandora_audit("HACK Attempt",
|
||||
"Trying to access graph viewer withoud ID");
|
||||
"Trying to access report viewer withoud ID");
|
||||
include ("general/noaccess.php");
|
||||
return;
|
||||
}
|
||||
|
||||
// Get Report record (to get id_group)
|
||||
$report = db_get_row ('treport', 'id_report', $id_report);
|
||||
// Include with the functions to calculate each kind of report.
|
||||
require_once ($config['homedir'] . '/include/functions_reporting.php');
|
||||
require_once ($config['homedir'] . '/include/functions_reporting_html.php');
|
||||
require_once ($config['homedir'] . '/include/functions_groups.php');
|
||||
enterprise_include_once("include/functions_reporting.php");
|
||||
|
||||
// Check ACL on the report to see if user has access to the report.
|
||||
if (empty($report) || ! check_acl ($config['id_user'], $report['id_group'], "RR")) {
|
||||
db_pandora_audit("ACL Violation","Trying to access graph reader");
|
||||
|
||||
if (!reporting_user_can_see_report($id_report)) {
|
||||
db_pandora_audit("ACL Violation", "Trying to access report viewer");
|
||||
include ("general/noaccess.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Include with the functions to calculate each kind of report.
|
||||
require_once ($config['homedir'] . '/include/functions_reporting.php');
|
||||
require_once ($config['homedir'] . '/include/functions_groups.php');
|
||||
|
||||
enterprise_include("include/functions_reporting.php");
|
||||
|
||||
$pure = get_parameter('pure',0);
|
||||
|
||||
// Get different date to search the report.
|
||||
$date = (string) get_parameter ('date', date(DATE_FORMAT));
|
||||
$time = (string) get_parameter ('time', date(TIME_FORMAT));
|
||||
|
||||
$datetime = strtotime ($date . ' ' . $time);
|
||||
$report["datetime"] = $datetime;
|
||||
|
||||
// Calculations in order to modify init date of the report
|
||||
$date_init_less = strtotime(date('Y-m-j')) - SECONDS_1DAY;
|
||||
$date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less));
|
||||
$time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less));
|
||||
$datetime_init = strtotime ($date_init.' '.$time_init);
|
||||
$datetime_init = strtotime ($date_init . ' ' . $time_init);
|
||||
$enable_init_date = get_parameter('enable_init_date', 0);
|
||||
$pure = (int)get_parameter('pure', 0);
|
||||
|
||||
// Standard header
|
||||
$period = null;
|
||||
// Calculate new inteval for all reports
|
||||
if ($enable_init_date) {
|
||||
if ($datetime_init >= $datetime) {
|
||||
$datetime_init = $date_init_less;
|
||||
}
|
||||
$period = $datetime - $datetime_init;
|
||||
}
|
||||
|
||||
|
||||
//------------------- INIT HEADER --------------------------------------
|
||||
$url = "index.php?sec=reporting&sec2=operation/reporting/reporting_viewer&id=$id_report&date=$date&time=$time&pure=$pure";
|
||||
|
||||
$options = array();
|
||||
|
@ -120,23 +124,30 @@ if ($config['metaconsole'] == 1 and defined('METACONSOLE')) {
|
|||
ui_meta_print_header(__('Reporting'), "", $options);
|
||||
}
|
||||
else {
|
||||
ui_print_page_header (__('Reporting'). " » ". __('Custom reporting'). " - ".$report["name"],
|
||||
ui_print_page_header (
|
||||
__('Reporting') .
|
||||
" » " .
|
||||
__('Custom reporting') .
|
||||
" - " .
|
||||
reporting_get_name($id_report),
|
||||
"images/op_reporting.png", false, "", false, $options);
|
||||
}
|
||||
//------------------- END HEADER ---------------------------------------
|
||||
|
||||
if ($enable_init_date) {
|
||||
if ($datetime_init > $datetime) {
|
||||
ui_print_error_message ("Invalid date selected. Initial date must be before end date.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------ INIT FORM -----------------------------------
|
||||
$table->id = 'controls_table';
|
||||
$table->width = '99%';
|
||||
$table->class = 'databox';
|
||||
if (defined("METACONSOLE")){
|
||||
if (defined("METACONSOLE")) {
|
||||
$table->width = '100%';
|
||||
$table->class = 'databox data';
|
||||
|
||||
|
||||
$table->head[0] = __('View Report');
|
||||
$table->head_colspan[0] = 5;
|
||||
$table->headstyle[0] = 'text-align: center';
|
||||
|
@ -172,14 +183,14 @@ if (defined("METACONSOLE")) {
|
|||
else {
|
||||
$table->data[0][1] = '<div style="">' . __("Name: ") . $report['name'] . '</div>';
|
||||
}
|
||||
|
||||
|
||||
$table->data[0][1] .= '<div style=" width:100%;">'.__('Set initial date') . html_print_checkbox('enable_init_date', 1, $enable_init_date, true);
|
||||
$html_enterprise = enterprise_hook('reporting_print_button_PDF', array($id_report));
|
||||
if ($html_enterprise !== ENTERPRISE_NOT_HOOK) {
|
||||
$table->data[0][1] .= $html_enterprise;
|
||||
}
|
||||
$table->data[0][1] .= '</div>';
|
||||
|
||||
|
||||
$table->data[1][1] = '<div style="">' . __('From') . ': ';
|
||||
$table->data[1][1] .= html_print_input_text ('date_init', $date_init, '', 12, 10, true). ' ';
|
||||
$table->data[1][1] .= html_print_input_text ('time_init', $time_init, '', 10, 7, true). ' </div>';
|
||||
|
@ -192,21 +203,23 @@ if (defined("METACONSOLE")) {
|
|||
$table->data[1][2] .= html_print_input_text ('time', $time, '', 10, 7, true) . ' ';
|
||||
$table->data[1][2] .= html_print_submit_button (__('Update'), 'date_submit', false, 'class="sub next"', true) . ' </div>';
|
||||
}
|
||||
else{
|
||||
if ($report['description'] != '') {
|
||||
$table->data[0][1] = '<div style="float:left">'.$report['description'].'</div>';
|
||||
else {
|
||||
if (reporting_get_description($id_report)) {
|
||||
$table->data[0][1] = '<div style="float:left">' .
|
||||
reporting_get_description($id_report) . '</div>';
|
||||
}
|
||||
else {
|
||||
$table->data[0][1] = '<div style="float:left">'.$report['name'].'</div>';
|
||||
$table->data[0][1] = '<div style="float:left">' .
|
||||
reporting_get_name($id_report) . '</div>';
|
||||
}
|
||||
|
||||
|
||||
$table->data[0][1] .= '<div style="text-align:right; width:100%; margin-right:50px">'.__('Set initial date') . html_print_checkbox('enable_init_date', 1, $enable_init_date, true);
|
||||
$html_enterprise = enterprise_hook('reporting_print_button_PDF', array($id_report));
|
||||
if ($html_enterprise !== ENTERPRISE_NOT_HOOK) {
|
||||
$table->data[0][1] .= $html_enterprise;
|
||||
}
|
||||
$table->data[0][1] .= '</div>';
|
||||
|
||||
|
||||
$table->data[1][1] = '<div style="float:left;padding-top:3px;">' . __('From') . ': </div>';
|
||||
$table->data[1][1] .= html_print_input_text ('date_init', $date_init, '', 12, 10, true). ' ';
|
||||
$table->data[1][1] .= html_print_input_text ('time_init', $time_init, '', 10, 7, true). ' ';
|
||||
|
@ -218,10 +231,37 @@ else{
|
|||
|
||||
}
|
||||
|
||||
echo '<form method="post" action="'.$url.'&pure='.$config["pure"].'" style="margin-right: 0px;">';
|
||||
echo '<form method="post" action="' . $url . '&pure=' . $config["pure"] . '" style="margin-right: 0px;">';
|
||||
html_print_table ($table);
|
||||
html_print_input_hidden ('id_report', $id_report);
|
||||
echo '</form>';
|
||||
//------------------------ END FORM ------------------------------------
|
||||
|
||||
if ($enable_init_date) {
|
||||
if ($datetime_init > $datetime) {
|
||||
ui_print_error_message(
|
||||
__("Invalid date selected. Initial date must be before end date."));
|
||||
}
|
||||
}
|
||||
|
||||
$report = reporting_make_reporting_data($id_report, $date, $time, $period, 'dinamic');
|
||||
reporting_html_print_report($report);
|
||||
|
||||
echo "<br>";
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
// Get Report record (to get id_group)
|
||||
$report = db_get_row ('treport', 'id_report', $id_report);
|
||||
$report["datetime"] = $datetime;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// The rowspan of the first row is only 2 in controls table. Why is used the same code here and in the items??
|
||||
$table->rowspan[0][0] = 1;
|
||||
|
@ -312,67 +352,5 @@ if ($datetime === false || $datetime == -1) {
|
|||
return;
|
||||
}
|
||||
|
||||
// TODO: Evaluate if it's better to render blocks when are calculated
|
||||
// (enabling realtime flush) or if it's better to wait report to be
|
||||
// finished before showing anything (this could break the execution
|
||||
// by overflowing the running PHP memory on HUGE reports).
|
||||
|
||||
|
||||
$table->size = array ();
|
||||
$table->style = array ();
|
||||
$table->width = '98%';
|
||||
$table->class = 'databox';
|
||||
$table->rowclass = array ();
|
||||
$table->rowclass[0] = 'datos3';
|
||||
|
||||
$report["group_name"] = groups_get_name ($report['id_group']);
|
||||
|
||||
switch ($config["dbtype"]) {
|
||||
case "mysql":
|
||||
$contents = db_get_all_rows_field_filter ("treport_content",
|
||||
"id_report", $id_report, "`order`");
|
||||
break;
|
||||
case "postgresql":
|
||||
$contents = db_get_all_rows_field_filter ("treport_content",
|
||||
"id_report", $id_report, '"order"');
|
||||
break;
|
||||
case "oracle":
|
||||
$contents = db_get_all_rows_field_filter ("treport_content",
|
||||
"id_report", $id_report, '"order"');
|
||||
break;
|
||||
}
|
||||
if ($contents === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($contents as $content) {
|
||||
$table->data = array ();
|
||||
$table->head = array ();
|
||||
$table->style = array ();
|
||||
$table->colspan = array ();
|
||||
$table->rowstyle = array ();
|
||||
|
||||
// Calculate new inteval for all reports
|
||||
if ($enable_init_date){
|
||||
if ($datetime_init >= $datetime) {
|
||||
$datetime_init = $date_init_less;
|
||||
}
|
||||
$new_interval = $report['datetime'] - $datetime_init;
|
||||
$content['period'] = $new_interval;
|
||||
}
|
||||
|
||||
reporting_render_report_html_item ($content, $table, $report);
|
||||
|
||||
if ($content['type'] == 'agent_module')
|
||||
echo '<div style="width: 99%; overflow: auto;">';
|
||||
|
||||
html_print_table ($table);
|
||||
|
||||
if ($content['type'] == 'agent_module')
|
||||
echo '</div>';
|
||||
|
||||
flush ();
|
||||
}
|
||||
|
||||
enterprise_hook('close_meta_frame');
|
||||
?>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name httpd
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_console
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
%define httpd_name httpd
|
||||
# User and Group under which Apache is running
|
||||
%define httpd_name apache2
|
||||
|
|
|
@ -38,7 +38,7 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES
|
|||
('graph_res','5'),
|
||||
('step_compact','1'),
|
||||
('db_scheme_version','6.0dev'),
|
||||
('db_scheme_build','PD150514'),
|
||||
('db_scheme_build','PD150519'),
|
||||
('show_unknown','0'),
|
||||
('show_lastalerts','1'),
|
||||
('style','pandora'),
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package: pandorafms-server
|
||||
Version: 6.0dev-150514
|
||||
Version: 6.0dev-150519
|
||||
Architecture: all
|
||||
Priority: optional
|
||||
Section: admin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
pandora_version="6.0dev-150514"
|
||||
pandora_version="6.0dev-150519"
|
||||
|
||||
package_cpan=0
|
||||
package_pandora=1
|
||||
|
|
|
@ -43,7 +43,7 @@ our @EXPORT = qw(
|
|||
|
||||
# version: Defines actual version of Pandora Server for this module only
|
||||
my $pandora_version = "6.0dev";
|
||||
my $pandora_build = "150514";
|
||||
my $pandora_build = "150519";
|
||||
our $VERSION = $pandora_version." ".$pandora_build;
|
||||
|
||||
# Setup hash
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
%define name pandorafms_server
|
||||
%define version 6.0dev
|
||||
%define release 150514
|
||||
%define release 150519
|
||||
|
||||
Summary: Pandora FMS Server
|
||||
Name: %{name}
|
||||
|
|
|
@ -33,7 +33,7 @@ use PandoraFMS::Tools;
|
|||
use PandoraFMS::DB;
|
||||
|
||||
# version: define current version
|
||||
my $version = "6.0dev PS150514";
|
||||
my $version = "6.0dev PS150519";
|
||||
|
||||
# Pandora server configuration
|
||||
my %conf;
|
||||
|
|
|
@ -35,7 +35,7 @@ use Encode::Locale;
|
|||
Encode::Locale::decode_argv;
|
||||
|
||||
# version: define current version
|
||||
my $version = "6.0dev PS150514";
|
||||
my $version = "6.0dev PS150519";
|
||||
|
||||
# save program name for logging
|
||||
my $progname = basename($0);
|
||||
|
|
Loading…
Reference in New Issue