모아 위키 V1.5 ( moa_wiki_v1.5.zip )
모아 위키 V1.5 ( moa_wiki_v1.5.zip )
* 관리자 페이지에서 (설정)이 저장이 안되는 버그 확인
1) plugin.conf.php (수정)
2) wiki_install.php (수정)
위키관리자에서 ->
1) 설치를 메뉴 누르고
2) 설치 버튼을 누르면
- 누락된 g5_wiki_config 테이블이 생성
3) 설정 메뉴를 누르고
4) 설정을 하면 설정이 잘됩니다.
- 감사합니다. (모아) -





# 그누보드5 위키 플러그인 (Wiki Plugin for Gnuboard5)
> 버전: 1.0.0
> 호환: 그누보드5 (PHP 7.4+, MySQL 5.7+ / MariaDB 10.x+)
---
## 📁 파일 구조
```
/plugin/wiki/
├── plugin.conf.php # 플러그인 메인 설정
├── wiki_install.php # 설치/제거 함수
├── wiki_install.sql # DB 테이블 생성 SQL
├── index.php # 위키 메인 / 문서 보기
├── list.php # 문서 목록
├── write.php # 문서 작성 / 수정
├── history.php # 버전 히스토리 & 롤백
├── search.php # 문서 검색
├── lib/
│ └── wiki.lib.php # 공통 라이브러리 (CRUD, 권한, URL 등)
├── admin/
│ └── index.php # 관리자 설정 페이지
└── skin/
└── default/
├── style.css
├── _sidebar.skin.php
├── main.skin.php # 위키 홈
├── view.skin.php # 문서 보기
├── list.skin.php # 목록
├── write.skin.php # 작성/수정 (SE2 에디터)
├── history.skin.php # 히스토리
└── search.skin.php # 검색
```
---
## 🚀 설치 방법
### 1단계 - 파일 업로드
```
/plugin/wiki/ 폴더 전체를
그누보드5 루트의 /plugin/ 폴더에 업로드
```
### 2단계 - DB 테이블 생성 (택 1)
**방법 A - 관리자 페이지에서 설치** (권장)
```
그누보드5 관리자 → 플러그인 메뉴 → 위키 관리 → "플러그인 설치" 클릭
```
**방법 B - SQL 직접 실행**
```sql
-- phpMyAdmin 또는 MySQL 클라이언트에서 wiki_install.sql 실행
```
**방법 C - PHP에서 직접 실행**
```php
include_once './plugin/wiki/wiki_install.php';
wiki_plugin_install();
```
### 3단계 - 플러그인 설정
```
관리자 → /plugin/wiki/admin/ → 레벨, 스킨, 기능 On/Off 설정
```
### 4단계 - plugin.conf.php 로드
그누보드의 `common.php` 또는 `_common.php`에 아래 추가:
```php
// 위키 플러그인 로드
if (file_exists(G5_PLUGIN_PATH . '/wiki/plugin.conf.php')) {
include_once G5_PLUGIN_PATH . '/wiki/plugin.conf.php';
}
```
---
## 🔗 URL 구조
| 주소 | 설명 |
|------|------|
| `/plugin/wiki/` | 위키 홈 (최근 문서) |
| `/plugin/wiki/list.php` | 전체 문서 목록 |
| `/plugin/wiki/?slug=문서명` | 문서 보기 |
| `/plugin/wiki/write.php` | 새 문서 작성 |
| `/plugin/wiki/write.php?slug=문서명` | 문서 수정 |
| `/plugin/wiki/history.php?slug=문서명` | 버전 히스토리 |
| `/plugin/wiki/search.php?keyword=키워드` | 검색 |
| `/plugin/wiki/admin/` | 관리자 설정 |
---
## ⚙️ 주요 기능
### ✅ 문서 관리
- 문서 생성 / 수정 / 삭제 (소프트 삭제)
- 슬러그 자동 생성 (제목 기반, 중복 자동 처리)
- 스마트에디터2(SE2) 연동
### ✅ 버전 관리 (히스토리)
- 모든 편집 내역을 `g5_wiki_history` 테이블에 저장
- 특정 버전 미리보기
- 원클릭 롤백
### ✅ 카테고리 / 태그
- 관리자에서 카테고리 CRUD
- 태그는 쉼표 구분 자유 입력
- 카테고리/태그별 필터 목록
### ✅ 검색
- 제목 + 본문 풀텍스트 검색
- 검색어 하이라이트 표시
### ✅ 회원 권한 제어 (그누보드 레벨 연동)
| 설정 | 설명 |
|------|------|
| `read_level` | 읽기 최소 레벨 (0 = 누구나) |
| `write_level` | 작성/수정 최소 레벨 |
| `delete_level` | 삭제 최소 레벨 (작성자는 예외) |
---
## 🗄️ DB 테이블
### `g5_wiki` - 문서 테이블
| 컬럼 | 설명 |
|------|------|
| wiki_id | 자동 증가 PK |
| wiki_slug | URL용 고유 슬러그 |
| wiki_title | 제목 |
| wiki_content | 본문 (HTML) |
| wiki_category | 카테고리명 |
| wiki_tags | 태그 (쉼표 구분) |
| wiki_version | 현재 버전 번호 |
| mb_id | 최초 작성자 |
| wiki_status | 1=공개, 0=삭제 |
### `g5_wiki_history` - 버전 히스토리
| 컬럼 | 설명 |
|------|------|
| wh_id | PK |
| wiki_id | 원본 문서 ID |
| wh_version | 버전 번호 |
| mb_id | 편집자 |
| wh_comment | 편집 요약 |
### `g5_wiki_category` - 카테고리
| 컬럼 | 설명 |
|------|------|
| wc_id | PK |
| wc_name | 카테고리명 |
| wc_slug | 슬러그 |
| wc_order | 정렬순서 |
---
## 🎨 스킨 커스터마이징
새 스킨 추가 방법:
```
/plugin/wiki/skin/my_skin/ 폴더 생성 후
default 스킨의 파일들을 복사하여 수정
```
관리자에서 스킨 변경 시 자동으로 목록에 표시됩니다.
---
## 📝 플러그인 제거
```php
include_once './plugin/wiki/wiki_install.php';
wiki_plugin_uninstall(true); // true = 테이블 삭제 포함
```
⚠️ 테이블 삭제 시 모든 데이터가 영구 삭제됩니다.
---
## 💡 추가 개발 가이드
`lib/wiki.lib.php`의 함수들을 외부에서도 호출할 수 있습니다:
```php
// 특정 슬러그 문서 가져오기
$doc = wiki_get_by_slug('내 문서');
// 문서 목록 (카테고리 필터)
$result = wiki_get_list(1, 20, 'PHP팁');
// 문서 생성
wiki_create(['title' => '제목', 'content' => '내용', 'tags' => 'php,wiki']);
```
버전 정보
테스트한 버전
5.6.24
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
그누보드5 플러그인
그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
댓글 2개