1. layout에 기존의 blog모듈의 xe_blog 레이아웃 스킨을 적용

2. 레이아웃 편집/수정시 모듈의 관리권한을 그대로 적용되도록 수정


git-svn-id: http://xe-core.googlecode.com/svn/sandbox@3556 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2008-01-21 11:44:53 +00:00
parent da08ff2262
commit bfbf140d7c
60 changed files with 542 additions and 10 deletions

View file

@ -60,6 +60,8 @@
$lang->cmd_reset = 'Reset';
$lang->cmd_remake_cache = "Re-create cache file";
$lang->cmd_publish = "Publish";
$lang->cmd_layout_setup = 'Configure layout';
$lang->cmd_layout_edit = 'Edit layout';
$lang->enable = 'Enable';
$lang->disable = 'Disable';

View file

@ -59,6 +59,8 @@
$lang->cmd_reset = 'Rehacer';
$lang->cmd_remake_cache = "캐시파일 재생성";
$lang->cmd_publish = "발행";
$lang->cmd_layout_setup = 'Configuración del diseño';
$lang->cmd_layout_edit = 'Editar el diseño';
$lang->enable = 'Activar';
$lang->disable = 'Desactivar';

View file

@ -59,6 +59,8 @@
$lang->cmd_reset = '초기화';
$lang->cmd_remake_cache = "캐시파일 재생성";
$lang->cmd_publish = "발행";
$lang->cmd_layout_setup = '레이아웃 설정';
$lang->cmd_layout_edit = '레이아웃 편집';
$lang->enable = 'Permettre';
$lang->disable = 'Neutraliser';

View file

@ -60,6 +60,8 @@
$lang->cmd_reset = '初期化';
$lang->cmd_remake_cache = "キャッシュファイル再生成";
$lang->cmd_publish = "発行";
$lang->cmd_layout_setup = 'レイアウト設定';
$lang->cmd_layout_edit = 'レイアウト編集';
$lang->enable = '可能';
$lang->disable = '不可';

View file

@ -60,6 +60,8 @@
$lang->cmd_reset = '초기화';
$lang->cmd_remake_cache = "캐시파일 재생성";
$lang->cmd_publish = "발행";
$lang->cmd_layout_setup = '레이아웃 설정';
$lang->cmd_layout_edit = '레이아웃 편집';
$lang->enable = '가능';
$lang->disable = '불가능';

View file

@ -60,6 +60,8 @@
$lang->cmd_reset = 'Сброс';
$lang->cmd_remake_cache = "Пере-создать файл кэша";
$lang->cmd_publish = "Опубликовать";
$lang->cmd_layout_setup = 'Конфигурировать лейаут';
$lang->cmd_layout_edit = 'Редактировать лейаут';
$lang->enable = 'Включено';
$lang->disable = 'Выключено';

View file

@ -60,6 +60,8 @@
$lang->cmd_reset = '初始化';
$lang->cmd_remake_cache = "重新生成缓冲文件";
$lang->cmd_publish = "发表";
$lang->cmd_layout_setup = '布局设置';
$lang->cmd_layout_edit = '编辑布局';
$lang->enable = '可用';
$lang->disable = '禁用';

View file

