configured
[bMailZu.git] / messagesIndex.php
blobb9e647d72ab8744853f1eaad23ad72f49f1dddcd
1 <?php
2 /**
3 * This file is the messages index in quarantine for logged in users.
4 * It provides a listing of all messages corresponding to:
5 * - attachment ('B')
6 * - spam ('S')
7 * @author Samuel Tran
8 * @author Jeremy Fowler <jfowler06@users.sourceforge.net>
9 * @version 04-03-07
10 * @package MailZu
12 * Copyright (C) 2005 - 2007 MailZu
13 * License: GPL, see LICENSE
15 /**
16 * Include Template class
18 include_once('lib/Template.class.php');
19 /**
20 * Include common output functions
22 include_once('templates/common.template.php');
23 /**
24 * Include quarantine-specific output functions
26 include_once('templates/quarantine.template.php');
28 if (!Auth::is_logged_in()) {
29 Auth::print_login_msg(); // Check if user is logged in
32 // grab the display size limit set in config.php
33 $sizeLimit = isset ( $conf['app']['displaySizeLimit'] ) && is_numeric( $conf['app']['displaySizeLimit'] ) ?
34 $conf['app']['displaySizeLimit'] : 50;
36 //Get content type
37 $content_type = (CmnFns::get_ctype() ? CmnFns::get_ctype() : 'A');
39 $order = array('msgs.time_num', 'from_addr', 'msgs.subject', 'spam_level', 'recip.email', 'msgs.content', 'mail_id');
40 // Get current page number
41 $requestedPage = CmnFns::getGlobalVar('page', GET);
43 $_SESSION['sessionNav'] = "My Quarantine";
44 $t = new Template(translate('My Quarantine'));
46 $db = new DBEngine();
48 $t->printHTMLHeader();
49 $t->printWelcome();
50 $t->startMain();
52 // Break table into 2 columns, put quick links on left side and all other tables on the right
53 startQuickLinksCol();
54 showQuickLinks(); // Print out My Quick Links
55 startDataDisplayCol();
57 // Draw search engine
58 printSearchEngine($content_type, $_SERVER['PHP_SELF'], (count($_SESSION['sessionMail']) > 1));
59 echo '<br>';
61 if ( CmnFns::getGlobalVar('search_action', GET) == translate('Clear search results') ) CmnFns::redirect_js($_SERVER['PHP_SELF']);
63 $search_array1 = $db->convertSearch2SQL( 'msgs.from_addr', CmnFns::getGlobalVar('f_criterion', GET), CmnFns::getGlobalVar('f_string', GET) );
64 $search_array2 = $db->convertSearch2SQL( 'msgs.subject', CmnFns::getGlobalVar('s_criterion', GET), CmnFns::getGlobalVar('s_string', GET) );
65 $search_array3 = $db->convertSearch2SQL( 'recip.email', CmnFns::getGlobalVar('t_criterion', GET), CmnFns::getGlobalVar('t_string', GET) );
66 $search_array4 = $db->convertSearch2SQL( 'msgs.mail_id', CmnFns::getGlobalVar('m_criterion', GET), CmnFns::getGlobalVar('m_string', GET) );
67 $search_array = array_merge( $search_array1, $search_array2, $search_array3, $search_array4 );
69 // Print a loading message until database returns...
70 printMessage(translate('Retrieving Messages...'));
72 $messages = $db->get_user_messages($content_type, $_SESSION['sessionMail'], CmnFns::get_value_order($order), CmnFns::get_vert_order(), $search_array, 0, 0, $requestedPage);
74 // Compute maximum number of pages
75 $maxPage = (ceil($db->numRows/$sizeLimit)-1);
77 // If $requestedPage > $maxPage, then redirect to $maxPage instead of $requestedPage
78 if ( $requestedPage > $maxPage ) {
79 $query_string = CmnFns::array_to_query_string( $_GET, array( 'page' ) );
80 $query_string = str_replace ( '&amp;', '&', $query_string );
81 CmnFns::redirect_js($_SERVER['PHP_SELF'].'?'.$query_string.'&page='.$maxPage);
84 showMessagesTable( $content_type, $messages, $requestedPage, CmnFns::get_value_order($order), CmnFns::get_vert_order(), $db->numRows );
86 // Hide the message after the table loads.
87 hideMessage(translate('Retrieving Messages...'));
89 endDataDisplayCol();
90 $t->endMain();
91 $t->printHTMLFooter();