First post on every page phpbb3

В данном подфоруме будут располагаться темы с анонсами интересных модификаций, а так же будут рассматриваться проверенные временем дополнения для phpBB3.

Модераторы: Vl@d1m1r, Lorem Ipsum, Atlas

Правила форума
----
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

И в который раз анонсирую модификацию из разряда - почему такого нет в стандартном движке ?
Имя этой модификации - First post on every page, люди, знакомые с английским языком наверное уже поняли ее назначение, а для прочих поясню - модификация добавляет возможность закрепления первого сообщения темы, а это значит, что оно будет отображаться на всех страницах темы.

Согласитесь, отличное дополнение, сама модификация легка в установке, для начала не забудьте сделать SQL запрос по инструкции (о том как его выполнить читайте ), а после провести несколько несложных правок кода и все будет работать.

AВНИМАНИЕ !!!Право закреплять первое сообщение темы имеют те, кто может редактировать свои сообщения !!!

Скачиваем архив с модом и устанавливаем, а так же не забываем выполнить инструкции для стиля, которые располагаются в папке мода templates.

Для руссификации нужно открыть language/ru/common.php и найти

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

'FIND_USERNAME'			=> 'Find a member',
Вставить перед найденным

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

'FIRST_POST_SHOW'		=> 'Первое сообщение на каждой странице темы',

AВнимание !!!Всвязи с тем, что код в новых версиях форума малехо изменился, то в одной из правок следует искать

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

// Check the permissions for post approval. Moderators are not affected.
А не

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

// If the post need approval we will wait a lot longer.
Просто инструкцию к моду не переписали

Доработки
OPEN
viewtopic.php

FIND

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

   'U_TOPIC'            => "{$server_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id",
AFTER, ADD

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

   'S_TOPIC_FIRST_POST_SHOW'   => ($topic_data['topic_first_post_show'] == 1) ? true : false,
OPEN
styles/prosilver/template/viewtopic_body.html
FIND

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

   <div id="p{postrow.POST_ID}" class="post
IN-LINE FIND

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

<!-- IF postrow.S_ROW_COUNT is odd -->
IN_LINE REPLACE

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

<!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 -->bg3<!-- ELSEIF postrow.S_ROW_COUNT is odd -->
FIND

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

   <hr class="divider" />
AFTER, ADD

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

   <!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 --><br /><br /><!-- ENDIF -->
OPEN
styles/subsilver/template/viewtopic_body.html
FIND

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

   <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
REPLACE WITH

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

   <!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 --><tr class="row3"><!-- ELSEIF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
FIND

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

   <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
REPLACE WITH

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

   <!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 --><tr class="row3"><!-- ELSEIF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
FIND

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

   <!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
REPLACE WITH

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

   <!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 --><tr class="row3"><!-- ELSEIF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
FIND

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

<!-- END postrow -->
BEFORE, ADD

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

   <!-- IF S_TOPIC_FIRST_POST_SHOW and postrow.S_ROW_COUNT eq 0 --><br /><br /><!-- ENDIF -->
После изменений обновить шаблоны и очистить кэш.
Вот впринципе и все, успехов в установке :-ok-:
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#1
Аватара пользователя
pro100_kotik
Заглянул на огонек
Заглянул на огонек
Сообщения: 1
Стаж: 12 лет 7 месяцев
Откуда: Пружаны

First post on every page phpbb3

Сообщение pro100_kotik »

Да, ничего сложного нет
#2
Аватара пользователя
Roman
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 161
Стаж: 11 лет 9 месяцев
Откуда: Киев
Контактная информация:

First post on every page phpbb3

Сообщение Roman »

pro100_kotik писал(а):Да, ничего сложного нет
Действительно, проще некуда.

В файле posting.php Найти : // If the post need approval we will wait a lot longer.
Вставить перед:

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

