★이유를 모르겠습니다.★고수님들 제발.. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

★이유를 모르겠습니다.★고수님들 제발.. 정보

★이유를 모르겠습니다.★고수님들 제발..

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

위 링크 스킨을 적용하고 있습니다.

그런데 현재 전체코멘트라 전체 게시판에 단 댓글이 출력되고 있는데,

운영자들만 대화하기 위해 특정 게시판이나 그룹에 속한 댓글은 제외시키고 싶습니다.

---- newcomment.skin 파일----
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

?>
<style type="text/css">
<!--
.btn_more {
padding-right: 15px;
padding-bottom: 3px;
}
.body_box_line {
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-right-color: #e3e3e3;
border-bottom-color: #e3e3e3;
border-left-color: #e3e3e3;
background-color: #FFFFFF;
}
.line_lb {
border-bottom-width: 1px;
border-left-width: 1px;
border-bottom-style: solid;
border-left-style: solid;
border-bottom-color: #FFFFFF;
border-left-color: #FFFFFF;
padding-top: 15px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}
.top_line {
border-top-width: 1px;
border-top-style: solid;
border-top-color: #FFFFFF;
}
.line_b {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #FFFFFF;
padding-top: 15px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}
.line_l {
border-left-width: 1px;
border-left-style: solid;
border-left-color: #FFFFFF;
}
.last_title {
font-family: "굴림", "돋움";
font-size: 12px;
padding-left: 15px;
padding-top: 3px;
}
.latest_body {
line-height: 18px;
padding-top: 5px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 15px;
}
.latest_file {
border-bottom-width: 1px;
border-bottom-style: dashed;
border-bottom-color: #CCCCCC;
padding-top: 10px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
}

.line {
border-bottom-width: 1px;
border-bottom-style: dashed;
border-bottom-color: #efefef;
padding-top: 10px;
padding-right: 5px;
padding-bottom: 5px;
padding-left: 5px;
font-family: "굴림", "돋움";
font-size: 11px;
color: #999999;
}
.body_box_line { border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-right-color: #e3e3e3;
border-bottom-color: #e3e3e3;
border-left-color: #e3e3e3;
background-color: #f5f5f5;
}
.btn_more1 { padding-right: 15px;
padding-bottom: 3px;
}
.last_title { font-family: "굴림", "돋움";
font-size: 12px;
padding-left: 15px;
padding-top: 3px;
}
-->
</style>


<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="4" height="25"><img src="<?=$comment_skin_path?>/img/titlebg_l.png" width="4" height="25" /></td>
    <td width="100%" height="25" background="<?=$comment_skin_path?>/img/titlebg_c.png"><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td class="last_title"><strong><a href="<?=$g4[bbs_path]?>/new.php?view=c"><?=$title?></a></strong></td>
        <td align="right" valign="bottom" class="btn_more1"><a href='<?=$g4[bbs_path]?>/new.php?view=c' ><img src="<?=$comment_skin_path?>/img/btn_more.gif" border="0" onmouseover="this.src = '<?=$comment_skin_path?>/img/btn_more_over.gif';" onmouseout="this.src = '<?=$comment_skin_path?>/img/btn_more.gif';" /></a></td>
      </tr>
    </table></td>
    <td width="4" height="25"><img src="<?=$comment_skin_path?>/img/titlebg_r.png" width="4" height="25" /></td>
  </tr>
  <tr>
    <td colspan="3" class="body_box_line">

<? for ($i=0; $i<count($comment); $i++) {
$bg = $i%2;
if($bg){
?>
<div class='top_line' style="background-color:#F5F5F5;">
<?  }else{ ?>
<div class='top_line' style="background-color:#ffffff;">
<?  } ?>
        <table width=100% border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td height=25 style="padding-left:5px;"><img src='<?=$comment_skin_path?>/img/icon.gif' id="commentnew[<?=$i?>]" align=absmiddle>
            <?
            echo "<a href='{$comment[$i]['href']}' onmouseover='document.getElementById(\"commentnew[$i]\").src = \"{$comment_skin_path}/img/icon_over.gif\";' onmouseout='document.getElementById(\"commentnew[$i]\").src = \"{$comment_skin_path}/img/icon.gif\";'>";
            echo "<font style='font-family:돋움; font-size:9pt; color:#6A6A6A;'>{$comment[$i]['content1']}</font>";
            echo "</a> {$comment[$i]['icon_new']}";
            ?></td>
         
        </tr>
      </table>
      </div>
<? } ?>

<? if (!count($comment)) { echo "<tr><td align=center height=50><font color=#6A6A6A>게시물이 없습니다.</a></td></tr>"; } ?>


</td>
  </tr>
</table>






<?
if (!defined('_GNUBOARD_')) exit;

