코어 수정 없이 공통 스킨 플러그인 추가하기
먼저 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 | ||
| 2394 | 1년 전 | 5051 | ||
| 2393 |
|
1년 전 | 1701 | |
| 2392 |
|
1년 전 | 1360 | |
| 2391 |
|
1년 전 | 1142 | |
| 2390 |
|
1년 전 | 1198 | |
| 2389 | 1년 전 | 1781 | ||
| 2388 | 1년 전 | 1330 | ||
| 2387 | 1년 전 | 1312 | ||
| 2386 |
투명한열정
|
1년 전 | 3075 | |
| 2385 |
|
1년 전 | 2348 | |
| 2384 | 1년 전 | 1670 | ||
| 2383 | 1년 전 | 1807 | ||
| 2382 | 1년 전 | 1456 | ||
| 2381 |
|
1년 전 | 1874 | |
| 2380 | 1년 전 | 1044 | ||
| 2379 | 1년 전 | 1385 | ||
| 2378 | 1년 전 | 919 | ||
| 2377 | 1년 전 | 2999 | ||
| 2376 | 1년 전 | 1565 | ||
| 2375 | 1년 전 | 1737 | ||
| 2374 |
네이비스택
|
1년 전 | 1118 | |
| 2373 | 1년 전 | 1550 | ||
| 2372 | 1년 전 | 1472 | ||
| 2371 |
goodman148
|
1년 전 | 2112 | |
| 2370 | 1년 전 | 1521 | ||
| 2369 |
|
1년 전 | 1035 | |
| 2368 | 1년 전 | 1838 | ||
| 2367 | 1년 전 | 1357 | ||
| 2366 |
|
1년 전 | 1214 | |
| 2365 | 1년 전 | 2146 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기