BugTrack/281
の編集
Top
/
BugTrack
/
281
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
*複数ページをインクルードしているページでcommentプラグインが正常に動作しない [#ga5f0b96] -ページ: BugTrack -投稿者: [[龍司]] -優先順位: 重要 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2003-04-03 (木) 22:36:49 -バージョン: **メッセージ [#mab133da] 例えば、page1に #include(page2) #include(page3) と書かれていて、page2、page3の中でそれぞれcommentプラグインを呼び出していると、comment_noがあがり続けるので、page3にコメントをつけようとしても、コメントがつかない。page2に対しては正常に動作する。 calendar_viewerでも複数のページをインクルードするので、同様の事が起きる。 comment.inc.phpの static $comment_no = 0; に続いて、 static $before_page = ""; if ($before_page != $vars['page']){ $comment_no = 0; } $before_page = $vars['page']; と書くことで、回避できた。~ これで大丈夫かな? ---- -うちでも確認しました。 -- [[reimy]] SIZE(10){2003-04-03 (木) 23:26:51} -これだと、#includeの後の#commentが0になってしまうのでは。 -- SIZE(10){2003-04-04 (金) 10:51:55} #comment #include(page2) #comment ↑これ -ページ毎にcomment_noを保持するようにしてみた。~ function plugin_comment_convert()の最初の方を下記のように変更 // static $comment_no = 0; static $comment_no_list_array = array(); if (isset($comment_no_list_array[$vars['page']])){ $comment_no = $comment_no_list_array[$vars['page']]; }else{ $comment_no =0; } で、return直前を下記のように $comment_no++; $comment_no_list_array[$vars['page']] = $comment_no; これでどうかなぁ--[[龍司]] -ありがとうございます。cvsに投入しました。 [[cvs:plugin/comment.inc.php]](v1.4:r1.15) -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:35:12} -1.3.x用は…globalをstaticにすれば同じ手が使えますね。 ほかにもarticle,insert,memo,paint,voteが同じことをしてますんで…。 -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:37:36} --連番を発生するクラスかサブルーチンがあればおもしろいんですが :) -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:53:48} --あと、「n番目のプラグイン行を探して、''その前''と''その行''と''その後ろ''を返す」サブルーチンがあれば、上記プラグインのややこしい処理をひとまとめにできる気がします。 -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:59:54} ---これは、次のバージョンかな… -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 20:01:16} //#comment
タイムスタンプを変更しない
*複数ページをインクルードしているページでcommentプラグインが正常に動作しない [#ga5f0b96] -ページ: BugTrack -投稿者: [[龍司]] -優先順位: 重要 -状態: 完了 -カテゴリー: プラグイン -投稿日: 2003-04-03 (木) 22:36:49 -バージョン: **メッセージ [#mab133da] 例えば、page1に #include(page2) #include(page3) と書かれていて、page2、page3の中でそれぞれcommentプラグインを呼び出していると、comment_noがあがり続けるので、page3にコメントをつけようとしても、コメントがつかない。page2に対しては正常に動作する。 calendar_viewerでも複数のページをインクルードするので、同様の事が起きる。 comment.inc.phpの static $comment_no = 0; に続いて、 static $before_page = ""; if ($before_page != $vars['page']){ $comment_no = 0; } $before_page = $vars['page']; と書くことで、回避できた。~ これで大丈夫かな? ---- -うちでも確認しました。 -- [[reimy]] SIZE(10){2003-04-03 (木) 23:26:51} -これだと、#includeの後の#commentが0になってしまうのでは。 -- SIZE(10){2003-04-04 (金) 10:51:55} #comment #include(page2) #comment ↑これ -ページ毎にcomment_noを保持するようにしてみた。~ function plugin_comment_convert()の最初の方を下記のように変更 // static $comment_no = 0; static $comment_no_list_array = array(); if (isset($comment_no_list_array[$vars['page']])){ $comment_no = $comment_no_list_array[$vars['page']]; }else{ $comment_no =0; } で、return直前を下記のように $comment_no++; $comment_no_list_array[$vars['page']] = $comment_no; これでどうかなぁ--[[龍司]] -ありがとうございます。cvsに投入しました。 [[cvs:plugin/comment.inc.php]](v1.4:r1.15) -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:35:12} -1.3.x用は…globalをstaticにすれば同じ手が使えますね。 ほかにもarticle,insert,memo,paint,voteが同じことをしてますんで…。 -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:37:36} --連番を発生するクラスかサブルーチンがあればおもしろいんですが :) -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:53:48} --あと、「n番目のプラグイン行を探して、''その前''と''その行''と''その後ろ''を返す」サブルーチンがあれば、上記プラグインのややこしい処理をひとまとめにできる気がします。 -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 19:59:54} ---これは、次のバージョンかな… -- [[ぱんだ]] SIZE(10){2003-04-08 (火) 20:01:16} //#comment
テキスト整形のルールを表示する