mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 01:01:41 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9029 201d5d3c-b55e-5fd7-737f-ddc643e51545
184 lines
No EOL
5.4 KiB
PHP
184 lines
No EOL
5.4 KiB
PHP
<?php
|
|
/**
|
|
* @class addonAdminController
|
|
* @author NHN (developers@xpressengine.com)
|
|
* @brief admin controller class of addon modules
|
|
**/
|
|
require_once(_XE_PATH_.'modules/addon/addon.controller.php');
|
|
|
|
class addonAdminController extends addonController {
|
|
|
|
/**
|
|
* @brief Initialization
|
|
**/
|
|
function init() {
|
|
}
|
|
|
|
/**
|
|
* @brief Set addon activate
|
|
**/
|
|
function procAddonAdminSaveActivate()
|
|
{
|
|
$pc = Context::get('pc');
|
|
$mobile = Context::get('mobile');
|
|
$fixed = Context::get('fixed');
|
|
$favorite = Context::get('favorite');
|
|
|
|
if (!$pc) $pc = array();
|
|
if (!$mobile) $mobile = array();
|
|
if (!$fixed) $fixed = array();
|
|
if (!$favorite) $favorite = array();
|
|
|
|
// get current addon info
|
|
$oModel = &getAdminModel('addon');
|
|
$currentAddonList = $oModel->getAddonList(0, 'global');
|
|
|
|
// get need update addon list
|
|
$updateList = array();
|
|
foreach($currentAddonList as $addon)
|
|
{
|
|
if ($addon->activated !== in_array($addon->addon_name, $pc))
|
|
{
|
|
$updateList[] = $addon->addon_name;
|
|
continue;
|
|
}
|
|
|
|
if ($addon->mactivated !== in_array($addon->addon_name, $mobile))
|
|
{
|
|
$updateList[] = $addon->addon_name;
|
|
continue;
|
|
}
|
|
|
|
if ($addon->fixed !== in_array($addon->addon_name, $fixed))
|
|
{
|
|
$updateList[] = $addon->addon_name;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
// update
|
|
foreach($updateList as $targetAddon)
|
|
{
|
|
unset($args);
|
|
|
|
if (in_array($targetAddon, $pc))
|
|
$args->is_used = 'Y';
|
|
else
|
|
$args->is_used = 'N';
|
|
|
|
if (in_array($targetAddon, $mobile))
|
|
$args->is_used_m = 'Y';
|
|
else
|
|
$args->is_used_m = 'N';
|
|
|
|
if (in_array($targetAddon, $fixed))
|
|
$args->fixed = 'Y';
|
|
else
|
|
$args->fixed = 'N';
|
|
|
|
$args->addon = $targetAddon;
|
|
|
|
$output = executeQuery('addon.updateAddon', $args);
|
|
if (!$output->toBool()) return $output;
|
|
}
|
|
|
|
if (count($updateList))
|
|
{
|
|
$this->makeCacheFile(0, 'pc', 'global');
|
|
$this->makeCacheFile(0, 'mobile', 'global');
|
|
}
|
|
|
|
// set favorite
|
|
$oAdminController = &getAdminController('admin');
|
|
$output = $oAdminController->setFavoritesByModule(-1, 'addon', $favorite);
|
|
if (!$output->toBool()) return $output;
|
|
|
|
$this->setRedirectUrl(getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAddonAdminIndex'));
|
|
}
|
|
|
|
/**
|
|
* @brief Add active/inactive change
|
|
**/
|
|
function procAddonAdminToggleActivate() {
|
|
$oAddonModel = &getAdminModel('addon');
|
|
|
|
$site_module_info = Context::get('site_module_info');
|
|
// batahom addon values
|
|
$addon = Context::get('addon');
|
|
$type = Context::get('type');
|
|
if(!$type) $type = "pc";
|
|
if($addon) {
|
|
// If enabled Disables
|
|
if($oAddonModel->isActivatedAddon($addon, $site_module_info->site_srl, $type)) $this->doDeactivate($addon, $site_module_info->site_srl, $type);
|
|
// If it is disabled Activate
|
|
else $this->doActivate($addon, $site_module_info->site_srl, $type);
|
|
}
|
|
|
|
$this->makeCacheFile($site_module_info->site_srl, $type);
|
|
}
|
|
|
|
/**
|
|
* @brief Add the configuration information input
|
|
**/
|
|
function procAddonAdminSetupAddon() {
|
|
$args = Context::getRequestVars();
|
|
$addon_name = $args->addon_name;
|
|
unset($args->module);
|
|
unset($args->act);
|
|
unset($args->addon_name);
|
|
unset($args->body);
|
|
unset($args->error_return_url);
|
|
|
|
$site_module_info = Context::get('site_module_info');
|
|
|
|
$output = $this->doSetup($addon_name, $args, $site_module_info->site_srl, 'global');
|
|
if (!$output->toBool()) return $output;
|
|
|
|
$this->makeCacheFile($site_module_info->site_srl, "pc", 'global');
|
|
$this->makeCacheFile($site_module_info->site_srl, "mobile", 'global');
|
|
|
|
$this->setRedirectUrl(getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAddonAdminSetup', 'selected_addon', $addon_name));
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* @brief Add-on
|
|
* Adds Add to DB
|
|
**/
|
|
function doInsert($addon, $site_srl = 0, $gtype = 'site') {
|
|
$args->addon = $addon;
|
|
$args->is_used = 'N';
|
|
if($gtype == 'global') return executeQuery('addon.insertAddon', $args);
|
|
$args->site_srl = $site_srl;
|
|
return executeQuery('addon.insertSiteAddon', $args);
|
|
}
|
|
|
|
/**
|
|
* @brief Add-activated
|
|
* addons add-ons to the table on the activation state sikyeojum
|
|
**/
|
|
function doActivate($addon, $site_srl = 0, $type = "pc", $gtype = 'site') {
|
|
$args->addon = $addon;
|
|
if($type == "pc") $args->is_used = 'Y';
|
|
else $args->is_used_m = "Y";
|
|
if($gtype == 'global') return executeQuery('addon.updateAddon', $args);
|
|
$args->site_srl = $site_srl;
|
|
return executeQuery('addon.updateSiteAddon', $args);
|
|
}
|
|
|
|
/**
|
|
* @brief Disable Add-ons
|
|
*
|
|
* addons add a table to remove the name of the deactivation is sikige
|
|
**/
|
|
function doDeactivate($addon, $site_srl = 0, $type = "pc", $gtype = 'site') {
|
|
$args->addon = $addon;
|
|
if($type == "pc") $args->is_used = 'N';
|
|
else $args->is_used_m = 'N';
|
|
if($gtype == 'global') return executeQuery('addon.updateAddon', $args);
|
|
$args->site_srl = $site_srl;
|
|
return executeQuery('addon.updateSiteAddon', $args);
|
|
}
|
|
}
|
|
?>
|