ulogin с подтверждением по почте

#1 30 октября 2016 в 23:52
Доброй ночи. Решил поделиться одной правкой компонента. Пришлось мне его править так как для заказчика требуется чтобы можно было зарегистрироваться на его сайте в т.ч. и через соц сеть, но с подтверждением по email.
Всё очень даже просто, после строки приблизительно 253:
  1. $users_model = cmsCore::getModel('users');
вставляем вот такой блок кода:
  1. $auth = cmsCore::getController('auth');
  2. if ($auth->options['verify_email']){
  3. $CMSuser = array_merge($CMSuser, array(
  4. 'is_locked' => true,
  5. 'lock_reason' => LANG_REG_CFG_VERIFY_LOCK_REASON,
  6. 'pass_token' => string_random(32, $CMSuser['email']),
  7. 'date_token' => ''
  8. ));
  9. }
Дальше ищем строку 270:
  1. cmsEventsManager::hook('user_registered', $CMSuser);
и заменяем её вот этим кодом:
  1. if ($auth->options['verify_email']){
  2.  
  3. $messenger = cmsCore::getController('messages');
  4. $to = array('email' => $CMSuser['email'], 'name' => $CMSuser['nickname']);
  5. $letter = array('name' => 'reg_verify');
  6.  
  7. $messenger->sendEmail($to, $letter, array(
  8. 'nickname' => $CMSuser['nickname'],
  9. 'page_url' => href_to_abs('auth', 'verify', $CMSuser['pass_token']),
  10. 'valid_until' => html_date(date('d.m.Y H:i', time() + ($this->options['verify_exp'] * 3600)), true),
  11. ));
  12.  
  13. cmsUser::addSessionMessage(sprintf(LANG_REG_SUCCESS_NEED_VERIFY, $CMSuser['email']), 'info');
  14.  
  15. } else {
  16.  
  17. cmsEventsManager::hook('user_registered', $CMSuser);
  18.  
  19. }
Готово smile!!!
Демо здесь.
#2 31 октября 2016 в 10:51
Вопрос от чайника.
А можно по подробнее? В каком файле это все делать?
#3 31 октября 2016 в 12:27
И какая версия ulogin ?
P/S Очень хорошее дополнение!
#4 31 октября 2016 в 13:07
тоже от чайника вопрос) где править)
#5 31 октября 2016 в 14:45
Правка по пути /system/controlers/ulogin/actions/ulogin.php версия движка 2.5.1 версию компонента в течении пары часиков напишу
#6 1 ноября 2016 в 01:08


Правка по пути /system/controlers/ulogin/actions/ulogin.php версия движка 2.5.1 версию компонента в течении пары часиков напишу

Михаил

нет такого файла — есть login.php
#7 1 ноября 2016 в 20:39

нет такого файла — есть login.php

Владимир
да всё верно, login.php на версии делал 2.0.5. Думаю на других так же будет или почти так
#8 1 ноября 2016 в 22:58

да всё верно, login.php на версии делал 2.0.5. Думаю на других так же будет или почти так

Михаил
Спасибо!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.