Diff of Note/Plugin/ecache.inc.php



*&l(en){Comments};&l(ja){コメント}; [#y8c71094]
- PukiWiki 1.4.7notb + PHP 4.4.4ですが、動作していないように思えますが?
 #ecache(page=test,reset=new){{
 内容
 }}
とやると、
 new
 内容 }}
こんな感じになってしまいます。 PHP 5.1.4 でも同じ結果でした。何が悪いのでしょう? (T-T --  &new{2007-06-04 (月) 15:28:05};
-- それは ecache に限った話ですか?他の複数行プラグインでも同様ですか?複数行プラグインが有効になっていないかなにかでそもそも起動していないように見えます。 -- [[sonots]] &new{2007-06-04 (月) 20:56:20};
- default.ini.php の $search_word_color = 1; に設定して、検索後にページを開こうとするとサーバがビージィ状態になりアクセスできなくなったり、そのあとに #ecache プラグインが動作しなくなったりすることが起きました。 再現性は怖いので試してません。。 (^^; -- [[Kjm]] &new{2007-08-06 (月) 02:33:45};
-- うーむ、心辺りがないですねぇ・・・今引越しもしていて試す時間がないです (T-T -- [[sonots]] &new{2007-08-06 (月) 11:32:43};
-- どまいです。 (^^)  仕様上、regionプラグインなどと併用するときは相性に問題があるので、それなりに修正が必要になりますね。 しかし、ecacheは、本当に早いですね! 2ちゃんの添付ファイルを表示する、show2chdatプラグインの遅さが際立つようになったので、 ecache をアクション型の他のプラグインとの併用方法を検討してみます。 -- [[Kjm]] &new{2007-08-06 (月) 23:21:36};
- 以下の条件のときに、編集時に編集中のページのキャッシュがサイドバーに表示されます。((連番がずれるのが原因だと思います))
 default.ini.php(30): $always_menu_displayed = 1;
そこで、function convert()に以下のように追加すると正しく表示するようです。 -- [[Kjm]] &new{2007-08-10 (金) 05:26:43};
 +		global $vars;
 +		$is_read = (arg_check('read') && is_page($vars['page']));
 +		if( ! $is_read ){
 +			return convert_html($body);
 +		}
        return $this->ecache($this->options['page'], $body);
--自動連番の仕様のためと思いますが、MenuBar と SideBarの両方でecacheを使用すると、作成時の番号が重複されるため正常に表示しないようです。 対応するためには、menu.inc.php、 side.inc.php から呼び出されているかを判断できるようにする必要がありそうですね。 -- [[Kjm]] &new{2007-08-10 (金) 05:26:43};
-- 試していませんが~
1. 編集時に編集中のページのキャッシュがサイドバーに表示されます。~
というのは参照時の場合は、本文に1,2,3、サイドバーに 4,5 が表示されているのに、編集時はサイドバーに 1,2 が表示されるということでしょうか?たしかになりそうですね。~
2. MenuBar と SideBarの両方でecacheを使用すると、作成時の番号が重複されるため正常に表示しないようです。~
実行毎に static 変数でカウントアップしているのですが、番号の重複がおこるのですか?うーん、なんでだろ。後で試して見ます。
#br
どちらも menu か side かわかればうまいこと解決できそうですが、menu.inc.php などでは特にグローバル変数を設定したりしていないみたいですね・・・。menu, side ではどのページでも同じ内容が出てもよいものにだけ ecache を許して、MenuBar.ecache, SideBar.ecache のような統一なキャッシュファイルにしたいかなぁ。 -- [[sonots]] &new{2007-08-11 (土) 07:51:56};
-- >1,編集時はサイドバーに 1,2 が表示されるということでしょうか?
そうです、編集中は$bodyの#ecacheが無効になるので、本来$bodyで使用している連番がずれて、SideBarで使われているよううです。
2、は良く判っていませんが、MenuBarで表示される物が、SideBarで表示されたりしてます。 なんとなくですが、ご指摘の、function get_called_num() の static $called; と、$called[$page] あたりが怪しい気がします。 -- [[Kjm]] &new{2007-08-12 (日) 04:22:36};
-- ごめんなさい、『 page=MenuBar 』を指定するのを忘れていました。 -- [[Kjm]] &new{2007-08-12 (日) 04:21:37};
-- includeのような他のページを読み込む機能かと思っていました。 (..; --  &new{2007-08-12 (日) 04:51:03};
-- あぁそうだった。そんなオプションをつけていたのを忘れていました (^-^ -- [[sonots]] &new{2007-08-13 (月) 11:21:21};
- はじめまして。現在、pukiwiki1.4.6にて快適に使用させていただいております。
reset=秒数について、いくつか質問させてください。reset=秒数は何秒まで対応という制限はあるのでしょうか?
具体的にはreset=86400(1日)という長さでも自動更新の想定範囲内にになりますでしょうか?
 もうひとつ、
>reset=秒数で指定秒数毎にキャッシュを強制リセット(new の効果もある)。
このnewの効果というのはreset=秒数以外にも特別なオプション等の記述が必要となるのでしょうか?
 複数の質問で大変恐縮ではありますが、お答えいただければ幸いです。m(_ _)m -- [[もにょにょ]] &new{2008-03-04 (火) 19:56:02};
-- 1日でも大丈夫です。new の効果というのは wiki ファイルが新しければ更新、ということです。1日間隔で必ず更新し直すのではなく、1日毎に new チェック(wiki ファイルが新しいかどうか)して新しければ更新します。reset オプションがそういう動作をするという意味です。 -- [[sonots]] &new{2008-03-04 (Tue) 13:11:12};
-- お答えありがとうございます。
1日でも大丈夫とのことで安心できました。
 Newに関しては、ちゃんと自動で最新チェックをして更新するかどうかを、プラグインが判断してくれるのですか。高性能ですね
 てっきり、時間指定ごとに強制的に記述ページのキャッシュを更新していくのかと思ってました。で、あれば予想以上に負荷は高くなくて済みそうです。助かります -- [[もにょにょ]] &new{2008-03-05 (水) 11:23:11};
- 無印pukiwikiエラー対応
if (isset($GLOBALS['foot_tags'])
  $GLOBALS['foot_tags']	 += isset($data['foot_tags']) ? $data['foot_tags'] : array(); // Plus! $foot_tag
else
  $GLOBALS['foot_tags'] = array(); -- [[メモ]] &new{2012-03-15 (木) 23:15:29};

#commentx