mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
삭제
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2327 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
commit
8326004cb2
2773 changed files with 91485 additions and 0 deletions
114
modules/addon/addon.admin.controller.php
Normal file
114
modules/addon/addon.admin.controller.php
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
<?php
|
||||
/**
|
||||
* @class addonAdminController
|
||||
* @author zero (zero@nzeo.com)
|
||||
* @brief addon 모듈의 admin controller class
|
||||
**/
|
||||
|
||||
class addonAdminController extends addon {
|
||||
|
||||
/**
|
||||
* @brief 초기화
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온의 활성/비활성 체인지
|
||||
**/
|
||||
function procAddonAdminToggleActivate() {
|
||||
$oAddonModel = &getAdminModel('addon');
|
||||
|
||||
// addon값을 받아옴
|
||||
$addon = Context::get('addon');
|
||||
if($addon) {
|
||||
// 활성화 되어 있으면 비활성화 시킴
|
||||
if($oAddonModel->isActivatedAddon($addon)) $this->doDeactivate($addon);
|
||||
|
||||
// 비활성화 되어 있으면 활성화 시킴
|
||||
else $this->doActivate($addon);
|
||||
}
|
||||
|
||||
$this->makeCacheFile();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온 설정 정보 입력
|
||||
**/
|
||||
function procAddonAdminSetupAddon() {
|
||||
$args = Context::getRequestVars();
|
||||
$addon_name = $args->addon_name;
|
||||
unset($args->module);
|
||||
unset($args->act);
|
||||
unset($args->addon_name);
|
||||
|
||||
$this->doSetup($addon_name, $args);
|
||||
|
||||
$this->makeCacheFile();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 캐시 파일 생성
|
||||
**/
|
||||
function makeCacheFile() {
|
||||
// 모듈에서 애드온을 사용하기 위한 캐시 파일 생성
|
||||
$buff = "";
|
||||
$oAddonModel = &getAdminModel('addon');
|
||||
$addon_list = $oAddonModel->getInsertedAddons();
|
||||
foreach($addon_list as $addon=> $val) {
|
||||
if($val->is_used != 'Y') continue;
|
||||
|
||||
if($val->extra_vars) {
|
||||
unset($extra_vars);
|
||||
$extra_vars = base64_encode($val->extra_vars);
|
||||
}
|
||||
|
||||
$buff .= sprintf(' if(file_exists("./addons/%s/%s.addon.php")) { unset($addon_info); $addon_info = unserialize(base64_decode("%s")); $addon_path = "./addons/%s/"; @include("./addons/%s/%s.addon.php"); }', $addon, $addon, $extra_vars, $addon, $addon, $addon);
|
||||
}
|
||||
|
||||
$buff = sprintf('<?if(!defined("__ZBXE__"))exit(); %s ?>', $buff);
|
||||
|
||||
FileHandler::writeFile($this->cache_file, $buff);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온 추가
|
||||
* DB에 애드온을 추가함
|
||||
**/
|
||||
function doInsert($addon) {
|
||||
$args->addon = $addon;
|
||||
$args->is_used = 'N';
|
||||
return executeQuery('addon.insertAddon', $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온 활성화
|
||||
* addons라는 테이블에 애드온의 활성화 상태를 on 시켜줌
|
||||
**/
|
||||
function doActivate($addon) {
|
||||
$args->addon = $addon;
|
||||
$args->is_used = 'Y';
|
||||
return executeQuery('addon.updateAddon', $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온 비활성화
|
||||
*
|
||||
* addons라는 테이블에 애드온의 이름을 제거하는 것으로 비활성화를 시키게 된다
|
||||
**/
|
||||
function doDeactivate($addon) {
|
||||
$args->addon = $addon;
|
||||
$args->is_used = 'N';
|
||||
return executeQuery('addon.updateAddon', $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 애드온 설정
|
||||
**/
|
||||
function doSetup($addon, $extra_vars) {
|
||||
$args->addon = $addon;
|
||||
$args->extra_vars = serialize($extra_vars);
|
||||
return executeQuery('addon.updateAddon', $args);
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue