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

First Post On Every Page

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
Аватара пользователя
GalS
phpBB 1.4.1
Сообщения: 44
Стаж: 17 лет 5 месяцев
Контактная информация:

Сообщение GalS »

Xpert писал(а):А у вас стиль точно внешний, а не в overall_header.tpl?
я правила и в overall_header.tpl и в subSilver.css
Yevg001
phpBB 1.2.1
Сообщения: 29
Стаж: 18 лет 7 месяцев

Сообщение Yevg001 »

А нельзяли сделать чтоб при редактировании любого сообщения была опция сделать его заглавным, поднять в шапку, чтоб оно отображалось на всех страницах?
Аватара пользователя
ScorpAL
phpBB 1.2.1
Сообщения: 20
Стаж: 17 лет 3 месяца
Контактная информация:

Сообщение ScorpAL »

Всем привет.
Пользуемся этим замечательным модом First Post On Every Page 1.0.1 достаточно давно.
Спасибо, Xpert!

Очень нравится и очень помогает.

Так же на форуме установлен Country/Location Flags MOD 2.3.2

Версия форума 2.0.21

На днях решил обновить Country/Location Flags MOD 2.3.2 до версии 2.3.3

В новой версии Country/Location Flags MOD 2.3.3 при наведении указателя на флажок отображается название страны, а не название файла флажка.

Всё везде заработало.
Но не в viewtopic.php.
Точнее, там тоже заработало, но как было описано ранее, в темах с прикрепленным первым сообщением на последней странице стало появляться сообщение: В этой теме нет сообщений.
viewtopic.php
в чистом 2.0.18 это начинается с 422 строки:

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

$resync = FALSE; 
if ($forum_topic_data['topic_replies'] + 1 < $start + count($postrow)) 
{ 
   $resync = TRUE; 
} 
добавил одну строчку:

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

$resync = FALSE; 
if ($forum_topic_data['topic_replies'] + 1 < $start + count($postrow)) 
{ 
   if (!$forum_topic_data['topic_show_first_post']) 
     $resync = TRUE; 
} 
всё встало на место
Ничего не произошло. Попрежнему происходит рассинхронизация.

Ниже прилагаю свой viewtopic.php
Дабы никого не пугать, поясню, что так же использую мод phpBB Garage 1.0.5

Кстати, перед тем как обновлять Country/Location Flags MOD 2.3.2 => 2.3.3 заметил что phpBB Garage 1.0.5 не показывает информацию об автомобиле в прилепленных сообщениях.

Поправил, все стало работать.

Кусочек листинга:

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

//
// Go ahead and pull all data for this topic
//
//-- mod start : Garage ----------------------------------------------------------------------------------------------------
//-- modify
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_birthday, u.user_next_birthday_greeting, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, g.made_year, makes.make, models.model, g.id as garage_id
	FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt )
		LEFT JOIN " . GARAGE_TABLE ." g ON ( g.member_id = p.poster_id and g.main_vehicle = 1)
		LEFT JOIN " . GARAGE_MAKES_TABLE . " makes ON (g.make_id = makes.id)
        LEFT JOIN " . GARAGE_MODELS_TABLE . " models ON (g.model_id = models.id)	
	WHERE p.topic_id = $topic_id
		$limit_posts_time
		AND pt.post_id = p.post_id
		AND u.user_id = p.poster_id
	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".$board_config['posts_per_page'];
	//-- mod finish : Garage ---------------------------------------------------------------------------------------------------

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, "Could not obtain post/user information.", '', __LINE__, __FILE__, $sql);
}

$postrow = array();
// [begin] First Post On Every Page Mod
if ( $forum_topic_data['topic_show_first_post'] && ( $start != 0) )
{
	$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_birthday, u.user_next_birthday_greeting, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, g.made_year, makes.make, models.model, g.id as garage_id
		FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt )
			LEFT JOIN " . GARAGE_TABLE ." g ON ( g.member_id = p.poster_id and g.main_vehicle = 1)
			LEFT JOIN " . GARAGE_MAKES_TABLE . " makes ON (g.make_id = makes.id)
			LEFT JOIN " . GARAGE_MODELS_TABLE . " models ON (g.model_id = models.id)	
		WHERE p.post_id = " . $forum_topic_data['topic_first_post_id'] . "
			AND pt.post_id = p.post_id
			AND u.user_id = p.poster_id";
	if ( !($first_post_result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain first post/user information.", '', __LINE__, __FILE__, $sql);
	}

	$postrow[] = $db->sql_fetchrow($first_post_result);
	$db->sql_freeresult($first_post_result);
}
// [end] First Post On Every Page Mod
Ребята, подскажите что к чему?
Второй день сижу над viewtopic.php
Скоро с ума сойду.

