본문 바로가기
Programming/WEB Hosting

[XE] XE 1.2.4에 만기일 팁 적용시키기

by 도파공 2010. 5. 1.
728x90
반응형

LaTex를 쓰기 위해 설정한 것 때문에 $표시가 나타나면 수식으로 자동인식이 되고 있습니다. 하단의 링크를 참고하시면 제대루 보실 수 있어요. ㅠㅠ

 

1. XE의 DB에 member 테이블에 expiredate 필드 추가

   mysql query : 

ALTER TABLE `xe_member` ADD `expiredate` VARCHAR( 8 ) NULL ;

 

2. common/lang/ko.lang.php
   155     $lang->last_login = '최근로그인'; 다음 라인에
   156    

$lang->expiredate = '만기일';

추가

 

3. modules/member/lang/ko.lang.php
   187     $lang->about_limit_date = '지정된 일자까지 해당 사용자는 로그인을 할 수 없습니다'; 다음 라인에
   188    

$lang->about_expiredate = '지정된 일자가 지나면 사용자는 특정회원 그룹에서 삭제됩니다';

추가

 

4. modules/member/queries/insertMember.xml
   25         <column name="extra_vars" var="extra_vars" /> 다음 라인에
   26        

<column name="expiredate" var="expiredate" />

추가

 

5. modules/member/queries/updateMember.xml

   21        <column name="extra_vars" var="extra_vars" /> 다음 라인에
   22       

<column name="expiredate" var="expiredate" />

추가

 

6. modules/member/schemas/member.xml

  16         <column name="limit_date" type="date" /> 다음 라인에
  17         

<column name="expiredate" var="expiredate" />

추가

7. modules/member/skins/default/member_info.html
  60    <!--@if($member_info->member_srl==

$logged_info->member_srl | |$

logged_info->is_admin == 'Y' )-->
  61    <tr>
  62        <th><div>{

$lang->last_login></div></th> 63 <td>{zdata($

member_info->last_login,"Y-m-d H:i")}</td>
  64    </tr> 다음라인에
  65   

<!-- 만기일 수정 -->

  66   

<tr>

  67       

<th scope="row">{$lang->expiredate}</th>

  68       

<td>{zdate($member_info->expiredate,"Y-m-d")}</td>

  69   

</tr> 추가

  70    <!--@end-->

 

8. modules/member/tpl/filter/insert.xml

   26        <param name="limit_date" target="limit_date" /> 다음 라인에
   27       

<param name="expiredate" target="expiredate" />

추가

9. modules/member/tpl/filter/update_member.xml

   24        <param name="limit_date" target="limit_date" /> 다음 라인에
   25       

<param name="expiredate" target="expiredate" />

추가

 

10. modules/member/tpl/insert_member.html
   113    <tr>
   114        <th scope="row"><div>{

$lang->limit_data}</div></th> 115 <td> 116 <input type="hidden"name="limit_date" id="date_limit_date" value="{$

member_info->limit_date}" />
   117            <input type="text" class="inputDate" value="{zdate($member_info->limit_date,'Y-m-d')}" readonly="readonly" />   118            <p class="clear">{$lang->about_limit_date}</p>
   119        </td>
   120    </tr> 다음 라인에
   121   

<tr>

   122       

<th scope="row"><div>{$lang->expiredate}</div></th>

   123       

<td>

   124           

<input type="hidden" name="expiredate" id="date_expiredate" value="{$member_info->expiredate}" />


   125           

<input type="text" class="inputDate" value="{zdate($member_info->expiredate,'Y-m-d')}" readonly="readonly" />

   126           

<p class="clear">{$lang->about_expiredate}</p>

   127       

</td>

   128   

</tr>

 

11. modules/member/tpl/member_info.html
   125<tr>
   126    <th scope="row"><div>{$lang->limit_date}</div></th>
   127    <td>
   128        <!--@if($member_info->limit_date)-->
   129            {zdate($member_info->limit_date,"Y-m-d H:i")}
   130        <!--@end-->
   131        &nbsp;
   132    </td>
   133</tr> 다음 라인에
   134

<tr>

   135   

<th scope="row">{$lang->expiredate}</th>

   136   

<td>

   137       

<

!--@if($member_info->expiredate

)-->

   138           

{zdate($member_info->expiredate,"Y-m-d")}

   139       

<

!--@end

-->

   140   

</td>

   141

</tr>

 

12. modules/member/tpl/member_list.html
   48            <th scope="col" class="quarter_wide"><div>{$lang->signup_date}</div></th> 다음 라인에
   49           

<th scope="col" class="quarter_wide"><div>{$lang->expiredate}</div></th>

추가

   63            <td>{zdate($val->regdate,"Y-m-d H:i:s")}</td> 다음 라인에
   64           

<td>{zdate($val->expiredate,"Y-m-d")}</td>

추가

 

13. modules/member/member.admin.controller.php
   21            $args = Context::gets('member_srl','user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing','allow_message','denied','is_admin','description','group_srl_list','limit_date'

,'expiredate'

);

 

14. modules/member/member.controller.php

   517            // 필수 정보들을 미리 추출
   518            $args = Context::gets('user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing'

,'expiredate'

);

 

   1355            // denied_date가 현 시간보다 적으면 알림
   1356            if($member_info->limit_date && substr($member_info->limit_date,0,8) >= date("Ymd")) return new Object(-1,sprintf(Context::getLang('msg_user_limited'),zdate($member_info->limit_date,"Y-m-d"))); 다음 라인에
   1357
   1358           

// expiredate 가 현 시간보다 적으면 특정회원 그룹 삭제 By RoK.KIM

   1359           

if(

$member_info->expiredate && $

member_info->expiredate < date("Ymd")) {


   1360               

$rok_args->member_srl = $member_info->member_srl;

   1361
   1362               

//TEST 1.관리회원,2.준회원,3.정회원,3620(회원A)~3629(회원J).

   1363               

for($ii=3620;$ii<=3629;$ii++)

   1364               

{

   1365                 

$rok_args->group_srl = $ii;

   1366                 

$output = executeQuery('member.deleteMemberGroupMember',$rok_args);

   1367               

}


   1368                
   1369               

if(!$output->toBool()) return $output;


   1370          

}

추가

 

참고 자료 : 까오천사, XE 팁,http://www.xpressengine.com/15991602

 

회원에게 만기일 주기(1원짜리 팁) - 웹마스터 팁 - XpressEngine

회원에게 만기일을주어서 만기일이 지나면 권한을 회수(그룹에서 제외)하는 소스입니다.워낙 허접한 실력으로 만든거기 때문에 오류가 발생할 수 있습니다.꼭 필요하신분만 해주시기 바랍니다

xe1.xpressengine.com

 

 

만기일.zip
다운로드

원본 코드 및 수정 코드

728x90
반응형

댓글