[팬텀디자인] 게시판 여분필드 플러그인 정보
게시판 [팬텀디자인] 게시판 여분필드 플러그인관련링크
첨부파일
테스트한 버전5.5
호환 가능 버전5.4 이상
본문
그누보드를 이용하면서 여분필드로 고생을 하셨던 경험, 한번 쯤 있으시죠?
힘들게 여분필드를 추가해놨는데 게시글 작성이 안되고, 게시글을 작성해놓고 복사나 이동을 했더니 이동이 안되었던 기억들..
이제 여분필드 고민 끝! 여러분의 편의성을 위해 팬텀디자인이 준비한 선물입니다.
기능
1. 기존 여분필드를 추가하기 위해서는 별도로 SQL을 작성해 여분필드를 추가해준 뒤, 게시글 업데이트 분기점에 따라 추가된 여분필드에 대한 코드를 추가해주어야 했습니다. 해당 부분을 관리자단에서 손쉽게 추가할 수 있게 제작하였습니다.
2. 여분필드는 추가한다고 끝이 아닙니다. update, move, copy 3가지의 기능을 별도 코드 추가 없이 이용할 수 있게 제작하였습니다.
주의사항
- HOOK 기능을 이용하여 제작되었기 때문에, 그누보드 5.4 이상의 HOOK 기능이 작동되는 환경에서만 정상작동 합니다.
설치방법
- 압축을 해제 한 뒤, 나오는 파일을 루트폴더에 올려주세요.
추천
27
27
댓글 전체
추가 필드~ 선추
오 멋집니다 감사합니다
감사합니다!!!!
와우~ 멋지네요 공개 감사합니다.
감사합니다
감사 합니다. (free 여분필드가 10개인데 시작번호 231이 나오네요.)
파일로 저장 후 require 하세요.
<?php
$tls = $row['bo_table'];
$sql = " select bo_table, bo_subject from $g5[board_table] order by gr_id, bo_table ";
$res = sql_query($sql);
for ($ii = 0; $row = sql_fetch_array($res); $ii++) {
$query = "SHOW COLUMNS FROM " . G5_TABLE_PREFIX . "write_{$tls} LIKE 'wr_%'";
$result2 = sql_query($query);
$max_column_num = 0;
$max_column_name = '';
while ($column = sql_fetch_array($result2)) {
$column_name = $column['Field'];
$column_num = preg_replace('/[^0-9]/', '', $column_name);
if ($column_num > $max_column_num) {
$max_column_num = $column_num;
$max_column_name = $column_name;
}
}
$wr_last_num = explode("wr_", $max_column_name)[1];
for ($k = 1; $k <= $wr_last_num; $k++) {
if (!$w) {
$qq = sql_fetch("SHOW COLUMNS FROM " . G5_TABLE_PREFIX . "write_$tls LIKE 'wr_{$k}'");
if ($qq) {
$rr = explode("wr_", "wr_{$k}")[1];
}
}
}
if ($nbs < $rr) {
$nbs = $rr;
}
}
echo $rr;
파일로 저장 후 require 하세요.
고생한 1인으로써 강강강추
감사합니다.
공유 감사드립니다. 저 같은 초보들에게 큰 힘이 됩니다 ^^
유용하네요 감사합니다.
감사합니다.
좋은 프로그램 감사합니다.
다른 db에 같은 테이블명이 있을 경우 중복검색이 되네요
phantom.menu.php 파일
TABLE_SCHEMA = '".G5_MYSQL_DB."' AND 를 추가하면 해당 db만 검색
function wr_c($bo_table) {
$arr = array();
$ctrs = sql_query("select column_name from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '".G5_MYSQL_DB."' AND table_name = 'g5_write_{$bo_table}' ");
다른 db에 같은 테이블명이 있을 경우 중복검색이 되네요
phantom.menu.php 파일
TABLE_SCHEMA = '".G5_MYSQL_DB."' AND 를 추가하면 해당 db만 검색
function wr_c($bo_table) {
$arr = array();
$ctrs = sql_query("select column_name from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '".G5_MYSQL_DB."' AND table_name = 'g5_write_{$bo_table}' ");
한 수 배웁니다. 감사 드립니다.
별 말씀을. 둘레아빠님 댓글 보고 제가 많이 배우고 있습니다.
삭제 코드입니다.
while ($row = sql_fetch_array($result)) {
$write_table = $g5['write_prefix'] . $bo_table[$a]; // 게시판 테이블명
for ($k = $wr_start[$a] - 1; $k >= $wr_end[$a]; $k--) {
$cols = sql_fetch("SHOW COLUMNS FROM {$write_table} LIKE 'wr_{$k}'");
if (isset($cols)) {
sql_query("ALTER TABLE `{$write_table}` DROP COLUMN `wr_{$k}`");
} else {
alert('해당 여분필드(wr_'.$k.')가 존재하지 않습니다.');
return;
}
}
}
alert('여분필드를 삭제했습니다.');
윗분들 덕분에 완성도가 올라가네요 감사합니니다.^^
공유감사합니다. 파일을 해당 폴더에 업로드하고 실행하면 현재여분필드갯수 0 시작번호는 1기본여분필드수가 10개인데 새로고침해도 계속 이렇게 나오네요.. 필드 추가도 안되는데 어떡해 하면 사용할 수 있을까요?
안녕하세요. 그누보드 버전이 hook 사용이 가능한 5.4 버전 이상이 맞으실까요?
네 5.5.8.3 입니다. php 7.4, mysql 8.0 입니다.