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

Advanced Posts Merging

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

Сообщение Rise »

Вот в архиве отредактированные файлы.
Мне кажется проблема все же в posting.php...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 19 лет 8 месяцев
Поблагодарили: 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
Стаж: 17 лет 6 месяцев

Сообщение Rise »

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

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

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

Сообщение Xpert »

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

Сообщение Rise »

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

Сообщение rxu »

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

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

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

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

Сообщение rxu »

Архив обновлен. Устранена ошибка с длиной поля ввода для форумов, улучшен код.
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 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
Стаж: 19 лет 8 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Вот просто так не пашет и все? И никак не ругается? Не верю! (с)
С инструкцией все нормально, не вы первый кто мод ставит и не вы первый, кто думает что здесь ошибка.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 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
Сообщения: 16198
Стаж: 17 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 504 раза
Поблагодарили: 1675 раз

Сообщение rxu »

Виталz, а текст ошибки процитировать - религия не позволяет?
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 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
Сообщения: 16198
Стаж: 17 лет 6 месяцев
Откуда: Красноярск
Благодарил (а): 504 раза
Поблагодарили: 1675 раз

Сообщение rxu »

А куда Вы в sql запросе дели post_time?
Изображение
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 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»