Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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";
 }
Exemplo n.º 3
0
 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;
     }
 }