**[[続・質問箱/70]] [#v065dd57]
#author("2018-03-11T12:26:34+09:00;2004-10-04T02:27:21+09:00","","")
**[[質問箱/2070]] [#v065dd57]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|get_existpagesについて|
|~バージョン|1.4.2|
|~投稿者|[[kent]]|
|~状態|完了|
|~投稿日|&new{2004-03-08 (MON) 19:29:24};|
***質問 [#j63c5a2f]
:|
~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で名前に戻すことは出来ないのではないでしょうか。
~よく分からないので教えてください。
***回答 [#ie0ac578]
-[[にぶんのに]] &new{2004-05-10 (MON) 02:16:33};
~バージョンの項が1.4.2ですが、1.4.3でrefファイルの名前がmd5値ではなくencodeの値に変更されていますよね?( [[dev:開発日記/2004-03-18]]参照)ということでdecodeで名前を元に戻せるので問題なしと思いますが

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.054 sec.

SourceForge