rhymix/modules/menu/menu.class.php
Kijin Sung 1c786d8cd5 Remove module update scripts from XE 1.7 and before
XE 1.7 이하 버전에서 테이블 스키마 조정, 인덱스 추가, 임시파일 처리 등을 위해
만들어 놓은 업데이트 스크립트를 대부분 제거하여 처리 효율을 향상시킵니다.

이 중 대부분은 XE 개발 초창기(1.2 이전) 스키마 변경이 빈번하던 시절에
하위호환성을 위해 추가된 것으로, 이미 10년 이상 불필요한 상태였습니다.

단, 앞으로는 XE 1.8 미만 버전에서 라이믹스로 업데이트하기 어려워질 수 있습니다.
XE 1.8 미만 버전을 사용하는 사이트에서는 먼저 XE 최신 버전으로 업데이트한 후
라이믹스를 덮어씌우는 방식으로 진행하여야 합니다.
2020-09-29 01:33:57 +09:00

107 lines
No EOL
2.2 KiB
PHP

<?php
/* Copyright (C) NAVER <http://www.navercorp.com> */
/**
* menu class
* high class of the menu module
*
* @author NAVER (developers@xpressengine.com)
* @package /modules/menu
* @version 0.1
*/
class menu extends ModuleObject
{
/**
* Implement if additional tasks are necessary when installing
* @return Object
*/
function moduleInstall()
{
// Create a directory to use menu
FileHandler::makeDir('./files/cache/menu');
}
/**
* A method to check if successfully installed
* @return bool
*/
function checkUpdate()
{
$oDB = DB::getInstance();
// 2015. 06. 15 add column desc
if(!$oDB->isColumnExists('menu_item', 'desc'))
{
return true;
}
return false;
}
/**
* Execute update
* @return Object
*/
function moduleUpdate()
{
$oDB = DB::getInstance();
// 2015. 06. 15 add column desc
if(!$oDB->isColumnExists('menu_item', 'desc'))
{
$oDB->addColumn('menu_item', 'desc','varchar',250,"",true);
}
}
/**
* Re-generate the cache file
* @return void
*/
function recompileCache()
{
$oMenuAdminController = getAdminController('menu');
$oMenuAdminModel = getAdminModel('menu');
// get home module id
$oModuleModel = getModel('module');
$columnList = array('modules.mid',);
$output = $oModuleModel->getSiteInfo(0, $columnList);
$homeModuleMid = $output->mid;
$homeMenuSrl = NULL;
// Wanted list of all the blog module
$output = executeQueryArray("menu.getMenus");
$list = $output->data;
if(!count($list)) return;
// The menu module is used in the re-create all the menu list
foreach($list as $menu_item)
{
$menu_srl = $menu_item->menu_srl;
$oMenuAdminController->makeXmlFile($menu_srl);
// for homeSitemap.php regenrate
if(!$homeMenuSrl)
{
$menuItemList = $oMenuAdminModel->getMenuItems($menu_srl);
if(is_array($menuItemList->data))
{
foreach($menuItemList->data AS $key=>$value)
{
if($homeModuleMid == $value->url)
{
$homeMenuSrl = $menu_srl;
break;
}
}
}
}
}
if($homeMenuSrl)
{
$oMenuAdminController->makeHomemenuCacheFile($homeMenuSrl);
}
}
}
/* End of file menu.class.php */
/* Location: ./modules/menu/menu.class.php */