css 및 js 호출순서 조정기능 추가

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2009-03-06 05:33:56 +00:00
parent 4f380d9c48
commit 61851f1dfe
2149 changed files with 109090 additions and 18689 deletions

View file

@ -18,7 +18,11 @@
* @brief 전체 메뉴 목록을 구해옴
**/
function getMenuList($obj) {
if(!$obj->site_srl) {
$site_module_info = Context::get('site_module_info');
$obj->site_srl = (int)$site_module_info->site_srl;
}
$args->site_srl = $obj->site_srl;
$args->sort_index = $obj->sort_index;
$args->page = $obj->page?$obj->page:1;
$args->list_count = $obj->list_count?$obj->list_count:20;
@ -36,8 +40,13 @@
/**
* @brief 등록된 모든 메뉴를 return
**/
function getMenus() {
function getMenus($site_srl = 0) {
if(!$site_srl) {
$site_module_info = Context::get('site_module_info');
$site_srl = (int)$site_module_info->site_srl;
}
// 일단 DB에서 정보를 가져옴
$args->site_srl = $site_srl ;
$args->menu_srl = $menu_srl;
$output = executeQuery('menu.getMenus', $args);
if(!$output->data) return;
@ -74,40 +83,28 @@
if($node->group_srls) $node->group_srls = explode(',',$node->group_srls);
else $node->group_srls = array();
$node->name = $this->getMenuItemNames($node->name);
$tmp_name = unserialize($node->name);
if($tmp_name && count($tmp_name) ) {
$selected_lang = array();
$rand_name = $tmp_name[Context::getLangType()];
if(!$rand_name) $rand_name = array_shift($tmp_name);
$node->name = $rand_name;
}
return $node;
}
/**
* @brief 다국어 지원을 위해 menu의 name을 언어별로 나눠서 return
*/
function getMenuItemNames($name) {
$lang_supported = Context::get('lang_supported');
$source_name = $name;
$name = unserialize($name);
// unserialize한 값이 없으면, 즉 beta 0.2.3 이전 버전이라면 정해진 값을 모든 언어에 맞게 처리
if(!$name) {
$name = array();
foreach($lang_supported as $key => $val) {
$name[$key] = $source_name;
}
// 값이 있다면 혹시나 빠진 부분의 언어가 있는지 체크
} else {
$values = array_values($name);
$title_name = '';
for($i=0;$i<count($values);$i++) {
$title_name = trim($values[$i]);
if($title_name) break;;
}
foreach($lang_supported as $key => $val) {
if(!$name[$key]) $name[$key] = $title_name;
}
function getMenuItemNames($source_name, $site_srl = null) {
if(!$site_srl) {
$site_module_info = Context::get('site_module_info');
$site_srl = (int)$site_module_info->site_srl;
}
return $name;
// 언어코드 구함
$oModuleAdminModel = &getAdminModel('module');
return $oModuleAdminModel->getLangCode($site_srl, $source_name);
}
/**
@ -144,15 +141,12 @@
$item_info->menu_item_srl = getNextSequence();
}
}
Context::set('item_info', $item_info);
// template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.
$oTemplate = &TemplateHandler::getInstance();
$tpl = $oTemplate->compile($this->module_path.'tpl', 'menu_item_info');
// return 할 변수 설정
$this->add('tpl', str_replace("\n"," ",$tpl));
}