웹마스터 팁
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요.
2009.08.27 12:57
빨간색 글씨가 추가 혹은 수정된 부분입니다.
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>{zdate($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_date}</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
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
댓글 15
-
불바람
2009.08.27 18:53
-
도파
2009.08.27 19:21
까오천사님의 공이 더 크죠.. ㅎㅎ
-
도파
2009.08.30 18:42
이 기능을 모듈이나 애드온 형태로 만들 수 있으면 좋겠는데..
실력이 미천하지만 도전할 수 있도록 조언 좀 해주세요~~~
-
주용덕
2009.08.30 21:17
너무 기다리고 있었습니다.
말씀하신것처럼 모듈이나 애드온형태면 진짜 좋겠는데요
위 처럼 파일들을 수정해서 쓰다가 xe 새로론 버젼을 업그래이드하면 파일들을 다시 수정해서 써야 되는지요?
미안 합니다 제로보드는 수년째 쓰고 있지만 늦깍이 초보라서....
-
도파
2009.08.30 21:31
현 상황에서는 업그레이드 시에 해당 코드 중에 변경된 것이 있다면 수정을 해 주어야 합니다.
-
신기루418
2010.01.29 18:55
이거..준회원,정회원,특별회원 그룹에 모두 가입되 있을경우 그룹별 만기일 지정이 가능한가요?
-
도파
2010.03.13 00:29
가능합니다. 하지만 코드를 추가해야 할 것 같네요.
-
promise262
2010.03.10 00:49
우선먼저 노고에 감사드리면서....
각각의 게시판에 각각의 회원 그룹을 지정하고
게시판별로 만기일을 지정하고 싶습니다.
각 그룹별로 만기일을 지정할 수 있는지요?
-
도파
2010.03.13 00:30
가능합니다. 하지만 코드를 추가해야 할 것 같네요.
-
도파
2010.03.13 00:31
현재 1.4.0.9에서도 잘 쓰고 있습니다. 참고하세요.
-
띵띵콩
2010.03.19 19:47
안녕하세요. 님께서 올려주신 파일받아 설치했는데요.
만기일을 적용하려고 하려니깐 위 이미지처럼 이상한 메시지가 뜹니다.
-
도파
2010.04.15 00:23
먼저 체크 파랍니다.
1. db에 필드가 생성되어 있지지 확인바랍니다.(1번 항목 관련)
2. group srl 값이 적용웹에서 사용하고 있는 것으로 변경을 하셨는지 확인바랍니다.(14번 항목 관련)
추가 질문은 제 개인 블로그(http://mwave.textcube.com)에 남겨주세요.
-
으니V
2010.06.18 14:38
안녕하세요~ 제가 지금 수정하는 것과 님이 수정하신 것이 비슷해서 조언을 받을까하고 질문 올립니다.
현재 전 member테이블에 컬럼(emp_no)을 하나 추가해서 회원정보를 좀 더 받으려고 하는데요
관리자 페이지> 회원정보에서 제가 추가한 컬럼에 값을 넣고 등록을 하면 DB의 emp_no 컬럼에 값이 들어가질 않고
extra_vars에 아래와 같이 값이 저장됩니다.
O:8:"stdClass":3:{s:4:"body";s:0:"";s:7:"_filter";s:6:"insert";s:6:"emp_no";s:7:"1760501";
member/tpl/filter/insert.xml
update_member.xml
member/queries/insertMember.xml
updateMember.xml
member/schemas/member.xml
에 모두 제가 추가한 컬럼을 추가했습니다.
도대체 왜 그런 것일까요?? 조언을 부탁드리겠습니다.^^;;
-
^ ^)//
2010.11.03 14:28
우와..이런 팁이 있었군요..감사합니다.
지금 막 적용했는데...회원별로 expiredate주어지는 건 따로 각자 짜야 되느거죠?
아니면 툴이 있나요?
-
^ ^)//
2010.11.03 14:30
앗..그런데 이거 수정하고선..아래 오류가 뜨네요..
-dispMemberInfo-
Parse error: syntax error, unexpected ',' in /home/hosting_users/lanaschool/www/xe/classes/template/TemplateHandler.class.php(515) : eval()'d code on line 73
버젼이 1.4.1.1인데 그래서 나는 걸까요?
제목 | 글쓴이 | 날짜 |
---|---|---|
주소록 구현 (외부 페이지) [17] | CSLab | 2008.09.15 |
● 탈퇴버튼 없애기 - - ; [4] | Eris | 2008.09.23 |
[권한이 없습니다] 권한에 따른 다른 메시지 출력하기 [10] [1] | 반도체맨 | 2008.10.03 |
제로보드XE가입 -> 트랙자동가입 기능 | 개돌 | 2008.10.14 |
회원 관리 리스트에 생일/설명/활동량 추가하기
[16]
![]() | 老姜君 | 2008.11.21 |
[초간단]회원팝업메뉴에 메뉴넣기 [1] | Pw-NET | 2008.11.30 |
회원정보 이미지 항목 추가 [3] | 개돌 | 2008.12.22 |
회원약관 추가
[7]
![]() | 애치티 | 2009.01.15 |
관리자 여러명 만들기 팁
[1]
![]() | 만쓰별(정만) | 2009.02.03 |
주민등록번호 입력 폼 추가 (1.1.5 기준) [39] | 개돌 | 2009.02.16 |
테스트용 아이디 탈퇴 막기 [1] | SMaker | 2009.02.26 |
제로보드의 아이콘을 내 맘대로 변경하기...(1)
[3]
![]() | winter548 | 2009.03.23 |
제로보드의 아이콘을 내 맘대로 변경하기...(2)
[2]
![]() | winter548 | 2009.03.23 |
클릭마다 조회수 올리기 [1.4.0]
[12]
![]() | 지B | 2009.04.04 |
주민등록 입력 폼 1.2.0
[55]
![]() | 개돌 | 2009.04.10 |
별도 페이지 로그인방법 | cornet | 2009.05.21 |
로그인 페이지 만드는 방법 [5] | 산토 | 2009.06.12 |
확장변수에 회원정보를 넣어보자
[10]
![]() | 개돌 | 2009.06.30 |
회원정보 손쉽게 엑셀 파일로 저장하기 [34] | thejeon | 2009.08.05 |
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요.
[15]
![]() | 도파 | 2009.08.27 |
와~우!!!
정말 감사합니다.
저 한테는 정말 최고의 팁입니다.