Posts merging - Склеивание сообщений / постов

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Posts merging - Склеивание сообщений / постов

Сообщение rxu »

Мод склейки отправленных подряд последних сообщений от одного пользователя в теме.
Частично является портом известного мода от Xpert для phpBB2 - Advanced posts merging.

Установочный фикс для версий начиная с 3.0.2 и выше находится здесь.
Серия исправлений для 3.0.5 здесь и здесь.
Фикс для исправления неправильной ссылки в уведомлении о новом сообщении находится здесь.
Изменение в поиске строки в includes/acp/acp_board.php находятся здесь.
Возможное решение для отключения склейки на уровне сообщений - здесь.

Вероятные вопросы по использованию мода

Мод работает на версии форума 3.0.7 и выше?
Работает нормально и не надо засорять тему подобными вопросами.

Почему не склеиваются посты??
В настройках размещения сообщений задайте период склеивания.

Как не прикреплять сообщение, если предыдущее - заблокировано?
Posts merging - Склеивание сообщений / постов
=========================
FAQ - по теме Posts merging - Склеивание сообщений / постов от WinSSLioN

Ключевые слова для поиска: склеивание соседних постов, склейка
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось владимир1983 24.11.2014 23:21, всего редактировалось 19 раз.
Причина: Добавил ссылку на собранный faq по теме
Изображение
Ionian.Wind
phpBB 1.2.1
Сообщения: 27
Стаж: 17 лет 6 месяцев

Re: Posts merging - Склеивание сообщений / постов

Сообщение Ionian.Wind »

premier писал(а):можете описать принцип действия этого костыля, может он пригодится и тем у кого нету мода Colored background messages
"Костыль" тесно связан с самим модом цветных сообщений, поэтому кратко опишу принцип действия этого мода.
Мод позволяет модераторам и администраторам выделять свои сообщения другим цветом.
При установке мода к сообщению добавляется параметр, определяющий, нужно ли выделение цветом, или нет.
К форме ответа добавляется чекбокс для установки этого параметра, видимый, соответственно, только админам и модерам.

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

Вот, собственно, и всё.
Аватара пользователя
premier
phpBB 1.2.1
Сообщения: 21
Стаж: 20 лет 1 месяц
Откуда: Россия, Сибирь, Омск

Re: Posts merging - Склеивание сообщений / постов

Сообщение premier »

RedNaxi писал(а):(просто предположение) а если попробовать написать 0.5 часа например
Да пробовал 0.5 и 0,5 :) , принимает только целые числа, а целые числа это часы. Думаю можно обойтись без ковыряния бызы данных, думаю истина зарыта где-то в файле time_delta.php
Ionian.Wind писал(а):"Костыль" тесно связан с самим модом цветных сообщений
Спасибо за объяснение и за костыль, мод интересный возможно использую ваш костыль.
Сделайте патриотизм своим образом жизни!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

RedNaxi писал(а):а если попробовать написать 0.5 часа например?
Не сработает - используется функция intval. Можно просто в Includes/posts_merging.php в строке

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

$merge_interval = intval($config['merge_interval']) * 3600;
поменять 3600 на 60.
Изображение
Аватара пользователя
premier
phpBB 1.2.1
Сообщения: 21
Стаж: 20 лет 1 месяц
Откуда: Россия, Сибирь, Омск

Re: Posts merging - Склеивание сообщений / постов

Сообщение premier »

Спасибо, работает.

Для тех кто будет так же интересоваться этим вопросом сообщаю, что редакция указанная выше, производится в файле includes/posts_merging.php

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

Добавлено спустя 19 минут 21 секунду:
По доработке которую представил RedNaxi добавлю, что для того чтобы и англоязычные посетители вашего форума (если такие есть) могли воспользоваться опцией "Не склеивать сообщения", нужно сделать изменения и в англоязычном common.php

В файле language/en/common.php после

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

	'YOU_NO_NEW_PM'		=> 'No new private messages are waiting for you.',
добавить

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

	'DO_NOT_MERGE'		=> 'Do not glue the previous',
Только вопрос к знающим хорошо английский язык, правильно будет звучать: "Do not glue the previous"?

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

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

	'DO_NOT_MERGE'		=> 'Do not merge with the previous post',
Последний раз редактировалось premier 28.04.2009 15:18, всего редактировалось 1 раз.
Сделайте патриотизм своим образом жизни!
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

Do not merge with the previous post.
Изображение
Аватара пользователя
premier
phpBB 1.2.1
Сообщения: 21
Стаж: 20 лет 1 месяц
Откуда: Россия, Сибирь, Омск

Re: Posts merging - Склеивание сообщений / постов

Сообщение premier »

