테스트 사이트 - 개발 중인 베타 버전입니다

게시판 지정한 날짜 초과 시 읽기 제한

· 1년 전 · 891 · 8
게시글읽기제한.png

978180634_1722920213.3028.gif

 

sir 과 동일한 기능을 구현하였습니다.

https://sir.kr/request

 

게시판을 보면, 15일이 지난 게시글에 한해, 더 이상 읽을 수 없고 취소선을 표현합니다.

extend 를 활용하여, 구현 하였으며, 스킨 코드를 일부 추가 해주셔야 합니다.

 

1. 설치

- 다운로드 파일을 extend 폴더에 넣는다 끝

 

1-1 추가 코드 작성

- 내가 원하는 게시판 스킨(board/gallery 구분X) 내 list.skin.php / view.skin.php 파일 두개를 수정해야 합니다.

 

1-2 view.skin.php 파일

6번 라인 다음에 ... 해당 코드를 넣어주세요

[code]

checkDateExpiration($write, $board, $board_skin_path, $bo_table);

[/code]

 

1-3 list.skin.php 파일 

127번 라인 쯤 다음 코드를 찾아 수정해주세요

[code]

<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;' : '' ?>">

 

[/code]

 

이렇게 해주시면 됩니다.

 

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번 함수를 다음과 같이 수정 해주세요

[code]

 

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;

}

[/code]

 

 

고맙습니다.

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 8개

1년 전

추천 합니다.

감사합니다.

1년 전

감사합니다 ^^

감사합니다

문의드립니다.

admin 운영자는 15일 지나도 볼 수 있게 하고 싶은데

가능할까요? 감사합니다.

extend/check_date_expiration.extend.php 파일 여셔서 아래 이미지 대로 빨간색을 추가해주세요 (두군데)

 

본문도 수정 완료 하였습니다,.

 

1년 전

감사합니다.^^

반대로 이 기능을 적용할 게시판을 지정하게 하려면 어떻게 하면 되는지요?

감사합니다