Страница 3 из 14

Добавлено: 08.04.2006 15:25
Kastaneda
У меня есть: Warning: preg_replace():

Добавлено: 08.04.2006 15:27
Siava
Kastaneda
Во-во..
Я временно закомментировал эту проблемную строчку.

Добавлено: 08.04.2006 16:30
Kastaneda
А с оригинальным файлом privmsg.php всё нормально. В смысле предупреждений нет.

Добавлено: 08.04.2006 16:34
ЖаЖдА®
А у меня вообще проблем нет =)
Вначале, правда, "поправила" все моды, а про аттач забыла. После того, как заново модифицировала измененные файлы больше нюансов не было.

Добавлено: 08.04.2006 17:06
baldahin
Axl писал(а):Обновился, вроде всё работает как надо!
Единственное, заметил, при нажатии на "цитата" под ником пользователя, текст не цитируется, получается такой вид:

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

[quote="Koloboton"]Большое спасибо[/quote]
Где копать, подскажите плз?
Квик реплэй установлен от Xpert, последний версии 3.0.0
аналогичная фигня. как бороться?

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

мне помогло вот это:


in includes/functions_post.php
find

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

$message = addslashes($message);	
after add

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

$message = str_replace('"', '\\"', $message);
Добавлено спустя 6 минут 30 секунд:

еще сломалось склеивание сообщений. получается вот такая фигня:
первое сообщени nnдобавлено спустя 2 минуты:nn второе

Добавлено: 08.04.2006 17:10
automan
с офф сайта phpbb.com


The code changes file is once again available on the download page with the error corrected.


If you had updated using the code changes file prior to this, you should make the following change


OPEN

privmsg.php

FIND

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

   if ( !($privmsg = $db->sql_fetchrow($result)) )
         {
            redirect(append_sid("privmsg.$phpEx?folder=$folder", true));
         }

         $privmsg_subject = preg_replace($orig_word, $replacement_word, $privmsg_subject);
         $privmsg_subject = ( ( !preg_match('/^Re:/', $privmsg['privmsgs_subject']) ) ? 'Re: ' : '' ) . $privmsg['privmsgs_subject'];

REPLACE WITH

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

  if ( !($privmsg = $db->sql_fetchrow($result)) )
         {
            redirect(append_sid("privmsg.$phpEx?folder=$folder", true));
         }

         $orig_word = $replacement_word = array();
         obtain_word_list($orig_word, $replace_word);

         $privmsg_subject = ( ( !preg_match('/^Re:/', $privmsg['privmsgs_subject']) ) ? 'Re: ' : '' ) . $privmsg['privmsgs_subject'];
         $privmsg_subject = preg_replace($orig_word, $replacement_word, $privmsg_subject);
This is the only change required

