mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-20 02:42:23 +09:00
Merge remote-tracking branch 'remotes/upstream/develop' into develop
This commit is contained in:
commit
a14ad162b8
6 changed files with 149 additions and 120 deletions
|
|
@ -47,27 +47,27 @@ class boardView extends board
|
|||
}
|
||||
|
||||
// use_category <=1.5.x, hide_category >=1.7.x
|
||||
$count_category = count($oDocumentModel->getCategoryList($module_srl));
|
||||
$count_category = count($oDocumentModel->getCategoryList($this->module_info->module_srl));
|
||||
if($count_category)
|
||||
{
|
||||
if($config->hide_category)
|
||||
if($this->module_info->hide_category)
|
||||
{
|
||||
$config->use_category = ($config->hide_category == 'Y') ? 'N' : 'Y';
|
||||
$this->module_info->use_category = ($this->module_info->hide_category == 'Y') ? 'N' : 'Y';
|
||||
}
|
||||
else if($config->use_category)
|
||||
else if($this->module_info->use_category)
|
||||
{
|
||||
$config->hide_category = ($config->use_category == 'Y') ? 'N' : 'Y';
|
||||
$this->module_info->hide_category = ($this->module_info->use_category == 'Y') ? 'N' : 'Y';
|
||||
}
|
||||
else
|
||||
{
|
||||
$config->hide_category = 'N';
|
||||
$config->use_category = 'Y';
|
||||
$this->module_info->hide_category = 'N';
|
||||
$this->module_info->use_category = 'Y';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$config->hide_category = 'Y';
|
||||
$config->use_category = 'N';
|
||||
$this->module_info->hide_category = 'Y';
|
||||
$this->module_info->use_category = 'N';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -529,15 +529,13 @@ class menuAdminModel extends menu
|
|||
unset($menu);
|
||||
unset($menuItems);
|
||||
$value->php_file = sprintf(_XE_PATH_ . 'files/cache/menu/%s.php',$value->menu_srl);
|
||||
if(file_exists($value->php_file))
|
||||
{
|
||||
include($value->php_file);
|
||||
}
|
||||
else
|
||||
if(!file_exists($value->php_file))
|
||||
{
|
||||
$oMenuAdminController->makeXmlFile($value->menu_srl);
|
||||
}
|
||||
|
||||
include($value->php_file);
|
||||
|
||||
$isMenuFixed = false;
|
||||
if(count($menu->list) > 0)
|
||||
{
|
||||
|
|
|
|||
21
modules/menu/queries/updateMenuItems.xml
Normal file
21
modules/menu/queries/updateMenuItems.xml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<query id="updateMenuItems" action="update">
|
||||
<tables>
|
||||
<table name="menu_item" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="menu_srl" var="menu_srl" />
|
||||
<column name="parent_srl" var="parent_srl" />
|
||||
<column name="name" var="name" />
|
||||
<column name="url" var="url" />
|
||||
<column name="is_shortcut" var="is_shortcut" />
|
||||
<column name="open_window" var="open_window" />
|
||||
<column name="expand" var="expand" />
|
||||
<column name="normal_btn" var="normal_btn" />
|
||||
<column name="hover_btn" var="hover_btn" />
|
||||
<column name="active_btn" var="active_btn" />
|
||||
<column name="group_srls" var="group_srls" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="menu_srl" var="current_menu_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
@ -101,10 +101,6 @@ class module extends ModuleObject
|
|||
}
|
||||
|
||||
// XE 1.7
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
|
||||
if($output->toBool() && $output->data && count($output->data) > 0) return true;
|
||||
|
||||
// check fix mskin
|
||||
if(!$oDB->isColumnExists("modules", "is_mskin_fix")) return true;
|
||||
|
|
@ -113,12 +109,25 @@ class module extends ModuleObject
|
|||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
if(!$moduleConfig->isUpdateFixedValue) return true;
|
||||
|
||||
// check lost module
|
||||
if(!$moduleConfig->isUpdateLostModule)
|
||||
// 'unlinked' menu 존재여부 확인
|
||||
if(!$moduleConfig->unlinked_menu_srl) return true;
|
||||
else
|
||||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
if(!$menuOutput->data) return true;
|
||||
}
|
||||
|
||||
// menu_srl이 등록되지 않은 mid가 있는지 검사(지정된 menu_srl이 있을 경우, 지정된 menu_item도 있다고 가정)
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
if($output->toBool() && $output->data && count($output->data) > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -414,29 +423,6 @@ class module extends ModuleObject
|
|||
$output = executeQuery('module.updateMobileSkinFixModules');
|
||||
}
|
||||
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
|
||||
if($output->toBool() && $output->data && count($output->data) > 0)
|
||||
{
|
||||
//create temp menu.
|
||||
$args->title = 'Temporary menu';
|
||||
$menuSrl = $args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
|
||||
$output = executeQuery('menu.insertMenu', $args);
|
||||
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
//getNotLinkedModuleBySiteSrl
|
||||
$soutput = executeQueryArray('module.getNotLinkedModuleBySiteSrl', $args);
|
||||
$uoutput = $this->updateLinkModule($soutput->data, $menuSrl);
|
||||
}
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
if(!$moduleConfig->isUpdateFixedValue)
|
||||
|
|
@ -449,69 +435,82 @@ class module extends ModuleObject
|
|||
$moduleConfig->isUpdateFixedValue = TRUE;
|
||||
$output = $oModuleController->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
// menu(sitemap)에 링크되지 않은 모듈인스턴스 링크
|
||||
$output1 = $this->linkAllModuleInstancesToSitemap();
|
||||
if(!$output1->toBool()) return $output1;
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
private function linkAllModuleInstancesToSitemap()
|
||||
{
|
||||
// 'unlinked' menu가 있는지 검사
|
||||
$oModuleController = getController('module');
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
|
||||
// check lost module
|
||||
if(!$moduleConfig->isUpdateLostModule)
|
||||
// 'unlinked menu 생성
|
||||
$menuSrl = 0;
|
||||
if(!$moduleConfig->unlinked_menu_srl)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->site_srl = 0;
|
||||
$output = executeQueryArray('module.getMidList', $args);
|
||||
if(!$output->toBool())
|
||||
$menuSrl = $oModuleController->makeUnlinkedMenu();
|
||||
}
|
||||
else
|
||||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
if(!$menuOutput->data)
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
if($output->data)
|
||||
{
|
||||
$oMenuAdminModel = getAdminModel('menu'); /* @var $oMenuAdminModel menuAdminModel */
|
||||
foreach($output->data as $row)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->url = $row->mid;
|
||||
$output2 = executeQuery('module.getMenuItem', $args);
|
||||
|
||||
if(!$output2->data->count)
|
||||
{
|
||||
$menuInfo = $oMenuAdminModel->getMenuByTitle('Temporary menu');
|
||||
|
||||
if(!$menuInfo)
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->title = 'Temporary menu';
|
||||
$menuSrl = $args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
|
||||
$ioutput = executeQuery('menu.insertMenu', $args);
|
||||
if(!$ioutput->toBool())
|
||||
{
|
||||
return $ioutput;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$menuSrl = $menuInfo->menu_srl;
|
||||
}
|
||||
|
||||
$uoutput = $this->updateLinkModule(array($row), $menuSrl);
|
||||
if(!$uoutput->toBool())
|
||||
{
|
||||
return $uoutput;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$oModuleController = getController('module');
|
||||
$moduleConfig->isUpdateLostModule = TRUE;
|
||||
$output = $oModuleController->updateModuleConfig('module', $moduleConfig);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return $output;
|
||||
$menuSrl = $oModuleController->makeUnlinkedMenu();
|
||||
}
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
// 'unlinked' menu를 module config에 저장
|
||||
if($menuSrl)
|
||||
{
|
||||
$moduleConfig->unlinked_menu_srl = $menuSrl;
|
||||
$oModuleController->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
// for 1.7.4 update, 기존에 생성된 Temporary menu 항목 정리
|
||||
$oMenuAdminModel = getAdminModel('menu'); // @var $oMenuAdminModel menuAdminModel
|
||||
$args = new stdClass();
|
||||
$args->title = array("Temporary menu");
|
||||
$temp_menus = executeQueryArray('menu.getMenuByTitle', $args);
|
||||
|
||||
$args = new stdClass();
|
||||
foreach($temp_menus->data as $menu)
|
||||
{
|
||||
$args->current_menu_srl = $menu->menu_srl;
|
||||
$args->menu_srl = $moduleConfig->unlinked_menu_srl;
|
||||
$output3 = executeQuery('menu.updateMenuItems', $args);
|
||||
|
||||
if($output3->toBool())
|
||||
{
|
||||
// delete
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->deleteMenu($menu->menu_srl);
|
||||
}
|
||||
}
|
||||
|
||||
// menu_srl이 지정되지 않은 mid가 있는지 검사
|
||||
$args = new stdClass;
|
||||
$args->site_srl = 0;
|
||||
$output1 = executeQueryArray('module.getNotLinkedModuleBySiteSrl',$args);
|
||||
if($output1->toBool() && $output1->data && count($output1->data) > 0)
|
||||
{
|
||||
$output2 = $this->updateLinkModule($output1->data, $menuSrl);
|
||||
if(!$output2->toBool())
|
||||
{
|
||||
return $output2;
|
||||
}
|
||||
}
|
||||
|
||||
return new Object(0,'success');
|
||||
}
|
||||
|
||||
/**
|
||||
* insert menu when not linked module.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -418,32 +418,27 @@ class moduleController extends module
|
|||
{
|
||||
$menuArgs = new stdClass;
|
||||
$menuArgs->menu_srl = $args->menu_srl;
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
$menuOutput = executeQuery('menu.getMenu', $menuArgs);
|
||||
|
||||
// if menu is not created, create menu also. and does not supported that in virtual site.
|
||||
if(!$menuOutput->data && !$args->site_srl)
|
||||
{
|
||||
$oMenuAdminModel = getAdminModel('menu');
|
||||
$tempMenu = $oMenuAdminModel->getMenuByTitle(array('Temporary menu'));
|
||||
|
||||
if(!$tempMenu)
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$moduleConfig = $oModuleModel->getModuleConfig('module');
|
||||
|
||||
$menuSrl = $moduleConfig->unlinked_menu_srl;
|
||||
if(!$menuSrl)
|
||||
{
|
||||
$siteMapArgs = new stdClass;
|
||||
$siteMapArgs->site_srl = 0;
|
||||
$siteMapArgs->title = 'Temporary menu';
|
||||
$siteMapArgs->listorder = $siteMapArgs->menu_srl * -1;
|
||||
$tempMenu = new stdClass;
|
||||
$tempMenu->menu_srl = $siteMapArgs->menu_srl = getNextSequence();
|
||||
|
||||
$siteMapOutput = executeQuery('menu.insertMenu', $siteMapArgs);
|
||||
if(!$siteMapOutput->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
return $siteMapOutput;
|
||||
}
|
||||
$menuSrl = $this->makeUnlinkedMenu();
|
||||
|
||||
// 'unlinked' menu를 module config에 저장
|
||||
$moduleConfig->unlinked_menu_srl = $menuSrl;
|
||||
$this->updateModuleConfig('module', $moduleConfig);
|
||||
}
|
||||
|
||||
$menuArgs->menu_srl = $tempMenu->menu_srl;
|
||||
$menuArgs->menu_srl = $menuSrl;
|
||||
$menuArgs->menu_item_srl = getNextSequence();
|
||||
$menuArgs->parent_srl = 0;
|
||||
$menuArgs->open_window = 'N';
|
||||
|
|
@ -461,7 +456,7 @@ class moduleController extends module
|
|||
}
|
||||
|
||||
$oMenuAdminController = getAdminController('menu');
|
||||
$oMenuAdminController->makeXmlFile($tempMenu->menu_srl);
|
||||
$oMenuAdminController->makeXmlFile($menuSrl);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -489,6 +484,22 @@ class moduleController extends module
|
|||
return $output;
|
||||
}
|
||||
|
||||
function makeUnlinkedMenu()
|
||||
{
|
||||
$args = new stdClass();
|
||||
$args->title = 'unlinked';
|
||||
$menuSrl = $args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
|
||||
$output = executeQuery('menu.insertMenu', $args);
|
||||
if($output->toBool())
|
||||
{
|
||||
return $menuSrl;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Modify module information
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ class moduleModel extends module
|
|||
{
|
||||
if($oCacheHandler->isSupport())
|
||||
{
|
||||
$object_key = 'site_info:' . $domain;
|
||||
$object_key = 'site_info:' . md5($domain);
|
||||
$domain_cache_key = $oCacheHandler->getGroupKey('site_and_module', $object_key);
|
||||
$site_info = $oCacheHandler->get($domain_cache_key);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue