Небольшая заметка о том как выполнить программную регистрацию пользователя в CMS Joomla

Бывают случаи что нам необходимо написать свою прослойку для регистрации пользователя! Например мы хотим сделать AJAX регистрацию и отдавать определенные ответы при ошибках, стандартный компонент для этого не подойдет так как он работает немножко по другому, и лучше написать свой небольшой компонент в котором будет реализована регистрация чем править код CMS!

Возможно нужно сделать импорт пользователей из одной CMS в другую, или массовое создание определенных пользователей!

 

Итак регистрация выполняется очень просто буквально в четыре строки кода:

Для начала нам нужно создать массив с данными нового пользователя:

$userData = array( 'name' => 'Имя нового пользователя',
	'username' => 'Логин нового пользователя',
	'password' => 'Пароль',
	'password2' => 'Пароль', //в этом поле должно быть подтверждение пароль
	'email' => 'E-mail пользователя',
	'groups' => array( 2 ) // в массиве через запятую перечисляют идентификаторы групп в которых состоит пользователь
);

 

Далее мы создаем объект класса JUser:

$user = new JUser;

 

Заносим данные:

$user->bind( $userData );

 

И сохраняем пользователя:

$user->save();

Метод $user->save(); вернет true если пользователь успешно зерегестрирован, и false в случае ошибки регистрации

 

Полный код нашего скрипта:

$user = new JUser;
$userData = array( 'name' => 'Вася Пупкин',
	'username' => 'VasyaPupkin',
	'password' => 'passord1234',
	'password2' => 'passord1234',
	'email' => 'vasyapupkin@inet-reklama.com',
	'groups' => array( 2 )
);
$user->bind( $userData );
if ( $user->save() ) {
	echo 'Пользователь ' . $user->username . ' успешно зарегестрирован!';
}