- 追加された行はこの色です。
- 削除された行はこの色です。
[[開発日記/2002-07-02]]にも書きましたが、今後の作業を行いやすくするために、ソースを大幅にいじっています。~
今のところ下記のようにクラス分けを行うつもりです。まだまだ企画段階ですが。~
とりあえず、中身的にはTranslationEngineを独立させるんで、ページごとにエンジンの切り替えができるようにしようかなと。~
そうするとページによっては、そのままHTML使えるとか、ソースコード用のページならキーワードに色がつくページとか。~
ファイル部分もラップするので、あとで高速化の為DBなどへの対応も可能です。
#comment
// ウエブインターフェース部分
// このクラスから各処理を行います。
class Interface {
// インターフェースを初期化
function Interface();
// HTTP経由でくる変数
var $post, $get, $vars;
// 編集を実行
function do_edit();
// プレビューを実行
function do_preview();
// 書き込みを実行
function do_write();
// 一覧を実行
function do_list();
// 最終更新を実行
function do_recent();
// 差分を実行
function do_diff();
// 編集フォーム
function edit_form($postdata,$data,$add=false);
}
// ページを管理
class PageStorage {
// ページストレージを初期化
function PageStorage();
// ページを取得
function get_page(); // = Page
// ページが存在するか?
function page_exists(); // = boolean
// ページ名リストを出力
function get_list(); // = array(pagename,..)
// 更新日順ページ名リストを
function get_list_order_update(); // = array(pagename,..)
// 検索を実行
function search($word,$type="AND",$non_format=0); // = array(pagename,..)
}
// ページ
class Page {
// このページのソースを取得
function get_source(); // = string
// このページのソースを設定
function set_source($src); // = boolean
// ページのプロパティを設定
function set_properties($prop); // array('key'=>value)
// ページのプロパティを取得
function get_properties(); // array('key'=>value)
// このページのデフォルトソースを取得
function get_defaultsource(); // = string
// このページの最終更新日を取得 (UNIX timestamp)
function get_lastupdate(); // = int
// このページが表示可能か (これがfalseでもget_sourceは可能)
function is_visible(); // = boolean
// このページが編集可能か (これがfalseでもset_sourceは可能)
function is_editable(); // = boolean
// このページが凍結されているか (これがfalseでもset_sourceは可能)
function is_freeze(); // = boolean
// このページのタイプ
function get_type(); // = string
// ページをhtmlに変更
function convert_html(); // = string (html)
// このページのバックアップオブジェクトを初期化
function backup(); // = Backup
}
// バックアップを管理します
class Backup {
// バックアップを初期化
function Backup($page);
// バックアップをセット
function set($src); // = int (バックアップ世代数)
// バックアップを取得
function get($gen); // = string
// バックアップ世代数
function count(); // = int
}
// Wikiやその他フォーマットからHTMLに変換
class TranslateEngine {
// トランスレーションエンジンを初期化
function TranslateEngine($pagestorage);
// クラス内変数
var $pluginmanager; // = PluginManager
// $srcからhtmlを生成 $pagenameはページ名, $varsはその他変数を指定
function run($src, $pagename, $vars); // = string
// service functions
// pagenameがBracketNameだった場合に、Bracketを除去
function strip_bracket($pagename); // = string
// このページからのリンクリスト
function linkto(); // = array(pagename);
// このページへのリンクリスト
function linkfrom(); // = array(pagename);
// $strがWikiNameか?
function is_wikiname($str); // = boolean
// $strがBracketNameか?
function is_bracketname($str); // = boolean
// $strがInterWikiNameか?
function is_interwikiname($str); // = boolean
// $nameのリンクを作成
function make_link($name); // = string (html)
// $strにstr_rulesユーザルールを適用
function do_strrules($str); // = string
// $strにline_rulesユーザルールを適用
function do_linerules($str); // = string
}
// プラグイン管理用
class PluginManager {
// プラグインマネージャーを初期化
function PluginManager();
プラグイン用に未定義の変数を設定
function set_plugin_messages($messages)
// プラグイン(action)が存在するか
function exist_plugin_action($name);
// プラグイン(convert)が存在するか
function exist_plugin_convert($name);
// プラグインの初期化を実行
function do_plugin_init($name);
// プラグイン(action)を実行
function do_plugin_action($name);
// プラグイン(convert)を実行
function do_plugin_convert($plugin_name,$plugin_args);
}
RIGHT: written at fist by [[ゆう]]