// Show/Unshow first post on every page
			if(($mode == 'edit' && $post_id == $post_data['topic_first_post_id']) || $mode == 'post')
			{
				if($mode == 'post')
				{
					$topic_id = $data['topic_id'];
				}

				$perm_show_unshow = ($auth->acl_get('m_lock', $forum_id) || ($auth->acl_get('f_user_lock', $forum_id) && $user->data['is_registered'] && !empty($post_data['topic_poster']) && $user->data['user_id'] == $post_data['topic_poster'])) ? true : false;

				if($post_data['topic_first_post_show'] != $topic_first_post_show && $perm_show_unshow)
				{
					$sql = 'UPDATE ' . TOPICS_TABLE . '
						SET topic_first_post_show = ' . (($topic_first_post_show) ? 1 : 0) . " 
						WHERE topic_id = $topic_id";
					$db->sql_query($sql);

				}
			} 
За что отвечает последний код ???, так как первый найти не удаётся !!! Куда его вставить, если первый код найти не могу?
Последний раз редактировалось DeaDRoMeO 26 июн 2012, 19:55, всего редактировалось 1 раз.
Причина: Любой код желательно упаковывать в теги [code]ваш код[/code]
#3
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Блин забыл написать про это, в конец первого поста написал что нужно искать в коде вместо той строки, которую невозможно найти
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#4
Аватара пользователя
Roman
Активно осваиваю Форум
Активно осваиваю Форум
Сообщения: 161
Стаж: 11 лет 9 месяцев
Откуда: Киев
Контактная информация:

First post on every page phpbb3

Сообщение Roman »

Сергей подскажи как понять что он установился. Что на это указывает? В админке порылся ничего не надыбал.

...
...
...
Спасибо. Уже нашёл.
Последний раз редактировалось Roman 26 июн 2012, 20:55, всего редактировалось 1 раз.
#5
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Молодца что сам накопал, мод то не имеет настроек, ведь мы не загружали его файлов на сервер и не редактировали файлов админки, все логично
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#6
Аватара пользователя
Atlas
Свой на все 100
Свой на все 100
Сообщения: 669
Стаж: 11 лет 7 месяцев
Откуда: Санкт-Петербург

First post on every page phpbb3

Сообщение Atlas »

Я вроде всё сделал (ну, то есть автомод сделал, а я как всегда доделал))) , но со sql проблема:
#1060 - Duplicate column name 'topic_first_post_show'
Автомод тоже самое показал.
И ещё, у меня при редактировании сообщения:
Показывать первое сообщение на каждой странице темы
Показывать первое сообщение на каждой странице темы
Показывать первое сообщение на каждой странице темы
Это нормально, что 3 раза?))))
Тут, как я понимаю, sql виноват, но что там надо удалить? (там ведь, удалить надо?))
Перед тем, как следовать моим советам, сделайте полный бекап форума!=)))
#7
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Атлант-19 писал(а):#1060 - Duplicate column name 'topic_first_post_show'
Даннные уже есть в БД, ничего не надо делать
Атлант-19 писал(а):И ещё, у меня при редактировании сообщения:
Вы 3 раза вставили один и тот же код, проверяйте правильность установки
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#8
Аватара пользователя
Atlas
Свой на все 100
Свой на все 100
Сообщения: 669
Стаж: 11 лет 7 месяцев
Откуда: Санкт-Петербург

First post on every page phpbb3

Сообщение Atlas »

Устанавливаю всё заново. Устанавливаю этот мод через автомод, загружаю архив, а автомод мне пишет: Unexpected header, ending loop. И в списках в автомоде ничего нету... Или теперь только самому устанавливать?
Перед тем, как следовать моим советам, сделайте полный бекап форума!=)))
#9
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Атлант-19 писал(а):Или теперь только самому устанавливать?
Самому, не все моды могут устанавливаться через автомод
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#10
Аватара пользователя
Atlas
Свой на все 100
Свой на все 100
Сообщения: 669
Стаж: 11 лет 7 месяцев
Откуда: Санкт-Петербург

First post on every page phpbb3

Сообщение Atlas »

Но просто раньше-то работало...
Перед тем, как следовать моим советам, сделайте полный бекап форума!=)))
#11
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Атлант-19 писал(а):Но просто раньше-то работало...
Еще раз, какую ошибку кидает???Полный текст приведи)
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#12
ashat
Зашел немного посидеть
Зашел немного посидеть
Сообщения: 66
Стаж: 11 лет 5 месяцев

