웹마스터 팁
까오천사님의 만기일 팁을 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인데 그래서 나는 걸까요?
제목 | 글쓴이 | 날짜 |
---|---|---|
확장변수 한줄입력칸 폭 조정하기 [2] | 아고라 | 2009.09.30 |
팁이라고까지 할껀 없지만.....(db날렸을때..카페24사용시) [3] | 왜만지냐 | 2009.01.06 |
스팸필터 단어 목록 (성인,불륜,화상채팅,만남 등등) [2] | 때린데 또때려 | 2010.11.08 |
큰 파일의 썸네일이 안생기는 경우 해결방법(수정) [12] | 얼터 | 2008.03.15 |
''게시판 설명''에서 <br />에 margin이 먹는 버그 해결법 [1] | 지녁 | 2010.11.03 |
메뉴에 마우스 갖다대면 뜨는 메뉴 만드는 방법 [25] | 소마세월 | 2007.11.07 |
검색조건, 제목+내용 을기본으로 설정하기 [7] | 대암지기 | 2008.01.28 |
모듈 선택기 추가 안되는 에러 해결 : 모둘의 브라우저 제목에서 따옴표 '' 뺏더니 해결 [4] | refree | 2010.04.27 |
IE6~8에서 CSS3속성 사용하기 [1] | SeoSeungHyun | 2010.10.01 |
7일지난 게시물에 덧글달면 포인트 지급 안하기 [2] | 비비디 바비디 부 | 2010.08.12 |
외부페이지 또는 파일링크시 글자깨짐 현상 [1] | 소백산 | 2009.01.31 |
페이지 모듈에서 파일 업로드시 살아지는 현상 [1] | 조슈아킴 | 2010.11.02 |
까오천사님의 만기일 팁을 1.2.4에 맞게 수정했어요. [15] | 도파 | 2009.08.27 |
메뉴목록이 너무 많아 메뉴를 가로 전역에 걸쳐 넣고 싶으십니까? 또는... [3] | 유샤인 | 2010.03.04 |
문서 서식에 관한 정보 [4] | YO-DA | 2010.08.06 |
최근글 - 본문 내용 뽑아내기 [9] | 夜飛 | 2008.05.01 |
스크립트 오류로 고생하시는분 [2] | 니오티 | 2010.06.21 |
랭킹에 순위 넣기! ㅋ~ (꼼수;) | 다케루 | 2007.09.11 |
php폼메일 관련 한번 올려봅니다. 사용하실분들은 수정하셔서 사용해보세요.. [10] | 코리아프럼 | 2008.06.26 |
레이아웃 관리자 페이지 html 에디터창 늘리기+줄이기 [1] | 레드폭스 | 2010.08.25 |
와~우!!!
정말 감사합니다.
저 한테는 정말 최고의 팁입니다.