issue 2625 add about setting of default layout/skin.

git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11898 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2012-10-25 14:42:38 +00:00
parent afd6f9b5ae
commit 1c3e69f91f
15 changed files with 176 additions and 80 deletions

View file

@ -95,6 +95,8 @@
$output = executeQueryArray('module.getNotLinkedModuleGroupSiteSrl');
if($output->toBool() && $output->data && count($output->data) > 0) return true;
// check fix mskin
if(!$oDB->isColumnExists("modules", "is_mskin_fix")) return true;
return false;
}
@ -382,6 +384,22 @@
}
}
if(!$oDB->isColumnExists("modules", "is_mskin_fix"))
{
$oDB->addColumn('modules', 'is_mskin_fix', 'char', 1, 'N');
$output = executeQueryArray('module.getAllMobileSkinSetModule');
if ($output->toBool() && $output->data){
$module_srls = array();
foreach($output->data as $val){
$module_srls[] = $val->module_srl;
}
unset($args);
$args->module_srls = implode(',', $module_srls);
$args->is_mskin_fix = 'Y';
$output = executeQuery('module.updateMobileSkinFixModules', $args);
}
}
return new Object(0, 'success_updated');
}

View file

@ -291,6 +291,7 @@
unset($extra_vars->mid);
unset($extra_vars->is_skin_fix);
unset($extra_vars->skin);
unset($extra_vars->is_mskin_fix);
unset($extra_vars->mskin);
unset($extra_vars->browser_title);
unset($extra_vars->description);
@ -327,7 +328,8 @@
if(!$args->module_srl) $args->module_srl = getNextSequence();
// default value
$args->is_skin_fix = (!$args->is_skin_fix) ? 'N' : 'Y';
$args->is_skin_fix = ($args->is_skin_fix != 'Y') ? 'N' : 'Y';
$args->is_mskin_fix = ($args->is_mskin_fix != 'Y') ? 'N' : 'Y';
// Insert a module
$output = executeQuery('module.insertModule', $args);
@ -373,13 +375,15 @@
}
// default value
$args->is_skin_fix = (!$args->is_skin_fix) ? 'N' : 'Y';
$args->is_skin_fix = ($args->is_skin_fix != 'Y') ? 'N' : 'Y';
$args->is_mskin_fix = ($args->is_mskin_fix != 'Y') ? 'N' : 'Y';
$output = executeQuery('module.updateModule', $args);
if(!$output->toBool()) {
$oDB->rollback();
return $output;
}
// Insert module extra vars
$this->insertModuleExtraVars($args->module_srl, $extra_vars);

View file

@ -239,7 +239,8 @@
}
$moduleInfo->is_layout_fix = ($moduleInfo->layout_srl == -1) ? 'N' : 'Y';
if($moduleInfo->is_layout_fix == 'N' || $moduleInfo->is_skin_fix == 'N')
$moduleInfo->is_mlayout_fix = ($moduleInfo->mlayout_srl == -1) ? 'N' : 'Y';
if($moduleInfo->is_layout_fix == 'N' || $moduleInfo->is_skin_fix == 'N' || $moduleInfo->is_mlayout_fix == 'N' || $moduleInfo->is_mskin_fix == 'N')
{
$designInfoFile = sprintf(_XE_PATH_.'/files/site_design/design_%s.php', $moduleInfo->site_srl);
@include($designInfoFile);
@ -253,17 +254,16 @@
if($moduleInfo->is_skin_fix == 'N')
{
$moduleInfo->skin = $designInfo->module->{$moduleInfo->module}->skin;
}
$skinVars = $designInfo->module->{$moduleInfo->module}->skin_vars;
if($moduleInfo->is_mlayout_fix == 'N')
{
$moduleInfo->mlayout_srl = $designInfo->mlayout_srl;
}
if($skinVars)
{
$skinVars = unserialize($skinVars);
foreach($skinVars as $key => $val)
{
$moduleInfo->{$key} = $val;
}
}
if($moduleInfo->is_mskin_fix == 'N')
{
$moduleInfo->mskin = $designInfo->module->{$moduleInfo->module}->mskin;
}
$moduleInfo = $this->addModuleExtraVars($moduleInfo);
@ -1424,6 +1424,43 @@
return $skin_vars;
}
/**
* Get default skin name
**/
function getModuleDefaultSkin($module_name, $skin_type = 'P', $site_srl = 0)
{
$target = ($skin_type == 'M') ? 'mskin' : 'skin';
$designInfoFile = sprintf(_XE_PATH_.'files/site_design/design_%s.php', $site_srl);
if(is_readable($designInfoFile))
{
@include($designInfoFile);
$skinName = $designInfo->module->{$module_name}->{$target};
}
if(!$skinName)
{
$dir = ($skin_type == 'M') ? 'm.skins/' : 'skins';
$moduleSkinPath = ModuleHandler::getModulePath($module_name).$dir;
$skins = FileHandler::readDir($moduleSkinPath);
if(count($skins) > 0)
{
$skinName = $skins[0];
$designInfo->module->{$module_name}->{$target} = $skinName;
$oAdminController = getAdminController('admin');
$oAdminController->makeDefaultDesignFile($designInfo, $site_srl);
}
else
{
$skinName = NULL;
}
}
return $skinName;
}
/**
* @brief Combine skin information with module information
**/

