1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Создание ресурса через базу

Тема в разделе "Основные вопросы по XenForo", создана пользователем gib130, 29.05.2015.

Загрузка
  1. gib130

    gib130 Местный

    Регистрация:
    07.01.12
    Сообщения:
    159
    Симпатии:
    209
    Версия XF:
    1.1.4
    Собственно, интересно, занимался ли кто-нибудь таким? После создания ресурса информация о нём заносится как минимум в 3 таблицы насколько я понял, буду благодарен за дополнительную информацию, цель автоматизировать всё это дело, информация для заполнения имеется и хотелось бы узнать ваше мнение, делать этот напрямую в базу или с использованием какого-нибудь selenium'a имитацией действий пользователя.
     
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Напишите нормальный плагин, который будет использовать штатные классы и методы создания ресурса. Все остальное - велосипедостроение, которое развалится, как карточный домик, при малейшем чихе.
     
    Kolya groza morey нравится это.
  3. gib130

    gib130 Местный

    Регистрация:
    07.01.12
    Сообщения:
    159
    Симпатии:
    209
    Версия XF:
    1.1.4
    Пытался использовать DataWrtier, но т.к. я впервые имею с ним дело мне не совсем понятно, как туда должны передаваться данные, на том же официальном форуме были небольшие примеры лишь с созданием тем.Вот до чего я дошёл, плагин тут городить смысла нету и поэтому было решено внешним скриптом сделать.
    Код:
    <?php
    $startTime = microtime(true);
    $fileDir = dirname(__FILE__);
    $title = $_GET['title'];
    //вот тут путь возможно придется уточнить, если скрит не в корне
    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();
    
    $writer = XenForo_DataWriter::create('XenResource_DataWriter_Resource');
    $writer -> set('title', 'twtertertert');
    $writer -> set('tag_line', 'twtertertert');
    $writer -> set('user_id', '1');
    $writer -> set('username', 'Administrator');
    $writer -> set('resource_category_id', '2');
    /*$writer->bulkSet(array(
    'title' => 'twtertertert',
    'tag_line' => 'twtertertert',
    'user_id' => '1',
    'username' => 'Administrator',
    'resource_category_id' => '2'
    ));*/
            $writer->save();
        ?>    
    Выводит он достаточно странную ошибку, An exception occurred: Please enter a valid title library/XenForo/DataWriter.php on line 1345
    Странная она потому, что без махинаций с datawriter'om такой ресурс можно создать, значит тут проблемы с передачей параметров?
     

Поделиться этой страницей