Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Email on birthday - Рассылка поздравлений

Здесь авторы могут постить бета-версии своих расширений для phpBB. Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Стаж: 9 лет 1 месяц
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

Email on birthday - Рассылка поздравлений

Сообщение mokvo4 »

На сайте https://github.com/ForumHulp/emailonbirthday нашел для Phpbb 3.1. расширение отправить каждому пользователю email на его / ее день рождения

Расширение исправленное
На данный момент март 2017г все работает отлично письма с открытками отправляются по хрону, не зависимо от зарегистрированных посетителей зашедших на форум
forumhulp_emailonbirthday_3_1_4.zip
(29.13 КБ) 332 скачивания
Устанавливаем расширение forumhulp/emailonbirthday Phpbb 3.1. расширение отправить каждому пользователю email на его / ее день рождения

Чтобы в письмах отправлять открытки надо в файле includes/functions_messenger.php
примерно в строке 440
найти

Код: Выделить всё

$headers[] = 'Content-Type: text/plain; charset=UTF-8'; // format=flowed
заменить на

Код: Выделить всё

$headers[] = 'Content-Type: text/html; charset=UTF-8';
e-mail письмо отредактируйте в HTML на свой вкус \forumhulp\emailonbirthday\language\ru\email\emailonbirthday.txt
После включения расширений настроить:
в админпанели - Функции конференции
выбрать "да" - Е-mail на день рождения: Отправить каждому пользователю email на его / ее день рождения

Все руссифицыровано
Последний раз редактировалось mokvo4 17.04.2020 10:51, всего редактировалось 3 раза.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

LavIgor писал(а): Открывали именно страницу cron.php?cron_type=forumhulp.cron.emailonbirthday?
Debug должен быть включён (Вы говорили об этом раньше, но решил ещё раз напомнить).
site.com/phpbb/cron.php?cron_type=forumhulp.cron.emailonbirthday
дебаг разкоментирован строка в крон закоментирована.
Нет я так не отрывал, в PHP движке phpbb у меня маловато опыта.
Но так то же белая страница, при выключенном и выключенном чекбоксе в админке.
В статусе готово к исполнению, forumhulp.cron.emailonbirthday - Никогда не выполнялось, в ручную не выполняется.

Отправлено спустя 11 минут 17 секунд:
Вот нашел в логе сервера

Код: Выделить всё

 PHP Fatal error:  Uncaught exception 'Exception' with message 'DateTime::__construct() expects parameter 2 to be DateTimeZone, null given' in /var/www/vhost/site.com/phpBB3/phpbb/datetime.php:50\nStack trace:\n#0 /var/www/vhost/site.com/phpBB3/phpbb/datetime.php(50): DateTime->__construct('now', NULL)\n#1 /var/www/vhost/site.com/phpBB3/phpbb/user.php(745): phpbb\\datetime->__construct(Object(phpbb\\user), 'now', NULL)\n#2 /var/www/vhost/site.com/phpBB3/ext/forumhulp/emailonbirthday/cron/task/core/birthday.php(56): phpbb\\user->create_datetime()\n#3 [internal function]: forumhulp\\emailonbirthday\\cron\\task\\core\\birthday->run()\n#4 /var/www/site.com/phpBB3/phpbb/cron/task/wrapper.php(104): call_user_func_array(Array, Array)\n#5 /var/www/vhost/site.com/phpBB3/cron.php(64): phpbb\\cron\\task\\wrapper->__call('run', Array)\n#6 /var/www/vhost/site.com/phpBB3/cron.php(64): phpbb\\cron\\task\\wrapper->run()\n#7 {main}\n  thrown in /var/www/vhost/site.com/phpBB3/phpbb/datetime.php on line 50
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 932 раза

Re: Email on birthday - Рассылка поздравлений

Сообщение LavIgor »

vlsol, попробуйте вот эту строчку исправить на $time = $this->user->create_datetime('now', new \DateTimeZone('UTC'));.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

Теперь при наборе из броузера такое.

Код: Выделить всё

PHP Fatal error:  Call to undefined function forumhulp\\emailonbirthday\\lang_manager\\mb_substr() in /var/www/vhost/site.com/phpBB3/ext/forumhulp/emailonbirthday/lang_manager/manager.php on line 80
Cron заблокирован
Время блокировки cron: 20 фев 2016, 22:00, Cron: search
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 9 лет 11 месяцев
Благодарил (а): 41 раз
Поблагодарили: 932 раза

Re: Email on birthday - Рассылка поздравлений

Сообщение LavIgor »

А как у Вас выглядит та самая строка 80?
С виду на GitHub код корректный.

