From 4b747ef218d144e2cceaec7c540be2150c634072 Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 7 Jun 2007 09:06:57 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1564 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/member/conf/module.xml | 2 + modules/member/lang/ko.lang.php | 2 + modules/member/member.controller.php | 55 ++++++++++++++++++ modules/member/skins/default/css/module.css | 10 ++++ .../skins/default/filter/openid_login.xml | 10 ++++ .../member/skins/default/images/login-bg.gif | Bin 0 -> 237 bytes modules/member/skins/default/js/member.js | 7 +++ modules/member/skins/default/login_form.html | 22 ++++++- 8 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 modules/member/skins/default/css/module.css create mode 100644 modules/member/skins/default/filter/openid_login.xml create mode 100644 modules/member/skins/default/images/login-bg.gif diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml index a2fe0fbee..17b725099 100644 --- a/modules/member/conf/module.xml +++ b/modules/member/conf/module.xml @@ -29,6 +29,8 @@ + + diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php index b2000f201..8c70dc192 100644 --- a/modules/member/lang/ko.lang.php +++ b/modules/member/lang/ko.lang.php @@ -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' => '아이디', diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 2359b3166..fc294a6c5 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -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 ""; + print_r($_REQUEST); + print ""; + } + + /** * @brief 로그아웃 **/ diff --git a/modules/member/skins/default/css/module.css b/modules/member/skins/default/css/module.css new file mode 100644 index 000000000..a3a14ad85 --- /dev/null +++ b/modules/member/skins/default/css/module.css @@ -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; +} diff --git a/modules/member/skins/default/filter/openid_login.xml b/modules/member/skins/default/filter/openid_login.xml new file mode 100644 index 000000000..61bba2ff2 --- /dev/null +++ b/modules/member/skins/default/filter/openid_login.xml @@ -0,0 +1,10 @@ + +
+ + + + + + + +
diff --git a/modules/member/skins/default/images/login-bg.gif b/modules/member/skins/default/images/login-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..cde836c893f64bcfec04b9c817e3371ff122fe19 GIT binary patch literal 237 zcmVb{bmUKcqz}))c5uC(7v?)v4a2P)ZNa- z@$&T2)z|&~{r~^}A^8LV00000EC2ui01yBW000GQ;3tk`X`bk)Wk@<6#nZYULKH{p zEx|?+kif!I0vIL|#ZMubBmjWH2OtmxIFVa~6JQ7!1CK!f5W#StOTv&C3=E8h2vI1s n+#cd5;2fT3B_0kF0v!+!GARoV78n&7dMN`JIW(4+BOw4gP{MS* literal 0 HcmV?d00001 diff --git a/modules/member/skins/default/js/member.js b/modules/member/skins/default/js/member.js index fbb7122f8..5fd7d21a8 100644 --- a/modules/member/skins/default/js/member.js +++ b/modules/member/skins/default/js/member.js @@ -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"); diff --git a/modules/member/skins/default/login_form.html b/modules/member/skins/default/login_form.html index 2b8ef6a73..945833735 100644 --- a/modules/member/skins/default/login_form.html +++ b/modules/member/skins/default/login_form.html @@ -1,8 +1,12 @@ - + + + + +
- +
@@ -28,7 +32,21 @@
+
+ +
+ + + + + + + +
{$lang->openid}
+ + +