Уведомление администратора о новой регистрации
- Готовые примеры
- Уведомление администратора о новой регистрации
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.
В силу простоты – можно подстраивать под свои нужды.