[제나플러스] 최신글 함수를 최대한 줄여 봤습니다..
본문
<?
/**
* ZENAPLUS
*
* Copyright (c) 2006-05-18 Park Gwan Su <www.zeronara.net>
* e-mail : [email protected]
* You are free: to Remix - to adapt the work
* Attribution : You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
* Share Alike : If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
* Nothing in this license impairs or restricts the author's moral rights.
**/
if (!defined('_GNUBOARD_')) exit;
//배열 생성
$g4_board = array();
//zlatest
function zn_latest($skin_dir="", $bo_table, $rows=10, $subject_len="", $brch="", $options="")
{
global $g4;
global $g4_board;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$list = array();
if(!$g4_board or !$g4_board["$bo_table"]){
//$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$sql_select = "bo_table, bo_subject, bo_notice, bo_category_list, bo_new, bo_hot";
$sql = " select $sql_select from $g4[board_table] where bo_table = '$bo_table'";
$g4_board["$bo_table"] = sql_fetch($sql);
}
$board = $g4_board["$bo_table"];
$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
if ($brch == "H")
$brch = "wr_hit asc";
else if ($brch == "C")
$brch ="wr_comment asc";
else if ($brch == "R")
$brch = "rand()";
else if ($brch == "G")
$brch = "wr_good asc";
else if ($brch == "N")
$brch = "wr_nogood asc";
else if ($brch == "B")
$brch = "wr_num asc";
else
$brch = "wr_num asc";
//$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
// 위의 코드 보다 속도가 빠름
$sql_select = "wr_id, wr_subject, wr_option, wr_content, wr_comment, wr_parent, wr_datetime, wr_name, wr_reply, wr_link1, wr_link2, ca_name, wr_hit, wr_good, wr_nogood";
$sql = " select $sql_select from $tmp_write_table where wr_is_comment = 0 order by $brch, wr_reply limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
?>
/**
* ZENAPLUS
*
* Copyright (c) 2006-05-18 Park Gwan Su <www.zeronara.net>
* e-mail : [email protected]
* You are free: to Remix - to adapt the work
* Attribution : You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
* Share Alike : If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
* Nothing in this license impairs or restricts the author's moral rights.
**/
if (!defined('_GNUBOARD_')) exit;
//배열 생성
$g4_board = array();
//zlatest
function zn_latest($skin_dir="", $bo_table, $rows=10, $subject_len="", $brch="", $options="")
{
global $g4;
global $g4_board;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$list = array();
if(!$g4_board or !$g4_board["$bo_table"]){
//$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$sql_select = "bo_table, bo_subject, bo_notice, bo_category_list, bo_new, bo_hot";
$sql = " select $sql_select from $g4[board_table] where bo_table = '$bo_table'";
$g4_board["$bo_table"] = sql_fetch($sql);
}
$board = $g4_board["$bo_table"];
$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
if ($brch == "H")
$brch = "wr_hit asc";
else if ($brch == "C")
$brch ="wr_comment asc";
else if ($brch == "R")
$brch = "rand()";
else if ($brch == "G")
$brch = "wr_good asc";
else if ($brch == "N")
$brch = "wr_nogood asc";
else if ($brch == "B")
$brch = "wr_num asc";
else
$brch = "wr_num asc";
//$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
// 위의 코드 보다 속도가 빠름
$sql_select = "wr_id, wr_subject, wr_option, wr_content, wr_comment, wr_parent, wr_datetime, wr_name, wr_reply, wr_link1, wr_link2, ca_name, wr_hit, wr_good, wr_nogood";
$sql = " select $sql_select from $tmp_write_table where wr_is_comment = 0 order by $brch, wr_reply limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
?>
추천0
댓글목록 0
등록된 댓글이 없습니다.