Language
한국어

[XE] 아이핀 구현

2013.12.01 22:10

suritam9 조회 수:2599

[signup_form.html]

45line

{@ $iii=1}

<tr loop="$formTags=>$formTag" cond="$formTag->name != 'signature'">


<!--@if($iii==2)-->

<th class="q"><em style="color:red">*</em> ipin</th>

<td class="a"><input type="button" id="ipinBtn" class="xet_btn medium xet_white" value="{$lang->cmd_ipin}" onClick="jsSubmit();">{@ $iii++}<div style="display:none;">{$formTag->inputTag}</div></td>

<!--@else-->

<th class="q">{$formTag->title}{@ $iii++}</th>

<td class="a">{$formTag->inputTag}</td>

<!--@end-->

</tr>

스크립트 추가

document.getElementsByName("virtualno").id="virtualno";

document.getElementsByName("nick_name").id="nick_name";

document.getElementsByName("user_name").id="user_name";

document.getElementById("user_name").readOnly=true;//실명 변경을 금지한다.

function jsSubmit(){

var popupWindow = window.open("../okname/ipin2.php", "kcbPop", "left=200, top=100, status=0, width=450, height=550");

}


[인증 완료 후, 적용 페이지]

opener.document.getElementById("virtualno").value = document.dForm.virtualno.value;

opener.document.getElementById("user_name").value = document.dForm.realname.value;

opener.document.getElementById("nick_name").value = document.dForm.realname.value;

opener.document.getElementById("ipinBtn").value = "인증완료";

opener.document.getElementById("ipinBtn").disabled = true;

opener.document.getElementById("nick_name").focus();

self.close();


[modify_info.html]

30line

{@ $iii=1}

<tr loop="$formTags=>$formTag">

<!--@if($iii==2)-->

<th class="q">{$formTag->title}</th>

<td class="a" cond="$formTag->name != 'signature'"><input type="button" id="ipinBtn" class="xet_btn medium xet_white" value="{$lang->cmd_ipin}" onClick="jsSubmit();"><div style="display:none;">{$formTag->inputTag}</div></td>

<td class="a" cond="$formTag->name =='signature'">{$editor}</td>{@ $iii++}

<!--@else-->

<th class="q">{$formTag->title}</th>

<td class="a" cond="$formTag->name != 'signature'">{$formTag->inputTag}</td>

<td class="a" cond="$formTag->name =='signature'">{$editor}</td>{@ $iii++}

<!--@end-->


스크립트 추가

function jsSubmit(){

var popupWindow = window.open("../okname/ipin2.php", "kcbPop", "left=200, top=100, status=0, width=450, height=550");

}

document.getElementsByName("virtualno").id="virtualno";

document.getElementById("virtualno").readOnly=true;//아이핀 값 변경을 금지한다.

document.getElementsByName("nick_name").id="nick_name";

document.getElementsByName("user_name").id="user_name";

document.getElementById("user_name").readOnly=true;//실명 변경을 금지한다.


[member_info.html]

7line

<!--@if($iii==3)-->

<th scope="row" >{$item->title} <em cond="$item->required || $item->mustRequired">*</em></th>

<td class="text">

<!--@if($item->value=="")-->

{$lang->cmd_ipin_not}

<!--@else-->

{$lang->cmd_ipin_end}

<!--@end-->

</td>{@ $iii++}

<!--@else-->

<th scope="row" >{$item->title} <em cond="$item->required || $item->mustRequired">*</em></th>

<td class="text">{$item->value}</td>{@ $iii++}

<!--@end-->



member/module/lang/lang.xml 에 추가


<item name="cmd_ipin">

<value xml:lang="ko"><![CDATA[아이핀인증]]></value>

</item>

<item name="cmd_ipin_not">

<value xml:lang="ko"><![CDATA[미인증]]></value>

</item>

<item name="cmd_ipin_end">

<value xml:lang="ko"><![CDATA[인증됨]]></value>

</item>


[member.contoller.php]

500line 부근 아래 코드 밑에

// Remove some unnecessary variables from all the vars

$all_args = Context::getRequestVars();

unset($all_args->module);

unset($all_args->act);

unset($all_args->member_srl);

unset($all_args->is_admin);

unset($all_args->description);

unset($all_args->group_srl_list);

unset($all_args->body);

unset($all_args->accept_agreement);

unset($all_args->signature);

unset($all_args->_filter);

unset($all_args->mid);

unset($all_args->error_return_url);

unset($all_args->ruleset);

unset($all_args->password);


추가

// 변경되어서는 안 되는 값 설정

if($all_args->user_name!=$logged_info->user_name)

return new Object(-1, 'invalid_request');

if($all_args->user_id!=$logged_info->user_id)

return new Object(-1, 'invalid_request');

if($logged_info->virtualno!=""){

if($all_args->virtualno!=$logged_info->virtualno)

return new Object(-1, 'invalid_request');

}


[member.view.php]

200line

'msg_already_logged' 를 'msg_success_confirmed' 로 고쳐서 이미 로그인 되었다는 메시지가 아닌, 가입 인증 완료로 수정



이 밖의 처리는 자문료.