게시판관리에서 게시판 미리보기 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

게시판관리에서 게시판 미리보기 정보

게시판관리에서 게시판 미리보기

본문

게시판관리의 게시판리스트에서 좌측의 게시판 아이디를 클릭하면 일반페이지로 전환되는데, 
이것을 관리자페이지의 게시판관리에서 미리보기 할수있게 합니다.

게시판 여러개를 수정할경우에 조금은 더 편리하더군요..^^

그누보드의 소스를 적당히 짜집기했습니다..



◆ 사용방법 ◆

1. 아래의 소스를 적당한 파일이름으로(예: admin_board.php ) adm 폴더에 저장합니다.
2. board_list.php 파일의 167번라인

    echo "<td rowspan=2><a href='$g4[bbs_path]/board.php?bo_table=$row[bo_table]'><b>$row[bo_table]</b></a></td>";

이부분을

    echo "<td rowspan=2><a href='$g4[admin_path]/admin_board.php?bo_table=$row[bo_table]'title='미리보기'><b>$row[bo_table]</b></a></td>";

이 소스로 대체합니다.
소스중 admin_board.php 는 저장하신 파일명으로 맞춰주세요....^^


◆ 필요한 소스 ◆ 

<?
$sub_menu = "300100";
include_once("./_common.php");

auth_check($auth[$sub_menu], "r");

if ($is_admin != "super")
    alert("최고관리자만 접근 가능합니다.");

$g4['title'] = "$title";
include_once ("./admin.head.php");

if (!$board[bo_table])
{
    if ($cwin) // 코멘트 보기
      alert_close("존재하지 않는 게시판입니다.", $g4[path]);
    else
      alert("존재하지 않는 게시판입니다.", $g4[path]);
}

if ($write[wr_is_comment]) 
{
    /*
    if ($cwin) // 코멘트 보기
        alert_close("코멘트는 상세보기 하실 수 없습니다.");
    else
        alert("코멘트는 상세보기 하실 수 없습니다.");
    */
    goto_url("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$write[wr_parent]#c_{$wr_id}");
}

if (!$bo_table) 
{
    $msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
    if ($cwin) // 코멘트 보기
        alert_close($msg);
    else 
        alert($msg);
}

