|
@@ -107,6 +107,8 @@ function handleFile($filename, &$allDocuments) {
|
|
|
function searchMails() {
|
|
function searchMails() {
|
|
|
global $user;
|
|
global $user;
|
|
|
$mailboxes = Mailbox::getAllMailBoxes();
|
|
$mailboxes = Mailbox::getAllMailBoxes();
|
|
|
|
|
+ $lastMailOption = Option::getOptionByKey("lastMailSearch");
|
|
|
|
|
+ $date = date("d-M-Y", $lastMailOption->getValue());
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach($mailboxes as $mailbox) {
|
|
foreach($mailboxes as $mailbox) {
|
|
@@ -116,20 +118,26 @@ function searchMails() {
|
|
|
if($mbFolder != false) {
|
|
if($mbFolder != false) {
|
|
|
$mailbox->changeFolder($mbFolder->getFolderName());
|
|
$mailbox->changeFolder($mbFolder->getFolderName());
|
|
|
|
|
|
|
|
- $messageCount = imap_num_msg($mailbox->getMailbox());
|
|
|
|
|
|
|
+ $search = imap_search($mailbox->getMailbox(), 'SINCE "' . $date . '"');
|
|
|
|
|
|
|
|
- for($i = 1; $i <= $messageCount; ++$i) {
|
|
|
|
|
- $headers = imap_header($mailbox->getMailbox(), $i);
|
|
|
|
|
|
|
+ if($search) {
|
|
|
|
|
+ foreach($search as $message) {
|
|
|
|
|
+ $headers = imap_header($mailbox->getMailbox(), $message);
|
|
|
|
|
|
|
|
- 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);
|
|
|
|
|
|
|
+ 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();
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- $mail->save();
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ $lastMailOption->setValue(time());
|
|
|
|
|
+ $lastMailOption->save();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|