/** * 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(); }
/** * 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; }
/** * 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; }