git-svn-id: http://xe-core.googlecode.com/svn/trunk@1234 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-04-19 06:22:10 +00:00
parent 98695f77fe
commit 870d528494
12 changed files with 123 additions and 202 deletions

View file

@ -67,10 +67,10 @@
// 컨텐츠 출력
if(Context::getResponseMethod()!="XMLRPC") {
ini_set('zlib.output_compression_level',3);
ob_start('ob_gzhandler');
//ini_set('zlib.output_compression_level',3);
//ob_start('ob_gzhandler');
print trim($output);
ob_end_flush();
//ob_end_flush();
} else {
print trim($output);
}

View file

@ -10,37 +10,30 @@
</description>
</author>
<extra_vars>
<var name="top_title">
<name xml:lang="ko">상단 제목</name>
<type>text</type>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
<var name="main_menu_name">
<name xml:lang="ko">메인 메뉴 명</name>
<type>text</type>
<description xml:lang="ko">트리메뉴의 가장 상위에 표시될 이름을 입력하세요.</description>
</var>
<var name="colorset">
<name xml:lang="ko">컬러셋</name>
<type>select</type>
<var name="colorset" type="select">
<title xml:lang="ko">컬러셋</title>
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
<options>
<name xml:lang="ko">적색</name>
<options name="red">
<title xml:lang="ko">적색</title>
<value>red</value>
</options>
<options>
<name xml:lang="ko">청색</name>
<options name="blue">
<title xml:lang="ko">청색</title>
<value>blue</value>
</options>
</var>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
</extra_vars>
<menus>
<menu id="main_menu" default="true">
<name xml:lang="ko">주 메뉴</name>
<menu name="main_menu" default="true">
<title xml:lang="ko">주 메뉴</title>
<maxdepth>2</maxdepth>
</menu>
<menu id="bottom_menu">
<name xml:lang="ko">하단 메뉴 </name>
<menu name="bottom_menu">
<title xml:lang="ko">하단 메뉴 </title>
<maxdepth>1</maxdepth>
</menu>
</menus>

View file

@ -10,37 +10,30 @@
</description>
</author>
<extra_vars>
<var name="top_title">
<name xml:lang="ko">상단 제목</name>
<type>text</type>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
<var name="main_menu_name">
<name xml:lang="ko">메인 메뉴 명</name>
<type>text</type>
<description xml:lang="ko">트리메뉴의 가장 상위에 표시될 이름을 입력하세요.</description>
</var>
<var name="colorset">
<name xml:lang="ko">컬러셋</name>
<type>select</type>
<var name="colorset" type="select">
<title xml:lang="ko">컬러셋</title>
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
<options>
<name xml:lang="ko">적색</name>
<options name="red">
<title xml:lang="ko">적색</title>
<value>red</value>
</options>
<options>
<name xml:lang="ko">청색</name>
<options name="blue">
<title xml:lang="ko">청색</title>
<value>blue</value>
</options>
</var>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
</var>
</extra_vars>
<menus>
<menu id="main_menu" default="true">
<name xml:lang="ko">주 메뉴</name>
<menu name="main_menu" default="true">
<title xml:lang="ko">주 메뉴</title>
<maxdepth>2</maxdepth>
</menu>
<menu id="bottom_menu">
<name xml:lang="ko">하단 메뉴 </name>
<menu name="bottom_menu">
<title xml:lang="ko">하단 메뉴 </title>
<maxdepth>1</maxdepth>
</menu>
</menus>

View file

