mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-30 01:05:26 +09:00
issue 2168 set member skin through theme. And update path of theme skin using for '|@|'.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.3.2@11016 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
b36ed4295b
commit
2b6f473b26
15 changed files with 344 additions and 98 deletions
|
|
@ -123,10 +123,16 @@
|
|||
|
||||
$args->site_srl = $site_info->site_srl;
|
||||
$args->layout_srl = $vars->layout;
|
||||
|
||||
// layout submit
|
||||
$output = executeQuery('layout.updateAllLayoutInSiteWithTheme', $args);
|
||||
if (!$output->toBool()) return $output;
|
||||
|
||||
// set layout info member
|
||||
$oModuleController = &getController('module');
|
||||
$memberConfig->layout_srl = $vars->layout;
|
||||
$oModuleController->updateModuleConfig('member', $memberConfig);
|
||||
|
||||
$skin_args->site_srl = $site_info->site_srl;
|
||||
|
||||
foreach($vars as $key=>$val){
|
||||
|
|
@ -148,13 +154,13 @@
|
|||
$skin_args->module_srls = implode(',', $article_module_srls);
|
||||
}
|
||||
}
|
||||
|
||||
$skin_output = executeQuery('module.updateAllModuleSkinInSiteWithTheme', $skin_args);
|
||||
if (!$skin_output->toBool()) return $skin_output;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$module_config = $oModuleModel->getModuleConfig($module, $site_info->site_srl);
|
||||
$module_config->skin = $val;
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertModuleConfig($module, $module_config, $site_info->site_srl);
|
||||
}
|
||||
}
|
||||
|
|
@ -169,6 +175,7 @@
|
|||
// Save File
|
||||
FileHandler::writeFile($theme_file, $theme_buff);
|
||||
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminTheme');
|
||||
return $this->setRedirectUrl($returnUrl, $output);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@
|
|||
case 'themes' : {
|
||||
$is_theme = true;
|
||||
$module_name = $skin_parse[count($skin_parse)-1];
|
||||
$skin_info->name = $theme_name.'.'.$module_name;
|
||||
$skin_info->name = $theme_name.'|@|'.$module_name;
|
||||
break;
|
||||
}
|
||||
case 'modules' : {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,19 @@
|
|||
**/
|
||||
function checkUpdate() {
|
||||
if(!is_dir("./files/member_extra_info/new_message_flags")) return true;
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/communication/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -33,6 +46,24 @@
|
|||
function moduleUpdate() {
|
||||
if(!is_dir("./files/member_extra_info/new_message_flags"))
|
||||
FileHandler::makeDir('./files/member_extra_info/new_message_flags');
|
||||
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/communication/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('communication', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
Context::set('communication_config', $this->communication_config);
|
||||
|
||||
$config_parse = explode('.', $skin);
|
||||
$config_parse = explode('|@|', $skin);
|
||||
if (count($config_parse) > 1){
|
||||
$tpl_path = sprintf('./themes/%s/modules/communication/', $config_parse[0]);
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -25,7 +25,20 @@
|
|||
*
|
||||
* @return bool
|
||||
**/
|
||||
function checkUpdate() {
|
||||
function checkUpdate()
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('integration_search');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/integration_search/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -34,7 +47,26 @@
|
|||
*
|
||||
* @return Object
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
function moduleUpdate()
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/integration_search/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('integration_search', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,9 +38,27 @@
|
|||
if(!$this->grant->access) return new Object(-1,'msg_not_permitted');
|
||||
|
||||
$config = $oModuleModel->getModuleConfig('integration_search');
|
||||
if(!$config->skin) $config->skin = 'default';
|
||||
if(!$config->skin)
|
||||
{
|
||||
$config->skin = 'default';
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
}
|
||||
else
|
||||
{
|
||||
//check theme
|
||||
$config_parse = explode('|@|', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/integration_search/', $config_parse[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
}
|
||||
}
|
||||
// Template path
|
||||
$this->setTemplatePath($template_path);
|
||||
Context::set('module_info', unserialize($config->skin_vars));
|
||||
$this->setTemplatePath($this->module_path."/skins/".$config->skin."/");
|
||||
|
||||
$target = $config->target;
|
||||
if(!$target) $target = 'include';
|
||||
|
|
|
|||
|
|
@ -195,6 +195,16 @@
|
|||
// check agreement field exist
|
||||
if ($config->agreement) return true;
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
|
||||
// supprot multilanguage agreement.
|
||||
if (is_readable('./files/member_extra_info/agreement.txt')) return true;
|
||||
|
||||
|
|
@ -295,6 +305,21 @@
|
|||
$output = $oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('member', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_readable('./files/member_extra_info/agreement.txt'))
|
||||
{
|
||||
$source_file = _XE_PATH_.'files/member_extra_info/agreement.txt';
|
||||
|
|
|
|||
|
|
@ -22,9 +22,26 @@
|
|||
|
||||
$skin = $this->member_config->skin;
|
||||
// Set the template path
|
||||
$tpl_path = sprintf('%sskins/%s', $this->module_path, $skin);
|
||||
if(!is_dir($tpl_path)) $tpl_path = sprintf('%sskins/%s', $this->module_path, 'default');
|
||||
$this->setTemplatePath($tpl_path);
|
||||
if(!$skin)
|
||||
{
|
||||
$skin = 'default';
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $skin);
|
||||
}
|
||||
else
|
||||
{
|
||||
//check theme
|
||||
$config_parse = explode('|@|', $skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/member/', $config_parse[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $skin);
|
||||
}
|
||||
}
|
||||
// Template path
|
||||
$this->setTemplatePath($template_path);
|
||||
|
||||
$oLayoutModel = &getModel('layout');
|
||||
$layout_info = $oLayoutModel->getLayout($this->member_config->layout_srl);
|
||||
|
|
|
|||
|
|
@ -17,14 +17,45 @@
|
|||
/**
|
||||
* @brief a method to check if successfully installed
|
||||
**/
|
||||
function checkUpdate() {
|
||||
function checkUpdate()
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/message/', $config_parse[0]);
|
||||
if(is_dir($template_path)) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Execute update
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
function moduleUpdate()
|
||||
{
|
||||
$oModuleModel = &getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
|
||||
if($config->skin)
|
||||
{
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/message/', $config_parse[0]);
|
||||
if(is_dir($template_path))
|
||||
{
|
||||
$config->skin = implode('|@|', $config_parse);
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleConfig('message', $config);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Object();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,53 +1,63 @@
|
|||
<?php
|
||||
/**
|
||||
* @class messageView
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* @brief view class of the message module
|
||||
**/
|
||||
/**
|
||||
* @class messageView
|
||||
* @author NHN (developers@xpressengine.com)
|
||||
* @brief view class of the message module
|
||||
**/
|
||||
|
||||
class messageView extends message {
|
||||
class messageView extends message {
|
||||
|
||||
/**
|
||||
* @brief Initialization
|
||||
**/
|
||||
function init() {
|
||||
}
|
||||
/**
|
||||
* @brief Initialization
|
||||
**/
|
||||
function init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Display messages
|
||||
**/
|
||||
function dispMessage() {
|
||||
// Get configurations (using module model object)
|
||||
$oModuleModel = &getModel('module');
|
||||
$this->module_config = $config = $oModuleModel->getModuleConfig('message', $this->module_info->site_srl);
|
||||
if(!$config->skin){
|
||||
$config->skin = 'default';
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
}else{
|
||||
//check theme
|
||||
$config_parse = explode('.', $config->skin);
|
||||
if (count($config_parse) > 1){
|
||||
$template_path = sprintf('./themes/%s/modules/message/', $config_parse[0]);
|
||||
}else{
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
/**
|
||||
* @brief Display messages
|
||||
**/
|
||||
function dispMessage()
|
||||
{
|
||||
// Get configurations (using module model object)
|
||||
$oModuleModel = &getModel('module');
|
||||
$this->module_config = $config = $oModuleModel->getModuleConfig('message', $this->module_info->site_srl);
|
||||
|
||||
if(!$config->skin)
|
||||
{
|
||||
$config->skin = 'default';
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
}
|
||||
}
|
||||
// Template path
|
||||
$this->setTemplatePath($template_path);
|
||||
else
|
||||
{
|
||||
//check theme
|
||||
$config_parse = explode('|@|', $config->skin);
|
||||
if (count($config_parse) > 1)
|
||||
{
|
||||
$template_path = sprintf('./themes/%s/modules/message/', $config_parse[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
$template_path = sprintf('%sskins/%s', $this->module_path, $config->skin);
|
||||
}
|
||||
}
|
||||
// Template path
|
||||
$this->setTemplatePath($template_path);
|
||||
|
||||
// Get the member configuration
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
Context::set('member_config', $member_config);
|
||||
// Set a flag to check if the https connection is made when using SSL and create https url
|
||||
$ssl_mode = false;
|
||||
if($member_config->enable_ssl == 'Y') {
|
||||
if(preg_match('/^https:\/\//i',Context::getRequestUri())) $ssl_mode = true;
|
||||
}
|
||||
Context::set('ssl_mode',$ssl_mode);
|
||||
// Get the member configuration
|
||||
$member_config = $oModuleModel->getModuleConfig('member');
|
||||
Context::set('member_config', $member_config);
|
||||
// Set a flag to check if the https connection is made when using SSL and create https url
|
||||
$ssl_mode = false;
|
||||
if($member_config->enable_ssl == 'Y') {
|
||||
if(preg_match('/^https:\/\//i',Context::getRequestUri())) $ssl_mode = true;
|
||||
}
|
||||
Context::set('ssl_mode',$ssl_mode);
|
||||
|
||||
Context::set('system_message', nl2br($this->getMessage()));
|
||||
Context::set('system_message', nl2br($this->getMessage()));
|
||||
|
||||
$this->setTemplateFile('system_message');
|
||||
}
|
||||
}
|
||||
$this->setTemplateFile('system_message');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -79,6 +79,18 @@
|
|||
|
||||
if(!is_dir('./files/ruleset')) return true;
|
||||
|
||||
$args->skin = '.';
|
||||
$output = executeQueryArray('module.getModuleSkinDotList', $args);
|
||||
if($output->data && count($output->data) > 0)
|
||||
{
|
||||
foreach($output->data as $item)
|
||||
{
|
||||
$skin_path = explode('.', $item->skin);
|
||||
if(count($skin_path) != 2) continue;
|
||||
if(is_dir(sprintf(_XE_PATH_ . 'themes/%s/modules/%s', $skin_path[0], $skin_path[1]))) return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -315,6 +327,24 @@
|
|||
$oDB->addColumn('module_config', 'site_srl', 'number', 11, 0, true);
|
||||
}
|
||||
FileHandler::makeDir('./files/ruleset');
|
||||
|
||||
$args->skin = '.';
|
||||
$output = executeQueryArray('module.getModuleSkinDotList', $args);
|
||||
if($output->data && count($output->data) > 0)
|
||||
{
|
||||
foreach($output->data as $item)
|
||||
{
|
||||
$skin_path = explode('.', $item->skin);
|
||||
if(count($skin_path) != 2) continue;
|
||||
if(is_dir(sprintf(_XE_PATH_ . 'themes/%s/modules/%s', $skin_path[0], $skin_path[1])))
|
||||
{
|
||||
unset($args);
|
||||
$args->skin = $item->skin;
|
||||
$args->new_skin = implode('|@|', $skin_path);
|
||||
$output = executeQuery('module.updateSkinAll', $args);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
|
|
|
|||
15
modules/module/queries/getModuleSkinDotList.xml
Normal file
15
modules/module/queries/getModuleSkinDotList.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<query id="getModuleSkinDotList" action="select">
|
||||
<tables>
|
||||
<table name="modules" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="module" />
|
||||
<column name="skin" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="like" column="skin" var="skin" default="." />
|
||||
</conditions>
|
||||
<groups>
|
||||
<group column="skin" />
|
||||
</groups>
|
||||
</query>
|
||||
11
modules/module/queries/updateSkinAll.xml
Normal file
11
modules/module/queries/updateSkinAll.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="updateSkinAll" action="update">
|
||||
<tables>
|
||||
<table name="modules" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="skin" var="new_skin" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="skin" var="skin" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
Loading…
Add table
Add a link
Reference in a new issue