Добавлено: 08.04.2006 17:29
SugutorBatia
У меня какаято фигня с регистрацией :(

захожу.
/forum/profile.php?mode=register

выдает:
Warning: mysql_query(): 12 is not a valid MySQL-Link resource in z:\home\baruk.ru\www\forum\db\mysql4.php on line 118

Warning: mysql_error(): 12 is not a valid MySQL-Link resource in z:\home\baruk.ru\www\forum\db\mysql4.php on line 330

Warning: mysql_errno(): 12 is not a valid MySQL-Link resource in z:\home\baruk.ru\www\forum\db\mysql4.php on line 331
Список форумов Барук.ру
Общая ошибка

Could not select default dateformat

DEBUG MODE

SELECT config_value FROM phpbb_config WHERE config_name = 'default_dateformat'

Line : 191
File : usercp_register.php






Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Warning: mysql_close(): 12 is not a valid MySQL-Link resource in z:\home\baruk.ru\www\forum\db\mysql4.php on line 87
Добавлено спустя 48 секунд:

Может я чего где недоделал??? Но вроде из дистрибутива новый форум проинсталил. Сырой без модов и пр. и сразу такая штука :(

Добавлено: 08.04.2006 20:02
Kastaneda
Axl писал(а):Единственное, заметил, при нажатии на "цитата" под ником пользователя, текст не цитируется. Квик реплэй установлен от Xpert, последний версии 3.0.0
На чистом форуме тоже цитаты с именами не работают. Правда метод baldahin'а решает эту проблему. Но всё же интересно, откуда взялся этот глюк. Опять забыли что-нибудь?

Если не ошибаюсь, то вот уже второй раз о выходе новой версии объявляет не Acyd Burn, а кто-то другой. И именно в эти разы что-нибудь забывают вложить в дистрибутив.

Добавлено: 08.04.2006 21:48
Makc666
Kastaneda писал(а):
Axl писал(а):Единственное, заметил, при нажатии на "цитата" под ником пользователя, текст не цитируется. Квик реплэй установлен от Xpert, последний версии 3.0.0
На чистом форуме тоже цитаты с именами не работают. Правда метод baldahin'а решает эту проблему. Но всё же интересно, откуда взялся этот глюк. Опять забыли что-нибудь?

Если не ошибаюсь, то вот уже второй раз о выходе новой версии объявляет не Acyd Burn, а кто-то другой. И именно в эти разы что-нибудь забывают вложить в дистрибутив.
На чистом форуме с установленным модом?
На совсем чистом форуме без всяких модов цитирование с именем работает.
Я хотя и не использую быстрый ответ от Xpert, а другой SQR 1.4.0, у меня тоже на нём перестало цитирование работать.

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

Мы не одиноки....
http://www.phpbb.com/phpBB/viewtopic.php?t=380755
http://www.phpbb.com/phpBB/viewtopic.php?t=380873

Если HTML включен в конфигурации, то quote не работает.
А вот если выключить, то начинает работать.

Но опять же, это если есть моды...

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

Ага...
Moderator TAG тоже перестал работать :)

Круто да :)

Помните, в версии 2.0.19 была такая замена:

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

***************
*** 252,258 ****
  
  	// [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff.
  	$text = bbencode_first_pass_pda($text, $uid, '[quote]', '[/quote]', '', false, '');
! 	$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\".*?\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");
  
  	// [list] and [list=x] for (un)ordered lists.
  	$open_tag = array();
--- 252,258 ----
  
  	// [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff.
  	$text = bbencode_first_pass_pda($text, $uid, '[quote]', '[/quote]', '', false, '');
! 	$text = bbencode_first_pass_pda($text, $uid, '/\[quote=\\\\"(.*?)\\\\"\]/is', '[/quote]', '', false, '', "[quote:$uid=\\"\\1\\"]");
  
  	// [list] and [list=x] for (un)ordered lists.
  	$open_tag = array();
***************
*** 389,403 ****
После чего мы меняли в Moderator Tag такие вещи:

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

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

# 
#-----[ FIND ]------------------------------------------ 
# 
	$text = bbencode_first_pass_pda($text, $uid, '/\[mod=(\\".*?\\")\]/is', '[/mod]', '', false, '', "[mod:$uid=\\1]");

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	$text = bbencode_first_pass_pda($text, $uid, '/\[mod=\\\\"(.*?)\\\\"\]/is', '[/mod]', '', false, '', "[mod:$uid=\\"\\1\\"]");

# 
#-----[ FIND ]------------------------------------------ 
#
				if( preg_match('#\[mod=\\"#si', $possible_start, $match) && !preg_match('#\[mod=\\"(.*?)\\"\]#si', $possible_start) )
				{
					// OK we are in a mod tag that probably contains a ] bracket.
					// Grab a bit more of the string to hopefully get all of it..
					if ($close_pos = strpos($text, '"]', $curr_pos + 9))
					{
						if (strpos(substr($text, $curr_pos + 9, $close_pos - ($curr_pos + 9)), '[mod') === false)
						{
							$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 2);
						}
					}
				}

# 
#-----[ REPLACE WITH ]------------------------------------------ 
#
				if( preg_match('#\[mod=\\\"#si', $possible_start, $match) && !preg_match('#\[mod=\\\"(.*?)\\\"\]#si', $possible_start) )
				{
					// OK we are in a quote tag that probably contains a ] bracket.
					// Grab a bit more of the string to hopefully get all of it..
					if ($close_pos = strpos($text, '"]', $curr_pos + 14))
					{
						if (strpos(substr($text, $curr_pos + 14, $close_pos - ($curr_pos + 14)), '[mod') === false)
						{
							$possible_start = substr($text, $curr_pos, $close_pos - $curr_pos + 7);
						}
					}
				}

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
А теперь кто-нибудь решите это задачку :)

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

