*コメントが書き込めない [#wcadb01e]

-ページ: BugTrack
-投稿者: [[みこ]]
-優先順位: 低
-状態: 却下
-カテゴリー: プラグイン
-投稿日: 2004-11-29 (月) 20:08:51
-バージョン: cvs(11/28)

**メッセージ [#m68324d8]
[[cvs:plugin/comment.inc.php]](r1.25)を使用するとコメントが書き込めなくなっています。おそらく、クリーンアップの際のデグレかとおもいます。
----
-パッチです。 -- [[みこ]] &new{2004-11-29 (月) 20:09:19};
 55c55,58
 <               if (preg_match('/^#comment/i', $line) && $comment_no++ == $vars['comment_no']) {
 ---
 > //            if (preg_match('/^#comment/i', $line) && $comment_no++ == $vars['comment_no']) {
 >               if (preg_match('/^#comment/i', $line)) {
 > $comment_no++;
 > if ($comment_no == $vars['comment_no']) {
 57a61
 > }
-すいません、できればdiffは -u (unified) でお願いします。そして動かないとのことですが、とりあえず再現していません (^^; 1.4お試しサイトでも既に r1.25 になっていますが、問題無いようです。 -- [[henoheno]] &new{2004-11-29 (月) 23:33:54};
-- 上記部分はロジックを全くいじっていないので、違いが良くわかりません (^^; -- [[henoheno]] &new{2004-11-29 (月) 23:35:52};

変更前
	foreach ($postdata_old as $line)
	{
		if (!$comment_ins)
		{
			$postdata .= $line;
		}
		if (preg_match('/^#comment/i', $line) and $comment_no++ == $vars['comment_no'])
		{
			$postdata = rtrim($postdata)."\n-$comment\n";
			if ($comment_ins)
			{
				$postdata .= "\n";
			}
		}
		if ($comment_ins)
		{
			$postdata .= $line;
		}
	}

変更後
	foreach ($postdata_old as $line) {
		if (! $comment_ins) $postdata .= $line;
		if (preg_match('/^#comment/i', $line) && $comment_no++ == $vars['comment_no']) {
			$postdata = rtrim($postdata) . "\n-$comment\n";
			if ($comment_ins) $postdata .= "\n";
		}
		if ($comment_ins) $postdata .= $line;
	}
-and を && に変えてはいますが、代入文を使っているわけでもなし、特に影響はないはずですです -- [[henoheno]] &new{2004-11-29 (月) 23:39:40};
-- (・・・インクリメントが気になるので、ちょっと確認してこよう・・・((PHPは優先順位が微妙に違うんですよね... http://www.php.net/manual/ja/language.operators.php )) -- [[henoheno]] &new{2004-11-29 (月) 23:41:19};
-- (関係ないよなぁ・・・むむ・・・ -- [[henoheno]] &new{2004-11-29 (月) 23:45:24};
-ああ (^^; まず、パッチは誤りです。ごめんなさい。(逆に動かなくなるものがでます。) -- [[みこ]] &new{2004-11-30 (火) 00:46:06};
-原因は別のところにありそうなので、ちょっと追加調査します。すみません、原因がちゃんと判明するまでステータスを変更します。 -- [[みこ]] &new{2004-11-30 (火) 00:47:41};

-すみません、これは結局 convert_html の再入の問題と判明しました。(そういえば[[BugTrack/528]]でそんなお話をしましたね (^^; )情報を混乱させてしまって、ごめんなさい XD -- [[みこ]] &new{2004-11-30 (火) 12:47:58};
-- いえいえ :) 最近どんなことをやっているのか知っていただく意味でこういうやりとりも良いものです。 -- [[henoheno]] &new{2004-12-06 (月) 23:23:26};

-後につなげるための報告として・・・。comment.inc.php での comment_no は static にしている(+番号を順番として依存している)ため convert_html の再入が入る((再現させるにはconvert_htmlしたものを使用しないようなroutineを作るとわかりやすいです XD ))とその番号に狂いが生じるときがあります。でも、この部分を強化するのって現行だとむずかしそうですよね? (^^; -- [[みこ]] &new{2004-11-30 (火) 12:56:18};
-convert_html以外の解を探した方が良いと思います。とりあえず現在のアーキテクチャ(というべきですか)では、アクロバティックな、あるいは富豪的なことをしている部分もありますが、データはおおむね1パスで処理されます。static関数を使うのがまずい、ということになると、「同じプラグインが複数個書いてあったら、二度目以降は無視する」とか「static関数でキャッシュ/カウントする」といった動作の前提が根底から崩れますので、被害はcommentプラグインだけに留まらないし、どこで崩壊が起きるかは利用しているプラグインと、それをどこで利用しているか(データ)に依存すると思います。 -- [[henoheno]] &new{2004-12-06 (月) 23:37:34};
--これは、わたしもそうおもいますのでこのコメントはここで(ステータスは却下のまま)クローズします。((余計な手数をかけてしまってすみません XD はずかしい XD )) -- [[みこ]] &new{2004-12-07 (火) 00:06:08};

#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.074 sec.

OSDN