FreeStyleWiki API

Wiki

WikiモジュールはWikiの基本的な処理、プラグインの管理などを実装したクラスです。

add_handler

アクションハンドラプラグインを登録します。

 $wiki->add_handler(actionパラメータ,アクションハンドラのクラス名);

add_hook

フックプラグインを登録します。

 $wiki->add_hook(フック名,フックプラグインのクラス名);

add_plugin

インラインプラグインを登録します。

 $wiki->add_plugin(プラグイン名,インラインプラグインのクラス名);

install

プラグインをインストールするために各プラグインのパッケージ毎に用意された インストールモジュール(Install.pm)を読み込みます。

 $wiki->install(プラグイン);

set_storage

ストレージオブジェクトを設定します。デフォルトではWiki::DefaultStorageを使用します。 Wiki::DefaultStorageと同等のメソッドを備えるクラスを作成することで、 RDBMSやバージョニングシステムを利用することが可能になります。

add_user

ユーザを追加します。

 $wiki->add_user(ID,パスワード,ユーザタイプ);

ユーザタイプには管理者ユーザの場合0、一般ユーザの場合1を指定します。

add_admin_menu

管理者用のメニューを追加します。管理者ユーザがログインすると表示されます。

 $wiki->add_admin_menu(項目名,URL);

add_admin_handler

管理者用のアクションハンドラを追加します。このメソッドによって追加されたアクションハンドラは 管理者としてログインしている場合のみ実行可能です。それ以外の場合はエラーメッセージを表示します。

add_editform_plugin

エディットフォームプラグインを追加します。

 $wiki->add_editform_plugin(エディットフォームプラグインのクラス名,重み);

重みが大きいほど上位に表示されます。

get_page

引数で指定したページのソースを取得します。

 my $source = $wiki->get_page(ページ名);

save_page

ページを保存します。

 $wiki->save_page(ページ名,ページ内容);

set_title

アクションハンドラ中で画面のタイトルを設定するのに使用します。

 $wiki->set_title(タイトル);

get_page_list

ページ名の一覧をリストで取得します。

 my @list = $wiki->get_page_list;

get_last_modified

ページの最終更新時刻を取得します。

 my $modified = $wiki->get_last_modified(ページ名);

add_menu

メニュー項目を追加します。 既に同じ名前の項目が登録されている場合は上書きします。

 $wiki->add_menu(項目名,URL,重み);

重みが大きいほど左側に表示されます。

do_hook

add_hookメソッドで登録されたフックプラグインを実行します。

 $wiki->do_hook(フック名);

call_handler

add_handlerメソッドで登録されたアクションハンドラを実行します。 アクションハンドラのdo_actionメソッドの戻り値を返します。

 my $content = $wiki->call_handler(actionパラメータ);

error

アクションハンドラ中等でエラーが発生した場合に使用するメソッドです。

 sub do_action {
   my $self = shift;
   my $wiki = shift;
   ...
   return $wiki->error(エラーメッセージ);
 }

process_wiki

引数で渡したWikiフォーマットの文字列をHTMLに変換して返します。

 my $html = $wiki->process_wiki(文字列);

page_exists

引数で指定したページが存在するかどうかをしらべます。

 if($wiki->page_exists(ページ名)){
   # ページが存在する場合の処理
 } else {
   # ページが存在しない場合の処理
 }

is_freeze

引数で指定したページが凍結中かどうかを調べます。

 if($wiki->is_freeze(ページ名)){
   ...
 }

freeze_page

ページを凍結します。

 $wiki->freeze_page(ページ名);

un_freeze_page

ページの凍結を解除します。

 $wiki->un_freeze_page(ページ名);

get_CGI

CGIクラスのオブジェクトを取得します。

 my $cgi = $wiki->get_CGI;

get_login_info

ログイン情報を取得します。ログインしている場合はログイン情報を含んだハッシュリファレンスを、 ログインしていない場合はundefを返します。

 my $info = $wiki->get_login_info();
 if(defined($info)){          # ログインしていない場合はundef
   my $id   = $info->{id};    # ログインユーザのID
   my $type = $info->{type};  # ログインユーザの種別(0:管理者 1:一般)
 }

can_modify_page

引数で渡したページが編集可能かどうかを調べます。 編集不可モード(setup.plで$accept_editが0に設定されている場合)はログインしていれば編集可能、 ページが凍結されている場合は管理者ユーザでログインしている場合に編集可能となります。

 if($wiki->can_modify_page(ページ名)){
   ...
 }

Util

Utilモジュールはユーティリティ関数をまとめたモジュールです。

url_encode

引数で渡した文字列をURLエンコードして返します。

 $str = Util::url_encode($str)

url_decode

引数で渡した文字列をURLデコードして返します。

 $str = Util::url_decode($str);

send_mail

管理者にメールを送信します。 sendmailのパスと管理者のメールアドレスが設定されていない場合は送信されません。

 Util::send_mail(件名,本文);

format_date

日付を「YYYY年MM月DD日 HH時MM分SS秒」という文字列にフォーマットします。

 my $now_date_str = Util::format_date(time());

trim

文字列の両端の空白文字を取り除いた文字列を返します。

 my $text = Util::trim($text);

delete_tag

文字列からHTMLタグを削除し、文字列のみを取得します。

 my $html = "<B>文字列</B>";
 # <B>と</B>を削除し、"文字列"のみ取得
 my $text = Util::delete_tag($html);

check_numeric

引数に渡した変数が整数かどうかをチェックします。 整数の場合は真を、そうでない場合は偽を返します。

 if(Util::check_numeric($param)){
   # 整数の場合の処理
 } else {
   # 整数でない場合の処理
 }

load_config_text

load_config_hash

save_config_text

save_config_hash

TOP