Ionian.Wind писал(а):"Костыль" тесно связан с самим модом цветных сообщений
premier писал(а):Спасибо за объяснение и за костыль, мод интересный возможно использую ваш костыль.
Поставил этот мод (вначале как мог русифицировал, потом доработал для просильвера с левым расположением профилей, всё выложил вот здесь: http://forum.bb3x.ru/topic-768), сейчас попробую ваш совет, а пока для тех кто не хочет совать в свой форум лишний код, но уже как я воспользовался доработками которые чуть выше предложил RedNaxi (появляется чекбокс "Не склеивать с предыдущим"), будет работать вот так:

В "настройки МОДА цветного фона для администраторов и модераторов" (Colored background for admins and modos MOD settings), в "Включить цветной фон по умолчанию:" (Enable colored background by default) я поставил "Нет".

1. Если нажать "Ответить" выбрать "Изменить цвет фона для этого сообщения", но не выбирать "Не склеивать с предыдущим", то 2 варианта если уже прошло время в течении которого сообщения должны склеиваться, то сообщение публикуется отдельно и на своём фоне, если время ещё не прошло, то сообщение приклеивается к предыдущему и фон у предыдущего не меняется.

2. Если нажать "Ответить" выбрать "Изменить цвет фона для этого сообщения" и выбрать "Не склеивать с предыдущим", то сообщение публикуется отдельно и на своём фоне.

3. Если после сообщения с изменённым цветом опубликовать сразу следующее сообщение, то оно склеится с предыдущем и будет на изменённом цвете даже если не выбирать "Изменить цвет фона для этого сообщения", а если уже прошло время для склейки, то сообщение естественно появится отдельно и на обычном фоне.
Сделайте патриотизм своим образом жизни!
maggg
phpBB 1.2.1
Сообщения: 27
Стаж: 19 лет 1 месяц
Откуда: Город Заречный Свердловская область
Благодарил (а): 2 раза

Re: Posts merging - Склеивание сообщений / постов

Сообщение maggg »

Для установки мода необходимо в файле posting.php вставить определённый код после строки unset($message_parser);
Штука в том, что в phpbb 3.0.4 в файле posting.php нет такой строки.
Как быть?

Добавлено спустя 26 минут 19 секунд:
Скачал старые версии phpBB и, сравнив файлы posting.php, пришёл к выводу, что инструкция должна звучать так:

В файле posting.php найти строку:
$redirect_url = submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message);

Перед ней добавить:
include($phpbb_root_path . 'includes/posts_merging.' . $phpEx);

Считаю, что это исправление необходимо обязательно включить в свежую версию мода, потому установить его в phpBB 3.0.4 без анализа кода предыдущих версий не получится ни у кого.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

maggg писал(а):В файле posting.php найти строку:$redirect_url = submit_post($mode, $post_data['post_subject'], $post_data['username'], $post_data['topic_type'], $poll, $data, $update_message);Перед ней добавить:include($phpbb_root_path . 'includes/posts_merging.' . $phpEx);
Если бы вы читали первый пост этой темы, вам было бы намного легче.
Изображение
maggg
phpBB 1.2.1
Сообщения: 27
Стаж: 19 лет 1 месяц
Откуда: Город Заречный Свердловская область
Благодарил (а): 2 раза

Re: Posts merging - Склеивание сообщений / постов

Сообщение maggg »

Блин. Проглядел.
gourmet
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 8 месяцев

Re: Posts merging - Склеивание сообщений / постов

Сообщение gourmet »

Просмотрел вроде все, но так и не нашел решения этого:
SQL ERROR [ mysql4 ]

Unknown column 'post_created' in 'field list' [1054]

SQL

UPDATE phpbb_posts SET bbcode_uid = '3rrmle1r', bbcode_bitfield = 'Bg==', post_text = '123\n\n[color=green:3rrmle1r]Добавлено спустя 6 минут 21 секунду:[/color:3rrmle1r][/size:3rrmle1r]\nйцу', post_checksum = 'e4c704c16d47742e5c2cc2abd9b3259f', post_created = '1202227475', post_time = 1202227856, post_attachment = 0 WHERE post_id = 11

BACKTRACE


FILE: includes/db/mysql.php
LINE: 158
CALL: dbal->sql_error()

FILE: includes/posts_merging.php
LINE: 152
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 1002
CALL: include('includes/posts_merging.php')

Помогите, все делал по инструкции, запрос к базе выполнен корректно.
INSERT INTO phpbb_config( config_name, config_value )
VALUES (
'merge_interval', 0
);# Затронуто строк: 1.
INSERT INTO phpbb_config( config_name, config_value )
VALUES (
'merge_no_forums', 0
);# Затронуто строк: 1.
INSERT INTO phpbb_config( config_name, config_value )
VALUES (
'merge_no_topics', 0
);# Затронуто строк: 1.
ALTER TABLE phpbb_posts ADD post_created INT( 11 ) DEFAULT '0' NOT NULL AFTER post_time;# Затронуто строк: 130.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

Посмотрите прямо в БД, действительно ли в таблице phpbb_posts присутствует поле post_created.
Изображение
gourmet
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 8 месяцев

Re: Posts merging - Склеивание сообщений / постов

Сообщение gourmet »

да, поле есть, только везде нули стоят. Это типично?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

Да.
Изображение
gourmet
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 8 месяцев

Re: Posts merging - Склеивание сообщений / постов

Сообщение gourmet »

тогда куда мне пойти и что подкрутить чтобы заработало?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Posts merging - Склеивание сообщений / постов

Сообщение rxu »

Без понятия, если честно. Если поле в таблице есть, проблем быть не должно. Значит, его не видно. Тогда либо какой-то серверный кэш, либо не тот префикс БД (не похоже), либо не та БД вообще, или инопланетяне.
Изображение

Вернуться в «Бета-версии модов для phpBB 3.0.x»