[[開発日記]] *1.3.xと1.4の互換性向上 -- [[ぱんだ]] -convert_html()に渡すページのデータ スカラー/配列 --どちらでもいいようにしました。 convert_html()内で判断します。 -#refのページ名指定方法 #ref(file[,page]) -> #ref([page/]file) --どちらでもいいようにしました。ただ、両方指定された場合 #ref(ToDo/file,WishList) は、WishListを''捨てて''、ToDoを採用します。ページ名に誤認される可能性のあるタイトルを指定するときは、 #ref(ToDo/file,,WishList) のように、カンマを1個余分に入れてください。 -skin内で使用する変数 --$fmtがなくなっていたので追加しました。 --global宣言をcatbody()内に移動しました。 **非互換点 -ul/ol/dlのマージン設定 --分離しました。default.ini.php/imode.ini.php/jphone.ini.php -$_list_left_margin = 0; // リストと画面左端との間隔(px) -$_list_margin = 16; // リストの階層間の間隔(px) +$_ul_left_margin = 0; // リストと画面左端との間隔(px) +$_ul_margin = 16; // リストの階層間の間隔(px) +$_ol_left_margin = 0; // リストと画面左端との間隔(px) +$_ol_margin = 16; // リストの階層間の間隔(px) +$_dl_left_margin = 0; // リストと画面左端との間隔(px) +$_dl_margin = 16; // リストの階層間の間隔(px) ***プラグイン よくあるパターンで示します。 -ページのファイル名を取得する~ 引数をエンコードする必要がなくなっています。 -$filename = get_filename(encode($page)); +$filename = get_filename($page); -ページソースを取得する~ 同上。 get_source()関数を使うようにしてください。 -$data = file(get_filename(encode($page))); +$data = get_source($page); -ページのHTMLソースを取得する~ 同上。かつ、 convert_html()は、配列を受け取ることができます。 -$body = convert_html(join("",file(get_filename(encode($page))))); +$body = convert_html(get_source($page)); -ページのダイジェストを比較する~ get_source()内で'\r'の除去(Windows対策)を行っているため、ダイジェスト計算を行う場合はかならずget_source()を通すようにしてください。 ~それ以前に、get_filename()内でencode()を使っている時点で非互換なんですけど。 -if(md5(@join("",@file(get_filename(encode($page))))) != $post["digest"]) +if(md5(@join("",get_source($page))) != $post["digest"]) -ページを書き込む~ 1.4では、page_write(ページ名,データ)関数で、差分の生成/バックアップの生成/ページの書き込みをまとめて行うようにしました。 - // 差分ファイルの作成 - if(is_page($post["refer"])) - $oldpostdata = join("",file(get_filename(encode($post["refer"])))); - else - $oldpostdata = "\n"; - if($postdata) - $diffdata = do_diff($oldpostdata,$postdata); - file_write(DIFF_DIR,$post["refer"],$diffdata); - // バックアップの作成 - if(is_page($post["refer"])) - $oldposttime = filemtime(get_filename(encode($post["refer"]))); - else - $oldposttime = time(); - - // 編集内容が何も書かれていないとバックアップも削除する?しないですよね。 - if(!$postdata && $del_backup) - backup_delete(BACKUP_DIR.encode($post["refer"]).".txt"); - else if($do_backup && is_page($post["refer"])) - make_backup(encode($post["refer"]).".txt",$oldpostdata,$oldposttime); - - // ファイルの書き込み - file_write(DATA_DIR,$post["refer"],$postdata); + // ページの書き込み + page_write($post["refer"],$postdata);