Support /USE_RESPONSIVE/ as a valid mobile skin option

This commit is contained in:
Kijin Sung 2017-07-01 20:25:41 +09:00
parent dae2e9c2d8
commit 7904304dc3
5 changed files with 18 additions and 12 deletions

View file

@ -557,14 +557,14 @@ class ModuleObject extends Object
}
// integrate skin information of the module(change to sync skin info with the target module only by seperating its table)
$oModuleModel = getModel('module');
$is_default_skin = ((!Mobile::isFromMobilePhone() && $this->module_info->is_skin_fix == 'N') || (Mobile::isFromMobilePhone() && $this->module_info->is_mskin_fix == 'N'));
$usedSkinModule = !($this->module == 'page' && ($this->module_info->page_type == 'OUTSIDE' || $this->module_info->page_type == 'WIDGET'));
if($usedSkinModule && $is_default_skin && $this->module != 'admin' && strpos($this->act, 'Admin') === false && $this->module == $this->module_info->module)
{
$dir = (Mobile::isFromMobilePhone()) ? 'm.skins' : 'skins';
$valueName = (Mobile::isFromMobilePhone()) ? 'mskin' : 'skin';
$oModuleModel = getModel('module');
$skinType = (Mobile::isFromMobilePhone()) ? 'M' : 'P';
$skinType = (Mobile::isFromMobilePhone() && $this->module_info->mskin !== '/USE_RESPONSIVE/') ? 'M' : 'P';
$dir = $skinType === 'M' ? 'm.skins' : 'skins';
$valueName = $skinType === 'M' ? 'mskin' : 'skin';
$skinName = $oModuleModel->getModuleDefaultSkin($this->module, $skinType);
if($this->module == 'page')
{
@ -580,7 +580,6 @@ class ModuleObject extends Object
}
}
$oModuleModel = getModel('module');
$oModuleModel->syncSkinInfoToModuleInfo($this->module_info);
Context::set('module_info', $this->module_info);
// Run

View file

@ -380,7 +380,8 @@ class moduleAdminController extends module
}
else
{
$skin = $oModuleModel->getModuleDefaultSkin($module_info->module, 'M');
$skin_type = $module_info->mskin === '/USE_RESPONSIVE/' ? 'P' : 'M';
$skin = $oModuleModel->getModuleDefaultSkin($module_info->module, $skin_type);
}
}
else

View file

@ -332,7 +332,8 @@ class moduleAdminModel extends module
{
if($module_info->is_mskin_fix == 'N')
{
$skin = $oModuleModel->getModuleDefaultSkin($module_info->module, 'M', $module_info->site_srl);
$skin_type = $module_info->mskin === '/USE_RESPONSIVE/' ? 'P' : 'M';
$skin = $oModuleModel->getModuleDefaultSkin($module_info->module, $skin_type, $module_info->site_srl);
}
else
{

View file

@ -409,7 +409,7 @@ class moduleController extends module
}
}
if($args->mskin == '/USE_DEFAULT/')
if($args->mskin == '/USE_DEFAULT/' || $args->mskin == '/USE_RESPONSIVE/')
{
$args->is_mskin_fix = 'N';
}
@ -540,7 +540,7 @@ class moduleController extends module
}
}
if($args->mskin == '/USE_DEFAULT/')
if($args->mskin == '/USE_DEFAULT/' || $args->mskin == '/USE_RESPONSIVE/')
{
$args->is_mskin_fix = 'N';
}

View file

@ -291,7 +291,7 @@ class moduleModel extends module
$layoutSrlPc = ($moduleInfo->layout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('P', $moduleInfo->site_srl) : $moduleInfo->layout_srl;
$layoutSrlMobile = ($moduleInfo->mlayout_srl == -1) ? $oLayoutAdminModel->getSiteDefaultLayout('M', $moduleInfo->site_srl) : $moduleInfo->mlayout_srl;
$skinNamePc = ($moduleInfo->is_skin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, 'P') : $moduleInfo->skin;
$skinNameMobile = ($moduleInfo->is_mskin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, 'M') : $moduleInfo->mskin;
$skinNameMobile = ($moduleInfo->is_mskin_fix == 'N') ? $this->getModuleDefaultSkin($moduleInfo->module, $moduleInfo->mskin === '/USE_RESPONSIVE/' ? 'P' : 'M') : $moduleInfo->mskin;
$oLayoutModel = getModel('layout');
$layoutInfoPc = $layoutSrlPc ? $oLayoutModel->getLayoutRawData($layoutSrlPc, array('title')) : NULL;
@ -315,7 +315,7 @@ class moduleModel extends module
$moduleInfo->designSettings->layout->mobile = $layoutInfoMobile->title;
$moduleInfo->designSettings->skin->pcIsDefault = $moduleInfo->is_skin_fix == 'N' ? 1 : 0;
$moduleInfo->designSettings->skin->pc = $skinInfoPc->title;
$moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0;
$moduleInfo->designSettings->skin->mobileIsDefault = ($moduleInfo->is_mskin_fix == 'N' && $moduleInfo->mskin !== '/USE_RESPONSIVE/') ? 1 : 0;
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
$module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid . '_' . $site_srl);
@ -402,11 +402,12 @@ class moduleModel extends module
$moduleInfo->skin = '/USE_DEFAULT/';
}
if($moduleInfo->is_mskin_fix == 'N')
if($moduleInfo->is_mskin_fix == 'N' && $moduleInfo->mskin !== '/USE_RESPONSIVE/')
{
$moduleInfo->mskin = '/USE_DEFAULT/';
}
}
/**
* @brief Get module information corresponding to layout_srl
*/
@ -1125,6 +1126,10 @@ class moduleModel extends module
$useDefault->title = lang('use_site_default_skin') . ' (' . $defaultSkinInfo->title . ')';
$useDefaultList['/USE_DEFAULT/'] = $useDefault;
if($type === 'M')
{
$useDefaultList['/USE_RESPONSIVE/'] = (object)array('title' => lang('use_responsive_pc_skin'));
}
$skin_list = array_merge($useDefaultList, $skin_list);
}