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

This commit is contained in:
zero 2007-04-10 05:49:40 +00:00
parent 4addc42763
commit 749344c453
9 changed files with 155 additions and 53 deletions

View file

@ -8,6 +8,8 @@
$lang->member_default_info = '기본 정보'; $lang->member_default_info = '기본 정보';
$lang->member_extend_info = '추가 정보'; $lang->member_extend_info = '추가 정보';
$lang->remember_user_id = '아이디 저장';
$lang->already_logged = '이미 로그인되어 있습니다'; $lang->already_logged = '이미 로그인되어 있습니다';
$lang->denied_user_id = '사용금지된 아이디입니다'; $lang->denied_user_id = '사용금지된 아이디입니다';
$lang->null_user_id = '사용자 아이디를 입력해주세요'; $lang->null_user_id = '사용자 아이디를 입력해주세요';

View file

@ -18,7 +18,7 @@
<column name="allow_message" var="allow_message" default="Y" /> <column name="allow_message" var="allow_message" default="Y" />
<column name="denied" var="denied" default="N" /> <column name="denied" var="denied" default="N" />
<column name="regdate" var="regdate" default="curdate()" /> <column name="regdate" var="regdate" default="curdate()" />
<column name="last_login" var="last_login" /> <column name="last_login" var="last_login" default="curdate()" />
<column name="is_admin" var="is_admin" default="N" /> <column name="is_admin" var="is_admin" default="N" />
<column name="description" var="description" /> <column name="description" var="description" />
<column name="extra_vars" var="extra_vars" /> <column name="extra_vars" var="extra_vars" />

View file

@ -3,10 +3,7 @@
<node target="user_id" required="true" filter="user_id"/> <node target="user_id" required="true" filter="user_id"/>
<node target="password" required="true" /> <node target="password" required="true" />
</form> </form>
<parameter> <parameter />
<param name="user_id" target="user_id" />
<param name="password" target="password" />
</parameter>
<response callback_func="completeLogin"> <response callback_func="completeLogin">
<tag name="error" /> <tag name="error" />
<tag name="message" /> <tag name="message" />

View file

@ -57,8 +57,24 @@ function doUploadImageMark() {
_doUploadImage(fo_obj, 'procMemberInsertImageMark'); _doUploadImage(fo_obj, 'procMemberInsertImageMark');
} }
/* 로그인 영역에 포커스 */
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;
}
fo_obj.user_id.focus();
}
/* 로그인 후 */ /* 로그인 후 */
function completeLogin(ret_obj) { 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 = location.href.setQuery('act',''); var url = location.href.setQuery('act','');
location.href = location.href.setQuery('act',''); location.href = location.href.setQuery('act','');
} }

View file

@ -1,13 +1,16 @@
<!--%import("filter/login.xml")--> <!--%import("filter/login.xml")-->
<!--%import("js/member.js")--> <!--%import("js/member.js")-->
<form action="./" method="post" onsubmit="return procFilter(this, login)"> <form action="./" method="post" onsubmit="return procFilter(this, login)" id="fo_member_login">
<table> <table>
<col width="120" /> <col width="120" />
<col width="*" /> <col width="*" />
<tr> <tr>
<th>{$lang->user_id}</th> <th rowspan="2">{$lang->user_id}</th>
<td><input type="text" name="user_id" id="member_login_user_id" /></td> <td><input type="text" name="user_id" /></td>
</tr>
<tr>
<td><input type="checkbox" name="remember_user_id" value="Y" /> {$lang->remember_user_id}</td>
</tr> </tr>
<tr> <tr>
<th>{$lang->password}</th> <th>{$lang->password}</th>
@ -29,5 +32,5 @@
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
xAddEventListener(window, "load", function() { xGetElementById("member_login_user_id").focus(); } ); xAddEventListener(window, "load", function() { doFocusUserId('fo_member_login'); });
</script> </script>

View file

@ -7,7 +7,7 @@
<param name="user_id" target="user_id" /> <param name="user_id" target="user_id" />
<param name="password" target="password" /> <param name="password" target="password" />
</parameter> </parameter>
<response> <response callback_func="completeLogin">
<tag name="error" /> <tag name="error" />
<tag name="message" /> <tag name="message" />
</response> </response>

View file

@ -0,0 +1,25 @@
/* 로그인 영역에 포커스 */
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;
}
fo_obj.user_id.focus();
}
/* 로그인 후 */
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 = location.href.setQuery('act','');
location.href = location.href.setQuery('act','');
}

View file

