개인적인 필요로 제 계정에 제로 보드를 설치한 김에,진입 장벽용 코드도 만들어 봤습니다.
요즘 이곳의 모습은 굳이 이런 코드가 필요없을것 같기도 한데, 필요하다면 사용하세요.
가입 직후 레벨이 10으로 된 상태에서, 일정 기간 (3일) 이 지난후 로그인하면 자동으로 레벨이 5로 바뀌며,화면에 '가입 후 3일이 지나 글쓰기가 가능해짐을 알려드립니다.' 라는 안내문이 나오며 글쓰기가 가능해지는 식으로 동작합니다.
제로 보드와 PHP 에 익숙한 분들은 더 나은 방식으로 구현할수도 있겠지요.
아래는 구체적인 작업 명세입니다.
1. 가입시 기본 레벨을 10으로 바꿔주세요. 게시판의 글쓰기 권한은 지금처럼 5 등급부터 가능하게 해두시면 됩니다.
2. 제로 보드가 설치된 계정의 폴더에서, member_join.php 의 내용 208 번째 줄 뒷 부분에 이런 문구가 보일겁니다.
(영문,숫자,_로만 아이디를 작성하세요.)
괄호안에 글쓰기 제한 안내문을 이런 식으로 넣어주세요.
(영문,숫자,_로만 아이디를 작성하세요. 가입 3일후 글쓰기가 가능합니다.)
3. login_check.php 의 내용을 다음과 같이 수정합니다.
20 번째 줄에 아래 코드가 있습니다.
// 회원 로그인 체크
$result = mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')") or error(mysql_error());
$member_data = mysql_fetch_array($result);
이 밑에 다음 코드를 넣습니다.
// 스피드 범프 코드
$user_level = $member_data[level];
if ($user_level == 10) { // 회원 레벨이 10 일때 경과된 날짜 체크함
$member_reg_date = $member_data[reg_date];
$difference_time = (time() - $member_reg_date);
$speed_bump = 60*60*24*3; // 진입 장벽을 3일로 설정
if ($difference_time > $speed_bump) {
@mysql_query("update $member_table set level='5' where no='$member_data[no]'",$connect) or error(mysql_error());
echo("");
}
}
보시면 알겠지만 60*60*24*3 의 부분에서 마지막 3 이 쓰기 제한하는 날짜의 수입니다.
원하는 수치로 적당히 바꾸세요.
4. 안내 문구 등은 듀나님이 원하는 대로 바꾸시면 됩니다. 실제로 테스트하고 잘 돌아가는걸 확인했지만 코드를 수정해야 한다고 생각하는 분은 말씀해주세요.