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

Advanced Posts Merging

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
Rise
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 7 месяцев

Сообщение Rise »

Вот в архиве отредактированные файлы.
Мне кажется проблема все же в posting.php...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 9 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Да, именно там. Удалите все что касается мода из файла и ставьте его код после

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

// Log Action End
		case 'newtopic':
		case 'reply':
			$username = ( !empty($HTTP_POST_VARS['username']) ) ? $HTTP_POST_VARS['username'] : '';
			$subject = ( !empty($HTTP_POST_VARS['subject']) ) ? trim($HTTP_POST_VARS['subject']) : '';
			$message = ( !empty($HTTP_POST_VARS['message']) ) ? $HTTP_POST_VARS['message'] : '';
			$topic_password = ( !empty($HTTP_POST_VARS['topicpassword']) ) ? $HTTP_POST_VARS['topicpassword'] : '';			
$topic_desc = ( !empty($HTTP_POST_VARS['topic_desc']) ) ? trim($HTTP_POST_VARS['topic_desc']) : '';
$poll_title = ( isset($HTTP_POST_VARS['poll_title']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_title'] : '';
			$poll_options = ( isset($HTTP_POST_VARS['poll_option_text']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_option_text'] : '';
			$poll_length = ( isset($HTTP_POST_VARS['poll_length']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_length'] : '';
			$bbcode_uid = '';
Намудрили вы там здорово...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Rise
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 7 месяцев

Сообщение Rise »

Xpert
ошибку понял. спасибо. попробую.

Добавлено спустя 2 часа 13 минут 47 секунд:

к сожалению вынужден еще раз побеспокоить..
я убрал код где его не должно быть и добавил вроде все как сказано в инструкции после указанного вами места.
При отправке сообщений все нормально. Но при включении мода в админке, когда отправляешь сообщение оно не клеится с предыдущем, вверху форума над заголовком появляется несколько строчек ошибки, затем сообщение отправляется, но не склеивается. в сообщении сверху появляется строка Добавлено спустя 8 дней 10 часов 55 минут 7 секунд:
а под ней тескт сообщения.
Не могу понять, что не так..
Отредактированный файл posting.php вложил в сообщение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 9 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Текст ошибки?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Rise
phpBB 1.0.0
Сообщения: 8
Стаж: 18 лет 7 месяцев

Сообщение Rise »

я сделал скриншот, т.к. текст появляется и довольно быстро исчезает, сразу перекидывая на сообщение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16745
Стаж: 18 лет 7 месяцев
Откуда: Красноярск
Благодарил (а): 562 раза
Поблагодарили: 1857 раз

Сообщение rxu »

Небольшой аддон для исключения из склейки тем или целых форумов. Настраивается в админпанели (номера форумов/тем для исключения из склейки указываются через запятую без пробелов).
Тестировался на версии 2.0.21. Установка с EasyMod 0.3.0b прошла успешно.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rxu 23.08.2006 16:31, всего редактировалось 1 раз.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 19 лет 7 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Адд-он полезный, но нельзя ли его перепаковать в формат zip
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16745
Стаж: 18 лет 7 месяцев
Откуда: Красноярск
Благодарил (а): 562 раза
Поблагодарили: 1857 раз

Сообщение rxu »

Архив обновлен. Устранена ошибка с длиной поля ввода для форумов, улучшен код.
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 3 месяца
Откуда: Киев, Украина

Сообщение Виталz »

такой вопрос

вырезка из инстала мода

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

-----[ OPEN ]------------------------------------------ 
# 
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
# 

$unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#');
$unhtml_specialchars_replace = array('>', '<', '"', '&');

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
//
// Post an addon to the existing post
//
function submit_merged_post($post_id, $forum_id, $subject, $message, &$return_message, &$return_meta)
{
	global $board_config, $db, $lang, $phpEx, $phpbb_root_path;
	
	include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_merge.' . $phpEx);
	include($phpbb_root_path . 'includes/functions_search.'.$phpEx);

	$current_time = time();	

	// Check message
	if ( empty($message) )
	{
		message_die(GENERAL_MESSAGE, $lang['Empty_message']);
	}

	$sql = "SELECT p.post_created, p.post_time, p.enable_html, p.enable_bbcode, p.enable_smilies, pt.* 
		FROM " . POSTS_TABLE . " p, " . POSTS_TEXT_TABLE ." pt
		WHERE p.post_id = $post_id
			AND pt.post_id = p.post_id";
	$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not obtain last post information', '', __LINE__, __FILE__, $sql);
		
	$last_post_data = $db->sql_fetchrow($result);

	// Flood control
	if ( ($current_time - intval($last_post_data['post_time'])) < intval($board_config['merge_flood_interval']) )
	{
		message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
	}

	$last_post_created = $last_post_data['post_created'];
	$last_post_time = $last_post_data['post_time'];
	$last_html = $last_post_data['enable_html'];
	$last_bbcode = $last_post_data['enable_bbcode'];
	$last_smilies = $last_post_data['enable_smilies'];
	$last_bbcode_uid = $last_post_data['bbcode_uid'];
	$last_subject = $last_post_data['post_subject'];
	$last_message = $last_post_data['post_text'];

	$db->sql_freeresult($result);

	if ($last_bbcode_uid != '')
	{
		$last_message = preg_replace('/\:(([a-z0-9]:)?)' . $last_bbcode_uid . '/s', '', $last_message);
	}

	$last_message = unprepare_message($last_message);

	// Adding slashes, we need this step for comparison
	$last_subject = addslashes($last_subject);
	$last_message = addslashes($last_message);

	// Preparing separator
	$merged_after = ($current_time - $last_post_time);
	$merged_sec = $merged_after % 60;
	$merged_min = ($merged_after/60) % 60;
	$merged_hours = ($merged_after/3600) % 24 ;
	$merged_days = ($merged_after/86400) % 31;

	$s_st = ($merged_sec) ? seconds_st($merged_sec) : '';
	$m_st = ($merged_min) ? minutes_st($merged_min) : '';
	$h_st = ($merged_hours) ? hours_st($merged_hours) : '';
	$d_st = ($merged_days) ? days_st($merged_days) : '';

	$separator = sprintf($lang['Merge_separator'],$d_st,$h_st,$m_st,$s_st);
	$separator .= ( !empty($subject) && ($subject != $last_subject) ) ? sprintf($lang['Merge_post_subject'], $subject) : '';
	$separator = str_replace("'", "''", $separator);

	$message = ($message != $last_message) ? $last_message . $separator . trim($message) : trim($message);
	$message = prepare_message($message, $last_html, $last_bbcode, $last_smilies, $last_bbcode_uid);

	// This replacement was borrowed from posting.php
	$last_subject = str_replace("\'", "''", $last_subject);
	$last_message = str_replace("\'", "''", $last_message);
	
	$sql = "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$message' WHERE post_id = $post_id";
	$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update post text information', '', __LINE__, __FILE__, $sql);

	$sql = "UPDATE " . POSTS_TABLE . " SET post_time = $current_time WHERE post_id = $post_id";
	$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update last post time', '', __LINE__, __FILE__, $sql);

	$sql = "UPDATE " . FORUMS_TABLE . " SET forum_last_post_id = $post_id WHERE forum_id = $forum_id";
	$result = $db->sql_query($sql) or message_die(GENERAL_ERROR, 'Could not update forum last post id', '', __LINE__, __FILE__, $sql);

	// Search routines
	remove_search_post($post_id);
	add_search_words('single', $post_id, stripslashes($message), stripslashes($subject));

	// Meta & return message
	$return_meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';
	$return_message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');
}

# 
#-----[ FIND ]------------------------------------------ 
# 
	$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id"; 

#
#-----[ IN-LINE FIND ]------------------------------------------
# 
, post_time

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
# 
, post_created

#
#-----[ IN-LINE FIND ]------------------------------------------
# 
, $current_time

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
# 
, $current_time
особенно интересно следующее

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

#-----[ IN-LINE FIND ]------------------------------------------
# 
, $current_time

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
# 
, $current_time
а патом у меняфорум не пашит, чего делать то а?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 9 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Вот просто так не пашет и все? И никак не ругается? Не верю! (с)
С инструкцией все нормально, не вы первый кто мод ставит и не вы первый, кто думает что здесь ошибка.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 3 месяца
Откуда: Киев, Украина

Сообщение Виталz »

не ну ругается кнешна, дебаг арет во всю

причем гонит как раз на это изменение

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

# 
#-----[ FIND ]------------------------------------------ 
# 
   $sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id"; 

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
, post_time 

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------ 
# 
, post_created 

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
, $current_time 

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------ 
# 
, $current_time
может покажите как эти строки у вас оформлены?

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

без него работает, но пока что что бы не смущать посетителей поставил радной файл, чеб работало хоть как то

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

и ради интереса, зачем дважды ставить одну и туже переменную?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16745
Стаж: 18 лет 7 месяцев
Откуда: Красноярск
Благодарил (а): 562 раза
Поблагодарили: 1857 раз

Сообщение rxu »

Виталz, а текст ошибки процитировать - религия не позволяет?
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 3 месяца
Откуда: Киев, Украина

Сообщение Виталz »

вообще влом все ломать для того чтобы цитировать но ща паломаю :lol: для вас хоть звезды с неба :)

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

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

Общая ошибка 
  
Error in posting

DEBUG MODE

INSERT INTO djforum_posts (topic_id, forum_id, poster_id, post_username, post_created, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES (109, 25, 3, '', 1157089834, 1157089834, '51150092', 1, 0, 1, 1)

Line : 335
File : functions_post.php 
 
вот.


а вот строка в каторой по моему мнению у меня трабл

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

	$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_created, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
так устроит?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16745
Стаж: 18 лет 7 месяцев
Откуда: Красноярск
Благодарил (а): 562 раза
Поблагодарили: 1857 раз

Сообщение rxu »

А куда Вы в sql запросе дели post_time?
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 18 лет 3 месяца
Откуда: Киев, Украина

Сообщение Виталz »

хмсогласен протупил, вернул ее, терь ошибку не выдает, но и посты не склеивает :(

теперь строка выглядит так

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

	$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, post_created, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";

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