@ -83,7 +83,7 @@
$this->setTemplatePath($template_path);
// rss url
if($this->grant->view) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBlogRss'));
if($this->grant->list) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBlogRss'));
}
/**
@ -101,7 +101,7 @@
$oDocumentModel = &getModel('document');
// document_srl이 있다면 해당 글을 구해오자
if($this->grant->view && $document_srl) {
if($this->grant->list && $document_srl) {
// 글을 구함
$document = $oDocumentModel->getDocument($document_srl, $this->grant->manager, true);

View file

@ -1,32 +1,2 @@
<!--%import("js/blog.js")-->
{$module_info->header_text}
<!-- 정보 -->
<div>
<!--@if($total_count)-->
{$lang->document_count} : {number_format($total_count)},
{$lang->page_count} : {number_format($page)} / {number_format($total_page)}
<!--@end-->
<!--@if($rss_url)-->
<a href="{$rss_url}">rss</a>
<!--@end-->
<!--@if($is_logged)-->
[
<a href="{getUrl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a> |
<a href="{getUrl('act','dispMemberLogout')}">{$lang->cmd_logout}</a>
]
<!--@else-->
[
<a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a> |
<a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a>
]
<!--@end-->
<!--@if($logged_info->is_admin =='Y')-->
<a href="{getUrl('act','dispBlogAdminBlogInfo')}">[{$lang->cmd_management}]</a>
<!--@end-->
</div>

View file

@ -3,14 +3,20 @@
<!-- 블로그 메뉴를 common/js/tree_menu.js를 이용해서 표시 -->
<script type="text/javascript">
//loadTreeMenu("{$blog_menu->xml_file}", "blog_menu", "menu", "{$layout_info->main_menu_name?$layout_info->main_menu_name:'home'}");
//loadTreeMenu("{$blog_menu->xml_file}", "blog_menu", "menu", "{$module_info->main_menu_name?$module_info->main_menu_name:'home'}");
</script>
<!-- 상단 로고 및 상단 메뉴 출력 -->
<div class="layout_top">
<div class="layout_logo">
<a href="{$layout_info->home_url}">{$layout_info->top_title}</a>
<!--@if($module_info->logo_image)-->
<a href="./?mid={$mid}"><img src="{$module_info->logo_image}" border="0" alt="{$module_info->browser_title}"/></a>
<!--@end-->
<!--@if($module_info->top_title)-->
<a href="./?mid={$mid}">{$module_info->top_title}</a>
<!--@end-->
</div>
<div class="layout_first_menu">
@ -34,21 +40,34 @@
</div>
</div>
<!-- 왼쪽 2차 메뉴 및 로그인과 기타 플러그인 부-->
<!-- 왼쪽 류 출력 -->
<div class="layout_left">
<!-- 로그인 플러그인 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="login_info" skin="default" colorset="normal" style="width:100px;height:100px;"/>
<!-- 카운터 플러그인 -->
<img src="./common/tpl/images/blank.gif" class="zbxe_plugin_output" plugin="counter_status" skin="default" colorset="normal" style="width:100px;height:100px;"/>
<!-- 블로그 메뉴 출력 -->
<div id="menu"></div>
<!--@if($logged_info->is_admin == 'Y')-->
<!-- 관리자일 경우 레이아웃 관리 메뉴 -->
<!-- 관리자일 경우 블로그 관리 메뉴 -->
<div class="layout_admin">
<a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminModify','layout_srl',$layout_info->layout_srl)}';return false;">{$lang->cmd_layout_management}</a>
<a href="#" onclick="location.href='{getUrl('act','dispBlogAdminBlogInfo','layout_srl',$module_info->layout_srl)}';return false;">{$lang->cmd_management}</a>
</div>
<!--@end-->
<!--@if($rss_url)-->
<div>
<a href="{$rss_url}">rss</a>
</div>
<!--@end-->
<!--@if($grant->list)-->
<!-- 검색 -->
<div>
<form action="./" method="get" onsubmit="return procFilter(this, search)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="category" value="{$category}" />
<input type="hidden" name="search_target" value="title_content" />
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
<input type="submit" value="{$lang->cmd_search}" />
</form>
</div>
<!--@end-->
</div>

View file

@ -3,24 +3,8 @@
<!-- 목록 -->
<div>
<!--@if($category_list)-->
<table width="100%" border="1">
<tr>
<th>
<form action="./" method="get">
<select name="category" onchange="doChangeCategory(this, '{getUrl('category','')}')" >
<option value="">{$lang->category}</option>
<!--@foreach($category_list as $val)-->
<option value="{$val->category_srl}" <!--@if($category==$val->category_srl)-->selected="true"<!--@end-->>{$val->title} <!--@if($val->document_count)-->({$val->document_count})<!--@end--></option>
<!--@end-->
</select>
</form>
</th>
</table>
<!--@end-->
<!--@foreach($document_list as $no => $document)-->
<!--@if($document && $grant->view)-->
<!--@if($document && $grant->list)-->
<!--#include("./view_document.html")-->
<!--@end-->
<!--@end-->
@ -34,24 +18,7 @@
<!--@end-->
</div>
<!--@if($grant->view)-->
<!-- 검색 -->
<div>
<form action="./" method="get" onsubmit="return procFilter(this, search)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="category" value="{$category}" />
<select name="search_target">
<!--@foreach($search_option as $key => $val)-->
<option value="{$key}" <!--@if($search_target==$key)-->selected="true"<!--@end-->>{$val}</option>
<!--@end-->
</select>
<input type="text" name="search_keyword" value="{htmlspecialchars($search_keyword)}" />
<input type="submit" value="{$lang->cmd_search}" />
<input type="button" value="{$lang->cmd_cancel}" onclick="location.href='{getUrl('search_target','','search_keyword','','page','1','document_srl','')}'"/>
</form>
</div>
<!--@if($grant->list)-->
<!-- 페이지 네비게이션 -->
<div>

View file

@ -14,35 +14,21 @@
</color>
</colorset>
<extra_vars>
<var name="top_title">
<name xml:lang="ko">상단 제목</name>
<type>text</type>
<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>
</var>
<var name="home_url">
<name xml:lang="ko">홈 url</name>
<type>text</type>
<description xml:lang="ko">home이나 상단 제목(로고이미지) 클릭시 이동할 홈 url을 입력해주세요.</description>
</var>
<var name="colorset">
<name xml:lang="ko">컬러셋</name>
<type>select</type>
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
<options>
<name xml:lang="ko">적색</name>
<value>red</value>
</options>
<options>
<name xml:lang="ko">청색</name>
<value>blue</value>
</options>
<title xml:lang="ko">로고이미지</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
</var>
<var name="memo" type="textarea">
<title xml:lang="ko">프로필</title>
<default lang="ko">간단한 프로필을 입력해주세요</default>
<title xml:lang="ko">프로필</title>
<description lang="ko">간단한 프로필을 입력해주세요</description>
</var>
<var name="memo" type="textarea">
<title xml:lang="ko">분류 메뉴명</title>
<description lang="ko">분류 메뉴의 제목을 입력해주세요.</description>
</var>
</extra_vars>
</skin>

View file

@ -57,7 +57,6 @@
<tr>
<th colspan="2">{$lang->extra_vars}</th>
</tr>
<!--@foreach($skin_info->extra_vars as $key => $val)-->
<tr>
<th <!--@if($val->description)-->rowspan="2"<!--@end-->>{$val->title}</th>

View file

@ -122,46 +122,53 @@
$buff .= sprintf('$layout_info->author->description = "%s";', $xml_obj->author->description->body);
// 추가 변수 (템플릿에서 사용할 제작자 정의 변수)
if(!is_array($xml_obj->extra_vars->var)) $extra_vars[] = $xml_obj->extra_vars->var;
else $extra_vars = $xml_obj->extra_vars->var;
$extra_var_count = count($extra_vars);
$buff .= sprintf('$layout_info->extra_var_count = "%s";', $extra_var_count);
for($i=0;$i<$extra_var_count;$i++) {
unset($var);
unset($options);
$var = $extra_vars[$i];
$extra_vars = $xml_obj->extra_vars->var;
if($extra_vars) {
if(!is_array($extra_vars)) $extra_vars = array($extra_vars);
$buff .= sprintf('$layout_info->extra_var->%s->name = "%s";', $var->attrs->name, $var->name->body);
$buff .= sprintf('$layout_info->extra_var->%s->type = "%s";', $var->attrs->name, $var->type->body);
$buff .= sprintf('$layout_info->extra_var->%s->value = $vars->%s;', $var->attrs->name, $var->attrs->name);
$buff .= sprintf('$layout_info->extra_var->%s->description = "%s";', $var->attrs->name, str_replace('"','\"',$var->description->body));
$extra_var_count = count($extra_vars);
$buff .= sprintf('$layout_info->extra_var_count = "%s";', $extra_var_count);
for($i=0;$i<$extra_var_count;$i++) {
unset($var);
unset($options);
$var = $extra_vars[$i];
$name = $var->attrs->name;
$options = $var->options;
if(!$options) continue;
$buff .= sprintf('$layout_info->extra_var->%s->title = "%s";', $name, $var->title->body);
$buff .= sprintf('$layout_info->extra_var->%s->type = "%s";', $name, $var->attrs->type);
$buff .= sprintf('$layout_info->extra_var->%s->value = $vars->%s;', $name, $name);
$buff .= sprintf('$layout_info->extra_var->%s->description = "%s";', $name, str_replace('"','\"',$var->description->body));
if(!is_array($options)) $options = array($options);
$options_count = count($options);
for($j=0;$j<$options_count;$j++) {
$buff .= sprintf('$layout_info->extra_var->%s->options["%s"] = "%s";', $var->attrs->name, $options[$j]->value->body, $options[$j]->name->body);
$options = $var->options;
if(!$options) continue;
if(!is_array($options)) $options = array($options);
$options_count = count($options);
for($j=0;$j<$options_count;$j++) {
$buff .= sprintf('$layout_info->extra_var->%s->options["%s"] = "%s";', $var->attrs->name, $options[$j]->value->body, $options[$j]->title->body);
}
}
}
// 메뉴
if(!is_array($xml_obj->menus->menu)) $menus[] = $xml_obj->menus->menu;
else $menus = $xml_obj->menus->menu;
if($xml_obj->menus->menu) {
$menus = $xml_obj->menus->menu;
if(!is_array($menus)) $menus[] = $menus;
$menu_count = count($menus);
$buff .= sprintf('$layout_info->menu_count = "%s";', $menu_count);
for($i=0;$i<$menu_count;$i++) {
$id = $menus[$i]->attrs->id;
if($menus[$i]->attrs->default == "true") $buff .= sprintf('$layout_info->default_menu = "%s";', $id);
$buff .= sprintf('$layout_info->menu->%s->id = "%s";',$id, $menus[$i]->attrs->id);
$buff .= sprintf('$layout_info->menu->%s->name = "%s";',$id, $menus[$i]->name->body);
$buff .= sprintf('$layout_info->menu->%s->maxdepth = "%s";',$id, $menus[$i]->maxdepth->body);
$menu_count = count($menus);
$buff .= sprintf('$layout_info->menu_count = "%s";', $menu_count);
for($i=0;$i<$menu_count;$i++) {
$name = $menus[$i]->attrs->name;
if($menus[$i]->attrs->default == "true") $buff .= sprintf('$layout_info->default_menu = "%s";', $name);
$buff .= sprintf('$layout_info->menu->%s->name = "%s";',$name, $menus[$i]->attrs->name);
$buff .= sprintf('$layout_info->menu->%s->title = "%s";',$name, $menus[$i]->title->body);
$buff .= sprintf('$layout_info->menu->%s->maxdepth = "%s";',$name, $menus[$i]->maxdepth->body);
$buff .= sprintf('$layout_info->menu->%s->menu_srl = $vars->%s;', $id, $id);
$buff .= sprintf('$layout_info->menu->%s->xml_file = "./files/cache/menu/".$vars->%s.".xml.php";',$id, $id);
$buff .= sprintf('$layout_info->menu->%s->php_file = "./files/cache/menu/".$vars->%s.".php";',$id, $id);
$buff .= sprintf('$layout_info->menu->%s->menu_srl = $vars->%s;', $name, $name);
$buff .= sprintf('$layout_info->menu->%s->xml_file = "./files/cache/menu/".$vars->%s.".xml.php";',$name, $name);
$buff .= sprintf('$layout_info->menu->%s->php_file = "./files/cache/menu/".$vars->%s.".php";',$name, $name);
}
}
$buff = '<?php if(!defined("__ZBXE__")) exit(); '.$buff.' ?>';

View file

@ -40,18 +40,18 @@
<tr>
<td>{$lang->about_title}</td>
</tr>
<!--@foreach($layout_info->extra_var as $id => $var)-->
<!--@foreach($layout_info->extra_var as $name => $var)-->
<tr>
<th rowspan="2">{$var->name}</th>
<th rowspan="2">{$var->title}</th>
<!--@if($var->type == "text")-->
<td><input type="text" name="{$id}" value="{htmlspecialchars($var->value)}" /></td>
<td><input type="text" name="{$name}" value="{htmlspecialchars($var->value)}" /></td>
<!--@elseif($var->type == "textarea")-->
<td><textarea name="{$id}">{htmlspecialchars($var->value)}</textarea></td>
<td><textarea name="{$name}">{htmlspecialchars($var->value)}</textarea></td>
<!--@elseif($var->type == "select")-->
<td>
<select name="{$id}">
<select name="{$name}">
<!--@foreach($var->options as $key => $val)-->
<option value="{$key}" <!--@if($key==$var->value)-->selected="true"<!--@end-->>{$val}</option>
<!--@end-->
@ -63,17 +63,17 @@
<td>{$var->description}</td>
</tr>
<!--@end-->
<!--@foreach($layout_info->menu as $menu_id => $menu_info)-->
<!--@foreach($layout_info->menu as $menu_name => $menu_info)-->
<tr>
<th>{$menu_info->name} ({$menu_id})</th>
<th>{$menu_info->name} ({$menu_name})</th>
<td>
<select name="{$menu_id}">
<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>
<input type="button" value="{$lang->cmd_management}" onclick="doMenuManagement('{$menu_id}');return false;"/>
<input type="button" value="{$lang->cmd_management}" onclick="doMenuManagement('{$menu_name}');return false;"/>
</td>
</tr>
<!--@end-->

View file

@ -4,20 +4,7 @@
<table name="documents" />
</tables>
<columns>
<column name="modules.module_srl" alias="module_srl" />
<column name="modules.mid" alias="mid" />
<column name="modules.browser_title" alias="browser_title" />
<column name="modules.description" alias="description" />
<column name="modules.module" alias="module" />
<column name="modules.layout_srl" alias="layout_srl" />
<column name="modules.is_default" alias="is_default" />
<column name="modules.menu_srl" alias="menu_srl" />
<column name="modules.extra_vars" alias="extra_vars" />
<column name="modules.grants" alias="grants" />
<column name="modules.admin_id" alias="admin_id" />
<column name="modules.header_text" alias="header_text" />
<column name="modules.footer_text" alias="footer_text" />
<column name="modules.regdate" alias="regdate" />
<column name="modules.*" />
</columns>
<conditions>
<condition operation="equal" column="documents.document_srl" var="document_srl" notnull="notnull" />