OSDN Git Service

Skin/Actions/AdminActionsクラスの整備
authorsakamocchi <o-takashi@sakamocchi.jp>
Sat, 7 Apr 2012 13:49:17 +0000 (22:49 +0900)
committersakamocchi <o-takashi@sakamocchi.jp>
Sat, 7 Apr 2012 13:49:17 +0000 (22:49 +0900)
commit25338664db55e26682ca7b64cec94469d910cb53
treed31d0773658638718d4a022f71cda0ab203c1c20
parent0ef747a8ec40a48b201ea03f1ee2488b321c9aed
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のようになる。
nucleus/libs/ACTIONS.php
nucleus/libs/AdminActions.php
nucleus/libs/SKIN.php