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

This commit is contained in:
zero 2007-06-07 09:06:57 +00:00
parent 97c7db301f
commit 4b747ef218
8 changed files with 106 additions and 2 deletions

View file

@ -29,6 +29,8 @@
<action name="getMemberMenu" type="model" standalone="true" />
<action name="procMemberLogin" type="controller" standalone="true" />
<action name="procMemberOpenIDLogin" type="controller" standalone="true" />
<action name="procMemberOpenIDValidate" type="controller" standalone="true" />
<action name="procMemberLogout" type="controller" standalone="true" />
<action name="procMemberInsert" type="controller" standalone="true" />
<action name="procMemberModifyInfo" type="controller" standalone="true" />

View file

@ -15,6 +15,7 @@
$lang->denied_user_id = '사용금지된 아이디입니다';
$lang->null_user_id = '사용자 아이디를 입력해주세요';
$lang->null_password = '비밀번호를 입력해주세요';
$lang->invalid_authorization = '인증이 되지 않았습니다';
$lang->invalid_user_id= '존재하지 않는 사용자 아이디입니다';
$lang->invalid_password = '잘못된 비밀번호입니다';
$lang->allow_mailing = '메일링 가입';
@ -48,6 +49,7 @@
$lang->default_friend_group = '그룹 미지정';
$lang->member_info = '회원 정보';
$lang->current_password = '현재 비밀번호';
$lang->openid = 'OpenID';
$lang->search_target_list = array(
'user_id' => '아이디',

View file

@ -31,6 +31,61 @@
return $this->doLogin($user_id, $password);
}
/**
* @brief openid로그인
**/
function procMemberOpenIDLogin() {
ob_start();
require('./modules/member/openid_lib/class.openid.php');
require_once('./modules/member/openid_lib/libcurlemu.inc.php');
$user_id = Context::get('user_id');
$openid = new SimpleOpenID();
$openid->SetIdentity($user_id);
$openid->SetTrustRoot('http://' . $_SERVER["HTTP_HOST"]);
$openid->SetRequiredFields(array('email','fullname','dob'));
if (!$openid->GetOpenIDServer()) {
$error = $openid->GetError();
$this->setError(-1);
$this->setMessage($error['description']);
} else {
$openid->SetApprovedURL( getUrl('','module','member','act','procMemberOpenIDValidate') );
$url = $openid->GetRedirectURL();
$this->add('redirect_url', $url);
}
ob_clean();
}
/**
* @brief openid 인증 체크
**/
function procMemberOpenIDValidate() {
ob_start();
require('./modules/member/openid_lib/class.openid.php');
require_once('./modules/member/openid_lib/libcurlemu.inc.php');
$openid = new SimpleOpenID;
$openid->SetIdentity($_GET['openid_identity']);
$openid_validation_result = $openid->ValidateWithServer();
if ($openid_validation_result == true) {
} else if($openid->IsError() == true) {
$error = $openid->GetError();
return $this->stop($error['description']);
} else {
return $this->stop('invalid_authorization');
}
ob_clean();
print "<xmp>";
print_r($_REQUEST);
print "</xmp>";
}
/**
* @brief 로그아웃
**/

View file

@ -0,0 +1,10 @@
@charset "utf-8";
/* pathNavigation */
.openid_user_id {
background: url(../images/login-bg.gif) left no-repeat;
background-color: #ffffff;
background-position: 0 50%;
color: #000;
padding-left: 18px;
}

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

View file

@ -86,6 +86,13 @@ function completeLogout(ret_obj) {
location.href = current_url.setQuery('act','');
}
/* 오픈아이디 로그인 후 */
function completeOpenIDLogin(ret_obj, response_tags) {
var redirect_url = ret_obj['redirect_url'];
location.href = redirect_url;
}
/* 이미지 이름, 마크 삭제 */
function doDeleteImageName(member_srl) {
var fo_obj = xGetElementById("fo_insert_member");

View file

@ -1,8 +1,12 @@
<!--%import("filter/login.xml")-->
<!--%import("js/member.js")-->
<!--%import("filter/openid_login.xml")-->
<!--%import("js/member.js")-->
<!--%import("css/module.css")-->
<!-- 제로보드XE 로그인 폼 -->
<form action="./" method="post" onsubmit="return procFilter(this, login)" id="fo_member_login">
<table>
<table border="1">
<col width="120" />
<col width="*" />
<tr>
@ -28,7 +32,21 @@
</td>
</tr>
</table>
</form>
<!-- OpenID -->
<form action="./" method="post" onsubmit="return procFilter(this, openid_login)">
<table border="1">
<tr>
<th>{$lang->openid}</th>
</tr>
<tr>
<td>
<input type="text" name="user_id" tabindex="1" class="openid_user_id" />
<input type="submit" value="{$lang->cmd_login}" tabindex="2" />
</td>
</tr>
</table>
</form>
<script type="text/javascript">