Example #1
0
 /**
  * Read all IMAP folders and update them in the database.
  */
 public function UpdateFolderList()
 {
     $folders = $this->mailbox->getMailboxFolders();
     $path = $this->mailbox->getMailBoxPath();
     $this->initDatabase();
     $this->database->updateFolder(['deleted' => 1], '1=1');
     foreach ($folders as $sorting => $folder) {
         $dbFolder = $this->database->getFolderByName($folder, true);
         if (is_array($dbFolder) && $dbFolder["uid"] > 0) {
             $updateArray = ['deleted' => 0, 'pid' => 46];
             $updateArray["tstamp"] = time();
             $this->database->updateFolder($updateArray, 'uid=' . $dbFolder["uid"]);
             continue;
         }
         $insertArray = ['full_name' => $folder, 'name' => str_replace($path, '', $folder), 'pid' => 46, 'tstamp' => time(), 'crdate' => time()];
         if ($insertArray['name'] == '') {
             $insertArray['name'] == 'INBOX';
         }
         $this->database->insertArray('tx_t3fxmailscanner_domain_model_imapfolder', $insertArray);
     }
 }