У кого проблемы есть, у Вас Moderator Tags стоит?

Добавлено: 08.04.2006 21:48
Kastaneda
Makc666 писал(а):На совсем чистом форуме без всяких модов цитирование с именем работает.
Как выяснилось, на совсем чистом, то есть на новой базе работают цитаты. А вот на старой базе, но с полностью чистыми файлами - такой казус с цитатами.

Xpert, на нынешние глюки с цитатами может влиять мод «Advanced Posts Merging»? Помнится была с ним такая проблема. Может это каким-то образом влияет:

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

ALTER TABLE phpbb_posts ADD post_created INT(11) DEFAULT '0' NOT NULL AFTER post_time; 
UPDATE phpbb_posts SET post_created = post_time;

Добавлено: 08.04.2006 21:52
Makc666
Kastaneda писал(а):
Makc666 писал(а):На совсем чистом форуме без всяких модов цитирование с именем работает.
Как выяснилось, на совсем чистом, то есть на новой базе работают цитаты. А вот на старой базе, но с полностью чистыми файлами - такой казус с цитатами.
У меня работает.
У меня два форума чистых со старыми базами, который обновляются через patch по ssh и update_to_latest с версии где-то 2.0.9 и даже раньше наверное.
Поэтому я не могу подтвердить, что это проблема базы.

К тому же, на том же самом phpbb.com база я думаю ну очень старая и проблемы там нет :)

Добавлено спустя 46 секунд:

Ещё раз задам вопрос, кто не видел:
У кого есть данная проблема, установлен у Вас Moderator Tags?

Добавлено: 08.04.2006 22:00
Kastaneda
Makc666 писал(а):У кого проблемы есть, у Вас Moderator Tags стоит?
C ним аналогичная ситуация, что и с цитатами. Но опять же метод baldahin'а спасает ситуацию.

Добавлено: 08.04.2006 22:02
Makc666
На официальном сайте начали писать, что и на чистом форуме есть подобная проблема!
Ссылка:
http://www.phpbb.com/phpBB/viewtopic.ph ... 90#2079790

Добавлено: 08.04.2006 22:02
Siava
Makc666
У меня Moderator Tags, но проблемы возникали только в 2 случаях:
  • Цитирование в ЛС
  • Редактирование ЛС, находящегося в исходящих
Я пока откатил старый privmsg.php и сделал в нём обновление за исключением вот этой части:

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

#
#-----[ FIND ]---------------------------------------------
# Line 1505
			if ( !($privmsg = $db->sql_fetchrow($result)) )
			{
				redirect(append_sid("privmsg.$phpEx?folder=$folder", true));
			}


#
#-----[ AFTER, ADD ]---------------------------------------------
#
			$privmsg_subject = preg_replace($orig_word, $replacement_word, $privmsg_subject);

#
#-----[ FIND ]---------------------------------------------
# Line 1522
				$privmsg_bbcode_uid = $privmsg['privmsgs_bbcode_uid'];

				$privmsg_message = preg_replace("/\:(([a-z0-9]:)?)$privmsg_bbcode_uid/si", '', $privmsg_message);
				$privmsg_message = str_replace('<br />', "\n", $privmsg_message);
				$privmsg_message = preg_replace('#</textarea>#si', '</textarea>', $privmsg_message);

#
#-----[ AFTER, ADD ]---------------------------------------------
#
				$privmsg_message = preg_replace($orig_word, $replacement_word, $privmsg_message);

#
#-----[ FIND ]---------------------------------------------
# Line 1743

	//
	// Send smilies to template
	//
	generate_smilies('inline', PAGE_PRIVMSGS);

#
#-----[ FIND ]---------------------------------------------
# Line 1748

	$privmsg_subject = preg_replace($html_entities_match, $html_entities_replace, $privmsg_subject);
	$privmsg_subject = str_replace('"', '"', $privmsg_subject);

#
#-----[ REPLACE WITH ]---------------------------------------------
# Just remove/delete the lines (replacing with an empty line)
Подожду что ли универсального решения :roll:

Добавлено: 08.04.2006 22:04
Kastaneda
Makc666 писал(а):Поэтому я не могу подтвердить, что это проблема базы.
А у вас имеется «Advanced Posts Merging»?