質問箱/2070

カテゴリ
サマリget_existpagesについて
バージョン1.4.2
投稿者kent
状態完了
投稿日2004-03-08 (MON) 19:29:24

質問

refererプラグインは、ページ名がない場合あるいはページ名が不正な場合

$pages = get_existpages(TRACKBACK_DIR,'.ref');

if (count($pages) == 0)
{
    return array('msg'=>'','body'=>'');
}

return array(
    'msg' => 'referer list',
    'body' => page_list($pages,'referer',FALSE)
);
というルーチンに入りますが、get_existpagesが必ず0を返します。 pukiwiki/trackback/に保存されている.refファイルの名前はtrackback.phpで次のようにmd5を利用して生成されています。
function tb_get_id($page)
{
    return md5($page);
}

md5が生成する文字列はRH9+apache1.3.29+PHP4.3.4では全て小文字です。 しかし、file.phpのget_existpagesで使われているパターンは

$pattern = '^((?:[0-9A-F]{2})+)';
ですので、
preg_match("/$pattern/",$file,$matches))
にはマッチしません。

とりあえず、大文字小文字をマッチさせないことにしてとおすと、一覧が表示されますが文字化けしていました。 get_existpagesでは

$aryret[$file] = decode($matches[1]);
となっていますが、encodeされたものではないのでdecodeで名前に戻すことは出来ないのではないでしょうか。

よく分からないので教えてください。

回答

  • にぶんのに 2004-05-10 (MON) 02:16:33

    バージョンの項が1.4.2ですが、1.4.3でrefファイルの名前がmd5値ではなくencodeの値に変更されていますよね?( dev:開発日記/2004-03-18参照)ということでdecodeで名前を元に戻せるので問題なしと思いますが



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-10-04 (月) 02:27:21
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.232 sec.

OSDN