Agora_Driver::_lastInThread PHP Метод

_lastInThread() приватный Метод

Update lastMessage in Thread
private _lastInThread ( integer $thread_id, integer $message_id, string $message_author = '', integer $message_timestamp )
$thread_id integer Thread to update
$message_id integer Last message id
$message_author string Last message author
$message_timestamp integer Last message timestamp
    private function _lastInThread($thread_id, $message_id = 0, $message_author = '', $message_timestamp = 0)
    {
        /* Get the last message in form or thread - when managing threads */
        if ($message_id == 0) {
            $sql = $this->_db->addLimitOffset('SELECT message_id, message_author, message_timestamp FROM ' . $this->_threads_table . ' WHERE message_thread = ' . (int) $thread_id . ' ORDER BY message_id DESC', array('limit' => 1));
            try {
                $last = $this->_db->selectOne($sql);
            } catch (Horde_Db_Execution $e) {
                throw new Agora_Exception($e->getMessage());
            }
            if (!empty($last)) {
                extract($last);
            }
        }
        $sql = 'UPDATE ' . $this->_threads_table . ' SET last_message_id = ?, last_message_author = ?, message_modifystamp = ? WHERE message_id = ?';
        $values = array($message_id, $message_author, $message_timestamp, $thread_id);
        try {
            $this->_db->execute($sql, $values);
        } catch (Horde_Db_Execution $e) {
            throw new Agora_Exception($e->getMessage());
        }
    }