Новости Joomla

Вышел релиз Joomla 6.2

Релиз Joomla 6.2.0

Проект Joomla! рад сообщить о выходе новой минорной версии — Joomla 6.2 (кодовое имя Mwezi).

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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
По умолчанию Joomla позволяет два способа активации учетной записи: автоматически и посредством перехода по ссылке в письме, отправляемом на e-mail зарегистрированного пользователя.

Однако, иногда требуется, с одной стороны не запрещать регистрацию пользователей на сайте, а с другой стороны нужно утверждение учетных записей администратором. При этом, чтобы зарегистрированный пользователь мог зайти на сайт только после активации учетной записи администратором, а не сразу после регистрации.

Для этого немного модифицируем компонент регистрации пользователей.  Открываем файл /components/com_registration/registration.php, находим в нем следующую строку:

	
$row->gid 
	
	
= 
$acl->get_group_id( 'Registered', 'ARO' );


и добавляем сразу же после нее:

	
$row->block = '1';


Эта строчка сделает всех зарегистрированных пользователей заблокированными. Т.е. они не смогут авторизоваться на сайте до тех пор, пока администратор в административной панели не снимет флаг блокировки с пользователя.

Однако, если на сайте будет включена функция активации по e-mail, блокировка будет сниматься автоматически. Нам же это не нужно, поэтому, мы находим в этом же файле строку:

	
. 
"\n SET block = 0, activation = ''"


и заменяем ее на:

	
. 
"\n SET activation = ''"


Т.е. ключ активации будет сбрасываться, а блокировка - нет. Таким образом с одной строны пользователю при регистрации все-таки нужен будет рабочий e-mail адрес, а с другой стороны автоматчиески он не разблокируется. Единственное что требуется, это в тексте письма об активации (константа _USEND_MSG_ACTIVATE в языковом файле, расположенном в папке /languages) надо добавить пару строк о том, что после активации необходимо дождаться утверждения учетной записи администратором.

В принципе, можно еще добавить отправку пользователю письма об утверждении учетной записи. Для этого необходимо открыть файл /administrator/components/com_user/admin.users.php, найти в нем строчки:

	
// if action is to block a user
	
if ( 
$block == 1 ) {
	
	
foreach( 
$cid as $id ) {
	
	
// delete user acounts active sessions
	
	
	
logoutUser( $id, 'com_users', 'block' );
	
	
}
	
}


и заменить на следующие:

	
// if action is to block a user
	
if ( 
$block == 1 ) {
	
	
foreach( 
$cid as $id ) {
	
	
// delete user acounts active sessions
	
	
	
logoutUser( $id, 'com_users', 'block' );
	
	
}
	
} else {
	
	
global 
$mosConfig_mailfrom, $mosConfig_fromname;
	
	

	
	
$database->setQuery( "SELECT email FROM #__users WHERE ( $cids )" );
	
	
$users = $database->loadObjectList();

	
	
$subj = 'Account is approved';
	
	
$msg = 'Congratulations, your account is approved!';

	
	
foreach( 
$users as $u ) {
	
	
	
mosMail($mosConfig_mailfrom, $mosConfig_fromname, $u->email, $subj, $msg);
	
	
}
	
}


Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как разрешить использование дефиса в логинах пользователей?

Автор smart

Ответов: 0
Просмотров: 17855
Последний ответ 28.12.2006, 11:17:06
от smart
После импорта таблицы не видно пользователей

Автор vovs

Ответов: 1
Просмотров: 18109
Последний ответ 02.05.2006, 22:56:41
от smart