Рассылка Sendex
        Всем привет.
Имеется следующая задача: Автоматически добавлять пользователя в рассылку и удалять из нее по ссылке отписки.
При создании заказа в minishop автоматом e-mail вносится в систему. Можно ли как-нибудь перехватить данное событие и при внесении пользователю назначать его в нужную мне группу?
И сделать чтобы если пользователя удалили из подписки, он туда больше не попадал, если только не назначить вручную.
Или может у кого есть более красивый метод???
Спасибо
    
    
                                                                                
            Имеется следующая задача: Автоматически добавлять пользователя в рассылку и удалять из нее по ссылке отписки.
При создании заказа в minishop автоматом e-mail вносится в систему. Можно ли как-нибудь перехватить данное событие и при внесении пользователю назначать его в нужную мне группу?
И сделать чтобы если пользователя удалили из подписки, он туда больше не попадал, если только не назначить вручную.
Или может у кого есть более красивый метод???
Спасибо
Комментарии: 1
                Реализовал сам, но не знаю на сколько верно.
1. Создал плагин на событие сохранения нового пользователя.
При сохранении данный пользователь добавляется в рассылку Sendex и дополнительно вносится в группу рассылок
 
2. Сделал кнопку отписаться в письме, при которой происходит удаления из рассылки + удаления из группы рассылок.
Оцените верно все сделал…
И еще в Sendex столкнулся с неприятностью — нет кнопки удаления всех пользователей из рассылки разом.
                    1. Создал плагин на событие сохранения нового пользователя.
При сохранении данный пользователь добавляется в рассылку Sendex и дополнительно вносится в группу рассылок
switch ($modx->event->name) {
        case 'OnUserSave':
            if ($user && $mode == 'new') {
                if ($profile = $user->getOne('Profile')) {
                    $id = $profile->get('id');
                    $new_mail = $profile->get('email');
                }
                if ($id) {
/*******Добавляем в группу рассылки новый сохраняемого пользователя**********/
                    if ($gr = $modx->newObject('modUserGroupMember')) {
                        $gr->set('user_group', 2);
                        $gr->set('member', $id);
                        $gr->set('role', 0);
                        $gr->set('rank', 0);
                        $gr->save();
 }
/*******Добавляю текущего сохраняемого пользователя в рассылку SENDEX*********/
$template=2;
$hash = sha1(uniqid(sha1($id . $template . $new_mail), true));
                        $sql1  = 'INSERT INTO modx_sendex_subscribers (user_id,email,newsletter_id,code) VALUES('.$id.',"'.$new_mail.'",'.$template.',"'.$hash.'")';
                        $query = new xPDOCriteria($modx, $sql1, array());
                        if ($query->prepare() && $query->stmt->execute()) { $query->stmt->fetchAll(PDO::FETCH_ASSOC); }
                }
            }
            break;
    }2. Сделал кнопку отписаться в письме, при которой происходит удаления из рассылки + удаления из группы рассылок.
$id = $_GET['id'];
                if (isset($id)) {
/*******Удаляю из группы рассылок**********/
                        $sql2  = 'DELETE FROM modx_member_groups where member='.$id.' AND user_group=2';
                        $query = new xPDOCriteria($modx, $sql2, array());
                        if ($query->prepare() && $query->stmt->execute()) { $query->stmt->fetchAll(PDO::FETCH_ASSOC); }
            
/*******Удаляю из рассылок в  SENDEX*********/
                        $sql1  = 'DELETE FROM modx_sendex_subscribers where user_id='.$id.' ';
                        $query = new xPDOCriteria($modx, $sql1, array());
                        if ($query->prepare() && $query->stmt->execute()) { $query->stmt->fetchAll(PDO::FETCH_ASSOC); }
                }Оцените верно все сделал…
И еще в Sendex столкнулся с неприятностью — нет кнопки удаления всех пользователей из рассылки разом.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.