FSWiki全体で使用されるユーティリティ関数群を提供するモジュールです。
dieとexitのオーバライド操作を行います。
引数で渡された文字列をURLエンコードして返します。
$str = Util::url_encode($str)
引数で渡された文字列をURLデコードして返します。
$str = Util::url_decode($str);
Cookieのpathに指定する文字列を取得します。
$path = Util::cookie_path($wiki);
ディレクトリ、ファイル名、拡張子を結合してファイル名を生成します。
my $filename = Util::make_filename(ディレクトリ名,ファイル名,拡張子);
引数で渡された文字列のHTMLタグをエスケープして返します。
$str = Util::escapeHTML($str);
日付を"yyyy年mm月dd日 hh時mi分ss秒"形式にフォーマットします。
my $date = Util::format_date(time());
文字列の両端の空白を切り落とします。
$text = Util::trim($text);
タグを削除して文字列のみを取得します。
my $html = "文字列"; # <B>と</B>を削除し、"文字列"のみ取得 my $text = Util::delete_tag($html);
数値かどうかチェックします。数値の場合は真、そうでない場合は偽を返します。
if(Util::check_numeric($param)){ # 整数の場合の処理 } else { # 整数でない場合の処理 }
管理者にメールを送信します。 setup.datの設定内容に応じてsendmailコマンドもしくはSMTP通信によってメールが送信されます。 どちらも設定されていない場合は送信を行わず、エラーにもなりません。 SMTPで送信する場合、このメソッドを呼び出した時点でNet::SMTPがuseされます。
Util::send_mail($wiki,件名,本文);
クライアントが携帯電話かどうかチェックします。 携帯電話の場合は真、そうでない場合は偽を返します。
if(Util::handyphone()){ # 携帯電話の場合の処理 } else { # 携帯電話でない場合の処理 }
設定ファイルを格納するディレクトリ(デフォルトでは./config)から指定したファイルを読み込み、 ハッシュリファレンスとして取得します。第一引数には$wikiを渡し、第二引数でファイル名を指定します。
my $hashref = Util::load_config_hash($wiki, "hoge.dat");
設定ファイルを格納するディレクトリ(デフォルトでは./config)から指定したファイルを読み込み、 ファイル内容を文字列として取得します。第一引数には$wikiを渡し、第二引数でファイル名を指定します。
my $content = Util::load_config_text($wiki, "hoge.dat");
引数で渡したハッシュリファレンスを設定ファイルを格納するディレクトリ(デフォルトでは./config)に 指定したファイル名で保存します。第一引数には$wikiを渡し、第二引数でファイル名を指定します。
Util::save_config_hash($wiki, ファイル名, ハッシュリファレンス);
引数で渡したテキストを設定ファイルを格納するディレクトリ(デフォルトでは./config)に 指定したファイル名で保存します。第一引数には$wikiを渡し、第二引数でファイル名を指定します。
Util::save_config_hash($wiki, ファイル名, テキスト);
設定ファイルの読み込みと書き込みを同一のロック内で行うための関数。 読み込んだ内容を変換して書き込みを行うような場合に使用します。
sub convert { my $hash = shift; ... return $hash; } Util::sync_update_config($wiki, ファイル名, \&convert);
引数で渡したファイルをロックします。 ファイル操作終了後は必ず同じファイル名でUtil::file_unlockを呼び出して下さい。 ロックに失敗した場合はdieします。
Util::file_lock(ファイル名, リトライ回数(≒タイムアウト時間、省略可));ロックしているファイルを記録し、終了時に未解除のロックを解除する保険をつけた方が良いかも知れない。
引数で渡したファイルのロックを解除します。
Util::file_unlock(ファイル名);
インラインプラグインからエラーメッセージを返す場合に使用してください。
return Util::inline_error('プロジェクト名が指定されていません。');
パラグラフプラグインからエラーメッセージを返す場合に使用してください。
return Util::paragraph_error('プロジェクト名が指定されていません。');
指定のURLにGETリクエストを発行し、レスポンスのボディ部を返却します。 この関数を呼び出した時点でLWP::UserAgentがuseされます。
my $response = Util::get_response($wiki,URL);
モジュール名からファイル名を取得します。 例えばplugin::core::Installを渡すとplugin/core/Install.pmが返却されます。
$file = Util::get_module_file(モジュール名);
デバッグログ(debug.log)をカレントディレクトリに出力します。 Wiki::DEBUG=1の場合のみ出力を行います。
Digest::Perl::MD5を用いたパスワードの暗号化を行います。 第一引数にパスワード、第二引数にアカウントを渡します。 このメソッドを呼び出した時点でDigest::Perl::MD5がuseされます。
my $md5pass = Util::md5($pass,$account);
HTTPヘッダのContent-Disposition行を生成します。 添付ファイルやPDFなどに使用します。
dieとexitのオーバライド操作を解除します。
G�|�C���g�|�C���@Amazon Yahoo �y�V
���z�[���y�[�W �y�V���o�C��[UNLIMIT�����1�~] �C�O�i��q��� �C�O��s������I