코어 수정 없이 공통 스킨 플러그인 추가하기 정보
코어 수정 없이 공통 스킨 플러그인 추가하기- KeepItSimpleStyle 자기소개 아이디로 검색 회원게시물
- 5,288
본문
먼저 extend 디렉토리에 아래 내용으로 파일을 만듭니다. EX) 00-skin-wrapper.php
그리고 G5_PLUGIN_PATH에 skin-boardWrapper를 만들고 그누보드5 게시판에서 공통으로 include하는 파일들을 만듭니다. 목록은 아래와 같습니다.
delete_all.head.skin.php
delete_all.skin.php
delete_all.tail.skin.php
delete_comment.head.skin.php
delete_comment.skin.php
delete_comment.tail.skin.php
delete.head.skin.php
delete.skin.php
delete.tail.skin.php
download.head.skin.php
download.skin.php
download.tail.skin.php
good.head.skin.php
good.tail.skin.php
list.skin.php
view_comment.head.skin.php
view_comment.skin.php
view_comment.tail.skin.php
view.head.skin.php
view.skin.php
view.tail.skin.php
write_comment_update.head.skin.php
write_comment_update.skin.php
write_comment_update.tail.skin.php
write.head.skin.php
write.skin.php
write.tail.skin.php
write_update.head.skin.php
write_update.skin.php
write_update.tail.skin.php
공통 내용은 다음과 같습니다.
이제 어떤 스킨을 사용하던 코어나 다른 스킨을 직접 수정하지 않아도 원하는 내용을 추가 할 수 있습니다.
이제 관리자만 파일 다운로드 할 수 있게 하는 스킨을 추가 해 봅시다.
1. extend 디렉토리에 10-skin-dnLimit.php 파일을 작성합니다. 내용은 다음과 같습니다.
2. G5_PLUGIN_PATH에 skin-dnLimit 디렉토리를 만들고 download.head.skin.php 파일을 작성합니다. 내용은 다음과 같습니다.
이제 어떤 스킨을 사용하던 관리자만 파일을 받을 수 있습니다.
$_SET['SKIN_BOARD_WRAPPER'] = G5_PLUGIN_PATH . "/skin-boardWrapper";
if (!file_exists($_SET['SKIN_BOARD_WRAPPER'])) {
return;
}
$_SET['SKIN_BOARD_ADDITION_FILES']['TRY'] = [];
$_SET['SKIN_BOARD_ADDITION_FILES']['FINALLY'] = $board_skin_path;
$board_skin_path = $_SET['SKIN_BOARD_WRAPPER'];
그리고 G5_PLUGIN_PATH에 skin-boardWrapper를 만들고 그누보드5 게시판에서 공통으로 include하는 파일들을 만듭니다. 목록은 아래와 같습니다.
delete_all.head.skin.php
delete_all.skin.php
delete_all.tail.skin.php
delete_comment.head.skin.php
delete_comment.skin.php
delete_comment.tail.skin.php
delete.head.skin.php
delete.skin.php
delete.tail.skin.php
download.head.skin.php
download.skin.php
download.tail.skin.php
good.head.skin.php
good.tail.skin.php
list.skin.php
view_comment.head.skin.php
view_comment.skin.php
view_comment.tail.skin.php
view.head.skin.php
view.skin.php
view.tail.skin.php
write_comment_update.head.skin.php
write_comment_update.skin.php
write_comment_update.tail.skin.php
write.head.skin.php
write.skin.php
write.tail.skin.php
write_update.head.skin.php
write_update.skin.php
write_update.tail.skin.php
공통 내용은 다음과 같습니다.
$_FILE_NAME = basename(__FILE__);
foreach ($_SET['SKIN_BOARD_ADDITION_FILES']['TRY'] as $_SKIN_PATH) {
$_FILE_PATH = "{$_SKIN_PATH}/{$_FILE_NAME}";
$_SKIN_URL = G5_PLUGIN_URL . "/" . basename($_SKIN_PATH);
if (file_exists($_FILE_PATH)) {
require_once($_FILE_PATH);
}
}
if (file_exists("{$_SET['SKIN_BOARD_ADDITION_FILES']['FINALLY']}/{$_FILE_NAME}")) {
$board_skin_path = $_SET['SKIN_BOARD_ADDITION_FILES']['FINALLY'];
require_once("{$_SET['SKIN_BOARD_ADDITION_FILES']['FINALLY']}/{$_FILE_NAME}");
$board_skin_path = $_SET['SKIN_BOARD_WRAPPER'];
}
unset($_SKIN_URL);
unset($_SKIN_PATH);
unset($_FILE_PATH);
이제 어떤 스킨을 사용하던 코어나 다른 스킨을 직접 수정하지 않아도 원하는 내용을 추가 할 수 있습니다.
이제 관리자만 파일 다운로드 할 수 있게 하는 스킨을 추가 해 봅시다.
1. extend 디렉토리에 10-skin-dnLimit.php 파일을 작성합니다. 내용은 다음과 같습니다.
$_SET['SKIN_BOARD_ADDITION_FILES']['TRY'][] = G5_PLUGIN_PATH . "/skin-dnLimit";
2. G5_PLUGIN_PATH에 skin-dnLimit 디렉토리를 만들고 download.head.skin.php 파일을 작성합니다. 내용은 다음과 같습니다.
if (empty($is_admin)) {
alert('You are not ADMIN.');
}
이제 어떤 스킨을 사용하던 관리자만 파일을 받을 수 있습니다.
추천
0
0
댓글 1개

감사합니다.