function save() { require_once "query.php"; $db = new DBManager(); if (!$db->connect_errno()) { define_tables(); defineMailColumns(); $table = Query::getDBSchema()->getTable(TABLE_MAIL); $data = array(); if (isset($this->subject) && !is_null($this->getSubject())) { $data[MAIL_SUBJECT] = $this->getSubject(); } if (isset($this->from) && !is_null($this->getFrom())) { $data[MAIL_FROM] = intval($this->getFrom()); } if (isset($this->to) && !is_null($this->getTo())) { $data[MAIL_TO] = $this->getTo(); } if (isset($this->text) && !is_null($this->getText())) { $data[MAIL_TEXT] = $this->getText(); } if (isset($this->repliesTo) && !is_null($this->getRepliesTo())) { $data[MAIL_REPLIES_TO] = intval($this->getRepliesTo()); } $rs = $db->execute($s = Query::generateInsertStm($table, $data), $table->getName(), $this); //echo "<br />" . $s; //DEBUG //echo "<br />" . $db->affected_rows(); //DEBUG if ($db->affected_rows() == 1) { $this->setID(intval($db->last_inserted_id())); //echo "<br />" . serialize($this->ID); //DEBUG $rs = $db->execute($s = Query::generateSelectStm(array($table), array(), array(new WhereConstraint($table->getColumn(MAIL_ID), Operator::EQUAL, $this->getID())), array()), $table->getName(), $this); //echo "<br />" . $s; //DEBUG if ($db->num_rows() == 1) { $row = $db->fetch_result(); $this->setCreationDate(date_timestamp_get(date_create_from_format("Y-m-d G:i:s", $row[MAIL_CREATION_DATE]))); //echo "<br />" . serialize($row[MAIL_CREATION_DATE]); //DEBUG //inserisce il messaggio nelle mailbox dei $to $toes = explode("|", $this->getTo()); //echo serialize($toes); //DEBUG require_once "mail/MailManager.php"; for ($i = 0; $i < count($toes); $i++) { $dir = MailManager::loadDirectoryFromName(MAILBOX, intval($toes[$i])); MailManager::addMailToDir($this, $dir); } //echo "<br />" . $this; //DEBUG return $this; } else { $db->display_error("Mail::save()"); } } else { $db->display_error("Mail::save()"); } } else { $db->display_connect_error("Mail::save()"); } return false; }
function testSendMail() { $dir = MailManager::loadDirectoryFromName(MAILBOX, $this->author_id); $oldmailboxcount = count($dir->getMails()); $data = $this->mail_data; $mail = MailManager::createMail($data); $dir = MailManager::loadDirectoryFromName(MAILBOX, $this->author_id); $newmailboxcount = count($dir->getMails()); //echo "<p>" . $oldmailboxcount . "<br />" . $newmailboxcount . "</p>"; //DEBUG if ($oldmailboxcount == $newmailboxcount) { return "<br />Send test NOT PASSED: not sent"; } return "<br />Send test passed"; }
private static function doDirectoryAction($request) { require_once 'mail/MailManager.php'; if (isset(self::$currentID) && self::$currentID != null) { self::$currentObject = MailManager::loadDirectory(self::$currentID); } switch (self::$requestedAction) { case "Edit": require_once 'mail/MailPage.php'; MailPage::showEditDirectoryForm(self::$currentObject); break; case "Mails": require_once 'mail/MailPage.php'; foreach (self::$currentObject->getMails() as $mail) { MailPage::showShortMail($mail); } break; case "Delete": MailManager::deleteDirectory(self::$currentObject); $inbox = MailManager::loadDirectoryFromName(MAILBOX, self::$currentObject->getUser()); header("location: " . FileManager::appendToRootPath("Directory/" . $inbox->getID())); break; case "Sent": $mails = MailManager::getMailSent(self::$user); foreach ($mails->getMails() as $mail) { MailPage::showShortMail($mail); } break; case "Unread": //@deprecated non ce n'รจ bisogno... $inbox = MailManager::loadDirectoryFromName(MAILBOX, self::$user); header("location: " . FileManager::appendToRootPath("Directory/" . $inbox->getID())); break; case "New": require_once 'mail/MailPage.php'; MailPage::showNewDirectoryForm(); break; case "Search": default: require_once 'search/SearchPage.php'; SearchPage::showMailSearchForm(); break; } }