코어 수정 없이 공통 스킨 플러그인 추가하기
먼저 extend 디렉토리에 아래 내용으로 파일을 만듭니다. EX) 00-skin-wrapper.php
[code]
$_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'];
[/code]
그리고 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
공통 내용은 다음과 같습니다.
[code]
$_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);
[/code]
이제 어떤 스킨을 사용하던 코어나 다른 스킨을 직접 수정하지 않아도 원하는 내용을 추가 할 수 있습니다.
이제 관리자만 파일 다운로드 할 수 있게 하는 스킨을 추가 해 봅시다.
1. extend 디렉토리에 10-skin-dnLimit.php 파일을 작성합니다. 내용은 다음과 같습니다.
[code]
$_SET['SKIN_BOARD_ADDITION_FILES']['TRY'][] = G5_PLUGIN_PATH . "/skin-dnLimit";
[/code]
2. G5_PLUGIN_PATH에 skin-dnLimit 디렉토리를 만들고 download.head.skin.php 파일을 작성합니다. 내용은 다음과 같습니다.
[code]
if (empty($is_admin)) {
alert('You are not ADMIN.');
}
[/code]
이제 어떤 스킨을 사용하던 관리자만 파일을 받을 수 있습니다.
[code]
$_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'];
[/code]
그리고 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
공통 내용은 다음과 같습니다.
[code]
$_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);
[/code]
이제 어떤 스킨을 사용하던 코어나 다른 스킨을 직접 수정하지 않아도 원하는 내용을 추가 할 수 있습니다.
이제 관리자만 파일 다운로드 할 수 있게 하는 스킨을 추가 해 봅시다.
1. extend 디렉토리에 10-skin-dnLimit.php 파일을 작성합니다. 내용은 다음과 같습니다.
[code]
$_SET['SKIN_BOARD_ADDITION_FILES']['TRY'][] = G5_PLUGIN_PATH . "/skin-dnLimit";
[/code]
2. G5_PLUGIN_PATH에 skin-dnLimit 디렉토리를 만들고 download.head.skin.php 파일을 작성합니다. 내용은 다음과 같습니다.
[code]
if (empty($is_admin)) {
alert('You are not ADMIN.');
}
[/code]
이제 어떤 스킨을 사용하던 관리자만 파일을 받을 수 있습니다.
댓글 1개
2년 전
감사합니다.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4402 | ||
| 2574 | 10개월 전 | 559 | ||
| 2573 | 10개월 전 | 936 | ||
| 2572 |
두리삼촌v
|
10개월 전 | 606 | |
| 2571 | 10개월 전 | 554 | ||
| 2570 | 10개월 전 | 598 | ||
| 2569 |
두리삼촌v
|
10개월 전 | 635 | |
| 2568 |
두리삼촌v
|
10개월 전 | 665 | |
| 2567 |
두리삼촌v
|
10개월 전 | 459 | |
| 2566 |
두리삼촌v
|
10개월 전 | 441 | |
| 2565 | 10개월 전 | 738 | ||
| 2564 | 10개월 전 | 666 | ||
| 2563 | 10개월 전 | 472 | ||
| 2562 | 10개월 전 | 1028 | ||
| 2561 |
|
10개월 전 | 674 | |
| 2560 | 10개월 전 | 917 | ||
| 2559 | 10개월 전 | 655 | ||
| 2558 |
|
10개월 전 | 503 | |
| 2557 | 10개월 전 | 656 | ||
| 2556 | 10개월 전 | 953 | ||
| 2555 | 11개월 전 | 1334 | ||
| 2554 | 11개월 전 | 750 | ||
| 2553 |
|
11개월 전 | 744 | |
| 2552 | 11개월 전 | 673 | ||
| 2551 | 11개월 전 | 863 | ||
| 2550 | 11개월 전 | 764 | ||
| 2549 |
|
11개월 전 | 716 | |
| 2548 | 11개월 전 | 1028 | ||
| 2547 | 11개월 전 | 669 | ||
| 2546 | 11개월 전 | 1203 | ||
| 2545 | 11개월 전 | 660 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기