03 августа 2018, 16:46 Добрый день! На тикетах доска объявлений не очень. Всякие доп и платные функции сложно программировать. Готовые решения / Доска объявлений на tickets 23 -1
09 июля 2018, 17:19 В плагине usertest сейчас /*Адрес получателя нашего письма*/ $teachers_email = explode(",",$teachers_email); foreach($teachers_email as $te){ $modx->mail->address('to', trim($te)); }Можно вместо этого сделать примерно так: switch($test['id']){ case 1: $modx->mail->address('to', 'teacher1@mail.ru'); break; } Новые дополнения и их версии / [UserTest] - добавлено событие на окончание прохождения теста. 17 0
09 июля 2018, 17:12 Вот и придумали. В текущем плагине нету. Но переписать плагин для этого не сложно :). Новые дополнения и их версии / [UserTest] - добавлено событие на окончание прохождения теста. 17 0
09 июля 2018, 17:11 К сожалению, я чисто программист и подавать красиво не сильно умею :(. На практике, можно отправить отправку сообщения администратору. Что и сделано. Но в сообщении, можно, не только итоговый балл, как сейчас, отправлять но еще и отправить отчет со всеми ответами пользователя. Можно прикрутить счетчик пройденных тестов. Больше вариантов, пока, в голову не приходит :). Событие сделано чтоб программисты не лезя в основной код могли что угодно сделать по окончании сеанса тестирования. Мне в голову не приходит что еще можно, но Думаю что-нибудь оригинально придумают. Новые дополнения и их версии / [UserTest] - добавлено событие на окончание прохождения теста. 17 0
09 июля 2018, 16:12 Ну когда топик выкладываешь, лучше покупают. Обновление маленькое, но повод напомнить :). Стараюсь не спамить, но что-то по краю спама пошел :(. Извиняюсь если что не так. Новые дополнения и их версии / [UserTest] - добавлено событие на окончание прохождения теста. 17 0
25 июня 2018, 13:04 Похоже я понял в чем косяк. $modx внутри функции вызывается. А внутри функции его нет. Попробуйте перед if (is_email($user['email'])) { вставить global $modx; ->each(function($user, $idx) { global $modx; if (is_email($user['email'])) { $queue_email = $modx->newObject('EmailQueueItem'); Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 +1
25 июня 2018, 12:59 Поставил Cron Manager. Запустил такой код. И все успешно. <?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); if (!$EmailQueue = $modx->getService('emailqueue', 'EmailQueue', $modx->getOption('emailqueue_core_path', null, $modx->getOption('core_path') . 'components/emailqueue/') . 'model/emailqueue/', array())) { return; } $user['email'] = 'a@b.ru'; $queue_email = $modx->newObject('EmailQueueItem'); $data1 = array( 'sender_package'=>'UsersSend', //дополнение отправитель письма 'to'=>$user['email'], //емаил 'from_name'=>'Тест', 'subject'=>'Поздравляем с Днём рождения!', // тема письма 'body'=>$modx->getChunk('email_ru', $user), // тело письма 'date'=>date("Y-m-d H:i:s"), // дата в очереди. Нужно чтоб письма удалялись по истечении срока хранения. ); $queue_email->fromArray($data1); if(!$queue_email->save()) $modx->log(1,"Письмо для ".$user['email']." не удалось добавить в очередь писем!"); Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 12:35 Не работал с Cron Manager. По идее в нем не надо $modx подключать. он уже должен быть подключен. Надо разбираться. Так ничего не понятно. Мой скайп touols. Можите доступ скинуть? странно что на $modx->getService не ругается Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 12:04 Полностью код можно? И путь до файла Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 11:32 Fatal error: Call to a member function getChunk() on a non-objectУ вас в начале скрипта сам $modx подключен? что то вроде такого require_once dirname(dirname(dirname(dirname(dirname(__FILE__))))) . '/config.core.php'; require_once MODX_CORE_PATH . 'config/' . MODX_CONFIG_KEY . '.inc.php'; require_once MODX_CONNECTORS_PATH . 'index.php'; Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 11:26 Блин поторопился. Конечно $queue_email=$modx->newObject('EmailQueueItem'); Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 10:42 Ну это известная проблема. Позже переделаю на выпадающий список Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
25 июня 2018, 10:06 ошибку заметил if (!$EmailQueue = $modx->getService('emailqueue', 'EmailQueue', $modx->getOption('emailqueue_core_path', null, $modx->getOption('core_path') . 'components/emailqueue/') . 'model/emailqueue/', array())) { return; } users() ->members('en') ->profile() ->where('modUser.active = 1 AND DAYOFMONTH(FROM_UNIXTIME(Profile.dob)) = DAYOFMONTH(now()) AND MONTH(FROM_UNIXTIME(Profile.dob)) = MONTH(now())') ->joinGroup('group2') ->each(function($user, $idx) { if (is_email($user['email'])) { $queue_email->newObject('EmailQueueItem'); //забыл создать объект :( $data1 = array( 'sender_package'=>'UsersSend', //дополнение отправитель письма 'to'=>$user['email'], //емаил 'subject'=>'Поздравляем с Днём рождения!', // тема письма 'body'=>$modx->getChunk('chunkName', $user), // тело письма 'date'=>date("Y-m-d H:i:s"), // дата в очереди. Нужно чтоб письма удалялись по истечении срока хранения. ); $queue_email->fromArray($data1); if(!$queue_email->save()) $modx->log(1,"Письмо для ".$user['email']." не удалось добавить в очередь писем!"); } }); Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 +1
25 июня 2018, 09:52 Примерно так думаю if (!$EmailQueue = $modx->getService('emailqueue', 'EmailQueue', $modx->getOption('emailqueue_core_path', null, $modx->getOption('core_path') . 'components/emailqueue/') . 'model/emailqueue/', array())) { return; } users() ->members('en') ->profile() ->where('modUser.active = 1 AND DAYOFMONTH(FROM_UNIXTIME(Profile.dob)) = DAYOFMONTH(now()) AND MONTH(FROM_UNIXTIME(Profile.dob)) = MONTH(now())') ->joinGroup('group2') ->each(function($user, $idx) { if (is_email($user['email'])) { $data1 = array( 'sender_package'=>'UsersSend', //дополнение отправитель письма 'to'=>$user['email'], //емаил 'subject'=>'Поздравляем с Днём рождения!', // тема письма 'body'=>$modx->getChunk('chunkName', $user), // тело письма 'date'=>date("Y-m-d H:i:s"), // дата в очереди. Нужно чтоб письма удалялись по истечении срока хранения. ); $queue_email->fromArray($data1); if(!$queue_email->save()) $modx->log(1,"Письмо для ".$user['email']." не удалось добавить в очередь писем!"); } });sender_package Нужно только чтоб видеть откуда письмо в очереди. Если вдруг несколько компонентов сразу отправляют. Можно написать что угодно или даже оставить пустым. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 19:50 Ну тут идея компонента не совсем такая :). В очереди хранятся уже готовые письма. А письма в очередь добавляются кодом, в котором как раз письмо красиво и оформляется. 'body'=>$modx->getChunk('tpl.UserTest.InviteEmail',array('test_name' => $test->name,'link'=>$invite->url)), Создание и редактирование писем в компоненте это просто на всякий случай. Чтоб протестировать компонент или просто отправку писем. Посмотреть что вообше в очереди лежит. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 19:32 Кнопки Ошибки и Все — это не кнопки вообще. Это подписи что следующие кнопки к Ошибкам относяться и к всем письмам. Мда… замученный у меня дизайн получился. Буду выпадающим списком делать, но не пока занят через неделю думаю сделаю. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 19:26 Хорошая идея. Только выпадающие списки я такие еще не делал. посмотрю как там в этом компоненте сделано. Развития компонента пока не планируется :). В смысле, а есть куда его развивать? Рассылки все равно лучше делать через специализированные сервисы. Хостеры, если блокируют письма, то ничего не сообщают и не понятно ушло письмо или нет. Этот компонент на случай если сервис еще не имеет смысла подключать. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 19:15 В новой версии еще и 2 значка удаления. 1 удаляет письма с ошибками. Другой очищает всю очередь. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 19:10 Хм… плохо у меня с дизайном :(. Воображения на картинки не хватает. Если есть идеи какие значки повешать на эти действия, напишите плиз :). Если писать словами, то в 1 слово не обойдешься и ширины экрана в итоге не хватит. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
18 июня 2018, 18:53 Это такая дата по умолчанию была. Так 0000-00-00 00:00:00 mysql записывает. Модераторы модсторе тоже сказали это поменять. В новой версии по умолчанию дата отправки null и в поле пусто. Сейчас обновил компонент на демо, чтоб вас это не смущало. Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 +1
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
[mSync] Новая версия синхронизации с 1С Всем привет. В какой то момент начали сыпаться ошибки: Error 23000 executing statement: INSERT INTO `modx_msync_products` (`product_id`, `uuid_1c`) VALUES ...
Можно вместо этого сделать примерно так:
странно что на $modx->getService не ругается
что то вроде такого
sender_package Нужно только чтоб видеть откуда письмо в очереди. Если вдруг несколько компонентов сразу отправляют. Можно написать что угодно или даже оставить пустым.
Создание и редактирование писем в компоненте это просто на всякий случай. Чтоб протестировать компонент или просто отправку писем. Посмотреть что вообше в очереди лежит.
Развития компонента пока не планируется :). В смысле, а есть куда его развивать? Рассылки все равно лучше делать через специализированные сервисы. Хостеры, если блокируют письма, то ничего не сообщают и не понятно ушло письмо или нет. Этот компонент на случай если сервис еще не имеет смысла подключать.