Авторизация


Во-первых, зачем это может понадобиться? Представьте ситуацию: корпоративные сайт со специфическими задачами, количество пользователей - до нескольких сотен человек. Регистрацию этих пользователей выполняет администратор сайта, самостоятельная регистрация на сайте специально отключена, чтобы отсечь чужих.




Для того, чтобы администратору не нужно было создавать множество почтовых ящиков, на которые только придут подтверждения о регистрации и чтобы проще было управлять этими пользователями. Вот поэтому и возник вопрос: "Как отменить проверку уникальности e-mail при регистрации на сайте, сделанном на Jommla?"

 

Законным путем - никак, только вмешательством в код CMS.

1. Откройте в редакторе файл libraries/joomla/database/table/user.php и закомментируйте последние 3 строки из приведенного ниже блока.

 

(Внимание! По умолчанию код проверки e-mail на уникальность расположен на 182-193 строках для Joomla 1.5)

 

// check for existing email
$query = 'SELECT id'
. ' FROM #__users '
. ' WHERE email = '. $this->_db->Quote($this->email)
. ' AND id != '. (int) $this->id
;
$this->_db->setQuery( $query );
$xid = intval( $this->_db->loadResult() );
/* if ($xid && $xid != intval( $this->id )) { Отключили проверку e-mail на уникальность
$this->setError( JText::_( 'WARNREG_EMAIL_INUSE' ) );
return false;
} Отключили проверку e-mail на уникальность */




 

2. Можно также запретить восстановление пароля, а то ваш почтовый ящик будет завален "левыми" запросами.

/* if ((trim($this->email) == "") || ! JMailHelper::isEmailAddress($this->email) ) {
$this->setError( JText::_( 'WARNREG_MAIL' ) );
return false;
} */

Выполнять или не выполнять этот второй пункт - решайте сами, т.к. восстановление пароля для пользователя отключится у всех, даже у администраторов :)

 



Вконтакте
Facebook
Яндекс.Метрика