gnu3호환 관리자페이지 보드간편 추가 정보
gnu3호환 관리자페이지 보드간편 추가
본문
관리자페이지에서 게시판생성시 생성 버튼 누르고 설정해주는 방식이 아닌
리스트란 하단란에 입력만 해줌으로써 처리
자작프로그램의 그누메뉴통환 버젼에 맞게끔 수정된 버젼으로 그죤 그누보드 관리자에 적용시 약간의 소스 수정이 필요합니다.
bbs/admin/boardlist.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
include "./bbs/admin/admin.lib.php";
$menu = "menu020";
// 2005.03.11 카테고리분류,그룹별 게시판보기 추가
$sql_common = " from $cfg[table_board] a ";
if ($is_admin == 'group') {
$sql_common .= " left join $cfg[table_group] b on (b.gr_id = a.gr_id)
left join $cfg[table_member] c on (c.mb_id = b.gr_admin) ";
}
if ($is_admin == 'group') {
$sql_search = " where (c.mb_id = '$member[mb_id]') ";
} else {
$sql_search = " where (1) ";
}
if ($stext) {
$sql_search .= " and ( ";
switch ($sselect) {
default :
$sql_search .= " ($sselect like '%$stext%') ";
break;
}
$sql_search .= " ) ";
}
// 2005.03.11 카테고리분류,그룹별 게시판보기 추가
if ($s_gr_id) $sql_search .= "and (a.gr_id = '$s_gr_id') ";
if (!$ssort) {
$ssort = "a.gr_id, a.bo_table";
$sorder = "asc";
}
$sql_order = " order by $ssort $sorder ";
$sql = " select count(*) $sql_common $sql_order ";
$row = sql_fetch($sql);
$total_count = $row[0];
$rows = $cfg[page_rows];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
$sql_common
$sql_search
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
$listall = "<a href='./?doc=$doc' class=tt>처음</a>";
include "./bbs/admin/head.php";
?>
<?
$arr = get_skin_dir("board", ".");
for ($i=0; $i<count($arr); $i++) {
$skins .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
}
?>
<table width=100% cellpadding=3 cellspacing=1>
<form name=fsearch method=get action='<?="./"?>'>
<input type=hidden name=doc value='<?=$doc?>'>
<tr>
<td width=50% align=left>
<select name=s_gr_id onchange="window.fsearch.submit();">
<option value=''>전체</option>
<?
$gr_list = sql_query(" SELECT * FROM gb_group ORDER BY gr_id asc");
for($i=0;$row=mysql_fetch_array($gr_list);$i++) {
echo "<option value='$row[gr_id]'>".$row[gr_subject]."</option>\n";
}
?>
</select>
<?=$listall?> (게시판수 : <?=nf($total_count)?>개)
</td>
<td width=50% align=right>
<select name=sselect>
<option value='bo_table'>TABLE</option>
<option value='bo_subject'>제목</option>
</select>
<input type=text name=stext class=ib required itemname='검색어' value='<?=$stext?>'>
<input type=image src='bbs/admin/image/btn_search.gif' align=absmiddle></td>
</tr>
</form>
</table>
<table width=100% cellpadding=3 cellspacing=1>
<colgroup width=40>
<colgroup width=70>
<colgroup width=100>
<colgroup width=80>
<colgroup width=170>
<colgroup width=80>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=55>
<tr align=center class=th>
<td><?=subject_sort_link('gr_id')?><span class=tf>그룹ID</span></a></td>
<td><?=subject_sort_link('bo_table')?><span class=tf>TABLE</span></a></td>
<td><?=subject_sort_link('bo_subject')?><span class=tf>제목</span></a></td>
<td><?=subject_sort_link('bo_admin')?><span class=tf>게시판관리자</span></a></td>
<td><?=subject_sort_link('bo_skin')?><span class=tf>스킨폴더</span></a></td>
<td><?=subject_sort_link('bo_1')?><span class=tf>메뉴</span></a></td>
<td title='목록읽기권한'><?=subject_sort_link('bo_list_level')?><span class=tf>목</span></a></td>
<td title='글읽기권한'><?=subject_sort_link('bo_read_level')?><span class=tf>읽</span></a></td>
<td title='글쓰기권한'><?=subject_sort_link('bo_write_level')?><span class=tf>쓰</span></a></td>
<td title='답변글쓰기권한'><?=subject_sort_link('bo_reply_level')?><span class=tf>답</span></a></td>
<td title='코멘트쓰기권한'><?=subject_sort_link('bo_comment_level')?><span class=tf>코</span></a></td>
<td title='업로드권한'><?=subject_sort_link('bo_upload_level')?><span class=tf>업</span></a></td>
<td title='다운로드권한'><?=subject_sort_link('bo_download_level')?><span class=tf>다</span></a></td>
<td title='공지사항쓰기권한'><?=subject_sort_link('bo_notice_level')?><span class=tf>공</span></a></td>
<td title='HTML쓰기권한'><?=subject_sort_link('bo_html_level')?><span class=tf>H</span></a></td>
<td title='링크쓰기권한'><?=subject_sort_link('bo_link_level')?><span class=tf>링</span></a></td>
<td><input type=image src='bbs/admin/image/btn_make.gif' align=absmiddle onclick="location='<?="./?doc=bbs/admin/boardgroupselect.php"?>';"></td>
</tr>
<form name=boardlist method=post action="./?doc=bbs/admin/boardlistupdate.php" autocomplete='off'>
<?
$sql = " SELECT * FROM club_menu
WHERE mu_sort = '0'
ORDER BY mu_id";
$result1 = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result1); $i++) {
$topmenus .= "<option value='$row[mu_id]'>$row[mu_subject]</option>\n";
}
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$s_upd = "<a href='./?doc=bbs/admin/boardform.php&$qstr&w=u&bo_table=$row[bo_table]'><img src='bbs/admin/image/icon_edit.gif' border=0 alt='수정'></a>";
$s_del = "";
if ($is_admin == 'default') {
$s_del = "<a href=\"javascript:del('./?doc=bbs/admin/boarddelete.php&$qstr&bo_table=$row[bo_table]');\"><img src='bbs/admin/image/icon_del.gif' border=0 alt='삭제'></a>";
}
$list = $i%2;
echo "
<tr class='ht list$list' align=center>
<td width=40>$row[gr_id]</td>
<td width=70 align=left><input type=checkbox name=chk_bo_table[] value='$row[bo_table]'>
<a href='./?doc=bbs/gnuboard.php&bo_table=$row[bo_table]' class=tt>$row[bo_table]</a></td>
<td width=100 style='word-break:break-all;'><input type=text name=bo_subject[] value='$row[bo_subject]' size=15></td>
<td width=80><input type=text name=bo_admin[] size=10 value='$row[bo_admin]'></td>
<td width=170>
<select name=bo_skin$i>
$skins
</select>
<script>document.boardlist.bo_skin$i.value='$row[bo_skin]';</script>
</td>
<td>
<select name=bo_1$i>
$topmenus
</select>
<script>document.boardlist.bo_1$i.value='$row[bo_1]';</script>
</td>
<td width=12>$row[bo_list_level]</td>
<td width=12>$row[bo_read_level]</td>
<td width=12>$row[bo_write_level]</td>
<td width=12>$row[bo_reply_level]</td>
<td width=12>$row[bo_comment_level]</td>
<td width=12>$row[bo_upload_level]</td>
<td width=12>$row[bo_download_level]</td>
<td width=12>$row[bo_notice_level]</td>
<td width=12>$row[bo_html_level]</td>
<td width=12>$row[bo_link_level]</td>
<td width=55>$s_upd $s_del</td>
</tr>";
}
if ($i == 0) {
echo "<tr><td colspan='24' align=center height=100 class='content contentbg'>자료가 없습니다.</td></tr>";
}
echo "<tr><td colspan='24' height=2 bgcolor=#98BFE4></td></tr>";
echo "</table>";
$pagelist = get_paging($default[de_write_pages], $page, $total_page, "./?doc=$doc&$qstr&page=");
if ($pagelist) {
echo "<table width=100% cellpadding=3 cellspacing=1><tr><td align=right>$pagelist</td></tr></table>\n";
}
if ($stext) {
echo "<script>document.fsearch.sselect.value = '$sselect';</script>";
}
echo "<table width=100% cellpadding=3 cellspacing=1>";
echo "<tr>";
echo "<td width=50%><a href='javascript:all_checked()'><img src='bbs/admin/image/btn_allcheck.gif' border=0></a>";
echo "<a href='javascript:all_unchecked()'> <img src='bbs/admin/image/btn_alluncheck.gif' border=0></a>";
echo " <input type=image src='bbs/admin/image/btn_allupdate.gif' border=0></td></tr></form></table>\n";
echo "
<script language='javascript'>
function all_checked()
{
var f = document.boardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == 'chk_bo_table[]') {
if(f.elements[i].checked) {
f.elements[i].checked = false;
} else {
f.elements[i].checked = true;
}
}
}
}
function all_unchecked()
{
var f = document.boardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == 'chk_bo_table[]') {
if(f.elements[i].checked) {
f.elements[i].checked = false;
} else {
f.elements[i].checked = false;
}
}
}
}
</script>";
include "./bbs/admin/tail.php";
?>
bbs/admin/boardlistupdte.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
include "./bbs/admin/admin.lib.php";
$menu = "menu020";
for ($i=0; $i<count($_POST[chk_bo_table]); $i++) {
$bo_table = $_POST[chk_bo_table][$i];
$bo_skin = $_POST["bo_skin$i"];
$bo_1 = $_POST["bo_1$i"];
$sql = " UPDATE $cfg[table_board]
SET bo_subject = '{$_POST[bo_subject][$i]}',
bo_skin = '$bo_skin',
bo_admin = '{$_POST[bo_admin][$i]}',
bo_1 = '$bo_1'
WHERE bo_table = '$bo_table' ";
sql_query($sql);
}
gotourl("./?doc=bbs/admin/boardlist.php&$qstr");
?>
리스트란 하단란에 입력만 해줌으로써 처리
자작프로그램의 그누메뉴통환 버젼에 맞게끔 수정된 버젼으로 그죤 그누보드 관리자에 적용시 약간의 소스 수정이 필요합니다.
bbs/admin/boardlist.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
include "./bbs/admin/admin.lib.php";
$menu = "menu020";
// 2005.03.11 카테고리분류,그룹별 게시판보기 추가
$sql_common = " from $cfg[table_board] a ";
if ($is_admin == 'group') {
$sql_common .= " left join $cfg[table_group] b on (b.gr_id = a.gr_id)
left join $cfg[table_member] c on (c.mb_id = b.gr_admin) ";
}
if ($is_admin == 'group') {
$sql_search = " where (c.mb_id = '$member[mb_id]') ";
} else {
$sql_search = " where (1) ";
}
if ($stext) {
$sql_search .= " and ( ";
switch ($sselect) {
default :
$sql_search .= " ($sselect like '%$stext%') ";
break;
}
$sql_search .= " ) ";
}
// 2005.03.11 카테고리분류,그룹별 게시판보기 추가
if ($s_gr_id) $sql_search .= "and (a.gr_id = '$s_gr_id') ";
if (!$ssort) {
$ssort = "a.gr_id, a.bo_table";
$sorder = "asc";
}
$sql_order = " order by $ssort $sorder ";
$sql = " select count(*) $sql_common $sql_order ";
$row = sql_fetch($sql);
$total_count = $row[0];
$rows = $cfg[page_rows];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
$sql_common
$sql_search
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
$listall = "<a href='./?doc=$doc' class=tt>처음</a>";
include "./bbs/admin/head.php";
?>
<?
$arr = get_skin_dir("board", ".");
for ($i=0; $i<count($arr); $i++) {
$skins .= "<option value='$arr[$i]'>$arr[$i]</option>\n";
}
?>
<table width=100% cellpadding=3 cellspacing=1>
<form name=fsearch method=get action='<?="./"?>'>
<input type=hidden name=doc value='<?=$doc?>'>
<tr>
<td width=50% align=left>
<select name=s_gr_id onchange="window.fsearch.submit();">
<option value=''>전체</option>
<?
$gr_list = sql_query(" SELECT * FROM gb_group ORDER BY gr_id asc");
for($i=0;$row=mysql_fetch_array($gr_list);$i++) {
echo "<option value='$row[gr_id]'>".$row[gr_subject]."</option>\n";
}
?>
</select>
<?=$listall?> (게시판수 : <?=nf($total_count)?>개)
</td>
<td width=50% align=right>
<select name=sselect>
<option value='bo_table'>TABLE</option>
<option value='bo_subject'>제목</option>
</select>
<input type=text name=stext class=ib required itemname='검색어' value='<?=$stext?>'>
<input type=image src='bbs/admin/image/btn_search.gif' align=absmiddle></td>
</tr>
</form>
</table>
<table width=100% cellpadding=3 cellspacing=1>
<colgroup width=40>
<colgroup width=70>
<colgroup width=100>
<colgroup width=80>
<colgroup width=170>
<colgroup width=80>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=12>
<colgroup width=55>
<tr align=center class=th>
<td><?=subject_sort_link('gr_id')?><span class=tf>그룹ID</span></a></td>
<td><?=subject_sort_link('bo_table')?><span class=tf>TABLE</span></a></td>
<td><?=subject_sort_link('bo_subject')?><span class=tf>제목</span></a></td>
<td><?=subject_sort_link('bo_admin')?><span class=tf>게시판관리자</span></a></td>
<td><?=subject_sort_link('bo_skin')?><span class=tf>스킨폴더</span></a></td>
<td><?=subject_sort_link('bo_1')?><span class=tf>메뉴</span></a></td>
<td title='목록읽기권한'><?=subject_sort_link('bo_list_level')?><span class=tf>목</span></a></td>
<td title='글읽기권한'><?=subject_sort_link('bo_read_level')?><span class=tf>읽</span></a></td>
<td title='글쓰기권한'><?=subject_sort_link('bo_write_level')?><span class=tf>쓰</span></a></td>
<td title='답변글쓰기권한'><?=subject_sort_link('bo_reply_level')?><span class=tf>답</span></a></td>
<td title='코멘트쓰기권한'><?=subject_sort_link('bo_comment_level')?><span class=tf>코</span></a></td>
<td title='업로드권한'><?=subject_sort_link('bo_upload_level')?><span class=tf>업</span></a></td>
<td title='다운로드권한'><?=subject_sort_link('bo_download_level')?><span class=tf>다</span></a></td>
<td title='공지사항쓰기권한'><?=subject_sort_link('bo_notice_level')?><span class=tf>공</span></a></td>
<td title='HTML쓰기권한'><?=subject_sort_link('bo_html_level')?><span class=tf>H</span></a></td>
<td title='링크쓰기권한'><?=subject_sort_link('bo_link_level')?><span class=tf>링</span></a></td>
<td><input type=image src='bbs/admin/image/btn_make.gif' align=absmiddle onclick="location='<?="./?doc=bbs/admin/boardgroupselect.php"?>';"></td>
</tr>
<form name=boardlist method=post action="./?doc=bbs/admin/boardlistupdate.php" autocomplete='off'>
<?
$sql = " SELECT * FROM club_menu
WHERE mu_sort = '0'
ORDER BY mu_id";
$result1 = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result1); $i++) {
$topmenus .= "<option value='$row[mu_id]'>$row[mu_subject]</option>\n";
}
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$s_upd = "<a href='./?doc=bbs/admin/boardform.php&$qstr&w=u&bo_table=$row[bo_table]'><img src='bbs/admin/image/icon_edit.gif' border=0 alt='수정'></a>";
$s_del = "";
if ($is_admin == 'default') {
$s_del = "<a href=\"javascript:del('./?doc=bbs/admin/boarddelete.php&$qstr&bo_table=$row[bo_table]');\"><img src='bbs/admin/image/icon_del.gif' border=0 alt='삭제'></a>";
}
$list = $i%2;
echo "
<tr class='ht list$list' align=center>
<td width=40>$row[gr_id]</td>
<td width=70 align=left><input type=checkbox name=chk_bo_table[] value='$row[bo_table]'>
<a href='./?doc=bbs/gnuboard.php&bo_table=$row[bo_table]' class=tt>$row[bo_table]</a></td>
<td width=100 style='word-break:break-all;'><input type=text name=bo_subject[] value='$row[bo_subject]' size=15></td>
<td width=80><input type=text name=bo_admin[] size=10 value='$row[bo_admin]'></td>
<td width=170>
<select name=bo_skin$i>
$skins
</select>
<script>document.boardlist.bo_skin$i.value='$row[bo_skin]';</script>
</td>
<td>
<select name=bo_1$i>
$topmenus
</select>
<script>document.boardlist.bo_1$i.value='$row[bo_1]';</script>
</td>
<td width=12>$row[bo_list_level]</td>
<td width=12>$row[bo_read_level]</td>
<td width=12>$row[bo_write_level]</td>
<td width=12>$row[bo_reply_level]</td>
<td width=12>$row[bo_comment_level]</td>
<td width=12>$row[bo_upload_level]</td>
<td width=12>$row[bo_download_level]</td>
<td width=12>$row[bo_notice_level]</td>
<td width=12>$row[bo_html_level]</td>
<td width=12>$row[bo_link_level]</td>
<td width=55>$s_upd $s_del</td>
</tr>";
}
if ($i == 0) {
echo "<tr><td colspan='24' align=center height=100 class='content contentbg'>자료가 없습니다.</td></tr>";
}
echo "<tr><td colspan='24' height=2 bgcolor=#98BFE4></td></tr>";
echo "</table>";
$pagelist = get_paging($default[de_write_pages], $page, $total_page, "./?doc=$doc&$qstr&page=");
if ($pagelist) {
echo "<table width=100% cellpadding=3 cellspacing=1><tr><td align=right>$pagelist</td></tr></table>\n";
}
if ($stext) {
echo "<script>document.fsearch.sselect.value = '$sselect';</script>";
}
echo "<table width=100% cellpadding=3 cellspacing=1>";
echo "<tr>";
echo "<td width=50%><a href='javascript:all_checked()'><img src='bbs/admin/image/btn_allcheck.gif' border=0></a>";
echo "<a href='javascript:all_unchecked()'> <img src='bbs/admin/image/btn_alluncheck.gif' border=0></a>";
echo " <input type=image src='bbs/admin/image/btn_allupdate.gif' border=0></td></tr></form></table>\n";
echo "
<script language='javascript'>
function all_checked()
{
var f = document.boardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == 'chk_bo_table[]') {
if(f.elements[i].checked) {
f.elements[i].checked = false;
} else {
f.elements[i].checked = true;
}
}
}
}
function all_unchecked()
{
var f = document.boardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == 'chk_bo_table[]') {
if(f.elements[i].checked) {
f.elements[i].checked = false;
} else {
f.elements[i].checked = false;
}
}
}
}
</script>";
include "./bbs/admin/tail.php";
?>
bbs/admin/boardlistupdte.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "NONE");
include "./bbs/admin/admin.lib.php";
$menu = "menu020";
for ($i=0; $i<count($_POST[chk_bo_table]); $i++) {
$bo_table = $_POST[chk_bo_table][$i];
$bo_skin = $_POST["bo_skin$i"];
$bo_1 = $_POST["bo_1$i"];
$sql = " UPDATE $cfg[table_board]
SET bo_subject = '{$_POST[bo_subject][$i]}',
bo_skin = '$bo_skin',
bo_admin = '{$_POST[bo_admin][$i]}',
bo_1 = '$bo_1'
WHERE bo_table = '$bo_table' ";
sql_query($sql);
}
gotourl("./?doc=bbs/admin/boardlist.php&$qstr");
?>
추천
0
0
댓글 전체
캬~ 이거 상당히 편리해보이네요^^
boardlist.php 한개만 수정하면 되는건가요? 복사&붙여넣기 하면 되죠?
boardlist.php 한개만 수정하면 되는건가요? 복사&붙여넣기 하면 되죠?