Comment:Hack/read.inc.php

Top > Note > Hack > read.inc.php
  • 対応確認はしていないのですが、これ、A→A もしくは A→B & B→A のようなルールがあった場合に無限ループしてしまいませんか? 自分も同じような機能を自作プラグインに組み込んでいて、その辺の対策には結構悩まされたもので。 -- revulo? 2007-06-08 (金) 01:47:41
    • しません。本当に存在するページは絶対的で、またそれにしか別名は働きません。本名に設定したページが存在しない場合編集画面にいって終わりです。つまり別名1→別名2は別名2の編集画面で終わりです。別名1→別名1も編集画面で終わりです。 -- sonots 2007-06-08 (金) 07:22:36
    • すみません、条件を1つ書き忘れていました。「ページAもページBも存在しない場合」です。このような条件の時、ページAの URL を直に指定すると無限ループします。少なくとも PukiWiki 1.4.6 + AutoAlias パッチの環境ではそうなりました。 -- revulo? 2007-06-09 (土) 06:10:17
    • あぁなるほど。is_page チェックをいれないといけないのかなぁ。ありがとうございます。 -- sonots 2007-06-09 (土) 08:05:31
    • こんなかんじですかね。http://opensvn.csie.org/sonots/pukiwikiplugin/read.inc.php -- sonots 2007-06-09 (土) 08:34:54
    • おぉ、対応が早い。本家用の read.inc.php を試しましたが、無限ループしなくなりました。対応ありがとうございます。(手元の PukiWiki 1.4.6 + AutoAlias だと get_autoaliases() が必ず配列を返す仕様になっていたので、get_autoaliases() だけは CVS 版のものに差し替えて動かしました。) -- revulo? 2007-06-09 (土) 09:57:30
    • あぁ忘れてました。上のリンクは Plus! 用で get_autoaliases が配列を返すバージョン用です。本文にあるのが本家用、つまり get_autoaliases が配列を返さない(最初にマッチしたものだけ)バージョン用です。改変をしていたのなら Plus! 用でいけたかもしれませんね。まぁいいか。 -- sonots 2007-06-09 (土) 12:14:05


URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White