@ -0,0 +1,161 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">제로보드XE 블로그 기본 스킨</title>
<title xml:lang="jp">ZBXEブログのデフォルトスキン</title>
<title xml:lang="zh-CN">Zeroboard XE博客默认皮肤</title>
<title xml:lang="en">Default Skin of Zeroboard XE blog</title>
<author email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 2. 28">
<name xml:lang="ko">zero</name>
<name xml:lang="jp">zero</name>
<name xml:lang="zh-CN">zero</name>
<name xml:lang="en">zero</name>
<description xml:lang="ko">
제로보드XE 블로그 기본 스킨입니다.
디자인 : 서기정 (http://blog.naver.com/addcozy)
HTML/CSS : 정찬명 (http://naradesign.net)
</description>
<description xml:lang="jp">
ゼロボードXEブログの基本スキンです。
デザイン:ソギジョン (http://blog.naver.com/addcozy)
HTML/CSSジョンチャンミョン (http://naradesign.net)
</description>
<description xml:lang="zh-CN">
Zeroboard XE博客默认皮肤。
设计 : Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
<description xml:lang="en">
This is default skin of Zeroboard XE blog.
Design : Ki-Jeong Seo (http://blog.naver.com/addcozy)
HTML/CSS : Chan-Myung Jeong (http://naradesign.net)
</description>
</author>
<extra_vars>
<var name="colorset" type="select">
<title xml:lang="ko">컬러셋</title>
<title xml:lang="jp">カラーセット</title>
<title xml:lang="zh-CN">颜色</title>
<title xml:lang="en">Colorset</title>
<title xml:lang="es">Set de colores</title>
<description xml:lang="ko">원하시는 컬러셋을 선택해주세요.</description>
<description xml:lang="jp">希望するカラーセットを選択してください。</description>
<description xml:lang="zh-CN">请选择颜色。</description>
<description xml:lang="en">Please select a colorset you want.</description>
<description xml:lang="es">Seleccione set de colores que desea.</description>
<options name="white">
<title xml:lang="ko">하얀색(기본)</title>
<title xml:lang="jp">白色(基本)</title>
<title xml:lang="zh-CN">白色(默认)</title>
<title xml:lang="en">White (default)</title>
<value>white</value>
</options>
<options name="cyan">
<title xml:lang="ko">청록색</title>
<title xml:lang="jp">青緑</title>
<title xml:lang="zh-CN">青绿色</title>
<title xml:lang="en">Cyan</title>
<value>cyan</value>
</options>
<options name="green">
<title xml:lang="ko">초록색</title>
<title xml:lang="jp"></title>
<title xml:lang="zh-CN">绿色</title>
<title xml:lang="en">Green</title>
<value>green</value>
</options>
<options name="red">
<title xml:lang="ko">빨간색</title>
<title xml:lang="jp"></title>
<title xml:lang="zh-CN">红色</title>
<title xml:lang="en">Red</title>
<value>red</value>
</options>
<options name="purple">
<title xml:lang="ko">보라색</title>
<title xml:lang="jp"></title>
<title xml:lang="zh-CN">紫色</title>
<title xml:lang="en">Purple</title>
<value>purple</value>
</options>
</var>
<var name="target_mid" type="text">
<title xml:lang="ko">기본 모듈</title>
<title xml:lang="jp">기본 모듈</title>
<title xml:lang="zh-CN">기본 모듈</title>
<title xml:lang="en">기본 모듈</title>
<description xml:lang="ko">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
<description xml:lang="jp">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
<description xml:lang="zh-CN">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
<description xml:lang="en">기본 모듈을 지정해주시면 레이아웃에서 표시되는 위젯들이 정상적으로 동작을 하게 됩니다</description>
</var>
<var name="top_title" type="text">
<title xml:lang="ko">상단 제목</title>
<title xml:lang="jp">上段タイトル</title>
<title xml:lang="zh-CN">博客标题</title>
<title xml:lang="en">Top Title</title>
<description xml:lang="ko">레이아웃의 상단에 표시할 제목을 입력하세요.</description>
<description xml:lang="jp">レイアウト上段に表示させるタイトルを入力してください。</description>
<description xml:lang="zh-CN">请输入博客主标题。</description>
<description xml:lang="en">Please input title which will be displayed on top of layout.</description>
</var>
<var name="sub_title" type="text">
<title xml:lang="ko">부제</title>
<title xml:lang="jp">サブタイトル</title>
<title xml:lang="zh-CN">副标题</title>
<title xml:lang="en">Subtitle</title>
<description xml:lang="ko">레이아웃의 상단에 큰 제목 아래 부제목을 입력하세요.</description>
<description xml:lang="jp">レイアウトの上段にメインタイトルの下のサブタイトルを入力してください。</description>
<description xml:lang="zh-CN">请输入副标题。</description>
<description xml:lang="en">Please input subtitle which will be displayed under the top title.</description>
</var>
<var name="logo_image" type="image">
<title xml:lang="ko">로고이미지</title>
<title xml:lang="jp">ロゴイメージ</title>
<title xml:lang="zh-CN">LOGO图片</title>
<title xml:lang="en">Logo Image</title>
<description xml:lang="ko">레이아웃의 상단에 표시될 로고이미지를 입력하세요.</description>
<description xml:lang="jp">レイアウトの上段に表示されるロゴイメージを入力してください。</description>
<description xml:lang="zh-CN">上传博客LOGO图片。</description>
<description xml:lang="en">Please input logo image which will be displayed on top of layout.</description>
</var>
<var name="profile_image" type="image">
<title xml:lang="ko">프로필 이미지</title>
<title xml:lang="jp">プロフィールイメージ</title>
<title xml:lang="zh-CN">博客个性图片</title>
<title xml:lang="en">Profile Image</title>
<description xml:lang="ko">프로필 이미지를 입력해 주세요 (가로 사이즈는 160px이 가장 보기 좋습니다)</description>
<description xml:lang="jp">プロフィールイメージを入力してください横幅は「160px」が一番適しています</description>
<description xml:lang="zh-CN">请输入博客个性图片(推荐宽度160px)。</description>
<description xml:lang="en">Please input profile image (It is recommended to set width as 160px)</description>
</var>
<var name="background_image" type="image">
<title xml:lang="ko">배경 이미지</title>
<title xml:lang="jp">背景イメージ</title>
<title xml:lang="zh-CN">背景图片</title>
<title xml:lang="en">Background Image</title>
<description xml:lang="ko">배경 이미지를 사용하시려면 등록해주세요.</description>
<description xml:lang="jp">背景イメージを使う場合は、登録してください。</description>
<description xml:lang="zh-CN">要想使用背景图片请在这里上传。</description>
<description xml:lang="en">Please input if you want to use background image.</description>
</var>
<var name="profile" type="textarea">
<title xml:lang="ko">프로필</title>
<title xml:lang="jp">プロフィール</title>
<title xml:lang="zh-CN">简介</title>
<title xml:lang="en">Profile</title>
<description lang="ko">간단한 프로필을 입력해주세요</description>
<description lang="jp">簡単なプロフィールを入力してください。</description>
<description lang="zh-CN">请输入简单介绍。</description>
<description lang="en">Please input your simple profile</description>
</var>
</extra_vars>
<menus>
<menu name="top_menu" default="true">
<title xml:lang="ko">상단 메뉴</title>
<title xml:lang="jp">上段メニュー</title>
<title xml:lang="zh-CN">菜单</title>
<title xml:lang="en">Top Menu</title>
<maxdepth>1</maxdepth>
</menu>
</menus>
</skin>

View file

@ -0,0 +1,14 @@
@charset "utf-8";
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/cyan/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
#bodyWrap #header #globalNavigation li.on a { color:#2895c0;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/cyan/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/cyan/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* account Navigation */
#blogAccountNavigation li.join a { background:url(../images/cyan/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.myInfo a { background:url(../images/cyan/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
/* widget common css */
.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/cyan/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }

View file

@ -0,0 +1,14 @@
@charset "utf-8";
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/green/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
#bodyWrap #header #globalNavigation li.on a { color:#38b549;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/green/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/green/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* account Navigation */
#blogAccountNavigation li.join a { background:url(../images/green/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.myInfo a { background:url(../images/green/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
/* widget common css */
.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/green/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }

View file

@ -0,0 +1,88 @@
@et "utf-8";
/*
NHN UIT Lab. WebStandardization Team (http://html.nhndesign.com/)
Jeong, Chan Myeong 070601~070630
*/
li { list-style:none; }
a { text-decoration:none; }
/* Blog Layout - Common */
#bodyWrap { position:relative; width:860px; margin:0 auto; background-color:#FFFFFF; padding-top:1px; top:30px;}
/* Blog Layout - Content Body */
#contentBody { overflow:hidden; padding-bottom:2em; _width:100%;}
/* Blog Layout - ColumnLeft */
#columnLeft { float:left; width:182px; margin:0px 8px 0px 0px; padding-left:10px;}
/* Blog Layout - ColumnRight */
#columnRight {}
/* Blog Layout - Content */
#content { float:left; width:650px; overflow:hidden; padding-right:10px; _width:648px; }
#bodyWrap #accountNavigation { float:right; margin:1em 1em 0 0; padding-bottom:.5em; overflow:hidden;}
#bodyWrap #accountNavigation li a { display:block; float:left; padding:0 .75em; color:#888888; white-space:nowrap;}
/* account Navigation */
#blogAccountNavigation { float:right; margin:10px 10px 0 0; }
#blogAccountNavigation li { float:left; margin-left:7px; list-style:none; }
#blogAccountNavigation li a { font-size:12px; white-space:nowrap; color:#666666; text-decoration:none;}
#blogAccountNavigation li.admin { background:url(../images/common/iconAdmin.gif) no-repeat left 1px; padding-left:12px; }
#blogAccountNavigation li.setup { background:url(../images/common/iconSetup.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.layout_setup { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 1px; padding-left:8px; }
#blogAccountNavigation li.layout_edit { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 1px; padding-left:8px; }
#blogAccountNavigation li.myinfo { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 1px; padding-left:8px; }
#blogAccountNavigation li.loginAndLogout { background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left 1px; padding-left:8px; }
#blogAccountNavigation li.write { background:url(../images/common/iconWrite.gif) no-repeat left top; padding-left:14px;}
/* Blog header Child*/
#bodyWrap #header h1 { position:relative; left:20px; top:30px; font-size:2em; letter-spacing:-.05em;}
#bodyWrap #header h1 a { font-family:Tahoma; color:#53554a;}
#bodyWrap #header #tagLine { position:relative; left:20px; top:30px; color:#7e7f77;}
#bodyWrap #header #globalNavigation { line-height:11pt; font-size:9pt; float:right; overflow:hidden; margin:45px 3px 0 0; }
#bodyWrap #header #globalNavigation li { float:left; margin-left:-1px; background:url(../images/common/blogHeaderVr.gif) no-repeat left center;}
#bodyWrap #header #globalNavigation li a { display:block; float:left; padding:0 7px; font-weight:bold; color:#54564b; white-space:nowrap;}
/* Column Left & Right Common Child */
.boxTypeA { position:relative; border:1px solid #e0e1db; margin-bottom:.7em;}
.boxTypeB h2 { position:relative; border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; font-size:1em; color:#54564b; font-family:Tahoma;}
*:first-child+html .boxTypeB h2 { height:20px;}
.boxTypeB .toggleMask {position:absolute; top:8px; right:5px; cursor:pointer; width:13px; height:13px; overflow:hidden;}
.boxTypeB .showHide { position:relative;}
.boxTypeB .optionList { position:absolute; top:8px; right:0; overflow:hidden;}
.boxTypeB .optionList li { float:left; padding:0 .5em; margin-left:-1px; background:url(../images/common/line_1x10_e0e0e0.gif) no-repeat left center;}
.boxTypeB .optionList li a { color:#a4a4a4; font-size:.9em;}
.boxTypeB .optionList li.on a { color:#000000;}
.boxTypeB .showAll { color:#000000; font-size:.9em; white-space:nowrap; display:inline-block; position:relative; left:1.2em; padding-right:.6em; background:url(../images/common/iconArrow00.gif) no-repeat right center;}
/* Profile */
div#profile { padding:10px; overflow:hidden; background-color:#FFFFFF; }
div#profile img.profile { width:160px; display:block; margin-bottom:1.2em;}
div#profile dl#hello {}
div#profile dl#hello dt { color:#333333; margin-bottom:.2em;}
div#profile dl#hello dt a { color:#333333;}
div#profile dl#hello dd { color:#777777; margin-bottom:1em;}
div#profile ul#admin { overflow:hidden; height:1.2em;}
/* Search Box */
div#searchBox { margin-bottom:.7em; overflow:hidden; width:100%;}
div#searchBox fieldset { border:none;}
div#searchBox fieldset legend { position:absolute; overflow:hidden; width:1px; height:1px; font-size:.001em;}
div#searchBox .imgBtn {vertical-align:middle; _position:relative; top:-4px; }
*:first-child+html div#searchBox .imgBtn { position:relative; top:-4px; }
/* powered by zbxe */
#poweredbyzbxe { text-align:center; margin-top:2em; }
#poweredbyzbxe img { width:138px; height:35px; border:0;}
/* widget common css */
.category_widget { border:1px solid #e0e1db; margin-bottom:10px; padding:15px 5px 10px 5px; overflow:hidden;}
.blog_widget_ h2 { border-left:1px solid #ffffff; border-right:1px solid #ffffff; padding:7px 0 0 12px; height:21px; _height:20px; font-size:1em; color:#54564b; }
.blog_widget_ .items { padding:10px; overflow:hidden;}
.blog_widget_ .items li { font-size:.9em; display:block; color:#a4a4a4; margin-right:.1em; line-height:150%; overflow:hidden; white-space:nowrap; list-style:none; width:100%; padding:3px 0 3px 0;}
.blog_widget_ .items li a { color:#a4a4a4; margin-right:1em; }

View file

@ -0,0 +1,14 @@
@charset "utf-8";
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/purple/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
#bodyWrap #header #globalNavigation li.on a { color:#b1ae00;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/purple/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/purple/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* account Navigation */
#blogAccountNavigation li.join a { background:url(../images/purple/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.myInfo a { background:url(../images/purple/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
/* widget common css */
.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/purple/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }

View file

@ -0,0 +1,14 @@
@charset "utf-8";
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/red/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
#bodyWrap #header #globalNavigation li.on a { color:#fe3614;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/red/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/red/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* account Navigation */
#blogAccountNavigation li.join a { background:url(../images/red/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.myInfo a { background:url(../images/red/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
/* widget common css */
.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/red/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }

View file

@ -0,0 +1,14 @@
@charset "utf-8";
.boxTypeB { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em;}
#bodyWrap #header #globalNavigation li.on a { color:#fe3614;}
#bodyWrap #accountNavigation li { float:left; margin-right:-1px; background:url(../images/white/blogHeaderVr.gif) no-repeat right center;}
#bodyWrap #header { clear:both; height:9.5em; margin:10px 10px .5em 10px; border:1px solid #e0e1dc; border-bottom:none; background:#fbfbfb url(../images/white/blogHeaderLine.gif) no-repeat left bottom; overflow:hidden;}
/* account Navigation */
#blogAccountNavigation li.join { background:url(../images/white/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
#blogAccountNavigation li.myInfo { background:url(../images/white/iconMyInfo.gif) no-repeat left top; padding-left:14px; }
/* widget common css */
.blog_widget_ { position:relative; border:1px solid #e0e1db; background:url(../images/white/bgBoxTypeB.gif) repeat-x left top; margin-bottom:.7em; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

155
layouts/xe_blog/layout.html Normal file
View file

@ -0,0 +1,155 @@
<!-- 레이아웃과 연동될 css 파일 import -->
<!--%import("css/layout.css")-->
<!-- 컬러셋 체크 -->
<!--@if(!$layout_info->colorset)-->
{@$layout_info->colorset = "white"}
<!--@end-->
<!-- CSS 파일 로드 (컬러셋에 따라서) -->
<!--@if($layout_info->colorset == "cyan")--> <!--%import("css/cyan.css")-->
<!--@elseif($layout_info->colorset == "red")--> <!--%import("css/red.css")-->
<!--@elseif($layout_info->colorset == "green")--> <!--%import("css/green.css")-->
<!--@elseif($layout_info->colorset == "purple")--> <!--%import("css/purple.css")-->
<!--@else--> <!--%import("css/white.css")-->
<!--@end-->
<!--@if($layout_info->background_image)-->
<style type="text/css">
body { background-repeat:repeat-x; background-image:url({getUrl()}{$layout_info->background_image}); }
</style>
<!--@end-->
<div id="bodyWrap">
<!-- 상단 타이틀 및 메뉴 -->
<div id="header">
<!-- 회원 관련 기능 -->
<ul id="blogAccountNavigation">
<!--@if(!$is_logged)-->
<!-- 비로그인 상태 -->
<li class="join"><a href="{getUrl('mid',$layout_info->target_mid,'act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a></li>
<li class="loginAndLogout"><a href="{getUrl('act','dispMemberLoginForm')}">{$lang->cmd_login}</a></li>
<!--@else-->
<!-- 로그인 되었을 때 -->
<!--@if($grant->is_admin)-->
<li class="write"><a href="{getUrl('mid', $layout_info->target_mid, 'act','dispBoardWrite','document_srl','')}">{$lang->cmd_write}</a></li>
<!--@end-->
<!-- 최고관리자이면 관리자 페이지 버튼 출력 -->
<!--@if($logged_info->is_admin == 'Y')-->
<li class="admin"><a href="{getUrl('','module','admin')}" onclick="window.open(this.href); return false;">{$lang->cmd_management}</a></li>
<!--@end-->
<!--@if($grant->is_admin)-->
<li class="setup"><a href="{getUrl('act','dispBoardAdminBoardInfo')}">{$lang->cmd_setup}</a></li>
<li class="layout_setup"><a href="{getUrl('','mid',$layout_info->target_mid,'act','dispLayoutAdminModify','layout_srl',$layout_info->layout_srl)}">{$lang->cmd_layout_setup}</a></li>
<li class="layout_edit"><a href="{getUrl('','mid',$layout_info->target_mid,'act','dispLayoutAdminEdit','layout_srl',$layout_info->layout_srl)}">{$lang->cmd_layout_edit}</a></li>
<!--@end-->
<li class="myinfo"><a href="{geturl('act','dispMemberInfo')}">{$lang->cmd_view_member_info}</a></li>
<li class="loginAndLogout"><a href="{getUrl('act','dispMemberLogout')}">{$lang->cmd_logout}</a></li>
<!--@end-->
<li class="skin_info"><a href="{getUrl('','module','module','act','dispModuleSkinInfo','selected_module',$module_info->module, 'skin', $module_info->skin)}" onclick="popopen(this.href,'skinInfo'); return false;"><img src="./images/common/buttonHelp.gif" alt="Skin Info" width="13" height="13"/></a></li>
<!--@if($rss_url)-->
<li class="rss"><a href="{$rss_url}"><img src="./images/common/iconRss.gif" alt="rss" width="13" height="13" /></a></li>
<!--@end-->
<li class="tag_info"><a href="{getUrl('act','dispBoardTagList')}"><img src="./images/common/iconAllTags.gif" alt="Tag list" width="13" height="13"/></a></li>
</ul>
<h1>
<!--@if($layout_info->logo_image)-->
<a href="{getUrl('','mid',$layout_info->target_mid)}"><img src="{$layout_info->logo_image}" border="0" alt="{$layout_info->browser_title}"/></a>
<!--@end-->
<!--@if($layout_info->top_title)-->
<a href="{getUrl('','mid',$layout_info->target_mid)}">{$layout_info->top_title}</a>
<!--@end-->
</h1>
<!--@if($layout_info->sub_title)-->
<p id="tagLine">{$layout_info->sub_title}</p>
<!--@end-->
<!-- top_menu 시작 -->
<ul id="globalNavigation">
<!--@foreach($top_menu->list as $key => $val)--><!--@if($val['text'])-->
<li <!--@if($val['selected'])--> class="on" <!--@end--> ><a href="{$val['href']}" <!--@if($val['open_window']=='Y')-->onclick="window.open(this.href);return false;"<!--@end-->>{$val['text']}</a></li>
<!--@end--><!--@end-->
</ul>
</div>
<!-- 프로필 영역 및 카테고리등의 요소 -->
<div id="contentBody">
<div id="columnLeft">
<!-- 프로필 -->
<!--@if($layout_info->profile_image || $layout_info->profile)-->
<div id="profile" class="boxTypeA">
<!--@if($layout_info->profile_image)-->
<img src="{$layout_info->profile_image}" border="0" alt="my profile image" width="160" class="profile"/>
<!--@end-->
<!-- 프로필 글 -->
<!--@if($layout_info->profile)-->
<dl id="hello">
<dd>{$layout_info->profile}</dd>
</dl>
<!--@end-->
</div>
<!--@end-->
<!-- 검색폼 -->
<div id="searchBox">
<form action="{getUrl()}" method="post">
<input type="hidden" name="mid" value="{$layout_info->target_mid}" />
<input name="search_keyword" type="text" class="inputTypeText w140" size="4" value="<!--@if(!$search_target)-->{htmlspecialchars($search_keyword)}<!--@end-->" />
<input type="image" alt="search" src="./images/common/find_button.gif" class="imgBtn" />
</form>
</div>
<!-- 왼쪽 위젯 출력 위치 -->
<!-- 카테고리 출력 -->
<div class="category_widget">
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="category" skin="default" mid_list="{$layout_info->target_mid}" />
</div>
<!-- 최근문서 출력 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="newest_document" skin="blog_newest_document" title="Recent Articles" order_target="list_order" order_type="desc" list_count="10" mid_list="{$layout_info->target_mid}" />
<!-- 최근댓글 출력 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="newest_comment" skin="blog_newest_comment" title="Recent Comments" list_count="10" mid_list="{$layout_info->target_mid}" />
<!-- 엮인글들 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="newest_trackback" skin="blog_newest_trackback" title="Recent Trackbacks" list_count="5" mid_list="{$layout_info->target_mid}" />
<!-- 꼬리표들 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="tag_list" skin="blog_tag_list" title="Site Tags" list_count="60" mid_list="{$layout_info->target_mid}" />
<!-- 월별 현황들 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="archive_list" skin="blog_archive_list" title="Archives" mid_list="{$layout_info->target_mid}" />
<!-- 달력 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="calendar" skin="blog_calendar_list" mid_list="{$layout_info->target_mid}" />
<!-- 카운터 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="image_counter" widget_margin_left="5px" widget_margin_bottom="10px" graph_width="170" graph_height="100" day_range="5" />
<!-- 언어선택 위젯 -->
<img src="./images/common/blank.gif" class="zbxe_widget_output" widget="language_select" skin="default" colorset="normal" widget_cache="0" />
<!-- powered by zbxe -->
<div id="poweredbyzbxe">
<a href="http://www.zeroboard.com" onclick="window.open(this.href);return false;"><img src="./images/common/poweredbyzbxe.png" alt="powered by zeroboard XE" /></a>
</div>
</div>
<!-- 컨텐츠 출력 부분 -->
<div id="content">{$content}</div>
</div>
</div>

View file

@ -44,7 +44,7 @@ Jeong, Chan Myeong 070601~070630
.blogNotice .item .replyAndTrackback { color:#AAAAAA; font-size:.9em; }
/* boardRead */
.viewDocument { border:1px solid #e0e1db; padding:10px; border-bottom:2px solid #AAAAAA; margin-bottom:20px; }
.viewDocument { border-bottom:2px solid #AAAAAA; margin-bottom:20px; }
.boardRead { margin:0 0 10px 0; }
.boardRead .titleAndUser { overflow:hidden; border-bottom:1px solid #e0e1db; }
@ -113,7 +113,7 @@ Jeong, Chan Myeong 070601~070630
.replyBox .voted { float:left; font-size:.9em; color:#AAAAAA; margin:0 .3em .5em 1em;}
.replyBox .date { float:right; font:.8em Tahoma; color:#cccccc; margin:.3em 0 .5em 0;}
.replyBox .replyOption { float:right; white-space:nowrap; margin-left:.2em;}
.replyBox .replyOption { height:20px; float:right; white-space:nowrap; margin-left:.2em;}
.replyBox .replyOption img { vertical-align:middle;}
.replyBox .replyContent { clear:left; }
@ -243,7 +243,7 @@ Jeong, Chan Myeong 070601~070630
.pageNavigation a.goToFirst img, .pageNavigation a.goToLast img { margin-bottom:2px;}
/* Search Form */
.boardSearch { margin-left:auto; margin-right:auto; clear:both; text-align:center;}
.boardSearch { margin-top:30px; margin-left:auto; margin-right:auto; clear:both; text-align:center;}
.boardSearch select { height:20px; }
.boardSearch input { height:18px; }

View file

@ -49,7 +49,8 @@
<!-- 상단 텍스트 출력 -->
{$module_info->header_text}
<!-- 스킨의 제목/간단한 설명 출력 -->
<!-- 블로그 스킨이 아닐 경우 스킨의 제목/간단한 설명 출력 -->
<!--@if($module_info->default_style != 'blog')-->
<!--@if($module_info->title)-->
<div class="boardHeader">
<div class="boardHeaderBorder">
@ -116,3 +117,4 @@
</ul>
</div>
<!--@end-->

View file

@ -31,7 +31,9 @@
<!--@if($grant->is_admin)-->
<a href="{getUrl('','module','document','act','dispDocumentAdminManageDocument')}" onclick="popopen(this.href,'manageDocument'); return false;" class="button"><span>{$lang->cmd_manage_document}</span></a>
<!--@end-->
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('','mid',$mid,'page',$page,'document_srl','','listStyle',$listStyle)}" class="button"><span>{$lang->cmd_list}</span></a>
<!--@end-->
</div>
<div class="rightButtonBox">
@ -54,7 +56,7 @@
<!-- 검색 -->
<!--@if($grant->view)-->
<!--@if($grant->view && $module_info->default_style != 'blog')-->
<div class="boardSearch">
<form action="{getUrl()}" method="get" onsubmit="return procFilter(this, search)" id="fo_search">
<input type="hidden" name="mid" value="{$mid}" />

View file

@ -135,7 +135,9 @@
<!-- 목록, 수정/삭제 버튼 -->
<div class="contentButton">
<!--@if($module_info->default_style != 'blog')-->
<a href="{getUrl('document_srl','')}" class="button"><span>{$lang->cmd_list}</span></a>
<!--@end-->
<!--@if($oDocument->isEditable())-->
<a href="{getUrl('act','dispBoardWrite','document_srl',$oDocument->document_srl)}" class="button"><span>{$lang->cmd_modify}</span></a>
<a href="{getUrl('act','dispBoardDelete','document_srl',$oDocument->document_srl)}" class="button"><span>{$lang->cmd_delete}</span></a>

View file

@ -66,16 +66,27 @@
// act의 값에 따라서 관리 권한 체크
switch($args->act) {
case 'procLayoutAdminUpdate' :
case 'dispLayoutAdminPreview' :
case 'procLayoutAdminCodeReset' :
case 'procLayoutAdminCodeUpdate' :
// 레이아웃 정보에 할당된 srl이 없으면 패스
if(!$args->layout_srl) return false;
// 모듈중 레이아웃이 해당 srl에 연결될 것이 있는지 확인
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($args->layout_srl);
if(!$module_info) return false;
$module_list = $oModuleModel->getModulesInfoByLayout($args->layout_srl);
$module_count = count($module_list);
if($oModuleModel->isModuleAdmin($module_info, $logged_info)) return true;
$is_granted = false;
for($i=0;$i<$module_count;$i++) {
$module_info = $module_list[$i];
if($oModuleModel->isModuleAdmin($module_list[$i],$logged_info)) {
$is_granted = true;
break;
}
}
return $is_granted;
break;
}

View file

@ -52,6 +52,23 @@
return $this->arrangeModuleInfo($output->data);
}
/**
* @brief layout_srl에 해당하는 모듈의 정보를 구함
**/
function getModulesInfoByLayout($layout_srl) {
// 데이터를 가져옴
$args->layout_srl = $layout_srl;
$output = executeQueryArray('module.getModulesByLayout', $args);
$count = count($output->data);
$modules = array();
for($i=0;$i<$count;$i++) {
$modules[] = $this->arrangeModuleInfo($output->data[$i]);
}
return $modules;
}
/**
* @brief 여러개의 module_srl에 해당하는 모듈의 정보를 구함
**/

View file

@ -0,0 +1,11 @@
<query id="getModulesByLayout" action="select">
<tables>
<table name="modules" />
</tables>
<columns>
<column name="*" />
</columns>
<conditions>
<condition operation="equal" column="layout_srl" var="layout_srl" notnull="notnull" />
</conditions>
</query>

View file

@ -24,8 +24,7 @@
}
.categoryWidget .selected a {
background-color:#0A246A;
color:#FFFFFF;
font-weight:bold;
}
.categoryWidget .item {