function testDirectory() { $data = $this->mail_data; $mail = MailManager::createMail($data); $dir = MailManager::createDirectory($this->dir_name, $this->author_id); //echo "<p>" . $mail . "<br />" . $dir . "</p>"; //DEBUG if ($dir == null || $dir === false) { return "<br />Directory test NOT PASSED: not created"; } if ($dir->getOwner() != $this->author_id) { return "<br />Directory test NOT PASSED: owner"; } if ($dir->getName() != $this->dir_name) { return "<br />Directory test NOT PASSED: name"; } $dir2 = MailManager::loadDirectory($dir->getID()); //echo "<p>" . $dir . "<br />" . $dir2 . "</p>"; //DEBUG if ($dir2 === false) { return "<br />Directory test NOT PASSED: not saved"; } if ($dir->getOwner() != $dir2->getOwner()) { return "<br />Directory test NOT PASSED: not saved owner"; } if ($dir->getName() != $dir2->getName()) { return "<br />Directory test NOT PASSED: not saved name"; } $dir = MailManager::addMailToDir($mail, $dir); $dir2 = MailManager::loadDirectory($dir->getID()); //echo "<p>" . $dir . "<br />" . $dir2 . "</p>"; //DEBUG if ($dir2 === false) { return "<br />Directory test NOT PASSED: not updated"; } if ($dir->getMails() != $dir2->getMails()) { return "<br />Directory test NOT PASSED: not updated mails"; } $dir = MailManager::editDirectory($dir, $this->dir_name2); $dir2 = MailManager::loadDirectory($dir->getID()); //echo "<p>" . $dir . "<br />" . $dir2 . "</p>"; //DEBUG if ($dir2 === false) { return "<br />Directory test NOT PASSED: not updated"; } if ($dir->getName() != $dir2->getName()) { return "<br />Directory test NOT PASSED: not updated name"; } return "<br />Directory test passed"; }
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; }