Создание новых тем через mysql

Статус
В этой теме нельзя размещать новые ответы.

sigmalion

Проверенные
Сообщения
85
Реакции
1
Баллы
3,310
Добрый день, подскажите, как можно создавать новые темы через Mysql запросы?
 
Для форумов типа булки делал так
Создавал скрипт, который берет из текстового файла, заголовок, ид пользователя, ид раздела и текст, и вставляет это всё в бд
Сам скрипт вешается на хрон, запускается каждые n-минут
 
Для форумов типа булки делал так
Создавал скрипт, который берет из текстового файла, заголовок, ид пользователя, ид раздела и текст, и вставляет это всё в бд
Сам скрипт вешается на хрон, запускается каждые n-минут
Даже на булке создание тем и сообщений идет через апи датаменеджера. Тут точно такой же подход:
PHP:
$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();
}
PHP:
$newPost = XenForo_DataWriter::create('XenForo_DataWriter_DiscussionMessage_Post');
$newPost->set('user_id', $userId);
$newPost->set('username', $userName);
$newPost->set('message', XenForo_Helper_String::autoLinkBbCode($messageText));
$newPost->set('thread_id', $threadId);
$newPost->preSave();
if (!$newPost->hasErrors())
{
    $newPost->save();
}
 
OFFTOP


хрен. Это будет точнее к совершаемому действию.

Программное создание тем и сообщений на форуме
для неверующих
Ах да, извиняюсь что ссылку впихнул

Код:
<?php
$startTime = microtime(true);
$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);

$deps = new XenForo_Dependencies_Public();
$deps->preLoadData();

//Если нужен какой-нить класс модели
$threadModel = XenForo_Model::create('XenForo_Model_Thread');

//Если нужен DataWriter
  $dw = new XenForo_DataWriter_User();

$authorID = 1;
$authorName = 'test';
$subject = 'Заголовок';
$messageText = '
Поле с сообщением
   Поле с сообщением
   Поле с сообщением
   Поле с сообщением
   Поле с сообщением
   Поле с сообщением
   
';
$forumId = 61;
 
$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();
}?>
 
Последнее редактирование:
Я делал через ThemaPoster (софт), покупал лет пять назад, и валялся он у меня без толку, а в начале года попробовал его приспособить для такой же цели на phpbb, сработало. Прога у меня висела свернутой и создавала темы из заранее подготовленного большого списка в нужное время по расписанию, в конкретных разделах, вроде даже от имени выбранного юзера, сейчас уже не помню. Заполняет в том числе и краткое описание, и теги. Правда, она 30 баксов стоит. По идее любой подобный софт можно приспособить.

Не совсем через mysql, да и комп надо включенным держать, зато нет риска что-нибудь напортачить.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу