pandorafms/pandora_console/operation/search_reports.php

98 lines
3.1 KiB
PHP
Executable File

<?php
// Pandora FMS - http://pandorafms.com
// ==================================================
// Copyright (c) 2005-2010 Artica Soluciones Tecnologicas
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation for version 2.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
global $config;
include_once('include/functions_reports.php');
$linkReport = false;
$searchReports = check_acl ($config["id_user"], 0, "IR");
if (give_acl ($config['id_user'], 0, "IW")) {
$linkReport = true;
}
$reports = false;
//Check ACL
$userreports = get_reports();
$userreports_id = array();
foreach($userreports as $userreport) {
$userreports_id[] = $userreport['id_report'];
}
if(!$userreports_id){
$reports_condition = " AND 1<>1";
}else {
$reports_condition = " AND id_report IN (".implode(',',$userreports_id).")";
}
$reports = false;
if($searchReports) {
$sql = "SELECT id_report, name, description FROM treport WHERE (name LIKE '%" . $stringSearchSQL . "%' OR description LIKE '%" . $stringSearchSQL . "%')".$reports_condition.
" LIMIT " . $config['block_size'] . " OFFSET " . get_parameter ('offset',0);
$reports = process_sql($sql);
$sql = "SELECT COUNT(id_report) AS count FROM treport WHERE (name LIKE '%" . $stringSearchSQL . "%' OR description LIKE '%" . $stringSearchSQL . "%')";
$totalReports = get_db_row_sql($sql);
$totalReports = $totalReports['count'];
}
if ($reports === false) {
echo "<br><div class='nf'>" . __("Zero results found") . "</div>\n";
}
else {
$table->cellpadding = 4;
$table->cellspacing = 4;
$table->width = "98%";
$table->class = "databox";
$table->head = array ();
$table->head[0] = __('Report name');
$table->head[1] = __('Description');
$table->head[2] = __('HTML');
$table->head[3] = __('XML');
enterprise_hook ('load_custom_reporting_1');
$table->align = array ();
$table->align[2] = "center";
$table->align[3] = "center";
$table->align[4] = "center";
$table->data = array ();
foreach ($reports as $report) {
if($linkReport) {
$reportstring = "<a href='?sec=greporting&sec2=godmode/reporting/reporting_builder&action=edit&id_report=" . $report['id_report'] . "' title='" . __("Edit") . "'>" . $report['name'] . "</a>";
} else {
$reportstring = $report['name'];
}
$data = array(
$reportstring,
$report['description'],
'<a href="index.php?sec=reporting&sec2=operation/reporting/reporting_viewer&id='.$report['id_report'].'"><img src="images/reporting.png" /></a>',
'<a href="ajax.php?page=operation/reporting/reporting_xml&id='.$report['id_report'].'"><img src="images/database_lightning.png" /></a>'
);
enterprise_hook ('load_custom_reporting_2');
array_push($table->data, $data);
}
echo "<br />";pagination ($totalReports);
print_table ($table); unset($table);
pagination ($totalReports);
}
?>