@ -5,9 +5,8 @@
<!-- 로그인 사용자일 경우 로그인 정보를 출력 --> <!-- 로그인 사용자일 경우 로그인 정보를 출력 -->
<!--@if($logged_info)--> <!--@if($logged_info)-->
<!--%import("./filter/logout.xml")--> <!--%import("./filter/logout.xml")-->
<div class="login_info_default_{$colorset}"> <div class="login_plugin">
<!-- 닉네임 + 로그아웃 --> <!-- 닉네임 + 로그아웃 -->
<div class="top_box"> <div class="top_box">
@ -20,48 +19,65 @@
</div> </div>
<div class="info_box"> <div class="info_box">
<!-- 정보 수정 링크 --> <!-- 정보 수정 링크 -->
<div class="modify_info"> <div class="member_info">
<a href="#" onclick="location.href='{getUrl('act','dispMemberInfo')}';return false;">{$lang->cmd_view_member_info}</a> <a href="#" onclick="location.href='{getUrl('act','dispMemberInfo')}';return false;">{$lang->cmd_view_member_info}</a>
</div> </div>
<div class="friend_list">
<a href="#" onclick="popopen('{getUrl('','module','member','act','dispMemberFriend')}','sendMessage');return false;">{$lang->cmd_view_friend}</a>
</div>
<div class="message_box">
<a href="#" onclick="location.href='{getUrl('act','dispMemberMessages')}';return false;">{$lang->cmd_view_message_box}</a>
</div>
<!-- 관리자일 경우 관리자 링크 -->
<!--@if($logged_info->is_admin=="Y")-->
<div class="link_admin">
<a href="#" onclick="winopen('./?module=admin');return false;">{$lang->cmd_management}</a>
</div>
<!--@end-->
<!-- 최종 록그인 시간 --> <!-- 최종 록그인 시간 -->
<div class="last_login"> <div class="last_login">
{$lang->last_login} : {zDate($logged_info->last_login, "Y-m-d H:i")} {$lang->last_login} : {zDate($logged_info->last_login, "Y-m-d H:i")}
</div> </div>
<!-- 관리자일 경우 관리자 링크 -->
<!--@if($logged_info->is_admin=="Y")-->
<div class="link_admin">
<a href="./?module=admin">{$lang->cmd_management}</a>
</div>
<!--@end-->
</div> </div>
</div> </div>
<!-- 비로그인 사용자일 경우 로그인 폼을 출력 --> <!-- 비로그인 사용자일 경우 로그인 폼을 출력 -->
<!--@else--> <!--@else-->
<!--%import("./filter/login.xml")--> <!--%import("./filter/login.xml")-->
<!--%import("./js/login.js")-->
<div class="login_info_default_{$colorset}"> <div class="login_plugin">
<form action="./" method="get" onsubmit="return procFilter(this, plugin_login)"> <form action="./" method="get" onsubmit="return procFilter(this, plugin_login)" id="fo_login_plugin">
<div class="login_box"> <div class="login_box">
<div class="header">{$lang->user_id}</div> <div class="header">{$lang->user_id}</div>
<div class="body"><input type="text" name="user_id" id="login_form_user_id" /></div> <div class="body">
<div><input type="text" name="user_id" id="login_form_user_id" class="input" /></div>
<div>
<input type="checkbox" name="remember_user_id" id="chk_remember_user_id" value="Y" />
<label for="chk_remember_user_id">{$lang->remember_user_id}</label>
</div>
</div>
<div class="header">{$lang->password}</div> <div class="header">{$lang->password}</div>
<div class="body"><input type="password" name="password" /></div> <div class="body"><input type="password" name="password" class="input" /></div>
</div> </div>
<div class="button_area"> <div class="button_area">
<input type="submit" value="{$lang->cmd_login}" /> <input type="submit" value="{$lang->cmd_login}" class="submit_button" />
<a href="#" onclick="location.href='{getUrl('act','dispMemberSignUpForm')}';return false;">{$lang->cmd_signup}</a> <input type="button" value="{$lang->cmd_signup}" class="signup_button" onclick="location.href='{getUrl('act','dispMemberSignUpForm')}';return false;" />
</div> </div>
</form> </form>
<script type="text/javascript"> <script type="text/javascript">
xAddEventListener(window, "load", function(){ xGetElementById("login_form_user_id").focus(); }); xAddEventListener(window, "load", function(){ doFocusUserId("fo_login_plugin"); });
</script> </script>
</div> </div>
<!--@end--> <!--@end-->

View file

