]> git.datanom.net - qtadmin.git/blobdiff - quarantine.php
prepare for wblistadm server
[qtadmin.git] / quarantine.php
index 14e07e7a4f1883b29b2b27c30f81b5bdfdb45593..6a2cf5ac1a3bff965c4093689689041cb6b631e0 100644 (file)
@@ -14,7 +14,7 @@
         echo $util->getFooter();
     }
 
-    function handleRequest($request, $ids) {
+    function handleRequest($util, $request, $ids) {
         global $CFG;
 
         $query = array();
@@ -22,7 +22,7 @@
             $mail_id = urldecode($id);
             $mail = unserialize($_SESSION['mailInfo']["$mail_id"]);
 
-            if (true == $util->authorized($mail->recipient)) {
+            if (is_object($mail) && true == $util->authorized($mail->recipient)) {
                 $secret_id = $mail->secret_id;
                 $recipient = $mail->recipient;
 
@@ -55,6 +55,7 @@
                     $query[] = "UPDATE msgrcpt SET rs = 'R' WHERE mail_id = '$mail_id'";
                 } else if ($request == 'delete') {
                     $query[] = "UPDATE msgrcpt SET rs = 'D' WHERE mail_id = '$mail_id'";
+                } else if ($request == 'block') {
                 } else {
                     error("Unknown operation [$request]");
                     exit;
     $request = isset($_GET['op']) ? $_GET['op'] : '';
     if ($loggedIn && isset($_GET['id'])) {
         $ids = explode(',', $_GET['id']);
-        $query = handleRequest($request, $ids);
-        $success = $DB->update($query);
-        if (! $success) {
-            error("Message not released, contact administrator [$query]");
-            exit;
+        if ($request == 'block') {
+            // call rest server
+        } else {
+            $query = handleRequest($util, $request, $ids);
+            $success = $DB->update($query);
+            if (! $success) {
+                error("Message not released, contact administrator [$query]");
+                exit;
+            }
         }
         header('Location: index.php');
     } else if ($loggedIn && $request == 'purge') {
@@ -83,8 +88,8 @@
         $query = array();
         $error = array();
         foreach ($marked as $mail_id) {
-            $mail = $DB->getMail($mail_id);
-            if (true == $util->authorized($mail->recipient)) {
+            $recipient = $DB->getRecipient($mail_id);
+            if ($recipient && true == $util->authorized($recipient)) {
                 $query[] = "delete from msgs where mail_id = '$mail_id'";
                 $query[] = "delete from msgrcpt where mail_id = '$mail_id'";
                 $query[] = "delete from quarantine where mail_id = '$mail_id'";
This page took 0.059819 seconds and 5 git commands to generate.