/** * Get array of Message objects * * @param MessageFilter $filter * @param MysqlPager $pager * @param bool $headersOnly * @return array */ public function getMessages(MessageFilter $filter = null, MysqlPager $pager = null, $headersOnly = true, $cacheMinutes = 0) { if ($filter === null) { $filter = new MessageFilter($headersOnly); } $sqlQuery = $filter->getSQL(); if ($pager !== null) { $this->query = $pager->executePagedSQL($sqlQuery, $cacheMinutes); } else { $this->query->exec($sqlQuery, $cacheMinutes); } $messages = array(); if ($this->query->countRecords()) { foreach ($this->query->fetchRecords() as $message) { $messages[] = new Message(); $i = count($messages) - 1; $messages[$i]->setId($message["id"]); $messages[$i]->read = $message["read"]; $messages[$i]->sender = $message["sender"]; $messages[$i]->subject = $message["subject"]; $messages[$i]->date = date(DEFAULT_DATETIME_FORMAT, $message["date"]); $messages[$i]->deleted = $message["deleted"]; $messages[$i]->trashed = $message["trashed"]; $messages[$i]->receivers = $this->getReceivers($messages[$i], $cacheMinutes); if (!$headersOnly) { $messages[$i]->message = $message["message"]; } } } return $messages; }
function getLocale() { $locale = array_shift(MessageFilter::getLocales()); return empty($locale) ? DEFAULT_LOCALE : $locale; }