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

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

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

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

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

Сообщение mokvo4 » 07.01.2016 13:20

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

Расширение исправленное
На данный момент март 2017г все работает отлично письма с открытками отправляются по хрону, не зависимо от зарегистрированных посетителей зашедших на форум
forumhulp_emailonbirthday_3_1_4.zip
(29.13 КБ) 126 скачиваний
Устанавливаем расширение 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 19.03.2017 16:10, всего редактировалось 3 раза.

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4102
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 423 раза
Контактная информация:

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

Сообщение Siava » 08.01.2016 17:03

Ага, пару недель назад помучился с этим расширением.. но теперь оно нормально работает с системным cron.
mokvo4 писал(а): В первую очередь надо установить и включить расширение forumhulp/helper https://github.com/ForumHulp/helper Расширение Помощник для расширений PHPBB
Мне это показалось очень подозрительным расширением и я просто закомментировал участки кода в emailonbirthday, чтобы обойтись без установки "помощника".

ext.php

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

//	public function is_enableable()
//	{
//		if (!class_exists('forumhulp\helper\helper'))
//		{
//			$this->container->get('user')->add_lang_ext('forumhulp/emailonbirthday', 'info_acp_emailonbirthday');
//			trigger_error($this->container->get('user')->lang['FH_HELPER_NOTICE'], E_USER_WARNING);
//		}

//		if (!$this->container->get('ext.manager')->is_enabled('forumhulp/helper'))
//		{
//			$this->container->get('ext.manager')->enable('forumhulp/helper');
//		}

//		return class_exists('forumhulp\helper\helper');
//	}
event/listener.php

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

class listener implements EventSubscriberInterface
{
	/* @var \phpbb\controller\helper */
//	protected $helper;

	/**
	* Constructor
	*
	* @param \phpbb\controller\helper    $helper        Controller helper object
	*/
//	public function __construct(\phpbb\controller\helper $helper)
//	{
//		$this->helper = $helper;
//	}
config/services.yml привести к виду:

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

services:
    forumhulp.emailonbirthday.lang_manager:
        class: forumhulp\emailonbirthday\lang_manager\manager
        arguments:
            - %core.root_path%
    forumhulp.emailonbirthday.listener:
        class: forumhulp\emailonbirthday\event\listener
        tags:
            - { name: event.listener }
    forumhulp.cron.emailonbirthday:
        class: forumhulp\emailonbirthday\cron\task\core\birthday
        arguments:
            - %core.root_path%
            - %core.php_ext%
            - @config
            - @user
            - @dbal.conn
            - @log
            - @forumhulp.emailonbirthday.lang_manager
            - @service_container
        calls:
            - [set_name, [forumhulp.cron.emailonbirthday]]
        tags:
            - { name: cron.task }
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
LavIgor
Поддержка
Поддержка
Сообщения: 3452
Зарегистрирован: 28.04.2014 8:16
Благодарил (а): 38 раз
Поблагодарили: 922 раза

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

Сообщение LavIgor » 08.01.2016 18:09

Siava писал(а): Мне это показалось очень подозрительным расширением
Джон, видимо, создаёт дополнительные расширения, которые продаёт на своём сайте.
Вот это порадовало: @license Proprietary.

Он даже выпустил отдельную версию Cron Status, которая правит файлы движка...
Siava писал(а): config/services.yml привести к виду
В нём тоже возможны комментарии с помощью символа #. =)

Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 23.02.2015 9:55
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение mokvo4 » 09.01.2016 19:32

Siava, а какие правки надо сделать с forumhulp/htmlemail, чтобы обойтись без установки "помощника"

Аватара пользователя
LavIgor
Поддержка
Поддержка
Сообщения: 3452
Зарегистрирован: 28.04.2014 8:16
Благодарил (а): 38 раз
Поблагодарили: 922 раза

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

Сообщение LavIgor » 09.01.2016 19:54

mokvo4, расширение forumhulp/htmlemail основано на правках ядра phpBB, поэтому его установка не рекомендуется в принципе.

Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 23.02.2015 9:55
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение mokvo4 » 09.01.2016 20:02

LavIgor, так как тогда отправлять письма с картинками т.е в html :?:

Resistant
phpBB 1.2.0
Сообщения: 15
Зарегистрирован: 21.04.2014 22:29
Благодарил (а): 14 раз
Поблагодарили: 1 раз

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

Сообщение Resistant » 11.01.2016 12:17

Siava,
Siava писал(а): чтобы обойтись без установки "помощника".
так надо те правки что вы выложили добавить в файлы?

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4102
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 423 раза
Контактная информация:

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

Сообщение Siava » 11.01.2016 15:49

Resistant, ну да, выложил то что сделал у себя для примера. А надо или нет решать вам.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 23.02.2015 9:55
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение mokvo4 » 11.01.2016 19:52

Siava писал(а): ну да, выложил то что сделал у себя для примера. А надо или нет решать вам.
Так, так, так, email отправляется по системному хрону? А что в хроне на хостинге надо прописать?

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

* 01 * * * /usr/local/bin/php -q /home/имя сайта/www/site1/public_html/forum/ext/forumhulp/emailonbirthday/cron/task/core/birthday.php
или что то другое?

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4102
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 423 раза
Контактная информация:

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

Сообщение Siava » 11.01.2016 21:02

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
"отученный" от helper с исправленным cron cli
(28.33 КБ) 170 скачиваний
Локализации в нём нет, её можно взять из первого сообщения. Лишь только поздравительное письмо под свой форум делал (там стишок). Поэтому исправляйте под себя кто захочет. :)
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 23.02.2015 9:55
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение mokvo4 » 11.01.2016 21:14

