게시판 지정한 날짜 초과 시 읽기 제한 정보
게시판 지정한 날짜 초과 시 읽기 제한첨부파일
본문
sir 과 동일한 기능을 구현하였습니다.
게시판을 보면, 15일이 지난 게시글에 한해, 더 이상 읽을 수 없고 취소선을 표현합니다.
extend 를 활용하여, 구현 하였으며, 스킨 코드를 일부 추가 해주셔야 합니다.
1. 설치
- 다운로드 파일을 extend 폴더에 넣는다 끝
1-1 추가 코드 작성
- 내가 원하는 게시판 스킨(board/gallery 구분X) 내 list.skin.php / view.skin.php 파일 두개를 수정해야 합니다.
1-2 view.skin.php 파일
6번 라인 다음에 ... 해당 코드를 넣어주세요
checkDateExpiration($write, $board, $board_skin_path, $bo_table);
끝
1-3 list.skin.php 파일
127번 라인 쯤 다음 코드를 찾아 수정해주세요
<div class="bo_tit">
<a href="<?php echo $list[$i]['href'] ?>"
위 코드 찾아 a 태그를 수정 합니다.
<a href="<?php echo $list[$i]['href'] ?>" style="<?php echo checkDateExpiration($list[$i], $board, $board_skin_path, $bo_table, true) ? 'text-decoration: line-through;' : '' ?>">
이렇게 해주시면 됩니다.
2. 기능 안내
- extend/check_date_expiration.extend.php 파일을 열면 관련 내용에 대한 주석이 있으니 해당 내용 참고하실 수 있습니다.
- 기본적으로 공지사항은 예외 처리 되어 날짜를 설정하였더라도 공지사항은 볼 수 있습니다.
- 제외할 게시판을 설정 할 수 있습니다.
- 날짜를 지정할 수 있습니다 (기본15일)
3. 테스트 주소는 https://sir.kr/request 여기 가시면 됩니다^^;;
4. php8에서도 정상 동작 확인하였습니다.
[2024.08.12]
관리자는 읽기 제한을 무시하고 싶다면
extend/check_date_expiration.extend.php 파일을 여신다음 35번 함수를 다음과 같이 수정 해주세요
function isExpired($view_data, $board_notice, $bo_table, $expriation_day, $array_table) {
global $is_admin;
if (!isset($view_data['wr_id'])) return false;
$is_notice = in_array($view_data['wr_id'], $board_notice);
$expiration_date = isset($view_data['wr_datetime']) ? date('Y-m-d H:i:s', strtotime('+' . $expriation_day . ' day', strtotime($view_data['wr_datetime']))) : null;
$current_date = date('Y-m-d H:i:s');
$is_expired = $expiration_date !== null && $current_date > $expiration_date;
return $is_expired && !$is_notice && !in_array($bo_table, $array_table) && !$is_admin;
}
고맙습니다.
!-->!-->!-->
5
댓글 전체
추천 합니다.
감사합니다.
감사합니다 ^^
감사합니다
문의드립니다.
admin 운영자는 15일 지나도 볼 수 있게 하고 싶은데
가능할까요? 감사합니다.
감사합니다.^^