2010-08-31 09:27:22 +02:00
< ? 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 ) {
2010-08-31 10:15:57 +02:00
$sql = " SELECT id_report, name, description FROM treport WHERE (name LIKE '% " . $stringSearchSQL . " %' OR description LIKE '% " . $stringSearchSQL . " %') " . $reports_condition .
2010-08-31 09:27:22 +02:00
" LIMIT " . $config [ 'block_size' ] . " OFFSET " . get_parameter ( 'offset' , 0 );
$reports = process_sql ( $sql );
2010-08-31 10:15:57 +02:00
$sql = " SELECT COUNT(id_report) AS count FROM treport WHERE (name LIKE '% " . $stringSearchSQL . " %' OR description LIKE '% " . $stringSearchSQL . " %') " ;
2010-08-31 09:27:22 +02:00
$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' ],
2011-02-04 14:30:50 +01:00
'<a href="index.php?sec=reporting&sec2=operation/reporting/reporting_viewer&id=' . $report [ 'id_report' ] . '">' . print_image ( " images/reporting.png " , true ) . '</a>' ,
'<a href="ajax.php?page=operation/reporting/reporting_xml&id=' . $report [ 'id_report' ] . '">' . print_image ( " images/database_lightning.png " , true ) . '</a>'
2010-08-31 09:27:22 +02:00
);
enterprise_hook ( 'load_custom_reporting_2' );
array_push ( $table -> data , $data );
}
echo " <br /> " ; pagination ( $totalReports );
print_table ( $table ); unset ( $table );
pagination ( $totalReports );
}
?>