Разделы

  
 

UnisenderConnector[EVO] snippet by Alooze

Собственно как и обещал выкладываю в паблик решение заказаное мной ранее на сообществе. На данный момент сниппет протестирован и успешно работает на сайте Обучение аэродизайну.

Собственно сам сниппет: UnisenderConnector by Alooze.

Вызов простой
[!unisenderConnector? &listId=`ID рассылки куда подписываем` &apiKey=`ApiKeyUnisender` &tags=`список меток через запятую. передаются вместе с подписчиком чтобы идентифицировать где он подписался` &tplForm=`unisender`!]

На самом деле есть еще 1 скрипт который мониторит рассылку на unisender и синхронизирует контакты с сайтом. Сделано это с той целью, что если вдруг, на нескольких сайтах будет стоять форма подписки на одну и ту же рассылку, то чтобы контакты были везде одинаковые.

Задача авторизации пользователей не стояла, поэтому скрипт работает по принципу: получили мыло и имя -> создали заблокированную учетку со случайным паролем -> сгенерировали ссылку для подтверждения подписки (для валидации мыла) -> импортировали и активировали контакт на унисендер.

В этой цепочке есть еще одна недоработка. Если пользователь когда-то пробовал подписаться, но не подтвердил подписку, то этот человек навсегда теряет возможность подписаться, т.к. сниппет ему скажет, что такой юзер уже есть. Ну это все мелочи, которые на данном этапе меня не напрягают.

Понадобится — доработаю. Либо буду признателен, если кто-то допилит.

P.S. На данный момент в моих планах портировать этот сниппет на smartresponder и работать с ним, т.к. уже давно работаем с этим сервисом и на unisender посмотрели только из-за наличия API. Но, как выяснилось и у smartresponder'a оно есть:-)

[REVO] FormIt - говорит что всё хорошо, но не отправляет / MODX Revolution 2.2.0-pl2

Прошу помощи.
FormIt принимает форму без вопросов, но письмо на почту не приходит.
QuickEmail присылает репорт в 1 секунду.

Не новичок в использовании FormIt, но тут полный…
Убирал валидацию, оставлял минимум, еще меньше, только получателя — та же история. Уменьшал форму до одного поля с кнопкой, редирект/без — пробовал, кеш/некеш — пробовал.

На хостинге 64 метра оператики, но у меня и на 32 магазин на шопкипере работает (правда другой хостинг).
Логи — чистые.
(если сталкивались — хостинг teli ру)

Боролся всячески более 4 часов. Уже поглядываю на веревку с мылом…

Буду рад любым соображениям.
Заранее всем — моя благодарность.

[Revo] Настройки безопасности Quip (обязательный е-мейл)

Наткнулся на неожиданную проблему.
Использую модуль Articles для организации ленты новостей. Через него используется Quip для организации комментариев. Все работает как надо за исключением одного.
Я хочу, чтобы при отправке комментария поле e-mail не было обязательным. Исследовал сами чанки отправки и просмотра комментария — не нашел указаний на обязательность поля
Просмотрел коды в папке processors/web/comment — не нашел обработки поля емейла
Аналогичная история с классами — просмотрел класс самого сниппета, комментирования, а так же контроллер.
Понятно излазил всю админку в поиске настроек Quipa — нужного не нашел

Где искать отключение обязательных полей при отправке комментария? Если я не хочу запрашивать почту например

UPD. При этом очень легко находится обработка сообщений об ошибках, можно отключить убрать модифицировать в коде как угодно. Но где же сама обработка полей?
  • 0
  • 31 января 2012, 15:01
  • dem
  • 7

