go-mailzu/rulesAdmin.php

103 lines
3.1 KiB
PHP
Raw Normal View History

2008-12-10 20:44:30 +01:00
<?php
/**
* This file is the messages index in quarantine for logged in users.
* It provides a listing of all messages corresponding to:
* - attachment ('B')
* - spam ('S')
* @author Samuel Tran
* @author Jeremy Fowler <jfowler06@users.sourceforge.net>
* @version 04-03-07
* @package MailZu
*
* Copyright (C) 2005 - 2007 MailZu
* License: GPL, see LICENSE
*/
/**
* Include Template class
*/
include_once('lib/Template.class.php');
/**
* Include common output functions
*/
include_once('templates/common.template.php');
/**
* Include quarantine-specific output functions
*/
include_once('templates/quarantine.template.php');
if (!Auth::is_logged_in()) {
Auth::print_login_msg(); // Check if user is logged in
}
// grab the display size limit set in config.php
$sizeLimit = isset ( $conf['app']['displaySizeLimit'] ) && is_numeric( $conf['app']['displaySizeLimit'] ) ?
$conf['app']['displaySizeLimit'] : 50;
// This is not needed?
// Get content type
$content_type = (CmnFns::get_ctype() ? CmnFns::get_ctype() : 'A');
$order = array('sender', 'recipient', 'rule');
// Get current page number
$requestedPage = CmnFns::getGlobalVar('page', GET);
$_SESSION['sessionNav'] = "Site Rules";
$t = new Template(translate('Site Rules'));
$db = new DBEngine();
$t->printHTMLHeader();
$t->printWelcome();
$t->startMain();
// Break table into 2 columns, put quick links on left side and all other tables on the right
startQuickLinksCol();
showQuickLinks(); // Print out My Quick Links
startDataDisplayCol();
if (! Auth::isMailAdmin()) {
CmnFns::do_error_box(translate('Access Denied'));
} else {
// Draw search engine
printRulesSearchEngine($content_type, $_SERVER['PHP_SELF'], 1);
echo '<br>';
if ( CmnFns::getGlobalVar('search_action', GET) == translate('Clear search results') ) {
CmnFns::redirect_js($_SERVER['PHP_SELF'] . '?searchOnly=' . $conf['app']['searchOnly']);
}
$search_array1 = $db->convertSearch2SQL( 'mailaddr.email', CmnFns::getGlobalVar('f_criterion', GET), CmnFns::getGlobalVar('f_string', GET) );
$search_array2 = $db->convertSearch2SQL( 'recip.email', CmnFns::getGlobalVar('t_criterion', GET), CmnFns::getGlobalVar('t_string', GET) );
$search_array = array_merge( $search_array1, $search_array2 );
// Print a loading message until database returns...
printMessage(translate('Retrieving Messages...'));
$list_items = $db->get_user_control_list( $_SESSION['sessionMail'], CmnFns::get_value_order($order), CmnFns::get_vert_order(), $search_array, $requestedPage, 1);
// Compute maximum number of pages
$maxPage = (ceil($db->numRows/$sizeLimit)-1);
// If $requestedPage > $maxPage, then redirect to $maxPage instead of $requestedPage
if ( $requestedPage > $maxPage ) {
$query_string = CmnFns::array_to_query_string( $_GET, array( 'page' ) );
$query_string = str_replace ( '&amp;', '&', $query_string );
CmnFns::redirect_js($_SERVER['PHP_SELF'].'?'.$query_string.'&page='.$maxPage);
}
showRulesTable($list_items, $requestedPage, CmnFns::get_value_order($order), CmnFns::get_vert_order(), $db->numRows);
// Hide the message after the table loads.
hideMessage(translate('Retrieving Messages...'));
}
endDataDisplayCol();
$t->endMain();
$t->printHTMLFooter();
?>