Fix #985 improve responsive skin support

- 모바일에서 반응형 스킨 사용을 기본값으로 지정한 경우
  - 사이트 디자인 설정 화면에서 /USE_RESPONSIVE/가 노출되는 문제 수정
  - 신규 생성한 게시판에서 모바일 스킨을 찾지 못하는 문제 수정

- 게시판 모듈에서 스킨 처리하는 루틴을 ModuleObject로 이관하여
  모든 모듈에서 혜택을 볼 수 있도록 함

- 반응형 스킨이 기본값으로 지정된 경우, 아무 것도 지정되지 않은 경우,
  기본값으로 지정된 스킨이 삭제된 경우 등 다양한 상황에 대처

- TODO: 회원 모듈, 커뮤니케이션 모듈 등에서 자체 스킨을 들여오는 방식 재검토
This commit is contained in:
Kijin Sung 2018-10-10 23:07:48 +09:00
parent ea964e72ba
commit 11858c0b13
5 changed files with 42 additions and 49 deletions

View file

@ -354,6 +354,11 @@ class menuAdminModel extends menu
$defaultMobileSkin = $oModuleModel->getModuleDefaultSkin($module_name, 'M');
$skinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($module_name), $defaultSkin);
$mobileSkinInfo = $oModuleModel->loadSkinInfo(ModuleHandler::getModulePath($module_name), $defaultMobileSkin, 'm.skins');
if($defaultMobileSkin === '/USE_RESPONSIVE/' && !$mobileSkinInfo || !$mobileSkinInfo->title)
{
$mobileSkinInfo = $mobileSkinInfo ?: new stdClass;
$mobileSkinInfo->title = lang('use_responsive_pc_skin');
}
$module->defaultSkin = new stdClass();
$module->defaultSkin->skin = $defaultSkin;
$module->defaultSkin->title = $skinInfo->title ? $skinInfo->title : $defaultSkin;