FSWiki全体で使用されるユーティリティ関数群を提供するモジュールです。
引数で渡された文字列を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(ファイル名,ハッシュリファレンス);
引数で渡したテキストを設定ファイルを格納するディレクトリ(デフォルトでは./config)に 指定したファイル名で保存します。第一引数には$wikiを渡し、第二引数でファイル名を指定します。
Util::save_config_hash(ファイル名,テキスト);
インラインプラグインからエラーメッセージを返す場合に使用してください。
このメソッドは3.4系との互換性を維持するために残されました。 3.6で廃止するものとします。
インラインプラグインからエラーメッセージを返す場合に使用してください。
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);
tarファイルを作成します。
Util::compress($filename,@filelist);
@filelistにはアーカイブに含めるファイル、またはディレクトリのリストを指定します。 ディレクトリを指定した場合、配下のファイル・ディレクトリ群は再帰的にアーカイブに 追加されます。この関数を呼び出した時点でArcive::Tarがuseされます。
また、この関数内では排他制御は行われません。 同時書き込みを回避するためには外部で何らかの排他制御,もしくは一意なファイル名で アーカイブを生成するなどの処理を行う必要があります。