Как правильно инициализировать среду XenForo и создать пользователя?

0

Я пытаюсь создать нового пользователя XenForo в PHP.

Я использую этот пример кода:

$newusername = "Joseph";
$newpassword = "12345";
$newemail = "[email protected]";

$fileDir = "/home/myfullpath/public_html/members/xenforo";


require( $fileDir . '/library/XenForo/Autoloader.php');
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');

$startTime = microtime(true);
XenForo_Autoloader::initialize($fileDir . '/library', $fileDir);
XenForo_Autoloader::set('page_start_time', $startTime);
// XenForo_Application::disablePhpErrorHandler();

// create new user
$writer = XenForo_DataWriter::create('XenForo_DataWriter_User');

// set all the values  
$writer->set('username', $newusername);
$writer->set('email', $newemail);
$writer->setPassword($newpassword, $newpassword);
$writer->set('user_group_id', XenForo_Model_User::$defaultRegisteredGroupId);

// save user
$result = $writer->save();
echo $result;

Проблема в том, что я получаю эту ошибку:

Fatal error: Call to undefined method XenForo_Autoloader::initialize() in /home/myfullpath/public_html/members/signup/create-user.php on line 13

Строка 13:

XenForo_Autoloader::initialize($fileDir . '/library', $fileDir);

Я проверил файл Autoloader.php и не смог найти метод инициализации, поэтому не сомневаюсь, что говорит мне PHP.

Как вы собираетесь загружать среду XenForo, чтобы создать нового пользователя? Они обновили его в недавнем обновлении или что-то в этом роде?

Теги:
forum
xenforo

1 ответ

1
Лучший ответ

Я нашел проблему с кодом...

Я должен настроить таргетинг на метод XenForo_Application, а не XenForo_Autoloader...

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);
XenForo_Application::setDebugMode(true);
XenForo_Application::disablePhpErrorHandler();
  • 0
    Можете ли вы выбрать свой собственный ответ как правильный, если он действителен? Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню