root님이 개선한 그룹 최신글에서 질문입니다. 정보
그누보드 root님이 개선한 그룹 최신글에서 질문입니다.본문
http://www.sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&sselect=wr_subject&stext=%B1%D7%B7%EC&soperator=0&page=1&wr_id=4041&ca_id=
팁텍에 있는 root님이 제공한 mando님 소스 수정본을 설치해 봤습니다.
추가로 공지사항과 이미지를 출력하도록 하는데까지 손을 봤는데 잘 됩니다.
그런데 좁은 공간에 여러 제한된 수의 게시물을 보여주려니 컷트된 글이 문제가 되는군요.
이걸 랜덤으로 5개씩 보여주려면 어떻게 해야할까요?
지니아빠님 소스를 적용해 봤는데 쉽지가 않네요.
아래는 수정한 lib 파일입니다.
-------------------------------------------------------------------------------------
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);
function mando_groupe($skin_dir='', $gr_id, $rows=10, $len=40, $is_comment=false)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
if ($hours < 1 || $hours > 24) { $hours = 24; }
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
$sql = " select a.bo_subject, a.bo_table, b.gr_subject
from $cfg[table_board] a, $cfg[table_group] b
where a.gr_id = b.gr_id AND b.gr_id = '$gr_id'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id, wr_parent_id, mb_id, wr_name, wr_email, wr_homepage,
wr_num, wr_subject, wr_content, wr_comment, wr_commentcnt, wr_datetime, wr_file1, wr_file2, wr_link1, wr_link1_hit
from $tbl ";
if(!$is_comment) $sql2 .= " where wr_comment = '0' and wr_notice = '-1'"; // 코멘트처리 체크
$sql2 .= " order by wr_id desc limit 0, $rows ";
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
if ($row2[wr_comment] > 0) {
$sql3 = " select wr_subject
from $tbl
where wr_comment = 0 and wr_parent_id = '$row2[wr_parent_id]' ";
$row3 = sql_fetch($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = get_text(cut_str($row[bo_subject],12));
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$list[$key]->wr_id = $row2[wr_id];
$list[$key]->wr_parent_id = $row2[wr_parent_id];
$list[$key]->wr_email = $row2[wr_email];
$list[$key]->wr_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($wr_subject,$len,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,20,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_file1 = $row2[wr_file1];
$list[$key]->wr_file2 = $row2[wr_file2];
$list[$key]->wr_link1 = set_http(get_text(cut_str($row2[wr_link1], 70)));
$list[$key]->link_href1 = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row2[wr_id]&index=1";
$list[$key]->wr_link1_hit = get_text($row2[wr_link1_hit]);
$list[$key]->reply= "";
if (strlen($wr_reply) > 0) {
$list[$key]->reply= "[답글]</font>";
}
if (@preg_match($cfg[image_extension], $row2[wr_file1])) {
$list[$key]->file_image1 = "./data/file/{$row[bo_table]}/" . $row2[wr_file1];
}
if (@preg_match($cfg[image_extension], $row2[wr_file2])) {
$list[$key]->file_image2 = "./data/file/{$row[bo_table]}/" . $row2[wr_file2];
}
}
mysql_free_result($result2);
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
?>
팁텍에 있는 root님이 제공한 mando님 소스 수정본을 설치해 봤습니다.
추가로 공지사항과 이미지를 출력하도록 하는데까지 손을 봤는데 잘 됩니다.
그런데 좁은 공간에 여러 제한된 수의 게시물을 보여주려니 컷트된 글이 문제가 되는군요.
이걸 랜덤으로 5개씩 보여주려면 어떻게 해야할까요?
지니아빠님 소스를 적용해 봤는데 쉽지가 않네요.
아래는 수정한 lib 파일입니다.
-------------------------------------------------------------------------------------
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);
function mando_groupe($skin_dir='', $gr_id, $rows=10, $len=40, $is_comment=false)
{
global $latest_skin, $cfg;
$tmp_latest_skin = $latest_skin;
// 스킨디렉토리값이 넘어왔다면
if ($skin_dir) {
$latest_skin = "./$cfg[bbs_dir]/skin/latest/$skin_dir";
}
if ($hours < 1 || $hours > 24) { $hours = 24; }
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * $hours));
$sql = " select a.bo_subject, a.bo_table, b.gr_subject
from $cfg[table_board] a, $cfg[table_group] b
where a.gr_id = b.gr_id AND b.gr_id = '$gr_id'
order by b.gr_id, a.bo_table ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
$gr_subject=get_text(cut_str($row[gr_subject],20,'.'));
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id, wr_parent_id, mb_id, wr_name, wr_email, wr_homepage,
wr_num, wr_subject, wr_content, wr_comment, wr_commentcnt, wr_datetime, wr_file1, wr_file2, wr_link1, wr_link1_hit
from $tbl ";
if(!$is_comment) $sql2 .= " where wr_comment = '0' and wr_notice = '-1'"; // 코멘트처리 체크
$sql2 .= " order by wr_id desc limit 0, $rows ";
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
if ($row2[wr_comment] > 0) {
$sql3 = " select wr_subject
from $tbl
where wr_comment = 0 and wr_parent_id = '$row2[wr_parent_id]' ";
$row3 = sql_fetch($sql3);
$wr_subject = $row3[wr_subject];
$wr_content = $row3[wr_content];
} else {
$wr_subject = $row2[wr_subject];
$wr_content = $row2[wr_content];
}
$wr_content = get_text($wr_content);
$wr_subject = get_text($wr_subject);
$wr_datetime = $row2[wr_datetime];
$key = $row2[wr_datetime] . $row[bo_table] . $row2[wr_id];
$list[$key]->bo_subject = get_text(cut_str($row[bo_subject],12));
$list[$key]->bo_table = $row[bo_table];
$list[$key]->mb_id = $row2[mb_id];
$list[$key]->mb_open = $row2[mb_open];
$list[$key]->wr_id = $row2[wr_id];
$list[$key]->wr_parent_id = $row2[wr_parent_id];
$list[$key]->wr_email = $row2[wr_email];
$list[$key]->wr_homepage = $row2[wr_homepage];
$list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
$list[$key]->wr_subject = get_text(cut_str($wr_subject,$len,'…'));
$list[$key]->wr_content = get_text(cut_str($wr_content,20,'…'));
$list[$key]->wr_comment = $row2[wr_comment];
$list[$key]->wr_commentcnt = $row2[wr_commentcnt];
$list[$key]->wr_datetime = $row2[wr_datetime];
$list[$key]->wr_file1 = $row2[wr_file1];
$list[$key]->wr_file2 = $row2[wr_file2];
$list[$key]->wr_link1 = set_http(get_text(cut_str($row2[wr_link1], 70)));
$list[$key]->link_href1 = "./?doc=$cfg[bbs_dir]/gblink.php&$qstr&wr_id=$row2[wr_id]&index=1";
$list[$key]->wr_link1_hit = get_text($row2[wr_link1_hit]);
$list[$key]->reply= "";
if (strlen($wr_reply) > 0) {
$list[$key]->reply= "[답글]</font>";
}
if (@preg_match($cfg[image_extension], $row2[wr_file1])) {
$list[$key]->file_image1 = "./data/file/{$row[bo_table]}/" . $row2[wr_file1];
}
if (@preg_match($cfg[image_extension], $row2[wr_file2])) {
$list[$key]->file_image2 = "./data/file/{$row[bo_table]}/" . $row2[wr_file2];
}
}
mysql_free_result($result2);
}
mysql_free_result($result);
include "$latest_skin/latest.skin.php";
$latest_skin = $tmp_latest_skin;
}
?>
댓글 전체