ブログ - XCL開発資料カテゴリのエントリ
■${Dirname}_Module の役割
XCL では modules/${dirname}/class/Module.class.php に
class ${Dirname}_Module extends Legacy_AbstractModule (or Legacy_ModuleAdapter)
というクラスが定義されている。
XCL では modules/${dirname}/class/Module.class.php に
class ${Dirname}_Module extends Legacy_AbstractModule (or Legacy_ModuleAdapter)
というクラスが定義されている。
■メンバ変数
mController
mRoot
mController
mRoot
・xoops_getrequest($name)
=> $root->mContext->mRequest->getRequest($name)
・xoops_header()
=> ...
・xoops_footer()
=> ...
・xoops_result($message, $title='')
=> ...
・getTheme()
=> $root->mContext->getXoopsConfig('theme_set') ???
=> $root->mContext->mRequest->getRequest($name)
・xoops_header()
=> ...
・xoops_footer()
=> ...
・xoops_result($message, $title='')
=> ...
・getTheme()
=> $root->mContext->getXoopsConfig('theme_set') ???
■メンバ変数
mContext = &XCube_HttpContext
mUser = &XCube_Principal
■利用例
mContext = &XCube_HttpContext
mUser = &XCube_Principal
■利用例
function update(&$obj) {
...
if ($obj->isNew()) {
$obj->set('uid', $this->mContext->mXoopsUser->get('uid'));
}
...
}
■Legacy_Controller で定義された下位互換用グローバル変数
・基本オブジェクトの取得
$root = XCube_Root::getSingleton()
$controller =& $root->mController
・基本オブジェクトの取得
$root = XCube_Root::getSingleton()
$controller =& $root->mController
■ファイル
modules/legacy/kernel/Legacy_Controller.class.php
■クラス定義
Legacy_Controller extends XCube_Controller
■生成
(include/cubecore_init.php)
$root->setupController() で XCube_Root から生成される。
modules/legacy/kernel/Legacy_Controller.class.php
■クラス定義
Legacy_Controller extends XCube_Controller
■生成
(include/cubecore_init.php)
$root->setupController() で XCube_Root から生成される。
これでいいのだろうか?
■Legacyなアクセス制御?
$mid = $xoopsModule->getVar('mid');
$groups = $xoopsUser->getGroups();
$gpermHandler =& xoops_gethandler('groupperm');
$gpermHandler->checkRight($permname, $mid, $groups);
■XCL流のアクセス制御?
$user->isInRole("Module.$mydirname.$permname")
■Legacyなアクセス制御?
$mid = $xoopsModule->getVar('mid');
$groups = $xoopsUser->getGroups();
$gpermHandler =& xoops_gethandler('groupperm');
$gpermHandler->checkRight($permname, $mid, $groups);
■XCL流のアクセス制御?
$user->isInRole("Module.$mydirname.$permname")
(settings/definition.inc.php)
■modules/
・XOOPS_MODULE_PATH
=XOOPS_ROOT_PATH."/modules"
・XOOPS_MODULE_URL
=XOOPS_URL."/modules"
■uploads/
・XOOPS_UPLOAD_PATH
=XOOPS_ROOT_PATH."/uploads"
・XOOPS_UPLOAD_URL
=XOOPS_URL."/uploads"
■themes/
・XOOPS_THEME_PATH
=XOOPS_ROOT_PATH."/themes"
・XOOPS_THEME_URL
=XOOPS_URL."/themes"
■modules/
・XOOPS_MODULE_PATH
=XOOPS_ROOT_PATH."/modules"
・XOOPS_MODULE_URL
=XOOPS_URL."/modules"
■uploads/
・XOOPS_UPLOAD_PATH
=XOOPS_ROOT_PATH."/uploads"
・XOOPS_UPLOAD_URL
=XOOPS_URL."/uploads"
■themes/
・XOOPS_THEME_PATH
=XOOPS_ROOT_PATH."/themes"
・XOOPS_THEME_URL
=XOOPS_URL."/themes"
XoopsModule, Legacy_AbstractModule などの関係についての資料を発見
http://homepage.mac.com/minahito/japanese/index_files/2d89715a772e44a5ed4310503b7f0921-120.html
こんなにいいドキュメントがあったのだね。
XoopsModuleは XOOPS2 由来のものなんだね。
そうかぁ...Cubeでもこれを引き継ぐということなのかな?
それとも互換性のため?
歴史を知らないとこういうときに困るなぁ...
もっと勉強しなくちゃ。
同様に BlockProcedure の設計資料も下記に
http://homepage.mac.com/minahito/japanese/index_files/1cbdd5a94ab4a57dffcc3a9d6f142758-122.html
http://homepage.mac.com/minahito/japanese/index_files/2d89715a772e44a5ed4310503b7f0921-120.html
こんなにいいドキュメントがあったのだね。
XoopsModuleは XOOPS2 由来のものなんだね。
そうかぁ...Cubeでもこれを引き継ぐということなのかな?
それとも互換性のため?
歴史を知らないとこういうときに困るなぁ...
もっと勉強しなくちゃ。
同様に BlockProcedure の設計資料も下記に
http://homepage.mac.com/minahito/japanese/index_files/1cbdd5a94ab4a57dffcc3a9d6f142758-122.html