<?php
/* vim: set ts=4 tw=0 sw=4 noet: */
- require_once 'config.php';
- require_once $CFG->root . 'lib/db_factory.php';
- require_once $CFG->root . 'lib/utils.inc.php';
+ require_once 'config.php';
+ require_once $CFG->root . 'lib/db_factory.php';
+ require_once $CFG->root . 'lib/utils.inc.php';
- $util = Utils::getInstance();
- unset($_SESSION['mailInfo']);
-
- if ($util->isLoggedIn()) {
- if (isset($_GET['rowsperpage'])) {
- $rowsPerPage = $_GET['rowsperpage'];
- } else {
- $rowsPerPage = 20;
- }
+ $util = new Utils;
+ unset($_SESSION['mailInfo']);
- $pageNum = 1;
- if (isset($_GET['page'])) {
- $pageNum = $_GET['page'];
- }
+ if ($util->isLoggedIn()) {
+ if (isset($_GET['rowsperpage'])) {
+ $rowsPerPage = $_GET['rowsperpage'];
+ } else {
+ $rowsPerPage = 20;
+ }
- $offset = ($pageNum - 1) * $rowsPerPage;
+ $pageNum = 1;
+ if (isset($_GET['page'])) {
+ $pageNum = $_GET['page'];
+ }
- $util->setHeading('Quarantine Administration');
- echo $util->getHeader();
- echo $util->getHeading();
+ $offset = ($pageNum - 1) * $rowsPerPage;
- echo "<span class=\"user\">{$util->getUser()}
- <a href=\"auth.php?op=logout\">Logout</a></span>";
- $which = ($util->isAdmin() == true) ? 'all' : $util->getUser();
- $rows = $DB->getQMails($offset, $rowsPerPage, $which);
- $numrows = $DB->numRows();
- echo "<span class=\"total-rows\">$numrows quarantined mail(s)</span>";
- echo "<table><tr>";
- echo "<table><tr><th>Received</th><th>Cause</th>";
+ $util->setHeading('Quarantine Administration');
+ echo $util->getHeader();
+ echo $util->getHeading();
+
+ echo "Rows per page <input type=\"text\" value=\"$rowsPerPage\" id=\"rows\"
+ size=\"2\"/><input type=\"button\" onclick=\"javascript: updateRowsPerPage()\"
+ value=\"Change\"/><span class=\"user\">{$util->getUser()}
+ <a title=\"Logout\" href=\"auth.php?op=logout\">Logout</a></span>";
+ $which = ($util->isAdmin() == true) ? 'all' : $util->getUser();
+ $rows = $DB->getQMails($offset, $rowsPerPage, $which);
+ $numrows = $DB->numRows();
+ echo "<span class=\"total-rows\">$numrows quarantined mail(s)</span>";
+ echo "<table><tr>";
+ echo "<th>Received</th><th>Cause</th>";
echo "<th>Sender</th><th>Recipient</th><th>Subject</th><th>Action</th>";
- echo "</tr>";
+ echo "<th><input name=\"multiselect\" type=\"checkbox\" ";
+ echo "onchange=\"javascript: updateAction(this)\" /></th>";
+ echo "</tr>";
- $mailInfo = array();
- $i = 0;
- foreach ($rows as $row) {
- if ($i % 2)
- echo '<tr class="bg_odd">';
- else
- echo '<tr class="bg_even">';
- $id = $row->mail_id;
- $mailInfo[$id] = serialize($row);
- $url = urlencode($id);
- $recipient = "<a href=\"mail_report.php?id=$url\">{$row->recipient}</a>";
- $action = "<a href=\"quarantine.php?id=$url&op=release\">";
- $action .= "<img class=\"nav-img\" src=\"pics/release.png\" alt=\"Release\" /></a>";
- $action .= " <a href=\"quarantine.php?id=$url&op=delete\">";
- $action .= "<img class=\"nav-img\" src=\"pics/delete.png\" alt=\"Delete\" /></a>";
- $sender = $row->sender;
- $received = strftime("%c", $row->time_iso);
- $quaratinefor = $util->convertContent($row->quaratinefor);
- $subject = $row->subject;
+ $mailInfo = array();
+ $i = 0;
+ foreach ($rows as $row) {
+ if ($i % 2)
+ echo '<tr class="bg_odd">';
+ else
+ echo '<tr class="bg_even">';
+ $id = $row->mail_id;
+ $mailInfo[$id] = serialize($row);
+ $url = urlencode($id);
+ $checkbox = "<input name=\"action\" type=\"checkbox\" value=\"$url\" />";
+ $recipient = "<a title=\"Show Report\" href=\"mail_report.php?id=$url\">{$row->recipient}</a>";
+ $action = "<a title=\"Release Mail\" href=\"quarantine.php?id=$url&op=release\">";
+ $action .= "<img class=\"nav-img\" src=\"pics/release.png\" alt=\"Release\" /></a>";
+ $action .= " <a title=\"Delete Mail\" href=\"quarantine.php?id=$url&op=delete\">";
+ $action .= "<img class=\"nav-img\" src=\"pics/delete.png\" alt=\"Delete\" /></a>";
+ $action .= " <a title=\"Block Sender\" href=\"block.php?id=$url\">";
+ $action .= "<img class=\"nav-img\" src=\"pics/spam.png\" alt=\"Block Sender\" /></a>";
+ $sender = $row->sender;
+ $received = strftime("%c", $row->time_iso);
+ $quaratinefor = $util->convertContent($row->quaratinefor);
+ $subject = $row->subject;
echo "<td>$received</td><td class=\"nav-action\">".
"$quaratinefor</td><td>$sender</td><td>$recipient</td>".
- "<td>$subject</td><td class=\"nav-action\">$action</td></tr>";
- $i++;
- }
- $_SESSION['mailInfo'] = $mailInfo;
- echo "</table>";
+ "<td>$subject</td><td class=\"nav-action\">$action</td><td class=\"nav-action\">$checkbox</td></tr>";
+ $i++;
+ }
+ $_SESSION['mailInfo'] = $mailInfo;
+ echo "</table>";
+
+ $maxPage = ceil($numrows/$rowsPerPage);
+ $self = $_SERVER['PHP_SELF'];
+
+ if ($pageNum > 1) {
+ $page = $pageNum - 1;
+ $prev = " <a title=\"Prev Page\" href=\"$self?page=$page&rowsperpage=$rowsPerPage\"
+ class='whitefooter'><img class=\"nav-img\" src=\"pics/go-previous-symbolic.svg\" alt=\"Previous\" /></a> ";
+ $first = " <a title=\"First Page\" href=\"$self?page=1&rowsperpage=$rowsPerPage\"
+ class='whitefooter'><img class=\"nav-img\" src=\"pics/go-first-symbolic.svg\" alt=\"First\" /></a> ";
+ } else {
+ $prev = ' '; // we're on page one, don't print previous link
+ $first = ' '; // nor the first page link
+ }
- $maxPage = ceil($numrows/$rowsPerPage);
- $self = $_SERVER['PHP_SELF'];
-
- if ($pageNum > 1) {
- $page = $pageNum - 1;
- $prev = " <a href=\"$self?page=$page&rowsperpage=$rowsPerPage\"
- class='whitefooter'>[Prev]</a>";
- $first = " <a href=\"$self?page=1&rowsperpage=$rowsPerPage\"
- class='whitefooter'>[First Page]</a> ";
- } else {
- $prev = ' '; // we're on page one, don't print previous link
- $first = ' '; // nor the first page link
- }
-
- if ($pageNum < $maxPage) {
- $page = $pageNum + 1;
- $next = " <a href=\"$self?page=$page&rowsperpage=$rowsPerPage\"
- class='whitefooter'>[Next]</a>";
- $last = "<a href=\"$self?page=$maxPage&rowsperpage=$rowsPerPage\"
- class='whitefooter'>[Last Page]</a> ";
- } else {
- $next = ' '; // we're on the last page, don't print next link
- $last = ' '; // nor the last page link
- }
- $marked = $DB->getMarked($which);
- $_SESSION['marked'] = serialize($marked);
- echo '<input class="mail-purge" type="button" value="Purge Mails ('.
- count($marked).')" onclick="javascript: location.href=\'quarantine.php?op=purge\'"/>';
- echo "<p class=\"page-nav\">$first$prev Showing page $pageNum of
- $maxPage pages $next$last</p>";
+ if ($pageNum < $maxPage) {
+ $page = $pageNum + 1;
+ $next = " <a title=\"Next Page\" href=\"$self?page=$page&rowsperpage=$rowsPerPage\"
+ class='whitefooter'><img class=\"nav-img\" src=\"pics/go-next-symbolic.svg\" alt=\"Next\" /></a> ";
+ $last = " <a title=\"Last Page\" href=\"$self?page=$maxPage&rowsperpage=$rowsPerPage\"
+ class='whitefooter'><img class=\"nav-img\" src=\"pics/go-last-symbolic.svg\" alt=\"Last\" /></a> ";
+ } else {
+ $next = ' '; // we're on the last page, don't print next link
+ $last = ' '; // nor the last page link
+ }
+ $marked = $DB->getMarked($which);
+ $_SESSION['marked'] = serialize($marked);
+ echo '<input class="mail-purge" type="button" value="Purge Mails ('.
+ count($marked).')" onclick="javascript: location.href=\'quarantine.php?op=purge\'"/>';
+ echo '<input class="mail-purge" type="button" value="Release checked"
+ onclick="javascript: checkAction(\'release\');"/>';
+ echo '<input class="mail-purge" type="button" value="Delete checked"
+ onclick="javascript: checkAction(\'delete\');"/>';
+ echo "<p class=\"page-nav\">$first$prev Showing page $pageNum of
+ $maxPage pages $next$last</p>";
- echo $util->getFooter();
- } else {
- header('Location: auth.php');
- }
+ echo $util->getFooter();
+ } else {
+ header('Location: auth.php');
+ }
?>