Добавлено спустя 32 минуты 38 секунд:

Так же заметил, что при добавлении инструкций из UPDATE Country/Location Flags MOD 2.3.2 => 2.3.3 во вторую часть кода

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

// 
// [begin] First Post On Every Page Mod
if ( $forum_topic_data['topic_show_first_post'] && ( $start != 0) )
{
	$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_birthday, u.user_next_birthday_greeting, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, ft.flag_name, g.made_year, makes.make, models.model, g.id as garage_id
		FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt, " . FLAG_TABLE . " ft )
			LEFT JOIN " . GARAGE_TABLE ." g ON ( g.member_id = p.poster_id and g.main_vehicle = 1)
			LEFT JOIN " . GARAGE_MAKES_TABLE . " makes ON (g.make_id = makes.id)
			LEFT JOIN " . GARAGE_MODELS_TABLE . " models ON (g.model_id = models.id)	
		WHERE p.post_id = " . $forum_topic_data['topic_first_post_id'] . "
			AND pt.post_id = p.post_id
			AND u.user_id = p.poster_id
			AND ft.flag_image = u.user_from_flag";
	if ( !($first_post_result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain first post/user information.", '', __LINE__, __FILE__, $sql);
	}

	$postrow[] = $db->sql_fetchrow($first_post_result);
	$db->sql_freeresult($first_post_result);
}
// [end] First Post On Every Page Mod
то подпись флажка срабатывает для только всех прилепленых сообщений кроме первой страницы. При этом с последней страницей описаных выше траблов не происходит.

Добавлено спустя 10 минут 9 секунд:

Так же заметил, что рассинхронизайия начинает происходит после добавления
pt, " . FLAG_TABLE . " ft
после
FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt

в первой части.

Добавлено спустя 44 минуты 18 секунд:

=======================================
=======================================
=======================================

ЗАРАБОТАЛО!

Код превратился в следующую штуку:

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

//
// Go ahead and pull all data for this topic
//
//-- mod start : Garage ----------------------------------------------------------------------------------------------------
//-- modify
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_birthday, u.user_next_birthday_greeting, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, ft.flag_name, g.made_year, makes.make, models.model, g.id as garage_id
	FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt )
		LEFT JOIN " . FLAG_TABLE . " ft ON (ft.flag_image = u.user_from_flag)
		LEFT JOIN " . GARAGE_TABLE . " g ON (g.member_id = p.poster_id and g.main_vehicle = 1)
		LEFT JOIN " . GARAGE_MAKES_TABLE . " makes ON (g.make_id = makes.id)
		LEFT JOIN " . GARAGE_MODELS_TABLE . " models ON (g.model_id = models.id)
	WHERE p.topic_id = $topic_id
		$limit_posts_time
		AND pt.post_id = p.post_id
		AND u.user_id = p.poster_id
	ORDER BY p.post_time $post_time_order
	LIMIT $start, ".$board_config['posts_per_page'];
	//-- mod finish : Garage ---------------------------------------------------------------------------------------------------

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, "Could not obtain post/user information.", '', __LINE__, __FILE__, $sql);
}

