function testDeleteMailFromDirectory() { require_once "common.php"; $data = Filter::filterArray($this->mail_data); $mail = MailManager::createMail($data); //echo "<hr style='height:3px;background-color:blue;' />"; $dir = MailManager::loadDirectoryFromName(MAILBOX, $this->author_id); //echo "<hr style='height:3px;background-color:blue;' />"; $oldmailboxcount = count($dir->getMails()); $dir2 = MailManager::loadDirectoryFromName(TRASH, $dir->getOwner()); $oldtrashcount = count($dir2->getMails()); //echo "<p>" . $mail . "<br />" . $dir . "</p>"; //DEBUG if ($mail == null || $mail === false) { return "<br />Mail test NOT PASSED: not created"; } MailManager::moveToTrash($mail, $dir); $dir = MailManager::loadDirectoryFromName(MAILBOX, $this->author_id); $mail2 = MailManager::loadMail($mail->getID()); $dir2 = MailManager::loadDirectoryFromName(TRASH, $dir->getOwner()); if ($mail === false) { return "<br />Mail test NOT PASSED: deleted"; } //echo "<p>" . $dir . "<br />" . $dir2 . "</p>"; //DEBUG if ($mail != $mail2) { return "<br />Mail test NOT PASSED: mail duplicated"; } if (count($dir->getMails()) == $oldmailboxcount) { return "<br />Mail test NOT PASSED: mailbox not updated"; } if (count($dir2->getMails()) == $oldtrashcount) { return "<br />Mail test NOT PASSED: trash not updated"; } return "<br />Mail deleting test passed"; }
private static function doMailAction($request) { require_once 'mail/MailManager.php'; if (isset(self::$currentID) && self::$currentID != null) { self::$currentObject = MailManager::loadMail(self::$currentID); } switch (self::$requestedAction) { case "Edit": //una mail non si può modificare... break; case "Move": require_once 'mail/MailPage.php'; MailPage::showMoveToForm(self::$currentObject); break; case "Delete": $dir = MailManager::directoryForMail(self::$currentObject, self::$user); MailManager::moveToTrash(self::$currentObject, $dir); header("location: " . FileManager::appendToRootPath("Directory/" . $dir->getID())); break; case "Spam": $dir = MailManager::directoryForMail(self::$currentObject, self::$user); MailManager::moveToSpam(self::$currentObject, $dir); header("location: " . FileManager::appendToRootPath("Directory/" . $dir->getID())); break; case "Answer": self::$currentObject = MailManager::loadMail(self::$currentID); case "New": if (!isset(self::$currentObject)) { self::$currentObject = null; } require_once 'mail/MailPage.php'; MailPage::showNewForm(self::$currentObject); break; case "EmptyTrash": MailManager::emptyTrash(self::$user); header("location: " . FileManager::appendToRootPath("User/" . self::$user->getID() . "/Mails")); break; case "Read": require_once 'mail/MailPage.php'; MailPage::showMail(self::$currentObject); break; case "Search": default: require_once 'search/SearchPage.php'; SearchPage::showMailSearchForm(); break; } }