Белк на PhpBB 3.0.14
https://belk.info/phpbb/

Welcome PM on first Login + Инструкция по установке
https://belk.info/phpbb/viewtopic.php?f=2&t=163
Страница 1 из 1

Автор:  Belk [ 23 май 2026, 13:50 ]
Заголовок сообщения:  Welcome PM on first Login + Инструкция по установке

Welcome PM on first Login

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

Вложение:
welcome_first_login_admin.png
welcome_first_login_admin.png [ 65.36 КБ | Просмотров: 17 ] welcome_first_login_admin.png



в общем штука интересная и удобная, но при установке мода хватает проблем. если вы готовы - ставим.

скачать из архива сайта

распаковать и содержимое папки root загрузить в корень сайта (туда, где файл config.php).

Теперь необходимо выполнить SQL-запрос:

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

 CREATE TABLE phpbb_wpm (
   wpm_config_id int(3) NOT NULL,
   wpm_enable tinyint(1) unsigned NOT NULL,
   wpm_send_id mediumint(8) NOT NULL,
   wpm_preview tinyint(1) unsigned NOT NULL,
   wpm_variables varchar(255) NOT NULL,
   wpm_subject varchar(100) NOT NULL,
   wpm_message mediumtext NOT NULL,
   wpm_version varchar(255) NOT NULL,
   PRIMARY KEY   (wpm_config_id)
   ) ;

   INSERT INTO phpbb_wpm (wpm_config_id, wpm_enable, wpm_send_id, wpm_preview, wpm_variables, wpm_subject, wpm_message, wpm_version) VALUES(1, 1, 2, 0, '', 'Welcome to {SITE_NAME}!', 'Hello, [b]{USERNAME}[/b]!\n\nWelcome to {SITE_NAME}   ({SITE_DESC})\n\nYou registered on [b]{USER_REGDATE}[/b]. According to your input, your email is [b]{USER_EMAIL}[/b] and you live in timezone [b]{USER_TZ}[/b]. It is nice to know that you speak {USER_LANG_LOCAL}.\n\nYou can contact us here: {BOARD_CONTACT} or here: {BOARD_EMAIL}, whichever you prefer, at anytime. Thank you for choosing us.\n\n-Thank you for registering at {SITE_NAME}!\n\nThanks, {SENDER}', '2.2.5');
   


если у вас проблемы с выполнением запроса - можно скачать установочный файл db_update.php и запустить его по адресу

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

http://ваш сайт/db_update.php


после чего удалить файл с сервера.

Вложение:
db_update.rar [1.67 КБ]
Скачиваний: 1


Редактирование файлов форума:

Открыть includes/constants.php
Найти

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

// Additional constants


Вставить после найденного

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

define('WPM_CONFIG_ID', 1);


Найти



Вставить перед найденным

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

define('WPM_TABLE',               $table_prefix . 'wpm');



Открыть includes/functions.php
Найти

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

         // Special case... the user is effectively banned, but we allow founders to login
         if (defined('IN_CHECK_BAN') && $result['user_row']['user_type'] != USER_FOUNDER)
         {
            return;
         }


Вставить после найденного

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

         /*
         * Welcome PM on First Login (WPM)
         * By DualFusion /adjusted by ..::Frans::.. for phpbb3 GOLD
         */
         $sql = 'SELECT wpm_enable FROM '.WPM_TABLE.' WHERE wpm_config_id =1';
         $result = $db->sql_query($sql);
         $row = $db->sql_fetchrow($result);
         $db->sql_freeresult($result);


         if($row['wpm_enable'] && $user->data['user_lastvisit'] == 0)
         {
            include($phpbb_root_path . 'includes/functions_wpm.' . $phpEx);
            $wpm = new welcome_pm();
            $wpm->get_vars();
            $wpm->send_wpm();
         }
         /* End WPM */

         


Завершение установки:

Теперь идём в админку и в категории Модули находим настройки нашего приветственного сообщения.

а вот теперь обычно начинаются проблемы....

Во-первых не выводится в админке сам модуль. Приходиться его "вытаскивать". Модуль называется Настройки приветственного ЛС. Он стопроцентно есть в базе.
Как его вытащить - можно почитать здесь или на сайте автора темы здесь. Там ничего сложного, но писать заново процесс извлечения очень не хочется. :)

Во-вторых при создании своего приветственного сообщения и клика по кнопке отправить мы получаем ошибку базы данных примерно такого вида:

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

Общая ошибка
SQL ERROR [ mysql4 ]

Incorrect string value: '\xD0\xB4\xD0\xBE\xD0\xB1...' for column 'wpm_subject' at row 1 [1366]

SQL

UPDATE phpbb_wpm SET wpm_subject = 'добро {SITE_NAME}!' WHERE wpm_config_id = 1

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions_wpm.php
LINE: 275
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/acp/acp_wpm.php
LINE: 81
CALL: welcome_pm->set_data()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_wpm->main()

FILE: [ROOT]/adm/index.php
LINE: 78
CALL: p_master->load_active()


что означает проблемы с кодировкой в базе.

При установке данного мода кодировка самой таблицы и групп в ней устанавливается latin1_swedish, а для нормальной работы форума необходима utf8_bin, поэтому необходимо залезть в програмку phpmyadmin и отредактировать поля кодировки.
заменить все latin1_swedish на utf8_bin.

Вложение:
welcome_first_login_01.png
welcome_first_login_01.png [ 170.99 КБ | Просмотров: 16 ] welcome_first_login_01.png


Вложение:
welcome_first_login_02.png
welcome_first_login_02.png [ 110.57 КБ | Просмотров: 16 ] welcome_first_login_02.png



Вроде после всех этих изменений работоспособность мода гарантирована.
Во всяком случае я поставил, прошёл через все эти правки и мод заработал.

// в ходе тестирования выяснилось, что в поле Отправитель может стоять только ник админа - видимо где-то в моде "забит" его id....

Успешной установки.

© тема

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/