XenForo создание топика плагином

августа 19, 2014, seoplayer

Намедни столкнулся с небольшой задачей – программно создать топик на движке XenForo. Собственно скрипт*:

//THREAD DATA
$authorID = 1;
$authorName = 'admin';
$subject = 'test'.time();
$messageText = 'test '.time().' off';
$forumId = 2;
 
//load libs
$fileDir = dirname(__FILE__);
 
require($fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
 
XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);
 
//create thread
$newThread = XenForo_DataWriter::create('XenForo_DataWriter_Discussion_Thread');
$newThread->set('user_id', $authorID);
$newThread->set('username', $authorName);
$newThread->set('title', $subject);
$newFirstPostInThread = $newThread->getFirstMessageDw();
$newFirstPostInThread->set('message', XenForo_Helper_String::autoLinkBbCode($messageText));
$newThread->set('node_id', $forumId);
$newThread->preSave();
 
if (!$newThread->hasErrors())
{
    $newThread->save();
    //get thread id
    $newThread->get('thread_id');
} else {
    //fix some error
}

* – Скрипт должен лежать в корне XenForo. При переносе в другую директорию, необходимо изменить директории подключаемых файлов.

Если что непонятно – прошу в комментарии.

В записи нет меток.

Комментировать XenForo создание топика плагином