불당님의 1:1게시판을 다른 게시판에적용 할려고 합니다. > 그누4 질문답변

그누4 질문답변

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

불당님의 1:1게시판을 다른 게시판에적용 할려고 합니다. 정보

불당님의 1:1게시판을 다른 게시판에적용 할려고 합니다.

첨부파일

list.skin.php (6.6K) 2회 다운로드 2008-04-04 01:38:01

본문

아래도 불당님의 1:1게시판 관련 질문인데 이번에도...
이번엔 utf-8버전은 아닙니다.

불당님의 1:1게시판을 아주 유용하게 이곳 저곳 홈페이지에서 사용하고 있습니다.

그런데...
이 기능을 다른 게시판에 적용할려고 합니다.
list와 write 부분만 조금 변경하면 된다고 하는 코멘트가 있기에...

제가 사용할려고 하는 게시판은 일반적인 게시판이 아닌 카렌다(달력) 게시판입니다.

일단 쓰기에서는 아이디 지정하고 하는 등 에러없이 잘 작동하고 있습니다.
그런데 리스트파일 상단에 기존 불당님의 1:1게시판의 리스트 부분을 추가해줬는데,
약간의 문제가 있습니다.

제대로라면 리스트에서 본인이 아닌 다른 사람으로 지정된 글을 리스트 자체가 나오지 않아야 하는데,
본인에게 지정된 글 말고 다른 사람한테 지정된 글까지도 그 항목이 보여집니다.

물론 클릭하고 들어가면 그 글은 패스워드를 치라고 나오니 볼수는 없습니만
보이지 말아야할 제목이 보여지니...

이거 과연 어디를 손보면 해결할수 있을까요?

일단 제가 사용하는 달력 게시판의 리스트 파일은 첨부했습니다.

그리고 제가 추가해 봤던 불당님의 1:1게시판 리스트 상단의 내용은 아래와 같습니다.


/*******************************************************************************
*
* 1:1 게시판 기능을 위해서 추가된 부분
*
*******************************************************************************/

if ( !$is_admin) {
 
    // 공지가져오기
    $noticeNumS = str_replace("\n",",",$board[bo_notice]);
    $bb_query2 = "select * from `{$write_table}` where 1 and find_in_set(wr_id,'{$noticeNumS}') and wr_is_comment != 1 order by  wr_num, wr_reply;";
    $result2 = sql_query($bb_query2);
    $bb_notice_count = mysql_num_rows($result2);
    $list2A = array();
    while ($row = sql_fetch_array($result2))
    {
    $row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
    array_push($list2A, $row);
    }

    // 검색항목 설정하기
    if ($sca || $stx)
    {
        $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
    } else {
        $sql_search = "1 ";
    }

    // 해당 사용자가 쓴 글의 번호 + 비밀글이 아닌글의 번호 + 해당사용자에게 지정된 글번호(wr_5)
    if ($is_member)
        $bb_query1 = "select * from `{$write_table}` where $sql_search and (( mb_id = '{$member[mb_id]}' or wr_5 = '{$member[mb_id]}' ) or wr_option not like '%secret%' ) and not find_in_set(wr_id,'{$noticeNumS}') and wr_is_comment != 1 ";
    else
        $bb_query1 = "select * from `{$write_table}` where $sql_search and (mb_id = '{$member[mb_id]}'or wr_option not like '%secret%') and not find_in_set(wr_id,'{$noticeNumS}') and wr_is_comment != 1  ";

    $result1 = sql_query($bb_query1);
    $bb_total_count = mysql_num_rows($result1);
    $list1S = "";
    while ($row = sql_fetch_array($result1))
    {
    $list1S = $row[wr_num].",".$list1S;
    }

    $bb_total_page  = ceil($bb_total_count / $board[bo_page_rows]);  // 전체 페이지 계산
    if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
    $bb_from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
    $bb_url = "./board.php?bo_table={$board[bo_table]}&page=";
    $bb_write_pages = get_paging( $board[bo_page_rows], $page, $bb_total_page, $bb_url, $add="");

    // 공지글, 해당사용자가 쓴 글과 관련된 게시물 가져오기
    $bb_query3 = "select * from `{$write_table}`
                          where $sql_search and find_in_set(wr_num,'{$list1S}') and wr_is_comment != 1
                                order by wr_num, wr_reply limit $bb_from_record, $board[bo_page_rows];";
    $result3 = sql_query($bb_query3);
    $i=$bb_total_count - $bb_from_record;
    $j=$bb_notice_count;
    while ($row = sql_fetch_array($result3))
    {
    $row = get_list($row, $board, $g4[path].'/skin/board/'.$board[bo_skin], $board[bo_subject_len]);
    array_push($list2A, $row);
    $list2A[$j][num]=$i;
      $i--;
      $j++;
    }

    $total_count = $bb_total_count;
  $list = $list2A;
    $write_pages = $bb_write_pages;
 
}
/*******************************************************************************
*
* 1:1 게시판 기능을 위해서 추가된 부분 - 여기까지
*
*******************************************************************************/
  • 복사

댓글 전체

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