View file

@ -0,0 +1,11 @@
<query id="getAllMobileSkinSetModule" action="select">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="module_srl" />
</columns>
<conditions>
<condition operation="notequal" column="mskin" default=" " />
</conditions>
</query>

View file

@ -17,7 +17,9 @@
<column name="modules.use_mobile" alias="use_mobile" />
<column name="modules.menu_srl" alias="menu_srl" />
<column name="modules.mid" alias="mid" />
<column name="modules.is_skin_fix" alias="is_skin_fix" />
<column name="modules.skin" alias="skin" />
<column name="modules.is_mskin_fix" alias="is_mskin_fix" />
<column name="modules.mskin" alias="mskin" />
<column name="modules.browser_title" alias="browser_title" />
<column name="modules.description" alias="description" />

View file

@ -8,7 +8,8 @@
<column name="module_category_srl" var="module_category_srl" default="0" />
<column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" />
<column name="skin" var="skin" minlength="1" maxlength="250" />
<column name="is_skin_fix" var="is_skin_fix" default="Y" />
<column name="is_skin_fix" var="is_skin_fix" default="N" />
<column name="is_mskin_fix" var="is_mskin_fix" default="N" />
<column name="mskin" var="mskin" />
<column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" />
<column name="layout_srl" var="layout_srl" />

View file

@ -0,0 +1,11 @@
<query id="updateMobileSkinFixModules" action="update">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="is_mskin_fix" var="is_mskin_fix" />
</columns>
<conditions>
<condition operation="in" column="module_srl" var="module_srls" notnull="notnull" />
</conditions>
</query>

View file

@ -7,8 +7,9 @@
<column name="module_category_srl" var="module_category_srl" />
<column name="layout_srl" var="layout_srl" />
<column name="skin" var="skin" minlength="0" maxlength="250" />
<column name="is_skin_fix" var="is_skin_fix" default="Y" />
<column name="is_skin_fix" var="is_skin_fix" default="N" />
<column name="mskin" var="mskin" />
<column name="is_mskin_fix" var="is_mskin_fix" default="N" />
<column name="menu_srl" var="menu_srl" filter="number" />
<column name="mid" var="mid" notnull="notnull" minlength="1" maxlength="40" />
<column name="browser_title" var="browser_title" notnull="notnull" minlength="1" maxlength="250" />

View file

@ -10,6 +10,7 @@
<column name="mid" type="varchar" size="40" notnull="notnull" />
<column name="is_skin_fix" type="char" size="1" notnull="notnull" default="Y" />
<column name="skin" type="varchar" size="250" />
<column name="is_mskin_fix" type="char" size="1" notnull="notnull" default="Y" />
<column name="mskin" type="varchar" size="250" />
<column name="browser_title" type="varchar" size="250" notnull="notnull" />
<column name="description" type="text" />