// wr_id 값이 있으면 글읽기 
if ($wr_id) 
{
    // 글이 없을 경우 해당 게시판 목록으로 이동
    if (!$write[wr_id]) 
    {
        $msg = "글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.";
        if ($cwin)
            alert_close($msg);
        else
            alert($msg, "$g4[bbs_path]/board.php?bo_table=$bo_table");
    }

    // 그룹접근 사용
    if ($group[gr_use_access]) 
    {
        if (!$member[mb_id]) {
            $msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
            if ($cwin)
                alert_close($msg);
            else 
                alert($msg, "$g4[bbs_path]/login.php?wr_id=$wr_id{$qstr}&url=".urlencode("./board.php?bo_table=$bo_table&wr_id=$wr_id"));
        }

        // 그룹관리자 이상이라면 통과 
        if ($is_admin == "super" || $is_admin == "group") 
            ; 
        else 
        {
            // 그룹접근
            $sql = " select count(*) as cnt 
                      from $g4[group_member_table] 
                      where gr_id = '$board[gr_id]' and mb_id = '$member[mb_id]' ";
            $row = sql_fetch($sql);
            if (!$row[cnt]) 
                alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", $g4[path]);
        }
    }

    // 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
    if ($member[mb_level] < $board[bo_read_level]) 
    {
        if ($member[mb_id]) 
            //alert("글을 읽을 권한이 없습니다.");
            alert("글을 읽을 권한이 없습니다.", $g4[path]);
        else 
            alert("글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "$g4[bbs_path]/login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }

    // 자신의 글이거나 관리자라면 통과
    if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
        ;
    else 
    {
        // 비밀글이라면
        if (strstr($write[wr_option], "secret")) 
        {
            // 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우
            // 회원이 관리자가 올린 답변글을 바로 볼 수 없던 오류를 수정
            $is_owner = false;
            if ($write[wr_reply] && $member[mb_id])
            {
                $sql = " select mb_id from $write_table 
                          where wr_num = '$write[wr_num]' 
                            and wr_reply = ''
                            and wr_is_comment = '0' ";
                $row = sql_fetch($sql);
                if ($row[mb_id] == $member[mb_id]) 
                    $is_owner = true;
            }

            $ss_name = "ss_secret_{$bo_table}_$write[wr_num]";
           
            if (!$is_owner)
            {
                //$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
                // 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 패스워드를 묻지 않습니다.
                // 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
                //if ("$bo_table|$write[wr_num]" != get_session("ss_secret")) 
                if (!get_session($ss_name)) 
                    goto_url("$g4[bbs_path]/password.php?w=s&bo_table=$bo_table&wr_id=$wr_id{$qstr}");
            }

            set_session($ss_name, TRUE);
        }
    }

    // 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
    $ss_name = "ss_view_{$bo_table}_{$wr_id}";
    if (!get_session($ss_name)) 
    {
        sql_query(" update $write_table set wr_hit = wr_hit + 1 where wr_id = '$wr_id' ");

        // 자신의 글이면 통과
        if ($write[mb_id] && $write[mb_id] == $member[mb_id])
            ;
        else 
        {
            // 회원이상 글읽기가 가능하다면
            if ($board[bo_read_level] > 1) {
                if ($member[mb_point] + $board[bo_read_point] < 0)
                    alert("보유하신 포인트(".number_format($member[mb_point]).")가 없거나 모자라서 글읽기(".number_format($board[bo_read_point]).")가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.");

                insert_point($member[mb_id], $board[bo_read_point], "$board[bo_subject] $wr_id 글읽기", $bo_table, $wr_id, '읽기');
            }
        }

        set_session($ss_name, TRUE);
    }

    $g4[title] = "$group[gr_subject] > $board[bo_subject] > " . strip_tags(conv_subject($write[wr_subject], 255));

else 
{
    if ($member[mb_level] < $board[bo_list_level]) 
    {
        if ($member[mb_id]) 
            alert("목록을 볼 권한이 없습니다.");
        else 
            alert("목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "$g4[bbs_path]/login.php?wr_id=$wr_id{$qstr}&url=".urlencode("board.php?bo_table=$bo_table&wr_id=$wr_id"));
    }

    if (!$page) $page = 1; 

    $g4[title] = "$group[gr_subject] > $board[bo_subject] $page 페이지";
}

include_once("$g4[path]/head.sub.php");

$width = $board[bo_table_width];
if ($width <= 100) $width .= '%'; 

// IP보이기 사용 여부
$ip = "";
$is_ip_view = $board[bo_use_ip_view];
if ($is_admin) {
    $is_ip_view = true;
    $ip = $write[wr_ip];
} else // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
    $ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", "\\1.♡.\\3.\\4", $write[wr_ip]);

// 분류 사용
$is_category = false;
$category_name = "";
if ($board[bo_use_category]) {
    $is_category = true;
    $category_name = $write[ca_name]; // 분류명
}

// 추천 사용
$is_good = false;
if ($board[bo_use_good]) 
    $is_good = true;

// 비추천 사용
$is_nogood = false;
if ($board[bo_use_nogood]) 
    $is_nogood = true;

$admin_href = "";
// 최고관리자 또는 그룹관리자라면
if ($member[mb_id] && ($is_admin == 'super' || $group[gr_admin] == $member[mb_id])) 
    $admin_href = "$g4[admin_path]/board_form.php?w=u&bo_table=$bo_table";

if (!($board[bo_use_comment] && $cwin)) 

echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";

if (!($board[bo_use_comment] && $cwin)) {
    // 게시물 아이디가 있다면 게시물 보기를 INCLUDE
    if ($wr_id) 
        include_once("$g4[bbs_path]/view.php");

    // 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
    //if ($board[bo_use_list_view] || empty($wr_id)) 
    if ($member[mb_level] >= $board[bo_list_level] && $board[bo_use_list_view] || empty($wr_id))
        include_once ("$g4[bbs_path]/list.php"); 

}
else 
    include_once("$g4[bbs_path]/view_comment.php");

echo "\n<!-- 사용스킨 : $board[bo_skin] -->\n";

include_once("$g4[path]/tail.sub.php");
include_once ("./admin.tail.php");
?>


◆ 참고사항 ◆

1. 해당게시판에 사용하는 스킨을 가져오기때문에 게시판 하단의 메뉴버튼들은 경로가 맞지않아서 정상동작하지 않습니다.
2. basic 스킨은 이상없으나 경로부분에 $g4[path]  $g4[bbs_path] 를 사용하지않고 상대경로만 사용한 스킨은 오류메세지를 보일수 있습니다.
그럴경우에는 해당스킨의 라인을 찾아서 $g4[path] 를 넣어주시면 해결됩니다.

3. 하단의 메뉴버튼도 사용가능하게 하려면 사용스킨의  메뉴버튼 소스를

        <? if ($write_href) { ?><a href="<?=$g4[bbs_path]?>/<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>

이런식으로 되도록  <?=$g4[bbs_path]?>/ 이것을 추가하시면 메뉴버튼도 사용가능합니다...




항상 행운이 함께 하시기를 바랍니다...^^
추천
0

댓글 9개

좋네요.....

그런데 위 소스중 머리 꼬랑지 출력부분은 손을 좀 보셔야.....킁~~~~!

눈이 머리위에 갔어요.......무릎은 발바닥에......ㅠ.ㅠ
넵... 짜집기해서 붙여넣다보니 좀 괴상한 동물이 되어버렸지요?

그런데, 그 괴상한 동물이 아주 건강하길래 수술을 안했어요....^^
메뉴버튼도 이용가능하게하는 팁을 추가로 올렸습니다..^^

아래의 내용입니다..

3. 하단의 메뉴버튼도 사용가능하게 하려면 사용스킨의  메뉴버튼 소스를

        <? if ($write_href) { ?><a href="<?=$g4[bbs_path]?>/<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border="0"></a><? } ?>

이런식으로 되도록  <?=$g4[bbs_path]?>/ 이것을 추가하시면 메뉴버튼도 사용가능합니다...
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT