キャッシュの rel ファイルが空のとき map プラグインが警告となる

  • ページ: BugTrack
  • 投稿者: mizkaz
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: プラグイン
  • 投稿日: 2003-04-15 (火) 22:47:58
  • バージョン: 1.4

メッセージ

キャッシュの rel ファイルが空のとき map プラグインが 159 行目で警告となり、マップが正しく作成されない。

Warning: Undefined offset: 0 in
 /var/autofs/misc/groups/p/pu/pukiwiki/htdocs/pukiwiki1.4/plugin/map.inc.php
 on line 159

http://pukiwiki.sourceforge.jp/pukiwiki1.4/pukiwiki.php の「サイトマップ」で再現してます。

あっ、300 番ゲット!!


  • マップが正しく表示されないのは links アクションプラグインを実行していないからなんですね。このプラグインは定期的に人手で実行すべきものなのでしょうか? -- mizkaz 2003-04-15 (火) 23:41:53
  • インストール直後や、ページソース(./wiki/*.txt)を手動で変更した時など、あと、キャッシュのアップデートルーチンにバグがあって、ページ内容とキャッシュの内容が矛盾することがあるかもしれないので XD、おかしいな、と思ったらpukiwiki.php?plugin=linksでキャッシュを更新してみてください。 -- ぱんだ 2003-04-17 (木) 11:12:20
  • テキストのみでリンクがないページを書くと、空の rel ファイルが作られます。次に、 map を表示すると、作ったページの子として空の項目ができてしまいます。linksアクションプラグインを呼べば解消されるのですが、いちいち呼ぶわけには行かないので下記のように、空relファイルを作らないように対処してみました。「ページが存在しているときは空でも作る」というコメントが気になるんですが、これはどういう訳でしょうか? -- mizkaz 2003-04-17 (木) 15:20:58
    *** pukiwiki.1.4/link.php~     Thu Apr  3 10:41:08 2003
    --- pukiwiki.1.4/link.php      Thu Apr 17 15:11:05 2003
    ***************
    *** 77,89 ****
            // .rel:$pageが参照しているページの一覧
            if ($time) // ページが存在しているときは空でも作る
            {
    -               $fp = fopen($rel_file,'w')
    -                       or die_message('cannot write '.htmlspecialchars($rel_file));
                    if (count($rel_new))
                    {
                            fputs($fp,join("\t",$rel_new));
                    }
    -               fclose($fp);
            }
            // .ref:$_pageを参照しているページの一覧
            links_add($page,array_diff($rel_new,$rel_old),$rel_auto);
    --- 77,89 ----
            // .rel:$pageが参照しているページの一覧
            if ($time) // ページが存在しているときは空でも作る
            {
                    if (count($rel_new))
                    {
    +                       $fp = fopen($rel_file,'w')
    +                               or die_message('cannot write '.htmlspecialchars($rel_file));
                            fputs($fp,join("\t",$rel_new));
    +                       fclose($fp);
                    }
            }
            // .ref:$_pageを参照しているページの一覧
            links_add($page,array_diff($rel_new,$rel_old),$rel_auto);
  • これは…たしか、yetlistの開発版でrelとrefの差分をとろうとして「relはページとともに存在しなければならぬ」と勝手に思い込んだときの残骸ですね。結局yetlistはrelを使わなくなったのでここはmizkazさんの修正で大丈夫だと思います。 -- ぱんだ 2003-04-17 (木) 23:54:04
  • cvsに投入しました。cvs:link.inc.php(v1.4:r1.5) -- ぱんだ 2003-04-17 (木) 23:55:09

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-04-18 (金) 00:32:05
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.178 sec.

OSDN