[建議]Require RSS feed...

對本站有任何期許﹑建議﹑批評﹑鼓勵﹑牢騷﹑苦水... 都可以來這裡啦~~ ^_^

[建議]Require RSS feed...

文章umm » 週五 8月 08, 2003 6:19 pm

希望摩托學園討論區能增加個 RSS Feed 供大家使用...

我在 http://www.phpbb.de/viewtopic.php?t=8036 找到一個 MOD
但新版只適用於 phpBB 2.0.4 以上

還好作者有保留舊版的 source
http://www.phpbb.de/rdf.phps

再修改一下就可以配合討論區的 UTF-8 了

拜託囉 :-D

下面程式碼,已經改好ㄌ,可以直接使用..

代碼: 選擇全部
<?php
/***************************************************************************
*                                  rdf.php
*                            -------------------
*   begin                : Saturday, Mar 2, 2002
*   copyright            : (C) 2002 Matthijs van de Water
*                                   Sascha Carlin
*   email                : matthijs@beryllium.net
*                          sc@itst.org
*
*   $Id: rdf.php,v 1.2 2002/04/15 13:15:01 mvdwater Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

/***************************************************************************
*
*   PHPBB 2.0 RDF CONTENT SYNDICATOR
*   Shows last active topics RDF XML form
*
***************************************************************************
*
*   Put this file in your phpBB2 directory.
*   You can call this script without parameters, what will
*   result in an RDF with the 10 latest posts from all your forums.
*   You can specify the number of posts via the url parameter count:
*
*   http://www.domain.com/phpBB2/rdf.php?count=50
*
*   This will result in an RDF file with the latest 50 posts from
*   all your forums.
*
*   You can also specify to look only at a specified forum using the
*   fid parameter:
*
*   http://www.domain.com/phpBB2/rdf.php?fid=9
*
*   This will result in an RDF file with the latest 10 posts from
*   your forum with the id 9.
*
*   You can also mix the paramters:
*
*   http://www.domain.com/phpBB2/rdf.php?fid=5&count=3
*
*   will show you the latest 3 posts from forum 5.
*
*   THIS SCRIPT WILL ONLY SHOW POSTS FROM PUBLIC FORUMS
*
***************************************************************************/

// XML and nocaching headers
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header ('Content-Type: text/xml');