Отправлено спустя 1 час 2 минуты 50 секунд:
По поводу Cron Status.
Вот PR с правками, которые, надеюсь, войдут в phpBB 3.1.9.
Отсюда можно скачать обновлённую версию расширения Cron Status.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

LavIgor писал(а): А как у Вас выглядит та самая строка 80?
С виду на GitHub код корректный.

Код: Выделить всё

$this->begins[]		= (mb_substr($s, 0, 1) == '^');
LavIgor писал(а): По поводу Cron Status.
Вот PR с правками, которые, надеюсь, войдут в phpBB 3.1.9.
Отсюда можно скачать обновлённую версию расширения Cron Status.
Огромное спасибо.

Отправлено спустя 34 минуты 16 секунд:
Уже на новом Cron Status.
forumhulp.cron.emailonbirthday стоит в ряду готовых заданий. При нажатии на Выполнить не выполняется. Кстати очень интересно какой команде это соответствует и почему может не выполнятся.
После нажатия на Выполнить заблокировался
Cron заблокирован
Время блокировки cron: менее минуты назад, Cron: forumhulp.cron.emailonbirthday

или сам блокируется после 0.5 минуты.
Cron заблокирован
Время блокировки cron: 1 минуту назад, Cron: forumhulp.cron.emailonbirthday


Отправлено спустя 3 минуты 20 секунд:

Код: Выделить всё

[Sun Feb 21 03:01:17 2016] [error] [client ] PHP Fatal error:  Call to undefined function forumhulp\\emailonbirthday\\lang_manager\\mb_substr() in /var/www/vhost/site.com/phpBB3/ext/forumhulp/emailonbirthday/lang_manager/manager.php on line 80, referer: http://site.com/phpBB3/adm/index.php?sid=13e4b98c3bc7caf13c06a2d44&i=-boardtools-cronstatus-acp-cronstatus_module&mode=config
Отправлено спустя 4 минуты 41 секунду:
Время блокировки cron: 9 минуты назад, Cron: forumhulp.cron.emailonbirthday
Уже так пишет, это хорошо, главное какая то скудная отладочная информация на движке вообще. Рад любому новшеству в этой области.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

160221_030814 20.02.2016 12:08:02 siz 0 cron_lock 1456016882 4c2411f72b595fbd 21.02.2016 1:08:02
160221_041218 20.02.2016 12:08:02 siz 0 cron_lock 1456020722 d587435f88d8d90a 21.02.2016 2:12:02
160221_051622 20.02.2016 12:08:02 siz 0 cron_lock 1456024561 77b3f401a0feab10 21.02.2016 3:16:01
160221_061626 20.02.2016 12:08:02 siz 0 cron_lock 1456028162 4fb02c7ee7e14659 21.02.2016 4:16:02
160221_072030 20.02.2016 12:08:02 siz 0 cron_lock 1456032001 cc2c6a8f36f26fb3 21.02.2016 5:20:01
160221_082004 20.02.2016 12:08:02 siz 0 cron_lock 1456035602 c856784ef51fccf8 21.02.2016 6:20:02
160221_092408 20.02.2016 12:08:02 siz 0 cron_lock 1456039441 8df35df92c3086be 21.02.2016 7:24:01
last_queue_run - второй, третий столбик.
Блокировка сбрасывается 1 раз час.
Но ни какие задания видимо не работают, все срабатывают через час?
Если у ребят и работали поздравления, то потому что передаются раз в сутки, и при этом рассылка нотификаций должна осуществляться без очереди ?.

Отправлено спустя 58 минут 55 секунд:
vlsol писал(а): Call to undefined function
mb_substr() - функция PHP, почему она не определена, пока мне не понятно.
В свежем логе ошибок нет фатальных, но крон все равно блокируется.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

mbstring не входит в список расширений, устанавливаемых по умолчанию. Это значит, что изначально это расширение отключено
Поднял версию PHP до 5.4.45. Подключили mbstring. Насладился приемом одного письма, но есть еще куча ошибок которые теперь стали появляться в системном логе.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

Что бы проверить как и в каком виде отправятся письма нужно тестово запускать отправку через крон.
Пока с этим проблема.
Метод указанный здесь подымает задание крон и оно потом исполняется в ручную или автоматом, но письма не идут. Прошло только раз.
vlsol
phpBB 1.2.0
Сообщения: 17
Стаж: 8 лет 1 месяц
Благодарил (а): 5 раз

Re: Email on birthday - Рассылка поздравлений

Сообщение vlsol »

