전체 최신글 rss 보여주기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

전체 최신글 rss 보여주기 정보

전체 최신글 rss 보여주기

첨부파일

newrss.php (2.2K) 100회 다운로드 2006-07-22 20:30:57

본문

말그대로 설치된 모든 게시판의 최신글을 rss로 보여줍니다.

기본 50개를 보여주며

게시판 설정에서 검색을 허용한 게시판의 글만 보입니다.

이하 소스입니다. bbs/newrss.php 로 저장하여 사용하세요




<?
include_once './_common.php';

// 특수문자 변환
function specialchars_replace($str, $len=0)
{
    if ($len) {
        $str = substr($str, 0, $len);
    }

    $str = preg_replace("/&/", "&amp;", $str);
    $str = preg_replace("/</", "&lt;", $str);
    $str = preg_replace("/>/", "&gt;", $str);
    return $str;
}

Header("Content-type: text/xml");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

echo "<?xml version=\"1.0\" encoding=\"$g4[charset]\"?>\n";
echo "<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n";
echo "<channel>\n";
echo "<title>".specialchars_replace($g4['title'])."</title>\n";
echo "<link>".specialchars_replace($g4['url'] . '/')."</link>\n";
echo "<description>테스트 버전 0.2 (2004-04-26)</description>\n";
echo "<language>ko</language>\n";

$sql_common = " from $g4[board_new_table] a, $g4[board_table] b
              where a.bo_table = b.bo_table and b.bo_use_search = '1' ";
if ($gr_id)
    $sql_common .= " and b.gr_id = '$gr_id' ";

$sql_common .= " and a.wr_id = a.wr_parent ";

$sql_order = " order by a.bn_id desc ";

$sql = " select a.*
          $sql_common
          $sql_order
          limit 50 ";

$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {

    $tmp_write_table = $g4[write_prefix] . $row[bo_table];

    $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");

    if (strstr($row2[wr_option], 'html'))
        $html = 1;
    else
        $html = 0;

    echo "<item>\n";
    echo "<title>".specialchars_replace($row2[wr_subject])."</title>\n";
    echo "<link>".specialchars_replace("$g4[url]/$g4[bbs]/board.php?bo_table=$row[bo_table]&wr_id=$row[wr_id]")."</link>\n";
    echo "<description><![CDATA[".$file . conv_content($row2[wr_content], $html)."]]></description>\n";
    echo "<dc:creator>".specialchars_replace($row2[wr_name])."</dc:creator>\n";
    $date = $row2[wr_datetime];
    // rss 리더 스킨으로 호출하면 날짜가 제대로 표시되지 않음
    //$date = substr($date,0,10) . "T" . substr($date,11,8) . "+09:00";
    $date = date('r', strtotime($date));
    echo "<dc:date>$date</dc:date>\n";
    echo "</item>\n";
}

echo "</channel>\n";
echo "</rss>\n";
?>
추천
3
  • 복사

댓글 24개

네 이것은 그런것이 아니구요

게시판 보면 rss 주소가 있는데

그것은 그게시판만 보여주는 것입니다.

지금 제가 만들어서 올린것은

사이트 전체 게시판에서 올라온 최신글 50개를 rss로 보여주는 것이구요


가끔 다른 사이트에 내 사이트의 전체 최신글 을 보여주고 싶다고 할경우

해당 rss 주소를 알려주거나 등록하면 됩니다..


물론 자신의 사이트 메인이나 메뉴로서 전체 rss 라고 하나 걸어도 되겠지요. 그런 용도로 사용하는 것입니다.
유창화님 감사합니다.

추천 먼저하고 다운받은 다음 이 코멘트를 작성하고 있답니다.

추천 카운터가 요상하네요,,

언젠가 제가 유창화님 행보를 주시하고 있다고 말씀하셨는데 그 이유를 아실만한 분들은 이미 다 아십니다.^^&

호호호, 왕초보 플록이 가랭이 찢어지기 일보전입니다.~~**
살려주세요!!

bo_table값이 넘어오지 않습니다.

http://babybox.co.kr/g4/bbs/board.php?bo_table=&wr_id=10

ps) 이렇게 하면 되나 해봅니다.
    echo "<link>".specialchars_replace("$g4[url]/$g4[bbs]/board.php?bo_table=$row[bo_table]&wr_id=$row[wr_id]")."</link>\n";
되는군요. 호호호~**
아이고 죄송합니다
제가 아까 필요해서 급하게 만들어 올리다 보니

체크를 못했습니다

그렇게 하면 됩니다

뜨락님 얼른 고치셔야 됩니다.

플록님 감사합니다
ㅎㅎㅎㅎ 그럴것 같습니다

아니면

막내별의 그 말 한마디에

심각하게 명상하고 있을지도 모릅니다.

"아버님, 소녀이옵니다.."

아니면 상담이라도......
멋진 내용입니다.
간간이 끊이지 않고 등록되는 질문내용인데...
팁으로 한방에 해결해 주셨군요.

추천과 스크랩과 코멘트를 동시에 날리는 쎈쑤~*
모 유저께서 검색대왕이라고 칭해 주셨더군요.
그런데 검색대왕이라기 보다는,
자맥질도 많이 하고 동시에 물밑에서 엄청난 물장구를...(ㅜ.x;)
사실... 눈에 띄는 몇몇 내용은 대부분 기억을 하고 있습니다.
파리대왕이라 하시니...
서양의 꼬마들(10대 초반)이,
어떤 무인도(뭐라고 해야 하나... 어른들이 없는 세상 쯤?!)에서
그들만의 생활을 어쩌고~ 하던 책과 영화가 떠오르네요.
© SIRSOFT
현재 페이지 제일 처음으로