(xe코어 1.11.0버전 반영)회원가입 프로필 사진 파일 업로드를 위한 xe코어 member모듈 수정

by 관리자 posted Dec 05, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

회원가입 폼에 프로필 사진 항목이 없으면 이 부분의 수정은 안 하셔도 됩니다.

 

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; } 이 문구를 삽입해주세요.