/**
  * Gets UIDVALIDITY of the given folder
  *
  * @param Folder $folder
  *
  * @return int
  */
 protected function getUidValidity(Folder $folder)
 {
     $this->manager->selectFolder($folder->getGlobalName());
     return $this->manager->getUidValidity();
 }
Example #2
0
 /**
  * Does a folder post initialization actions
  *
  * @param Folder $folder
  */
 protected function postInitFolder(Folder $folder)
 {
     if (strtoupper($folder->getGlobalName()) === 'INBOX') {
         if (!$folder->hasFlag(Folder::FLAG_INBOX)) {
             $folder->addFlag(Folder::FLAG_INBOX);
         }
     }
     if ($folder->hasFlag('Junk')) {
         $folder->addFlag(Folder::FLAG_SPAM);
     }
 }
 /**
  * @param string $localName
  * @param string $globalName
  * @param array  $flags
  * @param bool   $selectable
  *
  * @return Folder
  */
 protected function createRemoteFolder($localName, $globalName, array $flags = [], $selectable = true)
 {
     $folder = new Folder($localName, $globalName, $selectable);
     $folder->setFlags($flags);
     return $folder;
 }
Example #4
0
 /**
  * Gets sub folders.
  *
  * @param Folder $parentFolder The parent folder.
  * @param bool   $recursive    Determines whether child folders should be returned as well
  *
  * @return Folder[]
  */
 protected function getSubFolders(Folder $parentFolder, $recursive = false)
 {
     $result = [];
     $parentFolder->guessFolderType();
     /** @var Folder $folder */
     foreach ($parentFolder as $folder) {
         $result[] = $folder;
         if ($recursive) {
             $folder->type = $parentFolder->type;
             $result = array_merge($result, $this->getSubFolders($folder, $recursive));
         }
     }
     return $result;
 }
 /**
  * @param Folder $srcFolder
  *
  * @return EmailFolderModel
  */
 protected function createEmailFolderModel(Folder $srcFolder, $uidValidity)
 {
     $folder = new EmailFolder();
     $folder->setFullName($srcFolder->getGlobalName())->setName($srcFolder->getLocalName())->setType($srcFolder->guessFolderType())->setOrigin($this->origin);
     $emailFolderModel = new EmailFolderModel();
     $emailFolderModel->setUidValidity($uidValidity);
     $emailFolderModel->setEmailFolder($folder);
     return $emailFolderModel;
 }