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

코어 수정 없이 공통 스킨 플러그인 추가하기

· 8년 전 · 5323 · 1
먼저 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]

이제 어떤 스킨을 사용하던 관리자만 파일을 받을 수 있습니다.

댓글 작성

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

로그인하기

댓글 1개

감사합니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168