mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 20:12:14 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@101 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
cf88cc4cb2
commit
dec618986e
3 changed files with 70 additions and 9 deletions
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class AddOnHandler
|
* @class AddOn
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief addon을 호출하여 실행
|
* @brief addon을 호출하여 실행
|
||||||
* @todo 미구현
|
* @todo 미구현
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class AddOnHandler extends Handler {
|
class AddOn extends Object {
|
||||||
|
|
||||||
var $addon_name; ///< 실행하고자 하는 addon의 이름
|
var $addon_name; ///< 실행하고자 하는 addon의 이름
|
||||||
|
|
||||||
|
|
@ -14,16 +14,16 @@
|
||||||
* @brief 모듈에 등록된 애드온을 act값에 맞추어 정리
|
* @brief 모듈에 등록된 애드온을 act값에 맞추어 정리
|
||||||
**/
|
**/
|
||||||
function callAddOns(&$oModule, $oModuleInfo, $status) {
|
function callAddOns(&$oModule, $oModuleInfo, $status) {
|
||||||
if(!$oModuleInfo->isAddOnExists($status, ContextHandler::get('act'))) return;
|
if(!$oModuleInfo->isAddOnExists($status, Context::get('act'))) return;
|
||||||
|
|
||||||
$addon_list = $oModuleInfo->getAddOnList($status, ContextHandler::get('act'));
|
$addon_list = $oModuleInfo->getAddOnList($status, Context::get('act'));
|
||||||
$addon_cnt = count($addon_list);
|
$addon_cnt = count($addon_list);
|
||||||
if(!$addon_cnt) return;
|
if(!$addon_cnt) return;
|
||||||
|
|
||||||
for($i=0; $i<$addon_cnt; $i++) {
|
for($i=0; $i<$addon_cnt; $i++) {
|
||||||
$addon_name = $addon_list[$i];
|
$addon_name = $addon_list[$i];
|
||||||
|
|
||||||
$oAddOn = new AddOnHandler($addon_name);
|
$oAddOn = new AddOn($addon_name);
|
||||||
$oAddOn->proc($oModule, $oModuleInfo);
|
$oAddOn->proc($oModule, $oModuleInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
/**
|
/**
|
||||||
* @brief constructor
|
* @brief constructor
|
||||||
**/
|
**/
|
||||||
function AddOnHandler($addon_name) {
|
function AddOn($addon_name) {
|
||||||
$this->addon_name = $addon_name;
|
$this->addon_name = $addon_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @class LayoutHandler
|
* @class Layout
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 레이아웃 관리
|
* @brief 레이아웃 관리
|
||||||
* @todo 미구현
|
* @todo 미구현
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class LayoutHandler extends Handler {
|
class Layout extends Object {
|
||||||
|
|
||||||
var $layout_name; ///< 레이아웃의 이름
|
var $layout_name; ///< 레이아웃의 이름
|
||||||
var $layout_info; ///< 레이아웃의 정보
|
var $layout_info; ///< 레이아웃의 정보
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
if($oModule->getActType() != 'disp') return;
|
if($oModule->getActType() != 'disp') return;
|
||||||
if(!$oModuleInfo->isLayoutExists()) return;
|
if(!$oModuleInfo->isLayoutExists()) return;
|
||||||
|
|
||||||
$oLayout = new LayoutHandler();
|
$oLayout = new Layout();
|
||||||
$oLayout->proc($oModule, $oModuleInfo);
|
$oLayout->proc($oModule, $oModuleInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
61
classes/plugin/AddOn.class.php
Normal file
61
classes/plugin/AddOn.class.php
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @class AddOn
|
||||||
|
* @author zero (zero@nzeo.com)
|
||||||
|
* @brief addon을 호출하여 실행
|
||||||
|
* @todo 미구현
|
||||||
|
**/
|
||||||
|
|
||||||
|
class AddOn extends Object {
|
||||||
|
|
||||||
|
var $addon_name; ///< 실행하고자 하는 addon의 이름
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 모듈에 등록된 애드온을 act값에 맞추어 정리
|
||||||
|
**/
|
||||||
|
function callAddOns(&$oModule, $oModuleInfo, $status) {
|
||||||
|
if(!$oModuleInfo->isAddOnExists($status, Context::get('act'))) return;
|
||||||
|
|
||||||
|
$addon_list = $oModuleInfo->getAddOnList($status, Context::get('act'));
|
||||||
|
$addon_cnt = count($addon_list);
|
||||||
|
if(!$addon_cnt) return;
|
||||||
|
|
||||||
|
for($i=0; $i<$addon_cnt; $i++) {
|
||||||
|
$addon_name = $addon_list[$i];
|
||||||
|
|
||||||
|
$oAddOn = new AddOn($addon_name);
|
||||||
|
$oAddOn->proc($oModule, $oModuleInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief constructor
|
||||||
|
**/
|
||||||
|
function AddOn($addon_name) {
|
||||||
|
$this->addon_name = $addon_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 애드온의 실행
|
||||||
|
**/
|
||||||
|
function proc(&$oModule, $oModuleInfo) {
|
||||||
|
// 해당 모듈을 읽어서 객체를 만듬
|
||||||
|
$addon_file = sprintf('./addons/%s/%s.addon.php', $this->addon_name, $this->addon_name);
|
||||||
|
|
||||||
|
// 모듈 파일이 없으면 에러
|
||||||
|
if(!file_exists($addon_file)) return;
|
||||||
|
|
||||||
|
// 모듈 파일을 include
|
||||||
|
require_once($addon_file);
|
||||||
|
|
||||||
|
// 선택된 모듈의 instance는 eval string으로 처리
|
||||||
|
$eval_str = sprintf('$oAddOn = new %s();', $this->addon_name);
|
||||||
|
eval($eval_str);
|
||||||
|
|
||||||
|
// 애드온 실행
|
||||||
|
$oAddOn->proc($oModule, $oModuleInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue