특정게시판들제외 그룹최신글

테스터   
   조회 14467   추천 0     비추천 0    

latest.group.lib.php (6.3K), Down : 8, 2011-07

특정게시판들제외 그룹최신글입니다.
팁란이 없어서 여기에 올립니다. 적당한 자리가 있으면 불당님이 옮겨 주시면 고맙겠습니다.
 
 
 
사용법::  원본과 같습니다.
 
ex1)
<? include_once("$g4[path]/lib/latest_group.lib.php"); ?>
<?
$no_table = array(
'free',
'test'
);
echo latest_group_boardselect("basic", "free_group", 4, 38, $no_table);
?>
ex2)
<? include_once("$g4[path]/lib/latest_group.lib.php"); ?>
<?
$no_table = 'free';
echo latest_group_boardselect("basic", "free_group", 4, 38, $no_table);
?>
제외하는 게시판 없이 그룹내 최근게시물을 모두 출력하고 싶으시면
<? include_once("$g4[path]/lib/latest_group.lib.php"); ?>
<? echo latest_group_boardselect("basic", "free_group", 4, 38); ?>
 
아래는 함수입니다.
<?
// 낭만늑대님의 팁을 수정
// http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=11335&sca=&sfl=wr_content&stx=serialize&sop=and&spt=-2383&page=1
if (!defined('_GNUBOARD_')) exit;
// 함수 정의 시작
// 최신글 추출 - 선택한 그룹별로 원하는 게시판을 제외하고 원하는 수만큼 보여줌
function latest_group_boardselect($skin_dir="", $gr_id, $rows=10, $subject_len=40, $no_table="", $category="", $orderby="")
{
 global $config;
 global $g4;
 $list = array();
 $limitrows = $rows;
$sqlgroup = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' ";
// 제거할 테이블들
 if ($no_table) {
  $t_flag = serialize($no_table);
  if ($t_flag[0] == "a") { //Array이면
   for ($ic=0; $ic<count($no_table); $ic++) {
    $no_table = implode(" , ", $no_table);     
   }
  } else if ($t_flag[0] == "s") { //String이면
   $sqlgroup .= " and bo_table != '$no_table' ";
  }
 }
 $sqlgroup .= " and bo_use_search=1 order by bo_order_search ";
 $rsgroup = sql_query($sqlgroup);
if ($skin_dir)
  $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
 else
  $latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
for ($j=0, $k=0; $rowgroup=sql_fetch_array($rsgroup); $j++) {
  $bo_table = $rowgroup[bo_table];
// 테이블 이름구함
  $sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
  $board = sql_fetch($sql);
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 실제이름
// 옵션에 따라 정렬
  $sql = "select * from $tmp_write_table where wr_is_comment = 0 ";
  $sql .= (!$category) ? "" : " and ca_name = '$category' ";
  $sql .= (!$orderby) ? "  order by wr_id desc " : "  order by $orderby desc, wr_id desc ";
  $sql .= " limit $limitrows";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {
if(!$orderby) $op_list[$k] = $row[wr_datetime];
   else  {
    $op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
    $op_list[$k] .= $row[wr_datetime];
   }
$list[$k] = get_list($row, $board, $latest_skin_path, $subject_len);
$list[$k][bo_table] = $board[bo_table];
   $list[$k][bo_subject] = $board[bo_subject];
$list[$k][bo_wr_subject] = cut_str($board[bo_subject] . $list[$k][wr_subject], $subject_len);
  }
 }
 if($k>0) array_multisort($op_list, SORT_DESC, $list);
 if($k>$rows) array_splice($list, $rows);
ob_start();
 include "$latest_skin_path/latest.skin.php";
 $content = ob_get_contents();
 ob_end_clean();
 return $content;
}
/// 함수 정의 끝
?>
도대체 어디에 있는겨? 그저 바람처럼 머무르고 싶지 않다는 거...
불당 2011-07
불당팩에는 그룹의 검색사용 여부를 check로 설정할 수 있게 되어 있어요.
그런데, 최신글 코딩에는 그부분을 빼 놨네요. ㅠ.ㅠ...

수정된 최신글 올리고, 사용법도.
머리아프게 하실 필요없고, 프로그램 바꾸고 관리자에서 체크만 하면 됩니다.

http://opencode.co.kr/bbs/board.php?bo_table=gnu4_pack_book&wr_id=66
     
테스터 2011-07
이건 단일 그룹에서 몇개의 게시판을 제외하는건데요.

불당최신글을 메인으로 띄워놓으면 일단 편하군요. 나머지 작업만 하면 되니 ㅎㅎㅎ

디자인 잘하시는 분들이 스킨만 많이 만들어 주시면 멋진데요.
          
불당 2011-07
하나의 그룹에서 특정 게시판 제외하는 것도 됩니다. ㅎㅎ

게시판에 보면 검색 설정이 있는데, 그거를 uncheck 하면 자동으로 안나옵니다.
물론 제가 올린 코드로.
테스터 2011-07
88버전에 있나요?
     
불당 2011-07
제외하는거는 아래 링크에서 받으세요. 90에 넣을 겁니다.

http://opencode.co.kr/bbs/board.php?bo_table=gnu4_pack_book&wr_id=66


제목Page 11/28
2011-10   12806   불당
2011-09   10998   불당
2011-09   14243   불당
2011-09   13804   불당
2012-04   11514   불당
2011-09   10723   불당
2011-09   11000   불당
2011-09   13268   불당
2011-09   11707   불당
2011-09   14369   불당
2011-09   19068   불당
2011-08   27244   불당
2011-08   11543   불당
2011-08   12772   불당
2011-08   14491   불당
2011-07   11813   불당
2011-07   12509   불당
2011-07   13618   불당
2011-07   15415   불당
2011-07   14468   테스터