웹마스터 팁

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

수정된 파일명
1.modules/member/tpl/filter/insert.xml
2.modules/member/tpl/member_info.html
3.modules/member/tpl/member_list.html
4.modules/member/tpl/insert_member.html
5.modules/member/skins/default/member_info.html
6.modules/member/queries/insertMember.xml
7.modules/member/member.admin.controller.php
8.modules/member/member.controller.php
9.common/lang/ko.lang.php
10.modules/member/lang/ko.lang.php
이상 10개의 파일입니다.

우선 제로보드XE의 member 테이블에 expiredate 필드를 추가 합니다.
ALTER TABLE `xe_member` ADD `expiredate` VARCHAR( 8 ) NULL ;


1.modules/member/tpl/filter/insert.xml 수정하기
26 <param name="limit_date" target="limit_date" /> 다음 라인에
27 <param name="expiredate" target="expiredate" /> 추가

2.modules/member/tpl/member_info.html
124 <tr>
125     <th scope="row">{$lang->limit_date}</th>
126     <td>
127         <!--@if($member_info->limit_date)-->
128             {zdate($member_info->limit_date,"Y-m-d H:i")}
129         <!--@end-->
130     </td>
131 </tr> 다음 라인에
132 <tr>
133     <th scope="row">{$lang->expiredate}</th>
134     <td>
135         <
!--@if($member_info->expiredate)-->
136             {zdate($member_info->expiredate,"Y-m-d")}
137         <
!--@end-->
138     </td>
139 </tr> 132~139라인 추가


3.modules/member/tpl/member_list.html
22         <th scope="col">{$lang->signup_date}</th> 다음 라인에
23         <th scope="col">{$lang->expiredate}</th> 추가
36         <td class="tahoma">{zdate($val->regdate,"Y-m-d")}</td> 다음 라인에
37         <td class="tahoma">{zdate($val->expiredate,"Y-m-d")}</td> 추가

4.modules/member/tpl/insert_member.html
109         <th scope="row">{$lang->limit_date}</th>
110         <td>
111             <input type="hidden" name="limit_date" id="date_limit_date" value="{$member_info->limit_date}" />
112             <div id="str_limit_date" class="inputTypeDate fl" >{zdate($member_info->limit_date,"Y-m-d")}</div>
113             <a  href="#" onclick="open_calendar('+ '+ 'limit_date','{$member_info->limit_date}');return false;" class="button"><span>{
    $lang->cmd_open_calendar}<img src="../../admin/tpl/images/blank.gif" alt="" class="rightCap" /></span></a>
114             <p class="clear">{$lang->about_limit_date}</p>
115         </td>
116     </tr> 다음 라인에
117     <tr>
118         <th scope="row">{$lang->expiredate}</th>
119         <td>
120             <input type="hidden" name="expiredate" id="date_expiredate" value="{$member_info->expiredate}" />
121             <div id="str_expiredate" class="inputTypeDate fl" >{zdate($member_info->expiredate,"Y-m-d")}</div>
122             <a  href="#" onclick="open_calendar('expiredate','{$member_info->expiredate}');return false;" class="button"><span>{
    $lang->cmd_open_calendar}<img src="../../admin/tpl/images/blank.gif" alt="" class="rightCap" /></span></a>
123             <p class="clear">{$lang->about_expiredate}</p>
124         </td>
125     </tr> 추가


5.modules/member/skins/default/member_info.html
65     <tr>
66         <th scope="row">{$lang->last_login}</th>
67         <td>{zdate($member_info->last_login,"Y-m-d H:i")}</td>
68     </tr> 다음 라인에
69     <tr>
70         <th scope="row">{$lang->expiredate}</th>
71         <td>{zdate($member_info->expiredate,"Y-m-d")}</td>
72     </tr> 추가

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

7.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'); 변경

8.modules/member/member.controller.php
683             $args = Context::gets('user_id','user_name','nick_name','homepage','blog','birthday','email_address','password','allow_mailing','allow_message','expiredate')변경

