Siwiki:プラグイン
Simple Wiki Based Contents Management System
Welcome >> Siwiki:プラグイン

プラグインについて

Siwikiには、標準機能を拡張するために2つの方法を用意しています。
1つは、プラグインであり、prpgrams/pluginsの下にプログラムをいておけば、
#pluginName(args);
で呼び出すことができます。プラグインは、
function plugin_pluginName(arg){
   return $str;
}
という形式になっている必要があります。返り値の$strがその場所に表示される文字になりますので、HTMLの文字列を返す必要があります。
もう1つが、include_scriptというプラグインを使って、任意のPHPスクリプトを入れるという方法です。このPHPスクリプトは、各ページにアップロードしたものを使うことを原則としていますが、programs/extentionの下にあるファイルは、共通して使うことができます。呼び出しは、ファイル名になっていますので、プラグインとは、少し使い方が異なります。(外部PHPスクリプトも挿入可能を参照)
この機能は、むやみに多用するとセキュリティホールになってしまいますので、特に注意してコーディングする必要があります。
やり方によっては、PHPスクリプトの開発を、ブラウザ上でできたりもします。

現在、標準で導入されているプラグイン

basic.php

  • br();
    その場で強制改行をします。&br;とほぼ同じです。
  • hr();
    その場に水平性を引きます。&hr; や ==== と同じです。
  • news(n);
    記事をn行表示します。記事の投稿は、ログイン後にメニューから選択して記載します。未来の日時を指定するとUpcomming Eventとして、2段組され、右側に表示されます。また、現在のところnewsを格納しているDBは、サイトで共通です。(後に仕様を変更するかもしれません)
  • comment(level);
    インラインコメントを表示します。名前とコメントを入れるフォームが見える人は書き込めます。(ユーザのレベルは、levelで指定することができます)
  • include_html(fname);
    アップロード済みのfnameを読み込んで表示します。HTMLファイルを作成して取り込みたいときに使用します。広告表示などに便利です。
  • getWikiName2(x);
    ファイル名からタイトルに変換して表示します。
  • attachall();
    そのページに添付されたファイルの一覧を表示します。
  • attach(fname,[refname]);
    添付されたファイルを明示的に表示したいときに使います。

page_navi.php

  • page_navi();
    その場所に、ページナビゲーションを表示します。

tweet.php

  • tweet(level);
    インラインコメントとほぼ同じ機能ですが、複数行を記載できます。

downloader.php

このプラグイン群は、ソフトウェアのダウンロードのためのページを簡単に作成することができます。
  • NoAgree(flag);
    同意フォームを表示するかどうかを設定します。
  • setLicense(name);
    ライセンス名を表示します。
  • setLicenseFile(name);
    予めアップロードされたライセンス規約を表示します。この表示には、TEXTAREA を使っています。
  • entryFownloadFile(fname);
    ダウロードするファイルを登録します。ファイルは、予めアップロードしておいて下さい。アップロードされていない場合には、表示されません。
  • Downloader([flag=true]);
    ダウンロードのためのライセンス同意文書とフォームを表示し、フォーム入力があれば、ダウンロード用のリストを表示します。上のNoAgreeでflag=trueの場合にが、同意文書は表示されません。
  • MaintainDownloader();
    これは、管理者でログインしているときのみ表示され、ダウンロードの履歴等を表示させることができます。

include_script.php

  • include_script(...);
    extension を挿入します。第一引数が、extensionのファイルで、第二引数以降は、extensionへの引数として渡されます。