회원가입 폼에 프로필 사진 항목이 없으면 이 부분의 수정은 안 하셔도 됩니다.
2018년 10월 11일 수정되었습니다.
xe버전이 xe 1.11.0버전 일 경우 첨부파일을 다운받아 modules/member 폴더에 덮어쓰기 하시면 됩니다. 매번 xe코어 업데이트 될 때마다 최신버전으로 패치파일 올려놓도록 하겠습니다. 다만 최신버전이 아닐 경우는 아래의 내용을 참조하셔서 직접 수정해주셔야 합니다.
ftp로 덮어쓰기 해주신 후에 반드시 관리자 페이지에서 모듈 업데이트 버튼 눌러주셔야 합니다.!!!
modules/member폴더안에 있는 총 6개의 파일을 수정해야 합니다.
1) member.class.php
181번째 줄에 function checkUpdate() 함수 안에 중간쯤 아무곳에나 아래의 내용을 첨가해주세요.
if(!$oDB->isColumnExists("member", "member_s")) return true;
그리고 250번째 줄 function moduleUpdate() 함수 안에 중간쯤 아무곳에나 아래의 내용을 넣어주세요.
if(!$oDB->isColumnExists("member", "member_s"))
{
$oDB->addColumn("member", "member_s", "number", 11);
}
2) schemas/member.xml
제일 아래 부분에 아래 항목 추가해주세요.
<column name="member_s" type="number" size="11" />
3) member.controller.php
member.controller.php 80번째줄 쯤에 아래 내용을 찾습니다.
if(!$config->after_login_url)
이 부분을 아래와 같이 바꾸어줍니다.
if(!$config->after_login_url || preg_match("/XEPUSH/", $_SERVER['HTTP_USER_AGENT']))
그리고 254번째 줄 function procMemberInsert() 부분에 보면...
337번째 줄에 이 내용이 있습니다.
$output = $this->insertMember($args);
이 줄 위에 아래의 줄을 다음과 같이 삽입합니다.
$args->member_s = Context::get('member_s');
그래서 이렇게 되죠.
$args->member_s = Context::get('member_s');
$output = $this->insertMember($args);
그리고 1900번째 줄에 function insertMember(&$args, $password_is_hashed = false) 부분에 보면... 1913번째 줄에 아래의 내용이 있습니다.
$args->member_srl = getNextSequence();
이것을 아래의 내용으로 바꾸어줍니다.
if(!preg_match("/XEPUSHK/",$_SERVER['HTTP_USER_AGENT'])){
$args->member_srl = getNextSequence();
}else{
if($args->member_s == "none"){
$args->member_srl = getNextSequence();
}else{
if($_SESSION['androidmember']){
$args->member_srl = $_SESSION['androidmember'];
}else{
$args->member_srl = getNextSequence();
}
}
}
---------------------------------------
4) member.admin.view.php
member.admin.view.php 388번째 줄쯤에 function _getMemberInputTag($memberInfo, $isAdmin = false) 부분에 보면... 446번째 줄에 아래의 내용이 있습니다.
if($target->src)
{
...(중략)...
}
else
{
...(중략)...
}
이 부분을 아래의 내용으로 완전히 바꾸어주세요.
if(!preg_match("/XEPUSHK/",$_SERVER['HTTP_USER_AGENT'])){
if($target->src)
{
$inputTag = sprintf('<input type="hidden" name="__%s_exist"
value="true" /><span id="%s"><img src="%s" alt="%s" /> <button type="button" onclick="%s(%d);return false;">
%s</button></span>',
$formInfo->name,
$formInfo->name.'tag',
$target->src,
$formInfo->title,
$functionName,
$memberInfo['member_srl'],
$lang->cmd_delete);
}
else
{
$inputTag = sprintf('<input type="hidden" name="__%s_exist"
value="false" />', $formInfo->name);
}
}else{
if($target->src)
{
$inputTag = sprintf('<input type="hidden" name="__%s_exist"
value="true" /><ul class="clear"><li id="files_%s"><span id="%s"><img src="%s" alt="%s" /> <button type="button"
onclick="window.Android.delete_p(\'%s\',\'%s\');">%s</button></span></li></ul>',
$formInfo->name,
$formInfo->name,
$formInfo->name.'tag',
$target->src,
$formInfo->title,
$memberInfo['member_srl'],
$formInfo->name.'tag',
$lang->cmd_delete);
}
else
{
$inputTag = sprintf('<input type="hidden" name="__%s_exist"
value="false" /><ul class="clear"><li id="files_%s"></li></ul>', $formInfo->name,$formInfo->name);
}
}
-------------------------------------------
5) queries/insertMember.xml
queries폴더 안에 insertMember.xml파일에서 column목록 제일 아래에 아래의 column을 추가해줍니다.
<column name="member_s" var="member_s" />
-------------------------------------------
6) m.skins/default 또는 사용중인 스킨
m.skins 폴더 안에 default 또는 사용중인 스킨의 modify_info.html과 signup_form.html파일을 수정해주세요.
[signup_form.html 수정]
수정할 부분은 아래와 같이 form 태그가 시작되는 부분입니다.
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="member" />
---> 이 form 태그 바로 밑에 아래의 빨간 부분을 삽입해주세요.
<form ruleset="@insertMember" id="fo_insert_member" class="ff" action="./" method="post" enctype="multipart/form-data">
<!--@if($is_kitkat=="Y")-->
<input type="hidden" name="member_s" id="member_s" value="none" />
<!--@end-->
<input type="hidden" name="module" value="member" />
[modify_info.html 수정]
파일내용 최상단에 {@ $_SESSION['androidmember'] = $member_info->member_srl; } 이 문구를 삽입해주세요.