전체 최신글 rss 보여주기
말그대로 설치된 모든 게시판의 최신글을 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("/&/", "&", $str);
$str = preg_replace("/</", "<", $str);
$str = preg_replace("/>/", ">", $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";
?>
기본 50개를 보여주며
게시판 설정에서 검색을 허용한 게시판의 글만 보입니다.
이하 소스입니다. bbs/newrss.php 로 저장하여 사용하세요
<?
include_once './_common.php';
// 특수문자 변환
function specialchars_replace($str, $len=0)
{
if ($len) {
$str = substr($str, 0, $len);
}
$str = preg_replace("/&/", "&", $str);
$str = preg_replace("/</", "<", $str);
$str = preg_replace("/>/", ">", $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";
?>
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 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대 초반)이,
어떤 무인도(뭐라고 해야 하나... 어른들이 없는 세상 쯤?!)에서
그들만의 생활을 어쩌고~ 하던 책과 영화가 떠오르네요.
검색해 주세요...... 네?????
http://search.empas.com/search/all.html?qn=&s=&f=&bd=&bw=&z=A&q=%B0%CB%BA%FB
http://boom.naver.com/SubSectionMain.nhn?iFrame=BoardRead&categoryId=4&articleNum=20050617123243577
내일 정신 들면 다시 볼게요
멋집니다..