В таблице phpbb_users есть поле email_on_birthday, которое показывает когда отправлено поздравление. Если его убрать и поднять крон то придет письмо сразу если нажать выполнить в хорошем приложении Крон Статус.
Эти письма идут вне очереди, что может быть очень плохо когда SMTP и много пользователей.
Еще нужно в шаблоне html убрать лишний <body> иначе subject дает ошибку.
Следующий этап это разобраться как эти письма ставить в очередь, а может кто и подскажет. :oops:
Всех с Праздником!
Аватара пользователя
lelasarov
phpBB 1.4.2
Сообщения: 59
Стаж: 7 лет 1 месяц
Благодарил (а): 2 раза
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение lelasarov »

Подскажите пожалуйста, а то сам никак не разберусь! Поставил все как описано выше.
Раньше в теме письма было так: "С Днем Рождения Наташа!"
Теперь стало так: "No email subject specified."
Где и что подправить?
И в самом письме стало: "Subject: С Днем Рождения Наташа! "
Буду очень признателен за помощь!!! Если можно поподробнее, сам пока только учусь!
Аватара пользователя
Sumanai
phpBB 3.0.0 RC5
Сообщения: 1668
Стаж: 9 лет 4 месяца
Благодарил (а): 267 раз
Поблагодарили: 216 раз
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение Sumanai »

lelasarov писал(а): Раньше
А что изменилось? Какие действия совершались на форуме?
Аватара пользователя
lelasarov
phpBB 1.4.2
Сообщения: 59
Стаж: 7 лет 1 месяц
Благодарил (а): 2 раза
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение lelasarov »

Сначала поставил Email on birthday, письмо отправилось, но простым текстом, forumhulp/helper и forumhulp/htmlemail ставиться никак не хотели.
Удалил Email on birthday, поставил все в обратном порядке, все установилось и получилось как в первом письме.
Так как картинка не пришла, попытался все удалить и обрушил форум. Когда восстановил форум и переустановил эти расширения стало приходить с картинкой но в теме письма ошибка.
Вод вроде и все мои действия.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12372
Стаж: 12 лет 7 месяцев
Благодарил (а): 223 раза
Поблагодарили: 3517 раз
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение Татьяна5 »

lelasarov писал(а): forumhulp/helper
Это лучше вообще никогда не ставить, оно правит файлы форума
Удаляйте и заливайте теперь чистые файлы форума (кроме config.php)
Аватара пользователя
lelasarov
phpBB 1.4.2
Сообщения: 59
Стаж: 7 лет 1 месяц
Благодарил (а): 2 раза
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение lelasarov »

А более лояльного способа нет? Я некоторые файлы форума правил вручную, очень не охота все по новой переделывать.
Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Стаж: 9 лет 1 месяц
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

Re: Email on birthday - Рассылка поздравлений

Сообщение mokvo4 »

Siava писал(а): mokvo4, так.. вы сначала поймите нужен ли вам системный cron.

В общем случае, в движке есть стандартный планировщик, который срабатывает от действий посетителей и возможность подключить системный cron. В настройках сервера можно выбрать какой планировщик использовать.

Команда запуска системного cron для вашего случая (например, каждые 5 минут):

Код: Выделить всё

*/5 * * * * /usr/local/bin/php -q /home/имя сайта/www/site1/public_html/forum/bin/phpbbcli.php cron:run
[/off]

Но мною недавно обнаружено, что с некоторые расширения, где используется планировщик и запись событий в форумный лог некорректно работают с системным cron. Это расширение тоже.
Для исправления работы необходимо внести правки в ext/forumhulp/emailonbirthday/cron/task/core/birthday.php

найти

Код: Выделить всё

				$this->log->add('admin', $this->user->data['user_id'], $this->user->data['session_ip'], 'BIRTHDAYSEND', false, array(implode(', ', $userlist)));
заменить на

Код: Выделить всё

				$user_id = (empty($this->user->data)) ? ANONYMOUS : $this->user->data['user_id'];
				$user_ip = (empty($this->user->ip)) ? '' : $this->user->ip;
				$this->log->add('admin', $user_id, $user_ip, 'BIRTHDAYSEND', false, array(implode(', ', $userlist)));
Вот и вопрос. А нужен ли вам системный cron? :mrgreen:
С использованием стандартного планировщика таких проблем не будет. Да и в большинстве случаев он лучше системного. Я просто экспериментирую и включаю всякие штуки нестандартные.


Отправлено спустя 7 минут 35 секунд:
Прилагаю свой исправленный вариант.
forumhulp.zip
Локализации в нём нет, её можно взять из первого сообщения. Лишь только поздравительное письмо под свой форум делал (там стишок). Поэтому исправляйте под себя кто захочет. :)
В этом посту "Siava" подробно все изложил, с его вариантом все работает прекрасно Просмотрите эту ветку форума с самого начала повнимательней!
Ответить

Вернуться в «Бета-версии расширений для phpBB»