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