Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 411 Просмотров
*

pro-portal

  • Новичок
  • 2
  • 0 / 0
Приветствую. Пытаюсь программно зарегистрировать пользователя в Joomla 5
Код
<?php define( '_JEXEC', 1 );
define('JPATH_BASE',$_SERVER['DOCUMENT_ROOT']);
require_once JPATH_BASE . '/includes/defines.php';
require_once JPATH_BASE . '/includes/framework.php';

$container = \Joomla\CMS\Factory::getContainer();
$container->alias('session.web', 'session.web.site')
->alias('session', 'session.web.site')
->alias('JSession', 'session.web.site')
->alias(\Joomla\CMS\Session\Session::class, 'session.web.site')
->alias(\Joomla\Session\Session::class, 'session.web.site')
->alias(\Joomla\Session\SessionInterface::class, 'session.web.site');
$app = $container->get(\Joomla\CMS\Application\SiteApplication::class);
\Joomla\CMS\Factory::$application = $app;
\JLoader::register('JNamespacePsr4Map', JPATH_LIBRARIES . '/namespacemap.php');
(new \JNamespacePsr4Map)->load();
$app->createExtensionNamespaceMap();
use \Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
use \Joomla\CMS\User\User;
use \Joomla\CMS\User\UserHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Factory;

//создаем пользователя
          $user = new User();
          $data = array();
          $data['username'] = 'test';
          $data['name'] = 'test';
          $data['password'] = 'test';
          $data['password2'] = 'test';
          $data['email'] = 'mail@mail.ru';
          $data['sendEmail'] = 1;
          $data['requireReset'] = 0;
          $user->bind($data);
          $user->save();
          UserHelper::addUserToGroup($user->id, 2);
но при этом возникает ошибка (показал на скрине). На этапе
Код
$user->save();
что-то идет не так... А вот что именно, я понять не могу.

Проблема эта в Joomla 5, в Joomla 4 работает...
Заранее огромное спасибо!
*

pro-portal

  • Новичок
  • 2
  • 0 / 0
Так и не разобрался с
Код
$user->save();
сделал по другому

Код
$db = Factory::getContainer()->get('DatabaseDriver');

//создаем пользователя
$p = new stdClass();
$p->id = $db->insertid();
$p->username = (string)$username;
$p->name = (string)$name;
$p->password = (string)md5($pass);
$p->password2 = (string)md5($pass);
$p->email = 'mail@mail.ru';
$p->sendEmail = 1;
$p->requireReset = 0;
$p->registerDate = date('Y-m-d H:i:s');
$p->params = '{"admin_style":"","admin_language":"","language":"","editor":"","timezone":"","a11y_mono":"0","a11y_contrast":"0","a11y_highlight":"0","a11y_font":"0"}';
$result = $db->insertObject('#__users', $p);
$id = $db->insertid();

$g = new stdClass();
$g->user_id = $id;
$g->group_id = 2; //группа пользователя (2 - Registered)
$result = $db->insertObject('#__user_usergroup_map', $g);
и если нужно, сразу его авторизируем
Код
    $credentials = array('username'=>(string)$username, 'password'=>(string)$pass);
    $options = array('remember'=>true);
    Factory::getApplication()->login($credentials, $options); 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка обновления с 4.3.4 до 4.4.4

Автор Greycardinal

Ответов: 6
Просмотров: 286
Последний ответ 23.04.2024, 18:59:42
от phvsfpgs
Баг с обновлением Joomla ‎4.4.4 и 5.1.0‎

Автор phvsfpgs

Ответов: 4
Просмотров: 267
Последний ответ 22.04.2024, 19:47:21
от phvsfpgs
Большая нагрузка на сервер после переноса на Joomla 4

Автор Lovenokia

Ответов: 3
Просмотров: 249
Последний ответ 18.04.2024, 14:57:52
от web1
Joomla 4.4.4

Автор web1

Ответов: 0
Просмотров: 183
Последний ответ 17.04.2024, 12:44:21
от web1
Ошибка при установке VirtueMart в меню

Автор Северянин23

Ответов: 4
Просмотров: 523
Последний ответ 16.04.2024, 11:56:34
от aleksvert