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

스킨/delete.skin.php 를 활용하기

· 19년 전 · 4035 · 2
아래의 설명은 제가 스킨을 이용하여 여러가지 기능을 추가하면서
스킨/delete.skin.php 를 사용하게 해두었지만 사용할수없는 문제가
발생하여 혹시나 제경우와 같은 분이 계실지 몰라서 올려봅니다.


G4에서 글삭제시 사용자 스킨을 로드하는 위치의 문제점

원인:
글삭제 실행 과정에서 사용자지정 (추가부분) 코드를 사용못함

글삭제시 사용자 옵션을 사용하게 해두었지만 사용자 스킨을 로드하는
위치가 아래처럼 되어서 무용지물이 되버립니다.

삭제명령 > 검사단계 > 삭제실행 > 사용자옵션 스킨로드

이렇게 되다보니 사용자가 특수한 기능을 사용하기 위해서 글삭제시
추가하는 검사코드를 bbs/delete.php 의 검사 루틴에 포함을 해야만 합니다.


변경
삭제명령 > 검사단계 > 사용자옵션 스킨로드 > 삭제실행

방법은
bbs/delete.php 의 내용중 사용자 스킨을 로드하는 코드를 검사과정이 있는
상단으로 이동 해야만 합니다. 아래의 코드입니다.
// 사용자 코드 실행
@include_once("$board_skin_path/delete.skin.php");


이동할 위치는

배포하는 원본기준 delete.php 의 30행 부근이며 아래처럼 위치하면 됩니다.

// 사용자 코드 실행
@include_once("$board_skin_path/delete.skin.php");

$len = strlen($write[wr_reply]);
if ($len < 0) $len = 0;
$reply = substr($write[wr_reply], 0, $len);

// 원글만 구한다.


이렇게 스킨을 로드하는 위치를 이동한 후부터는 원본은 건드릴 필요가 없이지며
스킨/delete.skin.php 에서 사용자가 추가할 삭제시 검사 코드를 추가해 주면 됩니다.


예제: 스킨/delete.skin.php

// 자신만의 코드를 넣어주세요.
//승인,정지시 작성자는 삭제금지하고 관리자는삭제 가능함
if ($write[wr_7] =="stop") {
if (!($is_admin)) {
alert("이게시물은 관리자에 의해서 권한이 정지 되었으므로 삭제 할수가 없습니다. ");
}
}
if ($write[wr_7] =="yes") {
if (!($is_admin)) {
alert("이게시물은 보존 승인이 되었으므로 삭제 할수가 없습니다. ");
}
}
//승인,정지 검사 끝

댓글 작성

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

로그인하기

댓글 2개

이문제 외에도 이곳 자유게시판에 언급한 내용처럼 비슷한 부분이 있더군요.
일단 제가 생각하고 있는 방법대로 추진해볼 생각이며 관심 있으신분은...
http://avaschool.net/web/sub_data/tb.php/forum/135
bbs/board.php 관련 추가 문제 하나 보고합니다.

그룹 접근사용 관련 코드 "if ($group[gr_use_access])" 부분의 체크 위치도 검토가 필요할것 같습니다.
>> 접근사용 그룹이라도 소속되지않은 일반 회원이 그룹내 게시판 아이디로 접근시 목록이 보여지는 문제가 있습니다.

개인적으로 최신 원본 기준으로 관련 코드를 31열로 이동시켜서 사용하고 있답니다.

게시글 목록

번호 제목
1989
1986
1980
1969
1966
1957
1943
1937
1930
1907
1906
1889
1887
1886
1881
1856
1843
1839
1809
1800