혹시 이팁에서 기간이 지나면 자동해제되게 할 수 없나요 ? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

혹시 이팁에서 기간이 지나면 자동해제되게 할 수 없나요 ? 정보

혹시 이팁에서 기간이 지나면 자동해제되게 할 수 없나요 ?

본문

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=3893&sca=&sfl=mb_id%2C1&stx=izen

이 팁이 마음에 들어서 .. 사용해 볼려고 하는데 ..

문제는 기간을 정하면 수동으로 또 일일이 그날 되서 변경을 해줘야 하는 약간의 불편함이

있습니다.

즉 기간을 정하고 그 날짜가 지나면 자동으로 해제 되게 하는 방법은 없나요 ? ^^;;

댓글 전체

최대한 스킨을 수정하지 않고 한다면 (원작자의 의도도 있으니 ^^)
코드가 중복되기는 하지만 대충 아래와 같이 하시면 되겠네요. ^^
스킨에서 추가된 부분만 함수로 만드셔도 될듯하구요. ^^
아래처럼 하면 일단 제한/해제에 상관없이 일자로만 체크를 하니까
일자만 제대로 세팅되어 있다면 궂이 제한/해제 부부은 바꾸어 주지
않아도 되겠네요 ^^
생각나는데로 적어서 혹여 버그 또는 더 좋은 방법이 있을수도 있겠습니다.
(리펙토링무시 ^^)


./bbs/write.php 9 라인에 추가
===============================================================================
$nDateTime = mktime(0,0,0,date("m"),date("d"),date("Y")); //오늘일자
$sDateTime = strtotime($member[mb_limit_s]); //시작일자
$eDateTime = strtotime($member[mb_limit_e]); //종료일자
//오늘일자가 기간내이면 제한값(2) 무조건 세팅
if ($nDateTime >= $sDateTime && $nDateTime <= $eDateTime) $member[mb_limit] = '2';

if ($member[mb_limit] == '2'){
  alert("$member[mb_nick]님은 $member[mb_limit_s] 부터 $member[mb_limit_e]까지 사이트 이용이 제한되어 있습니다.");
}
===============================================================================

./bbs/view_comment_update.php 7 라인에 추가
===============================================================================
$nDateTime = mktime(0,0,0,date("m"),date("d"),date("Y")); //오늘일자
$sDateTime = strtotime($member[mb_limit_s]); //시작일자
$eDateTime = strtotime($member[mb_limit_e]); //종료일자
//오늘일자가 기간내이면 제한값(2) 무조건 세팅
if ($nDateTime >= $sDateTime && $nDateTime <= $eDateTime) $member[mb_limit] = '2';

if ($member[mb_limit] == '2'){
  alert("$member[mb_nick]님은 $member[mb_limit_s] 부터 $member[mb_limit_e]까지 사이트 이용이 제한되어 있습니다.");
}
===============================================================================
답변 감사 드립니다 ^^ 근데 알려 주신 사항으로 확인을 해보니 ..
기간이 만료가 되었어도 그대로 나타나는군요 ^^;;

변화가 없네요 기존것이랑 .. ^^
그래요? ^^

지금 테스트 해보니 저는 기간에 맞게 제한/해제 잘되는데요? ^^

혹여 $nDateTime, $sDateTime, $eDateTime 3개의 값이 잘 나오는지 한번 찍어보세요 ^^
답변 감사 합니다.

음 제가 해보니 안되던데요 ^^

값을 찍으면 잘 나옵니다. 즉 그냥 <?=$member[mb_limit_s]?>만 찍어도 날짜가 ..
잘 나옵니다. 관리자에서도
제한 해제는 잘 됩니다. 제가 관리자 모드에서도 제한 걸어 보고 해보고 ..
다시 해제 걸어 보고 해보면 해제 걸어 놓으면 잘 됩니다.
즉 관리자에서 해제 걸어 놓으면 날짜가 남았음에도 메세지가 출력이 안되고 ..
제한 걸어 놓으면 메세지가 뜨구요 ^^
근데 위와 같이 알려 주신 소스로 넣어 놓고 해제를 하지 않았을때 마찬가지로 ..
제한 메세지가 뜨던데요 ^^;;

$nDateTime = mktime(0,0,0,date("m"),date("d"),date("Y")); //오늘일자
$sDateTime = strtotime($member[mb_limit_s]); //시작일자
$eDateTime = strtotime($member[mb_limit_e]); //종료일자
//오늘일자가 기간내이면 제한값(2) 무조건 세팅
if ($nDateTime >= $sDateTime && $nDateTime <= $eDateTime) $member[mb_limit] = '2';

if ($member[mb_limit] == '2'){
  alert("$member[mb_nick]님은 $member[mb_limit_s] 부터 $member[mb_limit_e]까지 사이트 이용이 제한되어 있습니다.");
}

이렇게 상단에 넣어 보니 제재 기간이 분명 어제 날짜로 수정을 하고 .. 해제를 하지 않고 제재로
두웠을때 똑같은 메세지가 뜨더라구여 ^^

근데 보아 하니깐 제재 기간이 지났음에도 .. 만약 제재로 해놓으면 . 메세지가 출력이 되던데 ..
알려주신게 날짜 체크 인거 같은데 맞으신가요 ?

원리자 제재 날짜부터 ~ 제재 날짜까지 검사를 하는건아요 ?

근데 안되더라구요 ^^
if ($nDateTime >= $sDateTime && $nDateTime <= $eDateTime) $member[mb_limit] = '2';

이부분 아래에다가 else $member[mb_limit] = '1'; 를 넣어보세요 ^^

그러면 아래와 같이 되겠죠? ^^

if ($nDateTime >= $sDateTime && $nDateTime <= $eDateTime) $member[mb_limit] = '2';
else $member[mb_limit] = '1';

기간일때만 제한 아닐때는 무조건 해제가 되겠죠 ^^

그러면 세티된 제한/해제값에 상관없이 기간에만 적용 받을수 있을겁니다.

글을 보니 뭘 원하시는지 명확히 알게 되었네요 ^^
전체 86 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT