HybridAuth - сообщение админу о регистрации
        Скажите пожалуйста, каким образом можно получать сообщения о новом пользователе, захожу в пользователи и вижу, что появляются новые, но никаких сообщений на почту не приходит, а хотелось бы вести статистику регистраций. Есть ли такой функционал в этом дополенении? Большое спасибо.    
    
    
                                                                                
            Комментарии: 22
                Вам нужно написать плагин на событие добавления нового пользователя думается мне, и в этом плагине отправлять уведомление.            
                    
                Код плагина:
                    <?php
switch ($modx->event->name) {
    case 'OnUserSave':
        $tpl = $modx->getOption('emailTpl',$scriptProperties,'tpl.reg_user');
        if ($mode == 'new') {
            $message = $modx->getChunk($tpl,array_merge($user->toArray(),$user->Profile->toArray()));
            $email = $modx->getOption('admin_email');
            
            $modx->getService('mail', 'mail.modPHPMailer');
            $modx->mail->set(modMail::MAIL_BODY,$message);
            $modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');
            $modx->mail->set(modMail::MAIL_FROM_NAME,'Сервис уведомлений');
            $modx->mail->set(modMail::MAIL_SUBJECT,'Новый пользователь');
            $modx->mail->address('to',$email);
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
        }
        break;
}
                Спасибо, я добавила плагин на события OnLoadWebDocument, OnUserSave, может что-то не так делаю, но не приходит письмо с уведомлением регистрации. В самом плагине надо что-то менять, написать где-нибудь свою почту и т.д.? Большое спасибо за помощь.            
                    
                Добавьте системную настройку admin_email с вашей почтой            
                    
                Помимо системной настройки «admin_email» нужен чанк с именем «tpl.reg_user».
Названия настройки и чанка могут быть любыми, только не забудьте их поменять в тексте плагина.
                    Названия настройки и чанка могут быть любыми, только не забудьте их поменять в тексте плагина.
                Спасибо, все сделала, но, увы, опять ничего не приходит. 
Создала системную настройку — ключ — admin_email, Значение — название ящика. Создала чанк tpl.reg_user с сообщением о регистрации, все назвала, как в плагине. Событие повесила на 'OnUserSave'. Плагин включен… В самом плагине ничего не меняла. Регистрирую нового пользователя в другом браузере, пользователь создается, активируется по емайл, появляется в пользователях, но в ящике — молчание… Что еще можно сделать, что бы письмо приходило…? Наверное, что-то все же делаю не так… Большое спасибо за помощь…
                    Создала системную настройку — ключ — admin_email, Значение — название ящика. Создала чанк tpl.reg_user с сообщением о регистрации, все назвала, как в плагине. Событие повесила на 'OnUserSave'. Плагин включен… В самом плагине ничего не меняла. Регистрирую нового пользователя в другом браузере, пользователь создается, активируется по емайл, появляется в пользователях, но в ящике — молчание… Что еще можно сделать, что бы письмо приходило…? Наверное, что-то все же делаю не так… Большое спасибо за помощь…
                Проверьте, работает ли отправка почты с Вашего сайта, с помощью QuickEmail.            
                    
                да, проверила, все работает, письмо отправляется, приходит, и обратная связь и почта, все работает на сайте, кроме плагина… непонятно что с этим делать. Спасибо за помощь…            
                    
                сейчас я вам помогу…
секунду
                    секунду
                joxi.ru/bmobdZ3uq3Ljry
Зайти в плагин и на вкладке системные события поставить галочку у OnUserSave и конечно не забыть сохранить.
                    Зайти в плагин и на вкладке системные события поставить галочку у OnUserSave и конечно не забыть сохранить.
                да-да, это я сразу сделала            
                    
                Вручную укажите значения. Например:
                    $message = 'Message content';
$email = 'your@email.';
                нет, и так не работает… ох            
                    
                Сразу после 
Сам плагин рабочий, скопирован с действующего проекта.
                    case 'OnUserSave':$modx->log(1,'Плагин уведомления о новом пользователе запущен');Сам плагин рабочий, скопирован с действующего проекта.
                Появляются вот такие строки в журнале — 
[2015-04-29 14:43:36] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:36] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:52] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:52] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен
ERROR @ /index.php — это и говорит об ошибке?
                    [2015-04-29 14:43:36] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:36] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:52] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен
[2015-04-29 14:43:52] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен
ERROR @ /index.php — это и говорит об ошибке?
                Это говорит только о том, что сообщение выводится на уровне ошибок.
Измените строку:
                    Измените строку:
$modx->log(1,'Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: '.$mode);
                Изменила. Вот такая история в логе:
[2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Could not get table class for class: modAccess
[2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Could not get table name for class: modAccess
[2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `modAccess` WHERE `modAccess`.`principal` = 48' at line 1
)
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: new
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) An error occurred while trying to send the email: Неверный адрес отправителя: noreply@from.ru: MAIL FROM command failed,553,5.7.1 Sender address rejected: not owned by auth user.
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:16:01] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:16:01] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
            
                    [2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Could not get table class for class: modAccess
[2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Could not get table name for class: modAccess
[2015-04-29 15:15:08] (ERROR @ /connectors/index.php) Error 42000 executing statement:
Array
(
[0] => 42000
[1] => 1064
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS `modAccess` WHERE `modAccess`.`principal` = 48' at line 1
)
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: new
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) An error occurred while trying to send the email: Неверный адрес отправителя: noreply@from.ru: MAIL FROM command failed,553,5.7.1 Sender address rejected: not owned by auth user.
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:15:31] (ERROR @ /assets/components/office/action.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:16:01] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
[2015-04-29 15:16:01] (ERROR @ /index.php) Плагин уведомления о новом пользователе запущен. Режим изменения пользователя: upd
                увы, дальше не знаю куда копать, не приходит письмо… Очень надеюсь на помощь… Спасибо огромное            
                    $modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');Поставьте реальный адрес отправителя.
                Супер! Огромное спасибо! Помогло! Реальный адрес вместо noreply@from.ru и сразу же стало приходить сообщение о регистрации! Я очень счастлива. Спасибо всем большое за помощь!            
                    
                А что переписать в плагине, чтобы при авторизации через социальную сеть (создание нового юзера в гибрид стоит ДА) приходило письмо человеку, который регнулся?            
                    
                Спасибо, код плагина вот:
Заранее благодарю!
                    <?php
switch ($modx->event->name) {
    case 'OnUserSave':
        $tpl = $modx->getOption('emailTpl',$scriptProperties,'tpl.reg_user');
        if ($mode == 'new') {
            $message = $modx->getChunk($tpl,array_merge($user->toArray(),$user->Profile->toArray()));
            $email = $modx->getOption('admin_email');
            
            $modx->getService('mail', 'mail.modPHPMailer');
            $modx->mail->set(modMail::MAIL_BODY,$message);
            $modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');
            $modx->mail->set(modMail::MAIL_FROM_NAME,'Сервис уведомлений');
            $modx->mail->set(modMail::MAIL_SUBJECT,'Новый пользователь');
            $modx->mail->address('to',$email);
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
        }
        break;
}Заранее благодарю!
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    
             
             
                    
                    
                




