Вход Регистрация
Файл: library/XenForo/Discussion/Definition/Thread.php
Строк: 118
<?php

/**
 * Thread discussion definition.
 *
 * @package XenForo_Discussion
 */
class XenForo_Discussion_Definition_Thread extends XenForo_Discussion_Definition_Abstract
{
    
/**
     * Gets the structure of the discussion record.
     *
     * @return array
     */
    
protected function _getDiscussionStructure()
    {
        return array(
            
'table' => 'xf_thread',
            
'key' => 'thread_id',
            
'container' => 'node_id',
            
'contentType' => 'thread'
        
);
    }

    
/**
     * Gets the message data writer for the given message ID. If no message is given, should return
     * a "new" DW.
     *
     * @param integer $firstMessageId
     * @param constant $errorHandler DW error handler constant (usually parent DW's error handler)
     *
     * @return XenForo_DataWriter_DiscussionMessage
     */
    
public function getFirstMessageDataWriter($firstMessageId$errorHandler)
    {
        
$dw XenForo_DataWriter::create('XenForo_DataWriter_DiscussionMessage_Post'$errorHandler);
        if (
$firstMessageId)
        {
            
$dw->setExistingData($firstMessageId);
        }

        return 
$dw;
    }

    
/**
     * Gets the datawriter for the discussion's container. This DW must implement
     * XenForo_DataWriter_DiscussionContainerInterface. May be false.
     *
     * @param integer $containerId
     * @param constant $errorHandler DW error handler constant (usually parent DW's error handler)
     *
     * @return XenForo_DataWriter|false
     */
    
public function getContainerDataWriter($containerId$errorHandler)
    {
        
$dw XenForo_DataWriter::create('XenForo_DataWriter_Forum'$errorHandler);
        
$dw->setExistingData($containerId);
        return 
$dw;
    }

    
/**
     * Gets the search data handler for this type of discussion.
     *
     * @return XenForo_Search_DataHandler_Abstract|false
     */
    
public function getSearchDataHandler()
    {
        return 
XenForo_Search_DataHandler_Abstract::create('XenForo_Search_DataHandler_Thread');
    }

    
/**
     * Gets the discussion from the update marked with "for update" to ensure that position
     * counters are maintained correctly.
     *
     * @param Zend_Db_Adapter_Abstract $db
     * @param integer $id
     *
     * @return array|false Discussion info or false to use what's in the DW already
     */
    
public function getDiscussionForUpdate(Zend_Db_Adapter_Abstract $db$id)
    {
        return 
$db->fetchRow('
            SELECT *
            FROM xf_thread
            WHERE thread_id = ?
            FOR UPDATE
        '
$id);
    }

}
Онлайн: 0
Реклама