// Includes of phpBB scripts
define ('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

// If not set, set the output count to 10
$count = ( !isset($HTTP_GET_VARS['count']) ) ? 10 : intval($HTTP_GET_VARS['count']);
$count = ( $count == 0 ) ? 10 : $count;

// Zeichen
$chars = ( isset($HTTP_GET_VARS['chars']) ) ? intval($HTTP_GET_VARS['chars']) : 200;
if($chars<0 || $chars>500) $chars=500; //Maximum
$type = ( isset($HTTP_GET_VARS['type']) ) ? $HTTP_GET_VARS['type'] : 'latest';
$news = ( $type == 'news' );

// Create main board url (some code borrowed from functions_post.php)
$script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
$viewtopic = ( $script_name != '' ) ? $script_name . '/viewtopic.' . $phpEx : 'viewtopic.'. $phpEx;
$index = ( $script_name != '' ) ? $script_name . '/index.' . $phpEx : 'index.'. $phpEx;
$server_name = trim($board_config['server_name']);
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';

$index_url = $server_protocol . $server_name . $server_port . $index;
$viewtopic_url = $server_protocol . $server_name . $server_port . $viewtopic;

$rdf = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns=\"http://my.netscape.com/rdf/simple/0.9/\">

<channel>
    <title>" . $board_config['sitename'] . " Forum</title>
    <link>" . $index_url . "</link>
    <description>" . $board_config['site_desc'] . "</description>
</channel>
";

$fid = ( isset($HTTP_GET_VARS['fid']) ) ? $HTTP_GET_VARS['fid'] : array();
if(!is_array($fid)) $fid = array($fid);

$fid_new = array();
for($i=0; $i<sizeof($fid); $i++)
{
    if(intval($fid[$i]) > 0)
    {
        if(!in_array($fid[$i], $fid_new))
        {
            $fid_new[] = $fid[$i];
        }
    }
}
$fid = $fid_new;
$sql_where = ( sizeof($fid)>0 ) ? " AND f.forum_id IN (" . implode($fid, ", ") . ")" : " ";

$sql_orderby = $news ? 't.topic_time DESC' : 'p.post_time DESC';
$sql_post_id_field = $news ? 't.topic_first_post_id' : 't.topic_last_post_id';

// SQL statement to fetch active topics of public forums
$sql = "SELECT DISTINCT t.topic_id, t.topic_title, p.post_id, p.post_time, pt.post_text, pt.bbcode_uid, f.forum_name
    FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . POSTS_TEXT_TABLE . " AS pt, " . FORUMS_TABLE . " AS f
    WHERE
        t.forum_id = f.forum_id
            AND f.auth_view = " . AUTH_ALL . "
            AND p.topic_id = t.topic_id
            AND p.post_id = $sql_post_id_field
            AND pt.post_id = p.post_id
            $sql_where
    ORDER BY $sql_orderby LIMIT $count";
$topics_query = $db->sql_query($sql);
//die($sql);
if ( !$topics_query )
{
    die("Failed obtaining list of active topics");
}
else
{
    $topics = $db->sql_fetchrowset($topics_query);
}

if ( count($topics) == 0 )
{
    die("No topics found");
}
else
{
    // $topics contains all interesting data
    for ($i = 0; $i < count($topics); $i++)
    {
        if(isset($HTTP_GET_VARS['titlepattern']))
        {
            $title = $HTTP_GET_VARS['titlepattern'];
            $title = str_replace('__DATE__', date("d.m.Y H:i", $topics[$i]['post_time']), $title);
            $title = str_replace('__TITLE__', $topics[$i]['topic_title'], $title);
            $title = str_replace('__FORUM__', $topics[$i]['forum_name'], $title);
        }
        else
        {
            $title = $topics[$i]['topic_title'];
        }
        //$title = "[" . date("d.m.Y H:i", $topics[$i]['post_time']) . "|" . $topics[$i]['forum_name'] . "] " . $topics[$i]['topic_title'];
        $url = ($news) ? $viewtopic_url . "?" . POST_TOPIC_URL . "=" . $topics[$i]['topic_id'] : $viewtopic_url . "?" . POST_POST_URL . "=" . $topics[$i]['post_id'] . "#" . $topics[$i]['post_id'];

        $message = $topics[$i]['post_text'];
        $bbcode_uid = $topics[$i]['bbcode_uid'];
        $message = strip_tags($message);
        $message = preg_replace("/\[.*?:$bbcode_uid:?.*?\]/si", '', $message);
        $message = preg_replace('/\[url\]|\[\/url\]/si', '', $message);
        if($chars > 0) {
                $message = ( strlen($message) > $chars ) ? substr($message, 0, ($chars - 4)) . ' ...' : $message;
        }

        $rdf .= "
<item>
    <title>" . $title . "</title>
    <link>" . $url . "</link>";
//    <pubDate>" . date('r', $topics[$i]['post_time']) . "</pubDate>";

if($chars != 0 && strlen($message)>0) $rdf .= "
    <description>" . $message . "</description>";

$rdf.="
</item>
";
    }
}

// Create RDF footer
$rdf .= "
</rdf:RDF>";

// Output the RDF
echo $rdf;

?>
最後由 umm 於 週五 8月 08, 2003 10:47 pm 編輯,總共編輯了 1 次。
Yi-Ting: Blog - http://timayouth.org/umm
umm
可愛的小學生
可愛的小學生
 
文章: 37
註冊時間: 週二 9月 03, 2002 6:49 pm

re:[建議]Require RSS feed...

文章moto » 週五 8月 08, 2003 6:23 pm

oh ... 這要跟 jesse 大好好研究一下... :mrgreen:
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[建議]Require RSS feed...

文章umm » 週五 8月 08, 2003 10:45 pm

moto 寫:oh ... 這要跟 jesse 大好好研究一下... :mrgreen:


嗯嗯..期待 moto 大大的好消息 :-D

如果摩托學園討論區提供 RSS feed 的話,Moto's BLOG 也可以裝個 RSS feed 外掛,不是很好嗎?? ;-)
Yi-Ting: Blog - http://timayouth.org/umm
umm
可愛的小學生
可愛的小學生
 
文章: 37
註冊時間: 週二 9月 03, 2002 6:49 pm

re:[建議]Require RSS feed...

文章moto » 週二 8月 19, 2003 9:44 am

hi umm,

jesse 大大已經幫我們弄好了:

rdf.php

ps.那個 blog 的 rss feed 怎麼弄阿... :-P
歡迎你來到MOTO學園一起討論Debian相關問題。
在post問題前可先別忘記了以下的步驟:
1:翻一下/usr/share/doc/中是否已經有解答了?
2:閱讀一下無痛起步是否已經提到了?
3:找一下google予以解答?
4:善用學園中的"搜尋"功能,往往答案就在裡面窩。
頭像
moto
摩托學園站長
摩托學園站長
 
文章: 2808
註冊時間: 週二 9月 03, 2002 3:37 am
來自: 台北

re:[建議]Require RSS feed...

文章d2207197 » 週二 8月 19, 2003 7:41 pm

可不可推薦一下可以在Linux上用的 RSS Feed 軟體
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:[建議]Require RSS feed...

文章carlos » 週二 8月 19, 2003 9:49 pm

straw (for gnome2, implemented by python, http://www.nongnu.org/straw/ )
or
evolution ;)
or
NewsMonster ( for mozilla http://www.newsmonster.org/ )
or
Syndigator ( http://syndigator.sourceforge.net/ )
or
LIFEREA ( http://liferea.sourceforge.net/ )
or
HotSheet ( java app http://www.johnmunsch.com/projects/HotSheet/ )
頭像
carlos
活潑的高中生
活潑的高中生
 
文章: 307
註冊時間: 週五 4月 04, 2003 7:02 pm
來自: NZ

re:[建議]Require RSS feed...

文章carlos » 週二 8月 19, 2003 9:57 pm

umm 寫:
如果摩托學園討論區提供 RSS feed 的話,Moto's BLOG 也可以裝個 RSS feed 外掛,不是很好嗎?? ;-)


already there...
http://blog.debian.org.tw/~moto/index.rdf
頭像
carlos
活潑的高中生
活潑的高中生
 
文章: 307
註冊時間: 週五 4月 04, 2003 7:02 pm
來自: NZ

re:[建議]Require RSS feed...

文章umm » 週日 8月 31, 2003 11:37 pm

moto 寫:hi umm,

jesse 大大已經幫我們弄好了:

rdf.php

ps.那個 blog 的 rss feed 怎麼弄阿... :-P


YA!! 終於有 RSS ㄌ.. :finger1:

至於 mt 的 rss-feed..
首先要先裝好
RSS feed - http://mt-plugins.org/archives/entry/rss_feed.php
MTList - http://mt-plugins.org/archives/entry/mtlist.php

兩個外掛,然後在樣板中加入如下的語法..
代碼: 選擇全部
<MTList name="feeds">
http://www.mplode.com/tima/xml/index.xml
http://www.movabletype.org/index.xml
</MTList>
<MTListLoop name="feeds">
<MTRSSFeed>
<$MTRSSFeedTitle$><br/>
<ul><MTRSSFeedItems lastn="5">
<li><a href="<$MTRSSFeedItemLink$>"><$MTRSSFeedItemTitle$></a></li>
</MTRSSFeedItems></ul>
</MTRSSFeed>
</MTListLoop>
<p>Syndicated using <a href="http://www.mplode.com/tima/files/mt-plugins/#mt-rssfeed";>mt-rssfeed</a></p>


應該就差不多這樣囉....QQ
Yi-Ting: Blog - http://timayouth.org/umm
umm
可愛的小學生
可愛的小學生
 
文章: 37
註冊時間: 週二 9月 03, 2002 6:49 pm

re:[建議]Require RSS feed...

文章umm » 週日 8月 31, 2003 11:50 pm

d2207197 寫:可不可推薦一下可以在Linux上用的 RSS Feed 軟體


小弟我用的是
Firebird + RSS Reader Panel ( http://fls.moo.jp/moz/rssreader.html )

也不錯用啦,推薦給各位.. ;-)
Yi-Ting: Blog - http://timayouth.org/umm
umm
可愛的小學生
可愛的小學生
 
文章: 37
註冊時間: 週二 9月 03, 2002 6:49 pm

re:[建議]Require RSS feed...

文章Dan » 週一 9月 01, 2003 1:33 am

umm 寫:
d2207197 寫:可不可推薦一下可以在Linux上用的 RSS Feed 軟體


小弟我用的是
Firebird + RSS Reader Panel ( http://fls.moo.jp/moz/rssreader.html )

也不錯用啦,推薦給各位.. ;-)


補充一下, 叫出 RSS Reader Panel 的方法是
1. 你可以從 View > Sidebar 裡找到 "RSS Reader"
2. 你也可以在自訂工具列的時候找到一個"RSS"的icon, 加到工具列裡就可以方便的打開了
Dan
 

re:[建議]Require RSS feed...

文章allein » 週二 7月 06, 2004 9:22 pm

only title, post time and a link?
full text is needed...

http://forum.nucleuscms.org/rss.php is a full feed, I like it.
allein
可愛的小學生
可愛的小學生
 
文章: 7
註冊時間: 週日 12月 21, 2003 12:21 pm
來自: Mainland

re:[建議]Require RSS feed...

文章訪客 » 週三 7月 07, 2004 12:29 am

Why nobody mentioned Amphetadesk?

http://www.disobey.com/amphetadesk/
訪客
 

re:[建議]Require RSS feed...

文章jesse.sung » 週三 9月 08, 2004 10:40 pm

allein 寫:only title, post time and a link?
full text is needed...
http://forum.nucleuscms.org/rss.php is a full feed, I like it.

改成和上面那個 link 一樣的了....
另, rss 的 url 更改為 rss.php ...
頭像
jesse.sung
程式開發組
程式開發組
 
文章: 654
註冊時間: 週三 9月 04, 2002 9:43 am

re:[建議]Require RSS feed...

文章allein » 週四 9月 09, 2004 8:52 pm

jesse.sung 寫:改成和上面那個 link 一樣的了....
另, rss 的 url 更改為 rss.php ...


超级赞!
allein
可愛的小學生
可愛的小學生
 
文章: 7
註冊時間: 週日 12月 21, 2003 12:21 pm
來自: Mainland

re:[建議]Require RSS feed...

文章umm » 週日 11月 21, 2004 12:40 pm

:ooops:
能不能請問一下,目前摩托學園使用的 RSS Mod 是在哪邊取得的?

感覺好讚喔!還有 simple mode~ :-D
:finger1:
Yi-Ting: Blog - http://timayouth.org/umm
umm
可愛的小學生
可愛的小學生
 
文章: 37
註冊時間: 週二 9月 03, 2002 6:49 pm


回到 摩托學園公開討論版

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客