[[開発日記]]

*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);

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.050 sec.

OSDN