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