A_single_file_wiki_wifky2.png

[hack] 関数仕様

(執筆中)

出力

&::puts($s1,$s2…)

$s1,$s2… (in) 出力文字列
戻り値 なし

文字列へブラウザへ出力する。 print と等価だが、内容はバッファリングされ、&::flush 呼び出しで、確定。 die 文呼び出しで、ロールバックされる。

&::putenc($fmt,$s1,$s2…)

$fmt (in) フォーマット文字列(サニタイズされない)
$s1,$s2… (in) パラメータ(サニタイズされる)
戻り値 なし

&puts の printf 版。ただし、s1,s2 はサニタイズされる。

&::flush()

戻り値 なし

&::puts で出力された内容を実際に出力する。

入力

&::read_form( \%form )

\%form (out) フォーム情報を格納する先

フォーム情報をハッシュ形式で読み取る関数。 GET/POST を問わない。 また、ファイルアップロードもサポートする。

&::read_multimedia( $query_string, $cutter , \%form )

$query_string (in) アップされたデータ全体
$cutter (in) 各要素を分割する文字列
%form (out) 分割後のフォーム情報の代入先ハッシュ。

ファイルアップロードされた時に、&read_form から読み出される下請関数。

変換系関数

&::enc($src)

$src (in) サニタイズ前文字列
戻り値 サニタイズ後文字列

<→&lt; , >→&gt; などの変換を行う。

&::denc($src)

$src (in) サニタイズ後文字列
戻り値 サニタイズ前の文字列

&::enc の逆変換を行う。

&::yen($src)

$src (in) ^ エスケープ前文字列
戻り値 ^ エスケープ後文字列

下記の変換を行う

  • ^ → ^y
  • TAB文字 → ^t
  • 改行文字(LF) → ^n
  • 復帰文字(CR) → ^r

&:deyen($src)

$src (in) ^ エスケープ前文字列
戻り値 ^ エスケープ後文字列

下記の変換を行う

  • ^y → ^
  • ^t → TAB文字
  • ^n → 改行文字(LF)
  • ^r → 復帰文字(CR)

&::title2fname( $page [,$attachment] )

$page ページ名
$attachment 添付ファイル名
戻り値 物理ファイル名
  • 引数が一つの時はページ本文のファイル名を返す。
  • 引数二つの時は、添付ファイルの保存ファイル名を返す。

&::fname2title( $filename )

$filename ファイル名
戻り値 ページ名

ファイル名からページ名を得る。 添付ファイルの場合は、ファイル名を __ で分割して、左パート ⇒ ページ名 、右パート ⇒ 添付ファイル名、と個別に出す。

&::percent($src)

$src 元文字列
戻り値 %エンコード化文字列

文字列を、URL で使える形式(%nn)にコンバートする。

&::title2url($title)

$title ページ名
戻り値 URL文字列

ページ名から「wifky.pl?p=…」型式の URL を生成する

ファイルアクセス系関数

&::read_object( $title [,$attachment] )

$title ページ名
$attachment 添付ファイル名
戻り値 そのページ(あるいは添付ファイル)の内容。

ページの本文(添付ファイル名がある場合は、添付ファイルの内容)を 一枚板の文字列として読み込む。

&::write_object( $title [,$attachment] , $value)

$title ページ名
$attachment 添付ファイル名
$value or $$value 出力内容(''の時、対象を削除する)
戻り値 1 => ファイル作成 , 0=> ファイル削除

最後の引数の内容を、ページの本文(添付ファイル名がある場合は、添付ファイル) として、ファイルに出力する。 出力内容が ""(空) であり、かつ添付ファイルがない場合は、ファイルを削除する。

&::mtime($filename)

$filename ファイル名
戻り値 最終更新日時('YYYY/MM/DD hh:mm:ss'形式)

そのファイルの最終変更日時を返す。 中でキャッシングしているため、何回呼んでもディスクアクセスは生じない。

&::title2mtime($title[,$attachment])

$title ページ名
$attachment 添付ファイル名
戻り値 最終更新日時('YYYY/MM/DD hh:mm:ss'形式)

引数がページ名であるだけで、&mtime と同じ。 第二引数があると、添付ファイルの最終更新日時を返す。

ディレクトリ操作

@r=&::directory()

@r ファイル名のリストを取得する。

ファイル名のリスト取得する。

@r=&::list_page()

@r ページ名のリスト

ページのリストを取得する。

$r=&::object_exists($title)

$title ページ名
$r 存在していれば真、しなければ、偽を返す

ページの有無を返す。

@r=&::list_attachment($title)

$title ページ名
@r 添付ファイル名のリスト

指定ページに属する添付ファイルの名前のリストを返す。

&::cacheoff()

キャッシュをクリアする。 ファイルの新規作成・削除などを行った後に呼び出すべき。

非汎用関数

&::change_directory()

ワークディレクトリをカレントディレクトリを移動させる。 ワークディレクトリが無い場合、新規作成する。

&::init_globals()

グローバル変数を初期化する。

&::errmsg($msg)

$msg 整形前エラーメッセージ
戻り値 整形後エラーメッセージ

エラー時のメッセージを html で整形化する。

&::print_page( {key=>value}  )

(注意) 当関数は、wifky のバージョンによって、仕様が大きく変わる
key value
title 表示するページの名前(htmlとは排他)
html 表示するテキスト(titleと排他)
main 定義されている ⇒ 本文部分である(サイドバーではない)
index 定義されている ⇒ 見出しに #pNN などの ID を付ける
戻り値 0:表示内容なし , 1:表示した

ページ出力関数。ここでは文法解析は行わず、 以下の syntax_engine 呼び出しのための情報を用意する役割がメイン。

&::syntax_engine( \$html , \%s )

(注意) 1.3.2 では廃止
$html ソース文字列
$s->{title} ページタイトル
$s->{attachment}->{添付ファイル名※1}->{name} 添付ファイル名※2
$s->{attachment}->{添付ファイル名※1}->{url} 添付ファイルへアクセスするための URL
$s->{attachment}->{添付ファイル名※1}→{tag} 添付ファイルを表現する html タグ(<img> or <a>)
$s->{index} 定義されている ⇒ 見出しに #pNN などの ID を付ける
$s->{main} 定義されている ⇒ 本文部分である(サイドバーではない)
戻り値 なし

※1 サニタイズ後のファイル名
※2 未サニタイズのファイル名

ページ出力の下請関数。文法を解釈して整形した結果を &puts を使って出力する。

&::preprocess($text,$session)

$text ソース文字列
$session &syntax_engine の %\s と同じ
戻り値 変換結果文字列。

ソース内のインライン要素の変換を行った結果を戻り値で返す。

|

Designed for @nifty.