Sendex: Ошибка в логе Processor remove.php не найд

Здравствуйте!
Разбираюсь с Sendex.

Как-то не заладилась отписка от рассылки для анонимных пользователей.
Линк в письме вроде передается правильный, но отписка не происходит.
В логе нашел следующую запись при каждой попытке перехода по ссылке из письма:
[2014-01-29 10:40:22] (ERROR @ /assets/components/sendex/connector.php) Processor /var/www/tbki/www/core/components/sendex/processors/remove.php does not exist; Array
(
    [processors_path] => /var/www/tbki/www/core/components/sendex/processors/
    [location] => 
    [action] => remove
)
Подскажите пожалуйста, что надо подпилить? Требуемого файла по данному пути действительно нет.

Спасибо.
Андрей, Омск
06 февраля 2014, 04:41
modx.pro
1 135
0

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

Василий Наумкин
06 февраля 2014, 08:46
0
Этот процессор лежит в другом месте. Не знаю, почему у тебя ищется не там.

Может, на сервере включен какой-нибудь register_globals в php?
    Андрей, Омск
    06 февраля 2014, 08:51
    0
    в файле assets/components/sendex/connector.php есть строки:
    /* handle request */
    $path = $modx->getOption('processorsPath', $modx->sendex->config, $corePath . 'processors/');
    $modx->request->handleRequest(array(
    	'processors_path' => $path,
    	'location' => '',
    ));
    Может отсюда берется путь к процессору?

    register_globals = off — проверил.
      Василий Наумкин
      06 февраля 2014, 08:58
      0
      У меня — работает нормально.

      Можно проверить на test.modx.pro.
        Андрей, Омск
        06 февраля 2014, 09:13
        0
        Василий, подскажи пожалуйста, а где в коде Sendex-а указывается, что путь к процессорам искать именно в mgr / newsletter / subscriber / remove.class.php?

        Я посмотрел файл sendex.class.php — где описан сам класс, там все указывает именно на:
        $corePath = $this->modx->getOption('sendex_core_path', $config, $this->modx->getOption('core_path') . 'components/sendex/');
        'processorsPath' => $corePath . 'processors/'
        Я вроде ведь исходник нигде не менял…
          Василий Наумкин
          06 февраля 2014, 09:22
          0
          При отписке с фронтенда процессор вообще не используется. Там сразу вызывается метод unSubscribe объекта sxNewsletter.

          Относительный путь к процессору указывается в ExtJS файле админки и дополняется в коннекторе (ты его уже нашел).

          Компонент разработан в обучающих целях на платных курсах. Так что, если ты хочешь разобраться как там и что работает — тебе сюда.
            Андрей, Омск
            06 февраля 2014, 09:44
            0
            Да, я уже взял на заметку этот курс. По возвращению домой (я сейчас в поездке) я обязательно оплачу доступ к материалам и изучу. Я учился в прошлом году на первом курсе по Revo, а сейчас как-то пропустил этот курс по созданию компонентов. Хорошо, что есть возможность доступа к материалам этого курса.

            Ну а почему у меня перестала работать отписка анонимов через фронтенд по ссылке из письма, я пошел разбираться…
              Василий Наумкин
              06 февраля 2014, 10:04
              0
              А ты уверен, что юзер не отписывается? Проверяешь в админке, в списке подписчиков?

              Там просто сниппет не показывает, что происходит — это нужно дорабатывать. А сам алгоритм очень простой: нужно зайти на страницу с вызванным сниппетом и параметром code в url.
              http://site.ru/sendex.html?code=5996e5105acef609e1e2ad1b187f11f435028861&sx_action=unsubscribe
              Есть указан sx_action = unsubscribe + code существующего юзера — то сразу вызывается метод из класса и подписчик удаляется.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7