코어 수정 없이 공통 스킨 플러그인 추가하기
먼저 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년 전 | 4429 | ||
| 2634 | 6개월 전 | 611 | ||
| 2633 | 6개월 전 | 602 | ||
| 2632 |
|
7개월 전 | 511 | |
| 2631 | 7개월 전 | 572 | ||
| 2630 |
세르반데스
|
7개월 전 | 538 | |
| 2629 | 7개월 전 | 729 | ||
| 2628 | 7개월 전 | 412 | ||
| 2627 | 7개월 전 | 421 | ||
| 2626 |
이슈DEV
|
7개월 전 | 643 | |
| 2625 |
welcome
|
7개월 전 | 648 | |
| 2624 |
이슈DEV
|
7개월 전 | 449 | |
| 2623 | 7개월 전 | 409 | ||
| 2622 | 7개월 전 | 496 | ||
| 2621 | 7개월 전 | 354 | ||
| 2620 |
|
7개월 전 | 370 | |
| 2619 | 7개월 전 | 479 | ||
| 2618 | 7개월 전 | 466 | ||
| 2617 | 7개월 전 | 556 | ||
| 2616 | 8개월 전 | 680 | ||
| 2615 | 8개월 전 | 585 | ||
| 2614 | 8개월 전 | 413 | ||
| 2613 |
바닐라코드
|
8개월 전 | 732 | |
| 2612 | 8개월 전 | 596 | ||
| 2611 | 8개월 전 | 733 | ||
| 2610 | 8개월 전 | 970 | ||
| 2609 | 8개월 전 | 509 | ||
| 2608 | 8개월 전 | 655 | ||
| 2607 | 8개월 전 | 632 | ||
| 2606 | 8개월 전 | 578 | ||
| 2605 | 8개월 전 | 604 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기