[REVO] нужен снипет выводящий список email`ов пользователей

Собственно, вот. На этом сайте нашёл такой код

$c = $modx->newQuery('modUser');
$c->select('
`modUser`.*
');

$users = $modx->getCollection('modUser',$c);

foreach($users as $user){
      $output .= 'Имя = ' .$user->get('username') . '<br />';           
}
return $output;


Правда email`ы с помощью него не вывести, наверное потому что они хранятся в другой таблице в базе. Помогите модернизировать сниппет, чтобы получить список email`ov зарегистрированных на сайте пользователей или подскажите другой способ.
  • 0
  • 11 ноября 2011, 17:57
  • banev
  • 5

Плагин уведомить о наличии

Пытаюсь создать плагин, отправки уведомления подписавшимся на наличие товара
Не могу выяснить почему не работает
есть таблица с подписавшимися

CREATE TABLE IF NOT EXISTS `nasklade` (
  `idp` int(11) NOT NULL AUTO_INCREMENT,
  `prodid` int(11) NOT NULL, #ключ документа
  `uname` varchar(20) NOT NULL, #имя подписчика
  `uemail` varchar(50) NOT NULL, #email подписчика
  PRIMARY KEY (`idp`),
  KEY `prodid` (`prodid`,`uemail`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;



и плагин на событии OnDocFormSave по идее должен реагировать на изменение количества в TV документа invertory если больше или равно TV miniweigt. Если условие удовлетворяет отправляет сообщение подписавшимуся и удаляет запись

defined('IN_MANAGER_MODE') or die();
$e = &$modx->Event;
if ($e->name == "OnDocFormSave"){
$id = $_POST['id'];
    if($id) { //check Id
$field1 = $modx->getTemplateVar('invertory','',$id); //количество на складе
$field2 = $modx->getTemplateVar('miniweigt','',$id); //минимальное число товаров для заказа
            if($field1 >= $field2){ 
      global $modx;
      $aTitle = $modx->getPageInfo($id,'','pagetitle'); //get pagetitle 
$tblEmails= $modx->getFullTableName('nasklade');
$emails= $modx->db->select("SELECT idp, prodid, uname, uemail FROM $tblEmails WHERE prodid = '$id'");
    if( $modx->db->getRecordCount( $emails ) >= 1 ) { 
        while( $rowmail = $modx->db->getRow( $emails ) ) { 
$match=array("%X%","%N%");
$replace=array($aTitle['pagetitle'],$rowmail['uname']); 
$message = str_replace($match, '"'. $replace. '" ', wordwrap($message, 100));
     
     sendEmail($rowmail['uemail'], $subject, $message);
     // if ($sendmail) {
      $modx->db->delete($tblEmails, "idp = ".$rowmail['idp']."");
                //     }
                 }
              }
       }
}
}

 // Send email
function sendEmail($to, $subject, $message) {
    $headers ="MIME-Version: 1.0\n".
              "Content-type: text/html; charset=utf-8\n".
              "From: ".$_SERVER['SERVER_NAME']."<no-reply@{$_SERVER['HTTP_HOST']}>\n".
              "X-Mailer: PHP/".phpversion();

$body = <<<EOD
$message
EOD;

   $mail = mail($to, $subject, $body, $headers);
  }



с конфигурацией


&subject=Email Subject;text;товар в наличии &email=Email Address;text; &message=Message (%X% will be replaced);textarea;Здравствуйте, %N%. Товар %X% появился на складе нашего магазина

[РЕШЕНО] Не отправляеться файл через eform

Добрый день.
Возникла необходимость организовать отправку изображения на почту через eform.
После отправки письма на почту приходит не файл, а первая буква имени изображения.
Помогите пожалуйста. Очень нужно…
Код подключения сниппета:
[!eForm? &formid=`contactform` &tpl=`form-tpl` &report=`report-tpl` &thankyou=`thank-tpl` &vericode=`0` &subject=`Photo2painting contact form`!]

Шаблон формы:
<div id="respond" class="round-box">
<form method="post" action="[~[*id*]~]" class="feedback-form">
    <input type="hidden" name="formid" value="contactform" />
    [+validationmessage+]
    <p>
        <label for="name">Full name <span class="label-star">*</span></label>
        <input class="text" name="name" type="text" maxlength="60" eform="Full name::1" />
    </p>
    <p>
        <label for="email">E-mail <span class="label-star">*</span></label>
        <input class="text" name="email" type="text" maxlength="40" eform="E-mail:email:1" />
    </p>
    <p>
        <label for="message">Your message <span class="label-star">*</span></label>
        <textarea class="text" name="message" eform="You message:html:1"></textarea>
    </p>
    <p>
        <label for="photo">Your photo</label>
        <input name="photo" type="file" accept="image/jpeg, image/png, image/gif" eform="You photo:file:0" />
    </p>
    <p class="align-center last">
        <input class="button" type="submit" id="submit" name="submit" value=" " />
    </p>
</form>
</div>

Шаблон письма:
<p>Это сообщение было отправлено посетителем по имени [+name+] с помощью формы обратной связи. </p>
<table style="font-size:14px;">
<tr valign="top"><td><b>Имя:</b></td><td>[+name+]</td></tr>
<tr valign="top"><td><b>Email:</b>:</td><td>[+email+]</td></tr>
<tr valign="top"><td><b>Сообщение:</b></td><td>[+message+]</td></tr>
<tr valign="top"><td><b>Фото:</b></td><td>[+photo+]</td></tr>
</table>
<p>Вы можете использовать эту ссылку для ответа: <a href="mailto:[+email+]?subject=RE:[+subject+]">[+email+]</a></p>
  • 0
  • 21 апреля 2011, 14:41
  • Romik5
  • 7

Ограничение по количеству символов Eform

Здравствуйте!
пользуюсь корзиной shopkeeper.
Для отправки заказов на емейл используется eform.
Все работает отлично, за исключением, когда в заказе оч. много позиций (более 30), то на емейл приходит пустое поле, хотя в модуле шопкипера все работает исправно. Замечу, что небольшие заазы отправляются без проблем.

Может быть я невнимателен и не нахожу параметра eform, определяющего максимально допустимое количество символов? или проблема в другом?

Подписка на новые комментарии...

Всем привет. Никак не могу найти как реализовать подписку на новые комментарии jot. Знаю что можно настроить уведомления для зарегистрированных пользователей и админов, а вот как сделать так что бы могли подписываться гости?


Вот такую вот форму я хочу сделать. Как заставить этот чекбокс работать никак не пойму=(
  • 0
  • 8 марта 2010, 18:55
  • posha
  • 4

[plugin] EmailDefender - защита email адресов от спам-ботов

Давно хотел сделать плагин для модикс, который бы заменял вывод адреса email JS скриптом и тем самым защищал бы добросовестных обладателей оных от спам-ботов.

По своей давней традиции я не стал изобретать велосипед, а поработал напильником над мамботом из cms Joomla!

EmailDefender может:

1. Преобразует простой текст mail@gmail.com
2. Преобразует ссылку вида <a href=mailto:mail@gmail.com>mail@gmail.com</a>
3. Преобразует ссылку вида <a href=mailto:mail@gmail.com>пишите нам!</a>


Все это становится невидимым для спам-ботов!

В зависимости от настройки плагина все это будет отображаться как текст или как ссылка.

Плагин можно отключить для конкретной страницы!


( Читать дальше )
  • +6
  • 6 сентября 2009, 21:22
  • pitbull
  • 31