OSDN Git Service
Skin/Actions/AdminActionsクラスの整備
管理画面用スキンがちゃんと動作するかは未確認だが、以下の修正を行った。これにより、Skinオブジェクトのインスタンスをコンストラクトする際の引数によって、通常ページ/管理画面の動作切り替えを可能とした。
1. 以下を新設。
Actions::$page_action_names
Actions::$page_type_friendly_names
Actions::get_allowed_actions_for_type()
Actions::get_page_action_names()
Actions::get_page_type_friendly_names()
AdminActions::$page_action_names
AdminActions::$page_type_friendly_names
AdminActions::get_allowed_actions_for_type()
AdminActions::get_page_action_names()
AdminActions::get_page_type_friendly_names()
AdminActions::__construct()
AdminActions::$parser
AdminActions::$skin
AdminActions::setParser()
AdminActions::setSkin()
Skin::$admin
2. Skin::__construct()の引数に$adminを追加。
併せてActions/AdminActionsクラスのインクルード分岐も追加。分岐と同時にSkin::$adminも設定される。しかし、skin_descテーブルから自動で判断できるようになるのがより適切な実装だろう。
2. Skin::getAllowedActionsForType()の条件分岐をActions/AdminActionsクラスに移動。
このコードは、Skin::$adminの値により選択されて参照される。
3. Skin::$adminの値によりActions/AdminActionsクラスを切り替えて利用できるようにした。
Skin::parse()によりParser::parse()に処理させることを可能とした。
4. Skin::$adminの値により、発生するイベント名が切り替わるようにした。
例えばInitSkinParseとInitAdminSkinParseのようになる。