$postrow = array();
// [begin] First Post On Every Page Mod
if ( $forum_topic_data['topic_show_first_post'] && ( $start != 0) )
{
	$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_birthday, u.user_next_birthday_greeting, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid, ft.flag_name, g.made_year, makes.make, models.model, g.id as garage_id
		FROM ( " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt )
			LEFT JOIN " . FLAG_TABLE . " ft ON (ft.flag_image = u.user_from_flag)
			LEFT JOIN " . GARAGE_TABLE ." g ON ( g.member_id = p.poster_id and g.main_vehicle = 1)
			LEFT JOIN " . GARAGE_MAKES_TABLE . " makes ON (g.make_id = makes.id)
			LEFT JOIN " . GARAGE_MODELS_TABLE . " models ON (g.model_id = models.id)	
		WHERE p.post_id = " . $forum_topic_data['topic_first_post_id'] . "
			AND pt.post_id = p.post_id
			AND u.user_id = p.poster_id";
	if ( !($first_post_result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not obtain first post/user information.", '', __LINE__, __FILE__, $sql);
	}

	$postrow[] = $db->sql_fetchrow($first_post_result);
	$db->sql_freeresult($first_post_result);
}
// [end] First Post On Every Page Mod
Разбирайте и пользуйтесь на здоровье.
Модератора прошу проанализировать всю мою писанину выше и, если нужно, отсортирует.
Вложения
update_en.txt
UPDATE Country/Location Flags MOD 2.3.2 =&gt; 2.3.3
(7.21 КБ) 485 скачиваний
viewtopic.txt
Мой viewtopic.txt
(54.45 КБ) 493 скачивания
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет

Сообщение go »

Здраствуйте,у меня появилась прблема с этим модом.
подробно:
версия форума 2.0.21
На форуме установлены моды:

1.color_groups
2.junior_admin
3.last_forum_topic_on_index
4.quick_reply_3.0.3
5.glance
6.translit_mod
7.Recycle Bin
8.addon k korzine-MOD_Post_move_to_a_bin_forum-
9.jumpbox

в базу данных послан запрос
ALTER TABLE `phpbb_topics` ADD `topic_show_first_post` TINYINT( 1 ) UNSIGNED DEFAULT '1' NOT NULL ;

все проделано тщательно,но когда начинаешь просматривать viewtopic.php ..на последней странице имено ,на последней странице многостраничной темы


для админов и тех кто имеет вход в админ панель
выдается ошибка

Fatal error: Cannot redeclare make_forum_select() (previously declared in /home/.../public_html/.../includes/functions_admin.php:27) in /home/.../public_html/.../includes/functions_admin.php on line 27

в functions_admin.php on line 27
function make_forum_select($box_name, $ignore_forum = false, $select_forum = '')
{
global $db, $userdata;

$is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata);

$sql = 'SELECT f.forum_id, f.forum_name
FROM ' . CATEGORIES_TABLE . ' c, ' . FORUMS_TABLE . ' f
WHERE f.cat_id = c.cat_id
ORDER BY c.cat_order, f.forum_order';
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Couldn not obtain forums information', '', __LINE__, __FILE__, $sql);
}

$forum_list = '';
while( $row = $db->sql_fetchrow($result) )
{
if ( $is_auth_ary[$row['forum_id']]['auth_read'] && $ignore_forum != $row['forum_id'] )
{
$selected = ( $select_forum == $row['forum_id'] ) ? ' selected="selected"' : '';
$forum_list .= '<option value="' . $row['forum_id'] . '"' . $selected .'>' . $row['forum_name'] . '</option>';
}
}

$forum_list = ( $forum_list == '' ) ? '<option value="-1">-- ! No Forums ! --</option>' : '<select name="' . $box_name . '">' . $forum_list . '</select>';

return $forum_list;
}

Скорее всего он глючит с Юнадмином ибо все кто не имеет вход в админ панель видят последнюю страницу многостраничных тем без сообщений об ошибке...
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Этот мод функцию make_forum_select() не использует...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет

Сообщение go »

Уважаемый Xpert если Вам нетрудно просто взляните на
файл viewtopic.php возможно мой взляд притупился ия не заметил ошибки.Если не править

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

#-----[ FIND ]------------------------------------------
#
$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments" . $count_sql . "

#
#-----[ IN-LINE FIND ]------------------------------------------
#
, t.topic_last_post_id

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
, t.topic_show_first_post, t.topic_first_post_id
=========
Ошибка не обнаруживается нои мод не функционирует,если правит-оявляется ошибка Повторюсь,чтов БД был сделан запрос

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

ALTER TABLE `phpbb_topics` ADD `topic_show_first_post` TINYINT( 1 ) UNSIGNED DEFAULT '1' NOT NULL ; 
соотвествено templates/subSilver/posting_body.tpl не корректрировалось,ибо сообщение должно появляться автоматически...аль я не правильно понял логику мода?
Вложения
viewtopic.txt
(47.53 КБ) 509 скачиваний
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Какая ошибка?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alexalexis
phpBB 1.4.4
Сообщения: 183
Стаж: 17 лет 2 месяца

Сообщение Alexalexis »

В моде

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

## Files To Edit: posting.php 
##                privmsg.php 
##                language/lang_russian/lang_main.php 
##                language/lang_english/lang_main.php    
##                templates/subSilver/posting_body.tpl 
А исправляется viewtopic.php, а не privmsg.php.
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет

