К содержанию

Отключить почтовые уведомления в Tickets

Приветствую, Василий.

Как правильно отключить почтовые уведомления Tickets о новых комментариях к тикетам и об ответах на комментарии?
Roman Smile
Roman Smile
16 июня 2013, 19:35
modx.pro
1 609
Реклама

Комментарии: 5

Василий Наумкин
Василий Наумкин Администратор
17 июня 2013, 06:45
Никак, не предусмотрено.
    Roman Smile
    Roman Smile Старожил
    17 июня 2013, 07:15
    Это ясно, что не предусмотрено. Скажите тогда, где они формируются, чтобы поправить в коде.

    PS Хотя все-таки этот функционал должен был быть по умолчанию, потому что письма с сайта, которые нельзя отключить — это спам.
      Василий Наумкин
      Василий Наумкин Администратор
      17 июня 2013, 08:14
      Обожаю умные советы.

      Поищи сам.
    Roman Smile
    Roman Smile Старожил
    18 июня 2013, 02:52
    Если кому-то понадобится, работает следующий костыль. Через пре-хук в Login при регистрации (или как вам будет угодно) добавляем в профили юзеров в поля zip и phone цифры 1. Эти поля теперь будут служить подпиской юзеров на рассылку. Затем в файле core/components/tickets/model/tickets/tickets.class.php где-то на 700 строке находим

    if (!empty($reply)) {
    			$this->sendMail($reply_email);
    		}
    		if (!empty($owner) && $owner != $reply && $comment['createdby'] != $resource['author']) {
    			$this->sendMail($owner_email);
    		}
    и заменяем его на

    if (!empty($reply)) {
    		
    		$zapros = "SELECT phone FROM modx_user_attributes WHERE email='".$reply."'";
            	$doit = $this->modx->query($zapros);
            	$wehave = $doit->fetchall(PDO::FETCH_ASSOC);
            	foreach ($wehave as $frombase);
    		
    			if ($frombase['phone']!=0) {
    			
    				$this->sendMail($reply_email);
    
    			}
    		}
    		
    		if (!empty($owner) && $owner != $reply && $comment['createdby'] != $resource['author']) {
    			
    		$zapros = "SELECT zip FROM modx_user_attributes WHERE email='".$owner."'";
            	$doit = $this->modx->query($zapros);
            	$wehave = $doit->fetchall(PDO::FETCH_ASSOC);
            	foreach ($wehave as $frombase);
    			
    			if ($frombase['zip']!=0) {
    			
    				$this->sendMail($owner_email);
    			
    			}
    		}
    Затем делается простая форма где-то на страничке у юзера, которая будет менять 1 и 0 в zip и phone в профиле, подписывая и отписывая его от рассылки. Теперь юзер может управлять своими подписками)
      Алексей
      Алексей Проверенный
      18 июня 2013, 10:10
      кстати да, как отключить надоедливые сообщения об ответах на комменты? в настройках не нашел.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        5