Siava писал(а): Вот и вопрос. А нужен ли вам системный cron?
Дело в том, что согласно Вашего поста выше я сделал правки
в
ext.php.
event/listener.php
привел к виду
config/services.yml
в итоге проверяю статус хрон- срабатывает но письма не приходят
а если применить выполнить то приходят
что почему не понятно, а оказывается хрон править надо

Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4102
Зарегистрирован: 11.01.2005 14:29
Откуда: Питер
Благодарил (а): 107 раз
Поблагодарили: 423 раза
Контактная информация:

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

Сообщение Siava » 11.01.2016 21:26

mokvo4, вот честно не знаю будет ли с моими правками работать с обычным планировщиком, так как я использую только системный :oops: но по идее всё должно работать.

Поздравительные письма рассылаются по-умолчанию раз в 12 часов. Может быть стоит подождать?..
Или можно изменить значение последнего события отправки поздравлений, подправив в базе в phpbb_config значение emailonbirthday_last_gc, выставив его меньшим на 86400 секунд, например.

Отправлено спустя 1 минуту 3 секунды:
И Cron Status в помощь.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.2.x)

Resistant
phpBB 1.2.0
Сообщения: 15
Зарегистрирован: 21.04.2014 22:29
Благодарил (а): 14 раз
Поблагодарили: 1 раз

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

Сообщение Resistant » 12.01.2016 10:02

Siava, спасибо все работает отлично ,поздравительное письмо пришло в 9:00 утра

Аватара пользователя
mokvo4
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 23.02.2015 9:55
Откуда: Санкт-Петербург
Благодарил (а): 10 раз
Поблагодарили: 11 раз
Контактная информация:

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

Сообщение mokvo4 » 12.01.2016 17:41

Siava писал(а):
Локализации в нём нет, её можно взять из первого сообщения.
Siava, что значит Локализации, ну не совсем силен я в терминологии :oops:

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Зарегистрирован: 26.03.2010 9:09
Благодарил (а): 67 раз
Поблагодарили: 779 раз
Контактная информация:

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

Сообщение Anvar » 12.01.2016 17:48

mokvo4, Файлы с переведённым текстом на русский язык.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!

поиск моих эксклюзивных решений

Ответить

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