// 최근 코멘트 추출
function newcomment($title="New Comment", $skin_dir="basic", $rows=10, $subject_len=40, $options="")
{
    global $g4, $g4_board, $g4_board, $g4_table_in, $member, $is_admin;

    if ($skin_dir)
        $comment_skin_path = "$g4[path]/skin/newcomment/$skin_dir";
    else
        $comment_skin_path = "$g4[path]/skin/newcomment/basic";

    $list = array();


// fixing.lib.php 파일에서 사용된 $g4_table_in 을 그대로 사용한다.
    $sql = " select bo_table, wr_id from $g4[board_new_table] where wr_id <> wr_parent $g4_table_in $where_query order by bn_datetime desc limit 0, $rows ";
    $result = sql_query($sql);
$b = 0;
    for ($i=0; $row = sql_fetch_array($result); $i++) {
  $id = $row[wr_id];
  $bot = $row[bo_table];
  $new[$bot][$id] = $i;
  // 중복배열제거 하면서 테이블별 wr_id 값을 정리
  if($new_in[$bot]){
$new_in[$bot] .= ", '{$id}'";
  }else{
$new_bo[$b] = $bot;
$new_in[$bot] = "'{$id}'";
$b++;
  }
    }
$bo_new[count] = $i;
for($i=0; $i<count($new_bo); $i++){
//배열에서 이름 찾기
$board = $g4_board[$g4_board['num'][$new_bo[$i]]];
$tmp_write_table = $g4['write_prefix'] . $new_bo[$i];
$sql = " select * from $tmp_write_table where wr_id in ( {$new_in[$new_bo[$i]]} ) ";
$result = sql_query($sql);
for ($q=0; $row = sql_fetch_array($result); $q++) {
$num = $new[$new_bo[$i]][$row['wr_id']];
$comment[$num][content1] = "비밀글 입니다.";
// 최고관리자이거나 작성자이거나 비밀코멘트가 아닐때 코멘트를 보여줍니다.
    if (!strstr($row[wr_option], "secret") || $is_admin || ($row[mb_id]==$member[mb_id] && $member[mb_id])) {
        $comment[$num][content1] = cut_str($row[wr_content], $subject_len);
    }
$comment[$num]['icon_new'] = "";
  if ($row['wr_datetime'] >= date("Y-m-d H:i:s", $g4['server_time'] - ($board['bo_new'] * 3600)))
        $comment[$num]['icon_new'] = "<img src='$comment_skin_path/img/icon_new.gif' align='absmiddle'>";
$comment[$num][href] = "{$g4[bbs_path]}/board.php?bo_table={$new_bo[$i]}&wr_id={$row['wr_id']}#{$row['wr_parent']}";
}
}

    ob_start();
    include "$comment_skin_path/newcomment.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

---- newcomment.skin 파일----

----------------------------------------------------------------------------

---- comment.lib 파일----
<?
if (!defined('_GNUBOARD_')) exit;

// 최근 코멘트 추출
function newcomment($title="New Comment", $skin_dir="basic", $rows=10, $subject_len=40, $options="")
{
    global $g4, $g4_board, $g4_board, $g4_table_in, $member, $is_admin;

    if ($skin_dir)
        $comment_skin_path = "$g4[path]/skin/newcomment/$skin_dir";
    else
        $comment_skin_path = "$g4[path]/skin/newcomment/basic";

    $list = array();

// fixing.lib.php 파일에서 사용된 $g4_table_in 을 그대로 사용한다.
    $sql = " select bo_table, wr_id from $g4[board_new_table] where wr_id <> wr_parent $g4_table_in order by bn_datetime desc limit 0, $rows ";
    $result = sql_query($sql);
$b = 0;
    for ($i=0; $row = sql_fetch_array($result); $i++) {
  $id = $row[wr_id];
  $bot = $row[bo_table];
  $new[$bot][$id] = $i;
  // 중복배열제거 하면서 테이블별 wr_id 값을 정리
  if($new_in[$bot]){
$new_in[$bot] .= ", '{$id}'";
  }else{
$new_bo[$b] = $bot;
$new_in[$bot] = "'{$id}'";
$b++;
  }
    }
$bo_new[count] = $i;
for($i=0; $i<count($new_bo); $i++){
//배열에서 이름 찾기
$board = $g4_board[$g4_board['num'][$new_bo[$i]]];
$tmp_write_table = $g4['write_prefix'] . $new_bo[$i];
$sql = " select * from $tmp_write_table where wr_id in ( {$new_in[$new_bo[$i]]} ) ";
$result = sql_query($sql);
for ($q=0; $row = sql_fetch_array($result); $q++) {
$num = $new[$new_bo[$i]][$row['wr_id']];
$comment[$num][content1] = "비밀글 입니다.";
// 최고관리자이거나 작성자이거나 비밀코멘트가 아닐때 코멘트를 보여줍니다.
    if (!strstr($row[wr_option], "secret") || $is_admin || ($row[mb_id]==$member[mb_id] && $member[mb_id])) {
        $comment[$num][content1] = cut_str($row[wr_content], $subject_len);
    }
$comment[$num]['icon_new'] = "";
  if ($row['wr_datetime'] >= date("Y-m-d H:i:s", $g4['server_time'] - ($board['bo_new'] * 3600)))
        $comment[$num]['icon_new'] = "<img src='$comment_skin_path/img/icon_new.gif' align='absmiddle'>";
$comment[$num][href] = "{$g4[bbs_path]}/board.php?bo_table={$new_bo[$i]}&wr_id={$row['wr_id']}#{$row['wr_parent']}";
}
}

    ob_start();
    include "$comment_skin_path/newcomment.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
?>

---- comment.lib 파일----

----------------------------------------------------------------------------

---- fixing.lib 파일----
<?
// 보드 배열 생성
$g4_board = array();
//게시판의 설정값을 가져와 미리 저장한다.(이때 게시판리스트를 볼수있는 레벨이 회원레벨보다 높은다면 불러오지 않는다.)
$g4_board_select = "*";
if($member[mb_level] < 10)
$g4_board_where = " where bo_list_level <= '$member[mb_level]'";
$g4_board_sql = " select sql_cache $g4_board_select from $g4[board_table] $g4_board_where order by bo_order_search, gr_id, bo_table ";
$g4_board_result = mysql_query($g4_board_sql);
// 중복제거를 위한 넘버링 (0부터 시작하면 0은 false가 됨)
$in = 1;
for($i=0; $g4_board_row = mysql_fetch_array($g4_board_result); $i++){
$g4_board[$i] = $g4_board_row;
if($g4_table_in){
$g4_table_in .= ", '$g4_board_row[bo_table]'";
}else{
$g4_table_in  = "'$g4_board_row[bo_table]'";
}
// 넘버링 (테이블명으로 저장)
$g4_board[num][$g4_board_row[bo_table]] = $i;

//구룹아이디 중복 제거
if(!$bo_gr[$g4_board_row[gr_id]]){
$bo_gr[$g4_board_row[gr_id]] = $in;
if($g4_group_in){
$g4_group_in .= ", '$g4_board_row[gr_id]'";
}else{
$g4_group_in = "'$g4_board_row[gr_id]'";
}
$in++;

}
}
$g4_board[count] = $i;

// 보드구룹 배열 생성
$g4_group = array();
$g4_group_in = "where gr_id in ($g4_group_in)";
$g4_group_select = "gr_id, gr_subject, gr_admin, gr_use_access, gr_1, gr_2";
$g4_group_sql = " select sql_cache $g4_group_select from $g4[group_table] $g4_group_in order by gr_1 asc ";
$g4_group_result = mysql_query($g4_group_sql);
for($i=0; $g4_group_row = mysql_fetch_array($g4_group_result); $i++){
$g4_group[$i] = $g4_group_row;
// 구룹 넘버링 (구룹아이디로 저장)
$g4_group[num][$g4_group_row[gr_id]] = $i;
}
$g4_group[count] = $i;

// 최신글정보를 불러와 저장한다.
$g4_table_in = "and bo_table in ($g4_table_in)";
// 최근날자 구하기
$new_time = date("Y-m-d H:i:s", $g4['server_time'] - ($config[cf_new_del] * 86400));

// 최신글 목록 배열생성
$g4_new = array();//최신글저장소
$g4_new_select = '*';
// 최신글을 가져옴 (코멘트는 제외)
$g4_new_query = sql_query(" select $g4_new_select from $g4[board_new_table] where bn_datetime >= '$new_time' and wr_id = wr_parent $g4_table_in ");
for($i=0; $g4_new_row = sql_fetch_array($g4_new_query); $i++){
$g4_new[$i] = $g4_new_row;
//테이블 카운팅
$g4_new[board][$i] = $g4_new_row[bo_table];
// 넘버링
$g4_new[$g4_new_row[bo_table]][$g4_new_row[wr_id]] = $i;
}
//최신글 목록 수
$g4_new[rows] = $i;
// 타이틀 변수
function gun_title($cf_title, $gr_subject, $gr_2)
{
global $g4;
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center"><table width="940" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <td width="30%" height="40">
          <table width="100%" height="90%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="21" style="padding-left:25"><img src="<?=$g4[path]?>/img/t_icon" width="21" height="20"/></td>
              <td class="latest_title"><?=$gr_subject?></td>
            </tr>
          </table></td>
        <td width="70%" height="40" class="gnu_text"><?=$gr_2?></td>
    </tr>
      <tr>
        <td height="4" colspan="2"><img src="<?=$g4[path]?>/img/underline.gif" width="940" height="4"/></td>
      </tr>
    </table></td>
  </tr>
</table>

<?
}
?>

---- fixing.lib 파일----


이상 세개의 파일인데....어느 파일 어디를 수정해야 할지 부탁드립니다......ㅠㅠ

예전처럼 포인트를 드릴 수도 없고..질답게시판 방식이 바뀌었네요....

그누보드 고수님들이 저같은 초짜에겐 매우 큰 힘이 됩니다.

도와주시면 정말 감사하겠습니다...
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로