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 .
*
* Further details on the project are available at :
* http :// www . postfixadmin . com or http :// postfixadmin . sf . net
*
* @ 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
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 )
{
2007-09-15 02:10:48 +02:00
$query = " SELECT timestamp,username,domain,action,data FROM $table_log WHERE domain=' $fDomain ' ORDER BY timestamp DESC LIMIT 10 " ;
2007-03-24 08:27:00 +01:00
if ( 'pgsql' == $CONF [ 'database_type' ])
{
2007-09-15 02:10:48 +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 10 " ;
2007-03-24 08:27:00 +01:00
}
$result = db_query ( $query );
if ( $result [ 'rows' ] > 0 )
{
while ( $row = db_array ( $result [ 'result' ]))
{
if ( 'pgsql' == $CONF [ 'database_type' ])
{
$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' ]];
2009-12-24 15:58:01 +01:00
$smarty -> assign ( 'select_options' , select_options ( $list_domains , array ( $fDomain )), false );
$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: */
?>