@ -1,75 +1,106 @@
.login_info_default_normal { .login_plugin {
border:3px solid #DDDDDD; border:3px solid #DDDDDD;
padding:6px; padding:6px;
width:190px; width:190px;
height:80px;
margin-bottom:10px; margin-bottom:10px;
} }
.login_info_default_normal .top_box { .login_plugin .top_box {
height:22px; height:22px;
border-bottom:2px dotted #DDDDDD; border-bottom:2px dotted #DDDDDD;
overflow:hidden; overflow:hidden;
margin-bottom:5px; margin-bottom:5px;
} }
.login_info_default_normal .top_box .nick_name { .login_plugin .top_box .nick_name {
font-weight:bold; font-weight:bold;
float:left; float:left;
color:#555555; color:#555555;
} }
.login_info_default_normal .top_box .logout { .login_plugin .top_box .logout {
float:right; float:right;
} }
.login_info_default_normal .top_box .logout A { .login_plugin .top_box .logout A {
font-weight:bold; font-weight:bold;
text-decoration:none; text-decoration:none;
color:#555555; color:#555555;
} }
.login_info_default_normal .top_box .logout A:hover { .login_plugin .top_box .logout A:hover {
font-weight:bold; font-weight:bold;
text-decoration:underline; text-decoration:underline;
color:#555555; color:#555555;
} }
.login_info_default_normal .info_box {
.login_plugin .info_box {
clear:both; clear:both;
color:#555555; color:#555555;
} }
.login_info_default_normal .info_box A { .login_plugin .info_box A:link {
text-decoration:none; text-decoration:none;
color:#555555; color:#555555;
} }
.login_info_default_normal .info_box .modify_info { .login_plugin .info_box A:visited {
text-decoration:none;
color:#555555;
}
.login_plugin .info_box A:hover {
text-decoration:underline;
font-weight:bold;
letter-spacing:-1px;
color:#555555;
}
.login_plugin .info_box div {
padding-left:15px;
margin:0px 0px 4px 0px;
}
.login_plugin .info_box .member_info {
background:url("../images/icon_profile.gif") no-repeat left; background:url("../images/icon_profile.gif") no-repeat left;
padding-left:15px; float:left;
margin-bottom:4px; width:90px;
} }
.login_info_default_normal .info_box .last_login { .login_plugin .info_box .friend_list {
padding-left:15px; background:url("../images/icon_profile.gif") no-repeat left;
margin-bottom:4px; float:left;
} }
.login_info_default_normal .info_box .link_admin { .login_plugin .info_box .message_box {
background:url("../images/icon_profile.gif") no-repeat left;
float:left;
width:90px;
}
.login_plugin .info_box .link_admin {
background:url("../images/icon_key.gif") no-repeat left; background:url("../images/icon_key.gif") no-repeat left;
padding-left:15px; float:left;
margin-bottom:4px;
} }
.login_info_default_normal .info_box .link_admin A { .login_plugin .info_box .link_admin A {
color:#cd0000; color:#cd0000;
} }
.login_info_default_normal .login_box { .login_plugin .info_box .last_login {
clear:left;
padding-left:15px;
margin-bottom:4px;
}
.login_plugin .login_box {
height:40px; height:40px;
} }
.login_info_default_normal .header { .login_plugin .header {
float:left; float:left;
clear:left; clear:left;
width:80px; width:80px;
@ -78,32 +109,44 @@
color:#555555; color:#555555;
} }
.login_info_default_normal .body { .login_plugin .body {
float:left; float:left;
width:100px; width:100px;
margin-bottom:5px; margin-bottom:5px;
} }
.login_info_default_normal .body input { .login_plugin .body .input {
width:90px; width:90px;
height:13px; height:13px;
border:1px solid #AAAAAA; border:1px solid #AAAAAA;
color:#555555; color:#555555;
} }
.login_info_default_normal .button_area { .login_plugin .body label {
cursor:pointer;
}
.login_plugin .button_area {
clear:both; clear:both;
height:20px; height:20px;
margin-top:5px; margin-top:5px;
text-align:center; text-align:center;
} }
.login_info_default_normal .button_area input { .login_plugin .button_area .submit_button {
width:90px; width:80px;
height:18px; height:18px;
border:1px solid #AAAAAA; border:1px solid #AAAAAA;
background-color:#555555; background-color:#555555;
color:#FFFFFF; color:#FFFFFF;
font-weight:bold; font-weight:bold;
width:100%; }
.login_plugin .button_area .signup_button {
width:80px;
height:18px;
border:1px solid #555555;
background-color:#FFFFFF;
color:#000000;
font-weight:bold;
} }