Сообщение go »

Xpert писал(а):Какая ошибка?
я понимал,что проблема не в самом мое.а в како-либо ином дествии.снес весь форум.поставил First Post On Every Page.и отдельно юн админ(единственных мод,которых требовал проверку н админитсратора).втал как влитой.проблем-нет:)
STALK:ER
phpBB 1.2.0
Сообщения: 19
Стаж: 17 лет 1 месяц

Сообщение STALK:ER »

Прошу прощение за оффтоп, но у меня после установки мода не отображается птичка которая заставляет отображать первый пост топика на всех страницах под учеткой любого юзера, а вот под админом всё ок.... (как исправить???)
Правда я сделал так чтобы это было поумолчанию...
Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Стаж: 18 лет

Сообщение go »

go писал(а):На форуме установлены моды:

1.color_groups
2.junior_admin
3.last_forum_topic_on_index
4.quick_reply_3.0.3
5.glance
6.translit_mod
7.Recycle Bin
8.addon k korzine-MOD_Post_move_to_a_bin_forum-
9.jumpbox
в базу данных послан запрос
ALTER TABLE `phpbb_topics` ADD `topic_show_first_post` TINYINT( 1 ) UNSIGNED DEFAULT '1' NOT NULL ;

все проделано тщательно,но когда начинаешь просматривать viewtopic.php ..на последней странице имено ,на последней странице многостраничной темы


для админов и тех кто имеет вход в админ панель
выдается ошибка

Fatal error: Cannot redeclare make_forum_select() (previously declared in /home/.../public_html/.../includes/functions_admin.php:27) in /home/.../public_html/.../includes/functions_admin.php on line 27
Уважаемый Xpert,хотел сказать,что проблема на в установке,кажется(я могу ошибатся) конфликтуют моды. я по гороскопу Овен(Овца) .... снес форум
и заного начиная с мода
First Post On Every Page

начал устанавливать моды,тщательно смотря какие ошибки и т.д.
все моды установил и остановлися на последнем вашем аддоне к моду Корзина ....http://www.phpbbguru.net/community/topic456-30.html вот етот аддон MOD_Post_move_to_a_bin_forum в инстале есть строки

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

#-----[ OPEN ]------------------------------------------
#
includes/functions_post.php
#
#-----[ FIND ]------------------------------------------
#
if (!defined('IN_PHPBB'))
{
	die('Hacking attempt');
}
#
#-----[ BEFORE, ADD ]------------------------------------------
#
include($phpbb_root_path . 'includes/functions_admin.'.$phpEx);
так же там проверка на админа ..
при любых варинатх аддона(разрешение на уделение администратора или модератора тем) в любом исходе на последеней странице выходит сообщение
Fatal error: Cannot redeclare make_forum_select() (previously declared in /home/123/public_html/.../includes/functions_admin.php:27) in /home/123/public_html/.../includes/functions_admin.php on line 27[/b
Felit
phpBB 1.4.2
Сообщения: 50
Стаж: 17 лет 1 месяц

Сообщение Felit »

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

Nau, 12.02.2007 21:56:19:
Error in posting

DEBUG MODE

SQL Error : 1136 Column count doesn't match value count at row 1

INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_show_first_post) VALUES ('название темы', 6, 1171306569, 1, 0, 2, 0)

Line : 270
File : functions_post.php
а пытался делать все как описано выше - не выходит :(
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Здесь должна быть еще запятая и значение. Проверяйте редактирование functions_post.php
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Felit
phpBB 1.4.2
Сообщения: 50
Стаж: 17 лет 1 месяц

Сообщение Felit »

спасибо за ответ, ща попробую

Добавлено спустя 21 минуту 49 секунд:

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

Error in posting

DEBUG MODE

SQL Error : 1064 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 1

INSERT INTO phpbb_topics (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_show_first_post) VALUES ('ё12', 2436, 1171566561, 70, 0, 0, 0, )

Line : 270
File : functions_post.php
вот :shock:

Добавлено спустя 3 минуты:

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

$sql  = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote, topic_show_first_post) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote, $topic_show_first_post)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type, topic_show_first_post = $topic_show_first_post " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id";
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Еще какие моды стоят?

Добавлено спустя 1 минуту 29 секунд:

Может быть это: http://www.phpbbguru.net/community/view ... 6291#56291
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Закрыто

Вернуться в «Анонсы и поддержка модов для phpBB 2.0.x»