2007-03-24 08:27:00 +01:00
< ? php
2007-09-30 17:53:54 +02:00
/**
* Postfix Admin
*
* LICENSE
* This source file is subject to the GPL license that is bundled with
* this package in the file LICENSE . TXT .
*
2013-11-10 16:57:32 +01:00
* Further details on the project are available at http :// postfixadmin . sf . net
2007-09-30 17:53:54 +02:00
*
* @ version $Id $
* @ license GNU GPL v2 or later .
*
* File : viewlog . php
* Shows entries from the log table to users .
*
2009-12-24 15:58:01 +01:00
* Template File : viewlog . tpl
2007-09-30 17:53:54 +02:00
*
* Template Variables :
*
* tLog
*
* Form POST \ GET Variables :
*
* fDomain
*/
2007-08-22 01:00:17 +02:00
2007-09-22 12:59:41 +02:00
require_once ( 'common.php' );
2007-03-24 08:27:00 +01:00
2007-09-22 12:59:41 +02:00
authentication_require_role ( 'admin' );
$SESSID_USERNAME = authentication_get_username ();
if ( authentication_has_role ( 'global-admin' )) {
2007-03-24 08:27:00 +01:00
$list_domains = list_domains ();
}
2007-09-22 12:59:41 +02:00
else {
$list_domains = list_domains_for_admin ( $SESSID_USERNAME );
}
2007-03-24 08:27:00 +01:00
2017-04-10 20:39:30 +02:00
$fDomain = '' ;
2017-04-10 20:54:34 +02:00
$error = 0 ;
2007-03-24 08:27:00 +01:00
if ( $_SERVER [ 'REQUEST_METHOD' ] == " GET " )
{
if (( is_array ( $list_domains ) and sizeof ( $list_domains ) > 0 )) $fDomain = $list_domains [ 0 ];
} elseif ( $_SERVER [ 'REQUEST_METHOD' ] == " POST " ) {
if ( isset ( $_POST [ 'fDomain' ])) $fDomain = escape_string ( $_POST [ 'fDomain' ]);
} else {
die ( 'Unknown request method' );
}
2007-09-22 12:59:41 +02:00
if ( ! ( check_owner ( $SESSID_USERNAME , $fDomain ) || authentication_has_role ( 'global-admin' )))
2007-03-24 08:27:00 +01:00
{
$error = 1 ;
2011-07-19 00:48:46 +02:00
flash_error ( $PALANG [ 'pViewlog_result_error' ]);
2007-03-24 08:27:00 +01:00
}
2010-09-27 01:14:42 +02:00
// we need to initialize $tLog as an array!
$tLog = array ();
2007-03-24 08:27:00 +01:00
if ( $error != 1 )
{
2013-12-08 20:41:01 +01:00
$table_log = table_by_key ( 'log' );
2017-09-05 22:12:45 +02:00
$page_size = isset ( $CONF [ 'page_size' ]) ? intval ( $CONF [ 'page_size' ]) : 35 ;
2017-09-13 18:02:56 +02:00
$query = " SELECT timestamp,username,domain,action,data FROM $table_log WHERE domain=' $fDomain ' ORDER BY timestamp DESC LIMIT $page_size " ;
2013-11-16 01:00:53 +01:00
if ( db_pgsql ()) {
2017-09-05 22:12:45 +02:00
$query = " SELECT extract(epoch from timestamp) as timestamp,username,domain,action,data FROM $table_log WHERE domain=' $fDomain ' ORDER BY timestamp DESC LIMIT $page_size " ;
2007-03-24 08:27:00 +01:00
}
$result = db_query ( $query );
if ( $result [ 'rows' ] > 0 )
{
while ( $row = db_array ( $result [ 'result' ]))
{
2013-11-16 01:00:53 +01:00
if ( db_pgsql ()) {
2007-03-24 08:27:00 +01:00
$row [ 'timestamp' ] = gmstrftime ( '%c %Z' , $row [ 'timestamp' ]);
}
$tLog [] = $row ;
}
}
}
2009-11-05 15:55:39 +01:00
for ( $i = 0 ; $i < count ( $tLog ); $i ++ )
$tLog [ $i ][ 'action' ] = $PALANG [ 'pViewlog_action_' . $tLog [ $i ][ 'action' ]];
2015-12-07 00:27:45 +01:00
$smarty -> assign ( 'domain_list' , $list_domains );
$smarty -> assign ( 'domain_selected' , $fDomain );
2009-12-24 15:58:01 +01:00
$smarty -> assign ( 'tLog' , $tLog , false );
2009-11-05 15:55:39 +01:00
$smarty -> assign ( 'fDomain' , $fDomain );
$smarty -> assign ( 'smarty_template' , 'viewlog' );
$smarty -> display ( 'index.tpl' );
2007-03-24 08:27:00 +01:00
/* vim: set expandtab softtabstop=3 tabstop=3 shiftwidth=3: */
?>