Moritz Schmidt 10 年之前
父節點
當前提交
ad7277b77e
共有 4 個文件被更改,包括 38 次插入9 次删除
  1. 3 0
      README.md
  2. 2 2
      includes/functions.inc.php
  3. 33 7
      includes/mail.inc.php
  4. 0 0
      scripts/belL

+ 3 - 0
README.md

@@ -0,0 +1,3 @@
+webOffice
+=========
+

+ 2 - 2
includes/functions.inc.php

@@ -121,8 +121,8 @@ function searchMails() {
 				for($i = 1; $i <= $messageCount; ++$i) {
 				    $headers = imap_header($mailbox->getMailbox(), $i);
 
-					if(!Mail::getMailByMailInfo($mbFolder->getID(), $headers->Msgno)) {
-						$mail = new Mail(NULL, imap_utf8($headers->from[0]->mailbox . '@' . $headers->from[0]->host), imap_utf8($headers->subject), $mbFolder->getID(), $headers->Msgno);
+					if(!Mail::getMailByMessageID($headers->message_id)) {
+						$mail = new Mail(NULL, imap_utf8($headers->from[0]->mailbox . '@' . $headers->from[0]->host), imap_utf8($headers->subject), $mbFolder->getID(), $headers->Msgno, $headers->message_id, 0);
 
 						$mail->save();
 					}

+ 33 - 7
includes/mail.inc.php

@@ -6,15 +6,17 @@ class Mail {
     private $subject            = NULL;
     private $mailboxFolderID    = NULL;
     private $mailUID            = NULL;
+    private $messageID          = NULL;
     private $processed          = NULL;
 
 
-    public function __construct($id, $mailSender, $subject, $mailboxFolderID, $mailUID, $processed) {
+    public function __construct($id, $mailSender, $subject, $mailboxFolderID, $mailUID, $messageID, $processed) {
         $this->id               = $id;
         $this->mailSender       = $mailSender;
         $this->subject          = $subject;
         $this->mailboxFolderID  = $mailboxFolderID;
         $this->mailUID          = $mailUID;
+        $this->messageID        = $messageID;
         $this->processed        = $processed;
 
     }
@@ -139,6 +141,30 @@ class Mail {
         $this->mailUID = $mailUID;
      }
 
+     /**
+      * Get the value of Message ID
+      *
+      *
+      * @return string
+      *
+      */
+
+      public function getMessageID() {
+          return $this->messageID;
+      }
+
+      /**
+       * Set the value of Message ID
+       *
+       *
+       * @param string messageID
+       *
+       */
+
+       public function setMessageID($messageID) {
+           $this->messageID = $messageID;
+       }
+
      /**
       * Get the value of processed
       *
@@ -184,7 +210,7 @@ class Mail {
              $this->setID("'NULL'");
          }
 
-         $db->insertQuery("INSERT INTO `mails` (`id`, `mail_sender`, `subject`, `mailbox_folder_id`, `mail_uid`, `processed`) VALUES (" . $this->getID() . ", '" . $this->getMailSender() . "', '" . $this->getSubject() . "', " . $this->getMailboxFolderID() . ", " . $this->getMailUID() . ", " . $this->getProcessed() . ") ON DUPLICATE KEY UPDATE `mail_sender` = '" . $this->getMailSender() . "', `subject` = '" . $this->getSubject() . "', `mailbox_folder_id` = " . $this->getMailboxFolderID() . ", `mail_uid` = " . $this->getMailUID() . ", `processed` = " . $this->getProcessed() . ";");
+         $db->insertQuery("INSERT INTO `mails` (`id`, `mail_sender`, `subject`, `mailbox_folder_id`, `mail_uid`, `message_id`, `processed`) VALUES (" . $this->getID() . ", '" . $this->getMailSender() . "', '" . $this->getSubject() . "', " . $this->getMailboxFolderID() . ", " . $this->getMailUID() . ", '" . $this->getMessageID() . "', " . $this->getProcessed() . ") ON DUPLICATE KEY UPDATE `mail_sender` = '" . $this->getMailSender() . "', `subject` = '" . $this->getSubject() . "', `mailbox_folder_id` = " . $this->getMailboxFolderID() . ", `mail_uid` = " . $this->getMailUID() . ", `message_id` = '" . $this->getMessageID() . "', `processed` = " . $this->getProcessed() . ";");
 
          if($this->getID() == "'NULL'") {
              $this->setID(NULL);
@@ -212,7 +238,7 @@ class Mail {
          }
 
          foreach($mails as $mail) {
-             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->processed);
+             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->message_id, $mail->processed);
          }
 
          return $return[0];
@@ -228,10 +254,10 @@ class Mail {
      *
      */
 
-     public static function getMailByMailInfo($mailboxFolder, $mailUID) {
+     public static function getMailByMessageID($messageID) {
          global $db;
 
-         $mails = $db->selectQuery("SELECT * FROM `mails` WHERE `mailbox_folder_id` = " . $mailboxFolder . " AND `mail_uid` = " . $mailUID . ";");
+         $mails = $db->selectQuery("SELECT * FROM `mails` WHERE `message_id` = '" . $messageID . "';");
 
          $return = array();
 
@@ -240,7 +266,7 @@ class Mail {
          }
 
          foreach($mails as $mail) {
-             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->processed);
+             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->message_id, $mail->processed);
          }
 
          return $return[0];
@@ -267,7 +293,7 @@ class Mail {
          $return = array();
 
          foreach($mails as $mail) {
-             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->processed);
+             $return[] = new Mail($mail->id, $mail->mail_sender, $mail->subject, $mail->mailbox_folder_id, $mail->mail_uid, $mail->message_id, $mail->processed);
          }
 
          return $return;

+ 0 - 0
scripts/belL