public function testSetId() { $msg = new Message(); $msg->setId('foo'); $this->assertEquals('foo', $msg->getId()); $this->assertEquals(['apns-id' => 'foo'], $msg->getMessageHeaders()); }
public function testSetGet() { $now = new \DateTime(); $testCase = ['id' => 123, 'level' => 2, 'subject' => 'TEST SUBJECT', 'message' => 'TEST MESSAGE', 'source' => 'TEST_SOURCE', 'dateCreated' => $now, 'dateCreatedString' => $now->format(\DateTime::ISO8601)]; $unit = new Message(); $unit->setId($testCase['id']); $this->assertEquals($testCase['id'], $unit->getId()); $unit->setLevel(0); $this->assertEquals(Message::LEVEL_DEFAULT, $unit->getLevel()); $unit->setLevel($testCase['level']); $this->assertEquals($testCase['level'], $unit->getLevel()); $unit->setSubject($testCase['subject']); $this->assertEquals($testCase['subject'], $unit->getSubject()); $unit->setMessage($testCase['message']); $this->assertEquals($testCase['message'], $unit->getMessage()); $unit->setSource(''); $this->assertNull($unit->getSource()); $unit->setSource($testCase['source']); $this->assertEquals($testCase['source'], $unit->getSource()); $unit->setDateCreated(null); $this->assertNull($unit->getDateCreatedString()); $unit->setDateCreated($testCase['dateCreated']); $this->assertEquals($testCase['dateCreated'], $unit->getDateCreated()); $unit->setDateCreatedString($testCase['dateCreatedString']); $this->assertEquals($testCase['dateCreatedString'], $unit->getDateCreatedString()); $this->assertEquals($testCase['id'], $unit->toArray()['id']); $this->assertTrue(is_array($unit->toArray())); }
/** * Transforms an object into an elastica object * * @param \Message $message the object to convert * @param array $fields the keys we want to have in the returned array * * @return Document **/ public function transform($message, array $fields = array()) { $data = array('content' => $message->getContent()); $document = new Document($message->getId(), $data); $document->setParent($message->getGroup()->getId()); return $document; }
/** * @param Message $message * @return Boolean */ public function has(Message $message) { if (!$this->hasDomain($message->getDomain())) { return false; } return $this->getDomain($message->getDomain())->has($message->getId()); }
public function testMessageConstructorWithString() { $message = new Message('test'); $this->assertSame(['body' => 'test'], $message->getData()); $this->assertSame([], $message->getMetadata()); $this->assertNull($message->getId()); $this->assertNull($message->getPriority()); $this->assertNull($message->getDelay()); }
public function delete(Message $message) { $id = $message->getId(); $query = 'DELETE FROM message WHERE id = ' . $id; $res = $this->db->exec($query); if ($res) { return true; } else { throw new Exception('Error 07 : Database error'); } }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param Message $value A Message object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(Message $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
/** * Removes a finished message from the queue. * * @param Message $message The message to remove. * * @return boolean Whether the message has been sucessfully removed. */ public function remove(Message $message) { $this->executeStatement($this->removeMessageStatement, [$message->getId()]); return $this->removeMessageStatement->rowCount() != 0; }
/** * Update one Message in the database * * @author Jonathan Sandoval <*****@*****.**> * @param Message $Message The Message to update * @return boolean If was possible to update */ static function updateMessage($Message = null) { if ($Message === null) { return false; } $tableMessage = DatabaseManager::getNameTable('TABLE_MESSAGE'); $id = $Message->getId(); $seen = $Message->getSeen(); $query = "UPDATE {$tableMessage}\r\n SET seen = {$seen}\r\n WHERE {$tableMessage}.id = {$id}"; return DatabaseManager::singleAffectedRow($query); }
function lookup($id, $tid = 0, $type = 'M') { return $id && is_numeric($id) && ($m = new Message($id, $tid)) && $m->getId() == $id ? $m : null; }
public function testGetSetId() { $message = new Message(); $message->setId(1); $this->assertEquals(1, $message->getId()); }
/** * Log information related to a message in the database. * * @param Message $message Message containing the log. * @param string $log The log to store. * * @return bool PDO execution status. */ public function log(Message $message, $log) { $mid = $message->getId(); if (empty($mid) || !is_int($mid)) { throw new \InvalidArgumentException('Could log into this message because its ID is empty or invalid'); } $sql = 'UPDATE ' . self::TABLE_MESSAGE . ' SET log = :log WHERE id_message = :id'; $sth = $this->getDb()->prepare($sql); $sth->bindValue(':id', $mid, \PDO::PARAM_INT); $sth->bindValue(':log', $log); return $sth->execute(); }
/** * Lets the user compose a message and send it. */ public function write_action() { PageLayout::setTitle(_("Neue Nachricht schreiben")); //collect possible default adressees $this->to = array(); $this->default_message = new Message(); if (Request::username("rec_uname")) { $user = new MessageUser(); $user->setData(array('user_id' => get_userid(Request::username("rec_uname")), 'snd_rec' => "rec")); $this->default_message->receivers[] = $user; } if (Request::getArray("rec_uname")) { foreach (Request::usernameArray("rec_uname") as $username) { $user = new MessageUser(); $user->setData(array('user_id' => get_userid($username), 'snd_rec' => "rec")); $this->default_message->receivers[] = $user; } } if (Request::option("group_id")) { $this->default_message->receivers = array(); $group = Statusgruppen::find(Request::option("group_id")); if ($group['range_id'] === $GLOBALS['user']->id || $GLOBALS['perm']->have_studip_perm("autor", $group['range_id'])) { foreach ($group->members as $member) { $user = new MessageUser(); $user->setData(array('user_id' => $member['user_id'], 'snd_rec' => "rec")); $this->default_message->receivers[] = $user; } } } if (Request::get('inst_id') && $GLOBALS['perm']->have_perm('admin')) { $query = "SELECT user_id FROM user_inst WHERE Institut_id = ? AND inst_perms != 'user'"; $this->default_message->receivers = DBManager::get()->fetchAll($query, array(Request::option('inst_id')), 'MessageUser::build'); } if (Request::get("filter") && Request::option("course_id")) { $course = new Course(Request::option('course_id')); if ($GLOBALS['perm']->have_studip_perm("tutor", Request::option('course_id')) || $course->getSemClass()['studygroup_mode']) { $this->default_message->receivers = array(); if (Request::get("filter") === 'claiming') { $cs = CourseSet::getSetForCourse(Request::option("course_id")); if (is_object($cs) && !$cs->hasAlgorithmRun()) { foreach (AdmissionPriority::getPrioritiesByCourse($cs->getId(), Request::option("course_id")) as $user_id => $p) { $this->default_message->receivers[] = MessageUser::build(array('user_id' => $user_id, 'snd_rec' => 'rec')); } } } else { $params = array(Request::option('course_id'), Request::option('who')); switch (Request::get("filter")) { case 'send_sms_to_all': $query = "SELECT b.user_id,'rec' as snd_rec FROM seminar_user a, auth_user_md5 b WHERE a.Seminar_id = ? AND a.user_id = b.user_id AND a.status = ? ORDER BY Nachname, Vorname"; break; case 'all': $query = "SELECT user_id,'rec' as snd_rec FROM seminar_user LEFT JOIN auth_user_md5 USING(user_id) WHERE Seminar_id = ? ORDER BY Nachname, Vorname"; break; case 'prelim': $query = "SELECT user_id,'rec' as snd_rec FROM admission_seminar_user LEFT JOIN auth_user_md5 USING(user_id) WHERE seminar_id = ? AND status='accepted' ORDER BY Nachname, Vorname"; break; case 'awaiting': $query = "SELECT user_id,'rec' as snd_rec FROM admission_seminar_user LEFT JOIN auth_user_md5 USING(user_id) WHERE seminar_id = ? AND status='awaiting' ORDER BY Nachname, Vorname"; break; case 'inst_status': $query = "SELECT b.user_id,'rec' as snd_rec FROM user_inst a, auth_user_md5 b WHERE a.Institut_id = ? AND a.user_id = b.user_id AND a.inst_perms = ? ORDER BY Nachname, Vorname"; break; } $this->default_message->receivers = DBManager::get()->fetchAll($query, $params, 'MessageUser::build'); } } } if (Request::option('prof_id') && Request::option('deg_id') && $GLOBALS['perm']->have_perm('root')) { $query = "SELECT DISTINCT user_id,'rec' as snd_rec\n FROM user_studiengang\n WHERE studiengang_id = ? AND abschluss_id = ?"; $this->default_message->receivers = DBManager::get()->fetchAll($query, array(Request::option('prof_id'), Request::option('deg_id')), 'MessageUser::build'); } if (Request::option('sd_id') && $GLOBALS['perm']->have_perm('root')) { $query = "SELECT DISTINCT user_id,'rec' as snd_rec\n FROM user_studiengang\n WHERE abschluss_id = ?"; $this->default_message->receivers = DBManager::get()->fetchAll($query, array(Request::option('sd_id')), 'MessageUser::build'); } if (Request::option('sp_id') && $GLOBALS['perm']->have_perm('root')) { $query = "SELECT DISTINCT user_id,'rec' as snd_rec\n FROM user_studiengang\n WHERE studiengang_id = ?"; $this->default_message->receivers = DBManager::get()->fetchAll($query, array(Request::option('sp_id')), 'MessageUser::build'); } if (!$this->default_message->receivers->count() && is_array($_SESSION['sms_data']['p_rec'])) { $this->default_message->receivers = DBManager::get()->fetchAll("SELECT user_id,'rec' as snd_rec FROM auth_user_md5 WHERE username IN(?) ORDER BY Nachname,Vorname", array($_SESSION['sms_data']['p_rec']), 'MessageUser::build'); unset($_SESSION['sms_data']); } if (Request::option("answer_to")) { $this->default_message->receivers = array(); $old_message = new Message(Request::option("answer_to")); if (!$old_message->permissionToRead()) { throw new AccessDeniedException("Message is not for you."); } if (!Request::get('forward')) { if (Request::option("quote") === $old_message->getId()) { if (Studip\Markup::isHtml($old_message['message'])) { $this->default_message['message'] = "<div>[quote]\n" . $old_message['message'] . "\n[/quote]</div>"; } else { $this->default_message['message'] = "[quote]\n" . $old_message['message'] . "\n[/quote]"; } } $this->default_message['subject'] = substr($old_message['subject'], 0, 4) === "RE: " ? $old_message['subject'] : "RE: " . $old_message['subject']; $user = new MessageUser(); $user->setData(array('user_id' => $old_message['autor_id'], 'snd_rec' => "rec")); $this->default_message->receivers[] = $user; $this->answer_to = $old_message->id; } else { $messagesubject = 'FWD: ' . $old_message['subject']; $message = _("-_-_ Weitergeleitete Nachricht _-_-"); $message .= "\n" . _("Betreff") . ": " . $old_message['subject']; $message .= "\n" . _("Datum") . ": " . strftime('%x %X', $old_message['mkdate']); $message .= "\n" . _("Von") . ": " . get_fullname($old_message['autor_id']); $num_recipients = $old_message->getNumRecipients(); if ($GLOBALS['user']->id == $old_message->autor_id) { $message .= "\n" . _("An") . ": " . ($num_recipients == 1 ? _('Eine Person') : sprintf(_('%s Personen'), $num_recipients)); } else { $message .= "\n" . _("An") . ": " . $GLOBALS['user']->getFullname() . ($num_recipients > 1 ? ' ' . sprintf(_('(und %d weitere)'), $num_recipients) : ''); } $message .= "\n\n"; if (Studip\Markup::isHtml($old_message['message'])) { $message = '<div>' . htmlReady($message, false, true) . '</div>' . $old_message['message']; } else { $message .= $old_message['message']; } if (count($old_message->attachments)) { Request::set('message_id', $old_message->getNewId()); foreach ($old_message->attachments as $attachment) { $attachment->range_id = 'provisional'; $attachment->seminar_id = $GLOBALS['user']->id; $attachment->autor_host = $_SERVER['REMOTE_ADDR']; $attachment->user_id = $GLOBALS['user']->id; $attachment->description = Request::option('message_id'); $new_attachment = $attachment->toArray(array('range_id', 'user_id', 'seminar_id', 'name', 'description', 'filename', 'filesize')); $new_attachment = StudipDocument::createWithFile(get_upload_file_path($attachment->getId()), $new_attachment); $this->default_attachments[] = array('icon' => GetFileIcon(getFileExtension($new_attachment['filename']))->asImg(['class' => "text-bottom"]), 'name' => $new_attachment['filename'], 'document_id' => $new_attachment->id, 'size' => relsize($new_attachment['filesize'], false)); } } $this->default_message['subject'] = $messagesubject; $this->default_message['message'] = $message; } } if (Request::get("default_body")) { $this->default_message['message'] = Request::get("default_body"); } if (Request::get("default_subject")) { $this->default_message['subject'] = Request::get("default_subject"); } $settings = UserConfig::get($GLOBALS['user']->id)->MESSAGING_SETTINGS; $this->mailforwarding = Request::get('emailrequest') ? true : $settings['request_mail_forward']; if (trim($settings['sms_sig'])) { if (Studip\Markup::isHtml($this->default_message['message']) || Studip\Markup::isHtml($settings['sms_sig'])) { if (!Studip\Markup::isHtml($this->default_message['message'])) { $this->default_message['message'] = '<div>' . nl2br($this->default_message['message']) . '</div>'; } $this->default_message['message'] .= '<br><br>--<br>'; if (Studip\Markup::isHtml($settings['sms_sig'])) { $this->default_message['message'] .= $settings['sms_sig']; } else { $this->default_message['message'] .= formatReady($settings['sms_sig']); } } else { $this->default_message['message'] .= "\n\n--\n" . $settings['sms_sig']; } } NotificationCenter::postNotification("DefaultMessageForComposerCreated", $this->default_message); }
/** * Exclude object from result * * @param Message $message Object to remove from the list of results * * @return MessageQuery The current query, for fluid interface */ public function prune($message = null) { if ($message) { $this->addUsingAlias(MessagePeer::ID, $message->getId(), Criteria::NOT_EQUAL); } return $this; }