mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-18 10:49:54 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@1261 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
45f679a9ad
commit
e5db303dea
11 changed files with 132 additions and 56 deletions
|
|
@ -302,6 +302,30 @@
|
|||
}
|
||||
}
|
||||
|
||||
// 메뉴 관리
|
||||
$menus = get_object_vars($skin_info->menu);
|
||||
if(count($menus)) {
|
||||
foreach($menus as $menu_id => $val) {
|
||||
$menu_srl = Context::get($menu_id);
|
||||
if($menu_srl) {
|
||||
$obj->menu->{$menu_id} = $menu_srl;
|
||||
$obj->{$menu_id} = $menu_srl;
|
||||
$menu_srl_list[] = $menu_srl;
|
||||
}
|
||||
}
|
||||
|
||||
// 정해진 메뉴가 있으면 모듈 및 메뉴에 대한 레이아웃 연동
|
||||
if(count($menu_srl_list)) {
|
||||
// 해당 메뉴와 레이아웃 값을 매핑
|
||||
$oMenuController = &getController('menu');
|
||||
$oMenuController->updateMenuLayout($module_srl, $menu_srl_list);
|
||||
|
||||
// 해당 메뉴에 속한 mid의 layout값을 모두 변경
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->updateModuleLayout($module_srl, $menu_srl_list);
|
||||
}
|
||||
}
|
||||
|
||||
// serialize하여 저장
|
||||
$obj->category_xml_file = sprintf("./files/cache/blog_category/%s.xml.php", $module_srl);
|
||||
$skin_vars = serialize($obj);
|
||||
|
|
|
|||
|
|
@ -90,6 +90,15 @@
|
|||
// 레이아웃의 정보를 속이기 위해서 layout_srl을 현 블로그의 module_srl로 입력
|
||||
$this->module_info->layout_srl = $this->module_info->module_srl;
|
||||
|
||||
// 메뉴 등록시 메뉴 정보를 구해옴
|
||||
if($this->module_info->menu) {
|
||||
foreach($this->module_info->menu as $menu_id => $menu_srl) {
|
||||
$menu_php_file = sprintf("./files/cache/menu/%s.php", $menu_srl);
|
||||
if(file_exists($menu_php_file)) include($menu_php_file);
|
||||
Context::set($menu_id, $menu);
|
||||
}
|
||||
}
|
||||
|
||||
// 모듈정보와 레이아웃에서 사용하기 위한 레이아웃 정보를 세팅
|
||||
Context::set('module_info',$this->module_info);
|
||||
Context::set('layout_info',$this->module_info);
|
||||
|
|
@ -529,6 +538,18 @@
|
|||
}
|
||||
}
|
||||
|
||||
// skin_info에 menu값을 지정
|
||||
if(count($skin_info->menu)) {
|
||||
foreach($skin_info->menu as $key => $val) {
|
||||
if($module_info->{$key}) $skin_info->menu->{$key}->menu_srl = $module_info->{$key};
|
||||
}
|
||||
}
|
||||
|
||||
// 메뉴를 가져옴
|
||||
$oMenuModel = &getModel('menu');
|
||||
$menu_list = $oMenuModel->getMenus();
|
||||
Context::set('menu_list', $menu_list);
|
||||
|
||||
Context::set('skin_info', $skin_info);
|
||||
$this->setTemplateFile('skin_info');
|
||||
}
|
||||
|
|
@ -549,16 +570,6 @@
|
|||
$this->setTemplateFile('category_list');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 메뉴 정보
|
||||
**/
|
||||
function dispBlogAdminMenuInfo() {
|
||||
// module_srl을 구함
|
||||
$module_srl = $this->module_info->module_srl;
|
||||
|
||||
$this->setTemplateFile('category_list');
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 권한 목록 출력
|
||||
**/
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@
|
|||
<action name="dispBlogAdminInsertBlog" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminDeleteBlog" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminCategoryInfo" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminMenuInfo" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminSkinInfo" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminGrantInfo" type="view" standalone="true" />
|
||||
<action name="dispBlogAdminManageDocument" type="view" />
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<div class="layout_first_menu">
|
||||
|
||||
<!-- top_menu 시작 -->
|
||||
|
||||
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
|
||||
|
||||
<!--@if($val['selected'])-->
|
||||
|
|
|
|||
|
|
@ -1,44 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<skin>
|
||||
<title xml:lang="ko">블로그 기본 스킨</title>
|
||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">blog 모듈의 default스킨</description>
|
||||
</maker>
|
||||
<colorset>
|
||||
<color name="normal" src="screenshot/normal.gif">
|
||||
<title xml:lang="ko">기본</title>
|
||||
</color>
|
||||
<color name="deep" src="screenshot/blue.gif">
|
||||
<title xml:lang="ko">이상한거</title>
|
||||
</color>
|
||||
</colorset>
|
||||
<extra_vars>
|
||||
<var name="top_title" type="text">
|
||||
<title xml:lang="ko">상단 제목</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
|
||||
</var>
|
||||
<var name="logo_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">로고이미지</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
|
||||
</var>
|
||||
<var name="profile_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">프로필 이미지</title>
|
||||
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
|
||||
</var>
|
||||
<var name="profile" type="textarea">
|
||||
<title xml:lang="ko">프로필</title>
|
||||
<description lang="ko">간단한 프로필을 입력해주세요</description>
|
||||
</var>
|
||||
<var name="category_name" type="text">
|
||||
<title xml:lang="ko">카테고리명</title>
|
||||
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
|
||||
</var>
|
||||
<var name="display_writer" type="select">
|
||||
<title xml:lang="ko">글쓴이 표시</title>
|
||||
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
|
||||
<default>off</default>
|
||||
<default>on</default>
|
||||
</var>
|
||||
</extra_vars>
|
||||
<title xml:lang="ko">블로그 기본 스킨</title>
|
||||
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
|
||||
<name xml:lang="ko">제로</name>
|
||||
<description xml:lang="ko">blog 모듈의 default스킨</description>
|
||||
</maker>
|
||||
<colorset>
|
||||
<color name="normal" src="screenshot/normal.gif">
|
||||
<title xml:lang="ko">기본</title>
|
||||
</color>
|
||||
<color name="deep" src="screenshot/blue.gif">
|
||||
<title xml:lang="ko">이상한거</title>
|
||||
</color>
|
||||
</colorset>
|
||||
<extra_vars>
|
||||
<var name="top_title" type="text">
|
||||
<title xml:lang="ko">상단 제목</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
|
||||
</var>
|
||||
<var name="logo_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">로고이미지</title>
|
||||
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
|
||||
</var>
|
||||
<var name="profile_image" type="image" width="60" height="60">
|
||||
<title xml:lang="ko">프로필 이미지</title>
|
||||
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 200px이 가장 보기 좋습니다)</description>
|
||||
</var>
|
||||
<var name="profile" type="textarea">
|
||||
<title xml:lang="ko">프로필</title>
|
||||
<description lang="ko">간단한 프로필을 입력해주세요</description>
|
||||
</var>
|
||||
<var name="category_name" type="text">
|
||||
<title xml:lang="ko">카테고리명</title>
|
||||
<description lang="ko">카테고리의 이름을 입력해주세요.</description>
|
||||
</var>
|
||||
<var name="display_writer" type="select">
|
||||
<title xml:lang="ko">글쓴이 표시</title>
|
||||
<description lang="ko">다수가 블로그를 함께 운영시에 글쓴이의 이름을 표시할 수 있습니다.</description>
|
||||
<default>off</default>
|
||||
<default>on</default>
|
||||
</var>
|
||||
</extra_vars>
|
||||
<menus>
|
||||
<menu name="top_menu" default="true">
|
||||
<title xml:lang="ko">상단 메뉴</title>
|
||||
<maxdepth>1</maxdepth>
|
||||
</menu>
|
||||
</menus>
|
||||
</skin>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
<!--@end-->
|
||||
<span <!--@if($act=='dispBlogAdminBlogInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminBlogInfo')}">{$lang->cmd_view_info}</a>]</span>
|
||||
<span <!--@if($act=='dispBlogAdminCategoryInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminCategoryInfo')}">{$lang->cmd_manage_category}</a>]</span>
|
||||
<span <!--@if($act=='dispBlogAdminMenuInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminMenuInfo')}">{$lang->cmd_manage_menu}</a>]</span>
|
||||
<span <!--@if($act=='dispBlogAdminGrantInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminGrantInfo')}">{$lang->cmd_manage_grant}</a>]</span>
|
||||
<span <!--@if($act=='dispBlogAdminSkinInfo')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispBlogAdminSkinInfo')}">{$lang->cmd_manage_skin}</a>]</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -48,6 +48,22 @@
|
|||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!--@if($skin_info->menu)-->
|
||||
<!--@foreach($skin_info->menu as $menu_name => $menu_info)-->
|
||||
<tr>
|
||||
<th>{$menu_info->title}<br />({$menu_name})</th>
|
||||
<td>
|
||||
<select name="{$menu_name}">
|
||||
<option value="0">------------------------</option>
|
||||
<!--@foreach($menu_list as $key => $val)-->
|
||||
<option value="{$val->menu_srl}" <!--@if($val->menu_srl == $menu_info->menu_srl)-->selected="true"<!--@end-->>{$val->title}</option>
|
||||
<!--@end-->
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<!--@end-->
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@
|
|||
// 메뉴
|
||||
if($xml_obj->menus->menu) {
|
||||
$menus = $xml_obj->menus->menu;
|
||||
if(!is_array($menus)) $menus[] = $menus;
|
||||
if(!is_array($menus)) $menus = array($menus);
|
||||
|
||||
$menu_count = count($menus);
|
||||
$buff .= sprintf('$layout_info->menu_count = "%s";', $menu_count);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@
|
|||
<!--@end-->
|
||||
<!--@foreach($layout_info->menu as $menu_name => $menu_info)-->
|
||||
<tr>
|
||||
<th>{$menu_info->name} ({$menu_name})</th>
|
||||
<th>{$menu_info->title}<br />({$menu_name})</th>
|
||||
<td>
|
||||
<select name="{$menu_name}">
|
||||
<option value="0">------------------------</option>
|
||||
|
|
|
|||
|
|
@ -377,7 +377,7 @@
|
|||
|
||||
// 속성을 생성한다 ( url_list를 이용해서 선택된 메뉴의 노드에 속하는지를 검사한다. 꽁수지만 빠르고 강력하다고 생각;;)
|
||||
$attribute = sprintf(
|
||||
'"node_srl"=>"%s","text"=>(%s?"%s":""),"href"=>(%s?"%s":""),"url"=>(%s?"%s":""),"open_window"=>"%s","normal_btn"=>"%s","hover_btn"=>"%s","active_btn"=>"%s","selected"=>(in_array(Context::get("zbxe_url"),array(%s))?1:0),"list"=>array(%s)',
|
||||
'"node_srl"=>"%s","text"=>(%s?"%s":""),"href"=>(%s?"%s":""),"url"=>(%s?"%s":""),"open_window"=>"%s","normal_btn"=>"%s","hover_btn"=>"%s","active_btn"=>"%s","selected"=>(%s&&in_array(Context::get("zbxe_url"),array(%s))?1:0),"list"=>array(%s)',
|
||||
$node->menu_item_srl,
|
||||
$group_check_code,
|
||||
$name,
|
||||
|
|
@ -390,6 +390,7 @@
|
|||
$hover_btn,
|
||||
$active_btn,
|
||||
$selected,
|
||||
$selected,
|
||||
$child_buff
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -247,6 +247,25 @@
|
|||
}
|
||||
}
|
||||
|
||||
// 메뉴 종류 (레이아웃을 위한 설정)
|
||||
if($xml_obj->menus->menu) {
|
||||
$menus = $xml_obj->menus->menu;
|
||||
if(!is_array($menus)) $menus = array($menus);
|
||||
|
||||
$menu_count = count($menus);
|
||||
$skin_info->menu_count = $menu_count;
|
||||
for($i=0;$i<$menu_count;$i++) {
|
||||
unset($obj);
|
||||
|
||||
$obj->name = $menus[$i]->attrs->name;
|
||||
if($menus[$i]->attrs->default == "true") $obj->default = true;
|
||||
$obj->title = $menus[$i]->title->body;
|
||||
$obj->maxdepth = $menus[$i]->maxdepth->body;
|
||||
|
||||
$skin_info->menu->{$obj->name} = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
return $skin_info;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue