XE 공식 레이아웃/ 로그인위젯/ 최근글 위젯 추가

git-svn-id: http://xe-core.googlecode.com/svn/trunk@2112 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2007-08-01 08:10:37 +00:00
parent a8b5b5b39f
commit 14a63031f8
82 changed files with 769 additions and 0 deletions

View file

@ -0,0 +1,39 @@
#login { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;}
*:first-child+html body#black #login { padding-top:2px;}
#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#login form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;}
#login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#login form .idpw { float:left;}
#login form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;}
#login form .login { float:right;}
#login form p.save { clear:both; padding:.3em 0;}
#login form p.save input { vertical-align:middle; _margin:-3px;}
*:first-child+html body#black #login form p input { margin:-3px; }
#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#818181;}
#login form ul.help { border-top:1px solid #515151; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;}
#login form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/black/vrType1.gif) no-repeat left center;}
#login form ul.help li.first-child { background:none; padding-left:0;}
#login form ul.help li a { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none;}
#login form ul.help li a:hover { text-decoration:underline;}
#login form ul.help li.first-child a { color:#cbcbcb;}
#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #515151; padding:0 0 6px 0; margin-top:-5px;}
#login form .userName strong { color:#cbcbcb; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;}
#login form .userName a { float:right;}
#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;}
#login form ul.userMenu li { list-style:none; color:#cbcbcb; list-style:none;padding-left:10px; background:url(../images/black/bulletFF1A00.gif) no-repeat left 4px; height:18px; }
#login form ul.userMenu li a { color:#cbcbcb;text-decoration:none;}
#login form ul.userMenu li a:hover {text-decoration:underline;}
#login form p.latestLogin { color:#818181; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
#login form p.latestLogin span { font:1em Tahoma;}
img.login_mask { width:201px; height:5px; background:#3d3d3d; display:block;}
#openid_login { border:2px solid #515151; width:196px; position:relative; _padding-top:2px; display:block;}
*:first-child+html body#black #openid_login { padding-top:2px;}
#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#openid_login form { position:relative; border:1px solid #6b6b6b; padding:11px 11px 7px 11px; width:172px;}
#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#openid_login form .idpw { float:left;}
#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999}
#openid_login form .idpw input { border:1px solid #6b6b6b; color:#cbcbcb; width:105px; background:#515151; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;}
#openid_login form .login { float:right;}

View file

@ -0,0 +1,38 @@
#login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;}
*:first-child+html body #login { padding-top:2px;}
#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;}
#login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#login form .idpw { float:left;}
#login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;}
#login form .login { float:right;}
#login form p.save { clear:both; padding:.3em 0;}
#login form p.save input { vertical-align:middle; _margin:-3px;}
*:first-child+html body #login form p input { margin:-3px; }
#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;}
#login form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;}
#login form ul.help li { float:left; display:block; padding:0 3px 0 7px; background:url(../images/default/vrType1.gif) no-repeat left center;}
#login form ul.help li.first-child { background:none; padding-left:0;}
#login form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; }
#login form ul.help li.first-child a { color:#54564b; text-decoration:none;}
#login form ul.help li a:hover { text-decoration:underline; }
#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;}
#login form .userName strong { color:#282828; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;}
#login form .userName a { float:right;}
#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;}
#login form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/default/bulletFF1A00.gif) no-repeat left 4px; height:18px; }
#login form ul.userMenu li a { color:#54564b; text-decoration:none;}
#login form ul.userMenu li a:hover { text-decoration:underline;}
#login form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
#login form p.latestLogin span { font:1em Tahoma;}
img.login_mask { width:201px; height:5px; background:#ffffff; display:block;}
#openid_login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; }
*:first-child+html body #openid_login { padding-top:2px;}
#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#openid_login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; }
#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#openid_login form .idpw { float:left;}
#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999}
#openid_login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; }
#openid_login form .login { float:right;}

View file

@ -0,0 +1,38 @@
#login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block;}
*:first-child+html body#white #login { padding-top:2px;}
#login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px;}
#login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#login form .idpw { float:left;}
#login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma;}
#login form .login { float:right;}
#login form p.save { clear:both; padding:.3em 0;}
#login form p.save input { vertical-align:middle; _margin:-3px;}
*:first-child+html body#white #login form p input { margin:-3px; }
#login form p.save label { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; color:#999999;}
#login form ul.help { border-top:1px solid #e4e4e4; overflow:hidden; padding:.5em 0 0 0; white-space:nowrap;}
#login form ul.help li { list-style:none; float:left; display:block; padding:0 3px 0 7px; background:url(../images/white/vrType1.gif) no-repeat left center;}
#login form ul.help li.first-child { background:none; padding-left:0;}
#login form ul.help li a { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; white-space:nowrap; text-decoration:none; }
#login form ul.help li a:hover { text-decoration:underline; }
#login form ul.help li.first-child a { color:#54564b;}
#login form .userName { width:172px; overflow:hidden; border-bottom:1px solid #e4e4e4; padding:0 0 6px 0; margin-top:-5px;}
#login form .userName strong { color:#282828; float:left; padding:4px 0 0 2px; font:bold .9em Tahoma;}
#login form .userName a { float:right; text-decoration:none; }
#login form ul.userMenu { padding:0 0 6px 4px; overflow:hidden; margin-top:10px;}
#login form ul.userMenu li { list-style:none; padding-left:10px; background:url(../images/white/bulletFF1A00.gif) no-repeat left 4px; height:18px; }
#login form ul.userMenu li a { color:#54564b; text-decoration:none; }
#login form ul.userMenu li a:hover { text-decoration:underline; }
#login form p.latestLogin { color:#999999; font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;}
#login form p.latestLogin span { font:1em Tahoma;}
img.login_mask { width:201px; height:5px; background:#ffffff; display:block;}
#openid_login { border:2px solid #d9d9d9; width:196px; position:relative; _padding-top:2px; display:block; }
*:first-child+html body #openid_login { padding-top:2px;}
#openid_login legend { display:block; width:0; height:0; overflow:hidden; font-size:0;}
#openid_login form { position:relative; border:1px solid #cacaca; padding:11px 11px 7px 11px; width:172px; }
#openid_login form .idpwWrap { overflow:hidden; clear:both; width:172px;}
#openid_login form .idpw { float:left;}
#openid_login form .idpw p { margin-bottom:5px; background: url(../images/openid_login_bg.gif) left no-repeat; padding-left:18px; font-size:.9em Tahoma;color:#999999}
#openid_login form .idpw input { border:1px solid #c9c9c9; color:#282828; width:105px; background:#fbfbfb; padding:1px 5px; margin-bottom:2px; font:.9em Tahoma; }
#openid_login form .login { float:right;}

View file

@ -0,0 +1,14 @@
<filter name="widget_login" module="member" act="procMemberLogin">
<form>
<node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" />
</form>
<parameter>
<param name="user_id" target="user_id" />
<param name="password" target="password" />
</parameter>
<response callback_func="completeLogin">
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,7 @@
<filter name="widget_logout" module="member" act="procMemberLogout">
<form />
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -0,0 +1,10 @@
<filter name="openid_login" module="member" act="procMemberOpenIDLogin">
<form>
<node target="user_id" required="true" />
</form>
<parameter />
<response callback_func="completeOpenIDLogin">
<tag name="error" />
<tag name="message" />
</response>
</filter>

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

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: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

View file

@ -0,0 +1,36 @@
/* 로그인 영역에 포커스 */
function doFocusUserId(fo_id) {
var fo_obj = xGetElementById(fo_id);
if(xGetCookie('user_id')) {
fo_obj.user_id.value = xGetCookie('user_id');
fo_obj.remember_user_id.checked = true;
try{
fo_obj.password.focus();
} catch(e) {};
} else {
try{
fo_obj.user_id.focus();
} catch(e) {};
}
}
/* 로그인 후 */
function completeLogin(ret_obj, response_tags, params, fo_obj) {
if(fo_obj.remember_user_id && fo_obj.remember_user_id.checked) {
var expire = new Date();
expire.setTime(expire.getTime()+ (7000 * 24 * 3600000));
xSetCookie('user_id', fo_obj.user_id.value, expire);
}
var url = current_url.setQuery('act','');
location.href = url;
}
/* 오픈아이디 로그인 후 */
function completeOpenIDLogin(ret_obj, response_tags) {
var redirect_url = ret_obj['redirect_url'];
location.href = redirect_url;
}

View file

@ -0,0 +1,56 @@
<!-- colorset의 값에 따라 css 파일을 import 한다 -->
<!--@if($colorset=="black")-->
<!--%import("css/black.css")-->
<!--@elseif($colorset=="white")-->
<!--%import("css/white.css")-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
<!--%import("./filter/login.xml")-->
<!--%import("./filter/openid_login.xml")-->
<!--%import("./js/login.js")-->
<fieldset id="login">
<legend>{$lang->cmd_login}</legend>
<form action="./" method="get" onsubmit="return procFilter(this, widget_login)" id="fo_login_widget">
<div class="idpwWrap">
<div class="idpw">
<input name="user_id" type="text" title="user id" />
<input name="password" type="password" title="password" />
</div>
<input type="image" src="./images/{$colorset}/buttonLogin.gif" alt="login" class="login" />
</div>
<p class="save">
<input name="remember_user_id" id="chk_remember_user_id" type="checkbox" value="Y" />
<label for="chk_remember_user_id">{$lang->remember_user_id}</label>
</p>
<ul class="help">
<li class="first-child"><a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a></li>
<!--<li><a href="#">아이디/비밀번호 찾기</a></li>-->
</ul>
</form>
</fieldset>
<!-- OpenID -->
<!--@if($member_config->enable_openid=='N')-->
<img src="./images/blank.gif" alt="" class="login_mask" />
<fieldset id="openid_login">
<legend>{$lang->cmd_login}</legend>
<form action="./" method="post" onsubmit="return procFilter(this, openid_login)" >
<div class="idpwWrap">
<div class="idpw">
<p>{$lang->openid}</p>
<input type="text" name="user_id" class="openid_user_id" />
</div>
<input type="image" src="./images/{$colorset}/buttonLogin.gif" alt="login" class="login" />
</div>
</form>
</fieldset>
<!--@end-->
<script type="text/javascript">
xAddEventListener(window, "load", function(){ doFocusUserId("fo_login_widget"); });
</script>

View file

@ -0,0 +1,35 @@
<!-- colorset의 값에 따라 css 파일을 import 한다 -->
<!--@if($colorset=="black")-->
<!--%import("css/black.css")-->
<!--@elseif($colorset=="white")-->
<!--%import("css/white.css")-->
<!--@else-->
<!--%import("css/default.css")-->
<!--@end-->
<!--%import("./filter/logout.xml")-->
<fieldset id="login">
<legend>{$lang->cmd_login}</legend>
<form action="" method="post">
<div class="userName">
<div class="fl member_{$logged_info->member_srl}"><strong>{$logged_info->nick_name}</strong></div>
<a href="{getUrl('act','dispMemberLogout')}"><img src="./images/{$colorset}/buttonLogout.gif" alt="{$lang->cmd_logout}" width="47" height="18" /></a>
</div>
<ul class="userMenu">
<li><a href="{getUrl('act','dispMemberInfo','member_srl',$logged_info->member_srl)}">{$lang->cmd_view_member_info}</a></li>
<li><a href="{getUrl('act','dispMemberFriend','member_srl',$logged_info->member_srl)}">{$lang->cmd_view_friend}</a></li>
<li><a href="{getUrl('act','dispMemberMessages','member_srl',$logged_info->member_srl)}">{$lang->cmd_view_message_box}</a></li>
<!--@if($logged_info->is_admin=="Y")-->
<li><a href="{getUrl('','module','admin')}" onclick="window.open(this.href);return false;">{$lang->cmd_management}</a></li>
<!--@if($layout_info->layout_srl)-->
<li><a href="{getUrl('act','dispLayoutAdminModify','layout_srl',$layout_info->layout_srl)}">{$lang->cmd_layout_management}</a> / <a href="{getUrl('act','dispLayoutAdminEdit','layout_srl',$layout_info->layout_srl)}">{$lang->cmd_edit}</a></li>
<!--@end-->
<!--@end-->
</ul>
<p class="latestLogin">{$lang->last_login} : <span>{zDate($logged_info->last_login, "Y-m-d H:i")}</span></p>
</form>
</fieldset>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">XE 공식 로그인 정보 출력</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">
XE 공식 레이아웃에 적합한 로그인 정보 출력 위젯입니다.
디자인 : 이소라
퍼블리싱 : 정찬명
</description>
</maker>
<colorset>
<color name="default">
<title xml:lang="ko">기본</title>
<title xml:lang="jp">デフォルト</title>
<title xml:lang="zh-CN">默认</title>
<title xml:lang="en">default</title>
</color>
</colorset>
</skin>

View file

@ -0,0 +1,10 @@
.latest { padding-bottom:15px; }
.latest h2 { font-size:1em; display:block; height:21px; padding:9px 0 0 9px; margin-bottom:12px; color:#ffffff; background:url(../images/black/lineNotice.gif) no-repeat left bottom;}
.latest ul {}
.latest ul li { position:relative; height:21px; background:url(../images/black/bulletD0.gif) no-repeat left 5px; padding-left:10px; overflow:hidden;}
.latest ul li a { color:#818181; text-decoration:none; }
.latest ul li a:hover { text-decoration:underline; }
.latest ul li span { position:absolute; top:1px; right:9px; color:#999999; font:.8em Tahoma;}
.latest .more { position:absolute; top:12px; right:11px; color:#818181; font:.8em Tahoma;}
.latest a.more { text-decoration:none;}
.latest a.more:hover { text-decoration:underline;}

View file

@ -0,0 +1,10 @@
.latest { padding-bottom:15px; }
.latest h2 { font-size:1em; display:block; height:21px; padding:9px 0 0 9px; margin-bottom:12px; color:#000000; background:url(../images/white/lineNotice.gif) no-repeat left bottom;}
.latest ul {}
.latest ul li { position:relative; height:21px; background:url(../images/white/bulletD0.gif) no-repeat left 5px; padding-left:10px; overflow:hidden;}
.latest ul li a { color:#555555; text-decoration:none; }
.latest ul li a:hover { text-decoration:underline; }
.latest ul li span { position:absolute; top:1px; right:9px; color:#999999; font:.8em Tahoma;}
.latest .more { position:absolute; top:12px; right:11px; color:#54564b; font:.8em Tahoma;}
.latest a.more { text-decoration:none;}
.latest a.more:hover { text-decoration:underline;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

View file

@ -0,0 +1,21 @@
<!-- 설정된 컬러셋의 종류에 따라서 css파일을 import 합니다 -->
<!--@if($colorset=="black")-->
<!--%import("css/black.css")-->
<!--@else-->
<!--%import("css/white.css")-->
<!--@end-->
<div class="latest">
<!--@if($widget_info->title)-->
<h2>{$widget_info->title}</h2>
<!--@end-->
<ul>
<!--@foreach($widget_info->document_list as $oDocument)-->
<li><a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitleText($widget_info->subject_cut_size)}</a><span>{$oDocument->getRegdate("Y-m-d")}</span></li>
<!--@end-->
</ul>
<!--@if($widget_info->module_name)-->
<a href="{getUrl('','mid',$widget_info->module_name)}" class="more">more</a>
<!--@end-->
</div>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<skin>
<title xml:lang="ko">XE 공식 레이아웃용 최신글 스킨</title>
<maker email_address="zero@zeroboard.com" link="http://www.zeroboard.com" date="2007. 8. 1">
<name xml:lang="ko">제로</name>
<description xml:lang="ko">XE 공식 레이아웃에 적합한 최신글 스킨입니다.</description>
</maker>
<colorset>
<color name="white">
<title xml:lang="ko">흰색 바탕용</title>
</color>
<color name="black">
<title xml:lang="ko">어두운 바탕용</title>
</color>
</colorset>
</skin>