1245             if($member_info->limit_date && $member_info->limit_date >= date("Ymd")) return new Object(-1,sprintf(Context::getLang('msg_user_limited'),zdate($member_info->limit_date,"Y-m-d"))); 다음 라인에
1246
1247             // expiredate 가 현 시간보다 적으면 정회원 그룹 삭제 By RoK.KIM
1248             if($member_info->expiredate && $member_info->expiredate < date("Ymd")) {
1249                 $rok_args->member_srl = $member_info->member_srl;
1250                 $rok_args->group_srl = 3; // 1.관리회원,2.준회원,3.정회원
1251                 $output = executeQuery('member.deleteMemberGroupMember',$rok_args);
1252                 if(!$output->toBool()) return $output;
1253             } 추가

9.common/lang/ko.lang.php
134     $lang->last_login = '최근로그인'; 다음 라인에
135     $lang->expiredate = '만기일'; 추가

10.modules/member/lang/ko.lang.php
182     $lang->about_limit_date = '지정된 일자까지 해당 사용자는 로그인을 할 수 없습니다'; 다음 라인에
183     $lang->about_expiredate = '+ '지정된 일자가 지나면 사용자는 정회원 그룹에서 삭제됩니다'; 추가


다 하시고 관리자 페이지에서 캐쉬 재생성해주셔야 정상적으로 작동됩니다. ^^


제가 2틀동안 고민해서 만들었습니다. 제로보드에 관한 이해가 없어서 많이 수정하기는 힘드네요.
혹시 안되는 부분이 있으시면 리플달아주세요..제가 아는범위에서 답변해 드리겠습니다.

제가 운영하는 사이트는 회원들이 포인트로 정회원 신청을 하면 포인트를 차감하고 정회원 권한을 일자로 줍니다.
제가 정회원을 일일이 체크할수없기 때문에 이렇게 소스를 수정하게 되었습니다.

제목 글쓴이 날짜
(회원정보) 보기 페이지에서 포인트 변경하기 [4] file Simulz 2007.11.28
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] 팔공산 2007.11.27
윈도우 라이브 메신저를 홈페이지 서명난에 달자 [1] file Diver 2007.11.26
배경이미지기능으로 페이지꾸미기 [3] file 팔공산 2007.11.23
XP 환경에서의 속도 저하 문제 해결 (Apache 2.2.X) [2] Netsblue 2007.11.20
(포인트) 레벨별 포인트 계산 기능 추가 [4] file Simulz 2007.11.19
간편해진 페이지 수정법 file coll 2007.11.16
알바트로스 적용후 검색하는 곳에 댓글과 태그 검색 업션 넣기 [1] 비밀얌 2007.11.13
회원에게 만기일 주기(1원짜리 팁) [17] 까오천사 2007.11.12
외부 문서에서 회원 정보 얻는 방법 [11] 소마세월 2007.11.10
제로보드 2.3 에서 2.5 업그레이드 방법 도토리나무 2007.11.09
"이 게시물을..." 추천/비추천/신고 메뉴를 버튼으로 [28] file xe촙5 2007.11.08
완전 초보도 확장 변수를 이용해 게시판 개조할수잇다!! [4] 쿤. 2007.11.06
도메인 연결시에 화면 깨짐/스크롤시 화면 깨짐 간단해결법. [4] file YdoubleU 2007.11.05
제로보드xe 연동 프리하드2 설치방법 [8] hoaopoyoy 2007.11.03
메뉴에 "회원 정보 보기" 걸기. [4] font 2007.11.03
백지화면이 뜰때는~ 하나로45 2007.11.02
apmsetup5를 이용한 zbxe 설치 및 복구 [2] 무도사 2007.11.02
ZBXE용 도쿠위키 연동소스 코드 [7] 베니 2007.10.29
달력으로 게시판 글 검색하기(블로그 말고) [4] file 핑크플로이드 2007.10.27