Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • Готовые примеры

Уведомление администратора о новой регистрации

  • Готовые примеры
  • Уведомление администратора о новой регистрации
1753

Уведомление администратора о новой регистрации

Некоторые хотят уведомления о новой регистрации на сайте.

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

/**
* NotiferNewUser
* 
* Уведомление о новой регистрации на сайте.
*
* @category		plugin
* @version		0.2
* @license		http://www.gnu.org/copyleft/gpl.html GNU Public License (GPL)
* @internal		@properties &toEmail=Почта получателя;text; &subject=Тема письма;text;
* @internal		@events OnWebSaveUser
* @internal		@modx_category Manager and Admin
* @author Akool 
*/

$notifyTpl = '

Новая регистрация на сайте .

Пользователь с электронной почтой .

'; $toEmail = isset($toEmail) ? $toEmail : $modx->config['emailsender']; // получаетль уведомления $subject = isset($subject) ? $subject : 'Новая регистрация на сайте'; // тема письма if ($modx->Event->name == 'OnWebSaveUser') { $uemail = isset($useremail) ? $useremail : ($_POST['email'] != '' ? $modx->db->escape($modx->stripTags($_POST['email'])) : ''); if ($mode != 'new' || $uemail == '' || !filter_var($uemail, FILTER_VALIDATE_EMAIL)) return; require_once 'manager/includes/controls/class.phpmailer.php'; $notification = str_replace('', $uemail, $notifyTpl); $notification = str_replace('', $modx->config['site_name'], $notification); $Notify = new PHPMailer(); $Notify->CharSet = $modx->config['modx_charset']; $Notify->IsHTML(true); $Notify->From = $modx->config['emailsender']; $Notify->FromName = $modx->config['site_name']; $Notify->Subject = $subject; $Notify->Body = $notification; $Notify->AddAddress($toEmail); if (!$Notify->Send()) { $modx->logEvent(89, 1, 'Не удалось отправить письмо на адрес '.$toEmail.' о новом пользователе.', 'NotiferNewUser'); return; } }

Замечания и улучшения приветствуются.

Адрес получателя можно указать в конфигурации. И тему, при желании.

Шаблон уведомления – прямо в коде плагина. Выносить это в чанк не вижу смысла. При желании – тоже можно в конфиг.

Для отправки письма можно было и функцию mail() использовать, но тут сделано так, как везде в Modx – через класс phpmailer.

В силу простоты – можно подстраивать под свои нужды.