First post on every page phpbb3

Сообщение ashat »

если все нормально где должна появится кнопочка закрепить?
#13
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

При создании новой темы либо редактировании первого сообщения темы, над пунктами выбора типа темы (Важная, Обьявление...) должен появиться чекбокс Первое сообщение на каждой странице темы
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#14
ashat
Зашел немного посидеть
Зашел немного посидеть
Сообщения: 66
Стаж: 11 лет 5 месяцев

First post on every page phpbb3

Сообщение ashat »

надо бросто для даунов вроде меня указывать чтоб правили стиль свой в основной инструкции нет )
#15
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Черд))Надо будет указать))
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#16
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

DeaDRoMeO писал(а):а так же не забываем выполнить инструкции для стиля, которые располагаются в папке мода templates.
Хотя вот же уже написано было)))Надо внимательней просто читать))
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#17
ashat
Зашел немного посидеть
Зашел немного посидеть
Сообщения: 66
Стаж: 11 лет 5 месяцев

First post on every page phpbb3

Сообщение ashat »

все что мелким шрифтом не читается )))
#18
Аватара пользователя
DeaDRoMeO
Старожил Форума
Старожил Форума
Сообщения: 16763
Стаж: 13 лет
Откуда: Витебск
Контактная информация:

First post on every page phpbb3

Сообщение DeaDRoMeO »

Ну такой шрифт везде))
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
#19
Аватара пользователя
Atlas
Свой на все 100
Свой на все 100
Сообщения: 669
Стаж: 11 лет 7 месяцев
Откуда: Санкт-Петербург

First post on every page phpbb3

Сообщение Atlas »

Ну и мод... Не, я точно с ним с ума сойду, не иначе :-0=)
Кое-как отредактировав файлы, и промучавшись с скл-запросом, всё мод заработал: при создании темы внизу всё же появилась долгожданная галочка...
Ну ладно, отмучился, на 2 день мучений всё же надо уже и установиться :-0=) Ага, щас, установится он! :-0=) Создаю тему. Пишет: слишком маленькое сообщение... Проверил в админке - минимум 1 симвоол. Ну ладно, поставил 3 символа: у меня-то 3 предложения :-0=) Всё равно, сволочь, не работает... включил "первое сообщение...". Нажимаю "Отправить". Итог:

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

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

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 [1064]

SQL

UPDATE phpbbfa8_topics SET topic_first_post_show = 1 WHERE topic_id = 

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/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/posting.php
LINE: 1395
CALL: dbal_mysqli->sql_query()
В админке у меня стоит мод проверки ошибок. Заглянул... 16 ошибок((( Некоторые похожи:
Страница: posting.php?mode=post&f=41
Файл: [ROOT]/posting.php
Строка: 1385 [PHP Notice]

Undefined variable: data



Страница: posting.php?mode=post&f=41
Файл: [ROOT]/posting.php
Строка: 1390 [PHP Notice]

Undefined variable: topic_first_post_show



Страница: posting.php?mode=edit&f=42&p=18
Файл: [ROOT]/posting.php
Строка: 1393 [PHP Notice]

Undefined variable: topic_first_post_show
с этим постинг.пхп я особо намучился: там забыл, что надо другое искать, в итоге первый раз нетуда скопировал то что надо, но потом вроде всё подправил...
и ещё:
Страница: posting.php?mode=post&f=81
Файл: [ROOT]/includes/functions_content.php
Строка: 678 [PHP Warning]

preg_replace(): Compilation failed: invalid UTF-8 string at offset 70
Ну, а это уже врят-ли связано с этим модом, это уже наверно я лично напортачил :-0=)
DeaDRoMeO писал(а):Еще раз, какую ошибку кидает???Полный текст приведи)
Unexpected header, ending loop. Это полный текст, и он на зелёном фоне.
Перед тем, как следовать моим советам, сделайте полный бекап форума!=)))
#20
Ответить