Agora_Driver::getMessage PHP Method

getMessage() public method

Fetches a message.
public getMessage ( integer $message_id )
$message_id integer The ID of the message to fetch.
    public function getMessage($message_id)
    {
        $message = $this->_cache->get('agora_msg' . $message_id, $GLOBALS['conf']['cache']['default_lifetime']);
        if ($message) {
            return unserialize($message);
        }
        $sql = 'SELECT message_id, forum_id, message_thread, parents, ' . 'message_author, message_subject, body, message_seq, ' . 'message_timestamp, view_count, locked, attachments FROM ' . $this->_threads_table . ' WHERE message_id = ?';
        try {
            $message = $this->_db->selectOne($sql, array($message_id));
        } catch (Horde_Db_Exception $e) {
            throw new Agora_Exception($e->getMessage());
        }
        if (empty($message)) {
            throw new Horde_Exception_NotFound(sprintf(_("Message ID \"%d\" not found"), $message_id));
        }
        $message['message_subject'] = $this->convertFromDriver($message['message_subject']);
        $message['body'] = $this->convertFromDriver($message['body']);
        if ($message['message_thread'] == 0) {
            $message['message_thread'] = $message_id;
        }
        /* Is author a moderator? */
        if (isset($this->_forum['moderators']) && in_array($message['message_author'], $this->_forum['moderators'])) {
            $message['message_author_moderator'] = 1;
        }
        $this->_cache->set('agora_msg' . $message_id, serialize($message));
        return $message;
    }