Новости Joomla

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

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); 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 5 блокирует видео

Автор web3.0

Ответов: 1
Просмотров: 176
Последний ответ 12.05.2024, 22:58:41
от phvsfpgs
RSFirewall нашел в Joomla 4 какой-то подозрительный файл

Автор web1

Ответов: 11
Просмотров: 924
Последний ответ 09.05.2024, 22:42:01
от Hologram
Ошибка авторизации smtp Gmail в Joomla 5

Автор romanvasilyev

Ответов: 44
Просмотров: 606
Последний ответ 03.05.2024, 19:15:35
от web1
Ошибка обновления с 4.3.4 до 4.4.4

Автор Greycardinal

Ответов: 8
Просмотров: 474
Последний ответ 01.05.2024, 16:53:17
от Greycardinal
Проблема с ссылками и картинками Joomla ‎4.4.4 и 5.1.0‎ [Решено]

Автор phvsfpgs

Ответов: 5
Просмотров: 425
Последний ответ 29.04.2024, 23:41:59
от phvsfpgs