Доброй ночи. Решил поделиться одной правкой компонента. Пришлось мне его править так как для заказчика требуется чтобы можно было зарегистрироваться на его сайте в т.ч. и через соц сеть, но с подтверждением по email.
Всё очень даже просто, после строки приблизительно 253:
$users_model = cmsCore::getModel('users');
вставляем вот такой блок кода:
$auth = cmsCore::getController('auth');
if ($auth->options['verify_email']){
'is_locked' => true,
'lock_reason' => LANG_REG_CFG_VERIFY_LOCK_REASON,
'pass_token' => string_random(32, $CMSuser['email']),
'date_token' => ''
));
}
Дальше ищем строку 270:
cmsEventsManager::hook('user_registered', $CMSuser);
и заменяем её вот этим кодом:
if ($auth->options['verify_email']){
$messenger = cmsCore::getController('messages');
$to = array('email' => $CMSuser['email'], 'name' => $CMSuser['nickname']); $letter = array('name' => 'reg_verify');
$messenger->sendEmail($to, $letter, array( 'nickname' => $CMSuser['nickname'],
'page_url' => href_to_abs('auth', 'verify', $CMSuser['pass_token']),
'valid_until' => html_date
(date('d.m.Y H:i', time() + ($this->options['verify_exp'] * 3600)), true), ));
cmsUser
::addSessionMessage(sprintf(LANG_REG_SUCCESS_NEED_VERIFY
, $CMSuser['email']), 'info');
} else {
cmsEventsManager::hook('user_registered', $CMSuser);
}
Готово
!!!
Демо
здесь.