Kod
<?php
// RSSmod for phpbb by przemo
// ver. 0.7
// by uki_uki1
header('Content-type: application/rss+xml; Charset: iso-8859-2;');
require_once('config.php');
$ignore = 0; // forum ¶mietnik które ma nie być brane pod uwagę 0 je¶li brak
$allow = 1;
// umożliwa wybranie jakie wiadomo¶ci będ± dostępne
// 0 tylko z for widocznych dla go¶ci
// 1 z widocznych dla go¶ci i zarejestrowanych
// można ustawić więcej ale jest to niezalecane (pokaże z dostępnych modom (2) i (4) adminom oraz (3) prywatnych)
$limit = 50; // ile ostatnich postów ma być w kanale
$title = "RSS: Forum xxx"; // tytuł kanału
$description = "RSS: Forum xxx"; // opis kanału
$url = "http://xxx"; // adres url bez uko¶nika na końcu
function bbcode($tekst,$uid){
str_replace($uid, "", $tekst);
$tekst = nl2br($tekst);
$tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst);
$tekst = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tekst);
$tekst = preg_replace("#\[u\](.*?)\[/u\]#si",'<u>\\1</u>',$tekst);
$tekst = preg_replace("#\[s\](.*?)\[/s\]#si",'<s>\\1</s>',$tekst);
//odno¶nik www
$tekst = preg_replace("#\[url\](http.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\1</A>", $tekst);
$tekst = preg_replace("#\[url=(http.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\2</A>", $tekst);
// cytat
$tekst = preg_replace("#\[quote\](.*?)\[/quote\]#si",'<blockquote>\\1</blockquote>',$tekst); //bez
$tekst = preg_replace("#\[quote=(.*?)\](.*?)\[/quote\]#si",'<p><cite>\\1</cite> napisał:</p><blockquote>\\2</blockquote>',$tekst); // z
//kod
$tekst = preg_replace("#\[code:1\](.*?)\[/code:1\]#si",'<blockquote>\\1</blockquote>',$tekst);
$tekst = preg_replace("#\[code\](.*?)\[/code\]#si",'<blockquote>\\1</blockquote>',$tekst);
//center
$tekst = preg_replace("#\[center\](.*?)\[/center\]#si",'<center>\\1</center>',$tekst);
//img
$tekst = preg_replace("#\[img\](.*?)\[/img\]#si",'<a href="\\1">[obrazek]</a>',$tekst);
//size
$tekst = preg_replace("#\[size=(.*?)\](.*?)\[/size\]#si",'<font size="\\1">\\2</font>',$tekst);
//color
$tekst = preg_replace("#\[color=(.*?)\](.*?)\[/color\]#si",'<font color="\\1">\\2</font>',$tekst);
//lista
$tekst = preg_replace("#\[list\](.*?)\[/list:u\]#si",'<p>[lista]<br />\\1[/]</p>',$tekst);
//zbedne
$tekst = preg_replace("#\[shadow=(.*?)\](.*?)\[/shadow\]#si",'\\2',$tekst);
$tekst = preg_replace("#\[hidden\](.*?)\[/hidden\]#si",'[ukryte]',$tekst);
$tekst = preg_replace("#\[fade\](.*?)\[/fade\]#si",'\\1',$tekst);
$tekst = preg_replace("#\[scroll\](.*?)\[/scroll\]#si",'\\1',$tekst);
$tekst = preg_replace("#\[mod\](.*?)\[/mod\]#si",'[mod]',$tekst);
return($tekst);
}
@ mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
$query = mysql_query("SELECT
{$table_prefix}users.username as 'user',
{$table_prefix}users.user_id as 'uid',
{$table_prefix}topics.topic_title as 'title',
{$table_prefix}posts.post_id as 'pid',
{$table_prefix}posts_text.post_text as 'text',
{$table_prefix}posts.post_time as 'time',
{$table_prefix}forums.forum_name as 'cat',
{$table_prefix}posts_text.bbcode_uid as 'bbcode_uid'
FROM `{$table_prefix}posts`
LEFT JOIN {$table_prefix}topics ON {$table_prefix}topics.topic_id = {$table_prefix}posts.topic_id
LEFT JOIN {$table_prefix}posts_text ON {$table_prefix}posts_text.post_id = {$table_prefix}posts.post_id
LEFT JOIN {$table_prefix}users ON {$table_prefix}posts.poster_id = {$table_prefix}users.user_id
LEFT JOIN {$table_prefix}forums ON {$table_prefix}forums.forum_id = {$table_prefix}topics.forum_id
WHERE {$table_prefix}forums.auth_read <= $allow AND {$table_prefix}topics.forum_id != $ignore
ORDER BY `time` DESC LIMIT 0,$limit");
if(mysql_num_rows($query) < 1) die("Brak postów na forum.");
echo('<?xml version="1.0" encoding="iso-8859-2" ?>');
?>
<!-- RSSmod v0.7 by uki_uki1 for phpbb by przemo -->
<rss version="2.0">
<channel>
<generator>RSSmod v0.2 for phpbb by przemo</generator>
<title><? echo $title; ?></title>
<link><? echo $url; ?></link>
<description><![CDATA[<? echo $description; ?>]]></description>
<language>pl</language>
<?php
while($r = mysql_fetch_array($query))
{
$date = date("Y-m-d H:i:s",$r[time]);
$txt = bbcode($r[text],$r[bbcode_uid]);
echo("<item>
<title>$r[title]</title>
<link>$url/viewtopic.php?p=$r[pid]#$r[pid]</link>
<pubDate>$date</pubDate>
<description><![CDATA[<h4>Użytkownik <a href='$url/profile.php?mode=viewprofile&u=$r[uid]'>$r[user]</a><br />
odpowiedział w temacie: <a href='$url/viewtopic.php?p=$r[pid]#$r[pid]'>$r[title]</a><br />
<small>$date</small></h4>
<p><b>Tre¶ć posta:</b></p><hr />
<p>$txt</p>]]></description>
<category>".htmlspecialchars($r[cat])."</category>
<author>".htmlspecialchars($r[user])."</author>
</item>\n");
}
?>
</channel></rss>
// RSSmod for phpbb by przemo
// ver. 0.7
// by uki_uki1
header('Content-type: application/rss+xml; Charset: iso-8859-2;');
require_once('config.php');
$ignore = 0; // forum ¶mietnik które ma nie być brane pod uwagę 0 je¶li brak
$allow = 1;
// umożliwa wybranie jakie wiadomo¶ci będ± dostępne
// 0 tylko z for widocznych dla go¶ci
// 1 z widocznych dla go¶ci i zarejestrowanych
// można ustawić więcej ale jest to niezalecane (pokaże z dostępnych modom (2) i (4) adminom oraz (3) prywatnych)
$limit = 50; // ile ostatnich postów ma być w kanale
$title = "RSS: Forum xxx"; // tytuł kanału
$description = "RSS: Forum xxx"; // opis kanału
$url = "http://xxx"; // adres url bez uko¶nika na końcu
function bbcode($tekst,$uid){
str_replace($uid, "", $tekst);
$tekst = nl2br($tekst);
$tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst);
$tekst = preg_replace("#\[i\](.*?)\[/i\]#si",'<i>\\1</i>',$tekst);
$tekst = preg_replace("#\[u\](.*?)\[/u\]#si",'<u>\\1</u>',$tekst);
$tekst = preg_replace("#\[s\](.*?)\[/s\]#si",'<s>\\1</s>',$tekst);
//odno¶nik www
$tekst = preg_replace("#\[url\](http.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\1</A>", $tekst);
$tekst = preg_replace("#\[url=(http.*?)\](.*?)\[/url\]#si", "<A HREF=\"\\1\" TARGET=\"_blank\">\\2</A>", $tekst);
// cytat
$tekst = preg_replace("#\[quote\](.*?)\[/quote\]#si",'<blockquote>\\1</blockquote>',$tekst); //bez
$tekst = preg_replace("#\[quote=(.*?)\](.*?)\[/quote\]#si",'<p><cite>\\1</cite> napisał:</p><blockquote>\\2</blockquote>',$tekst); // z
//kod
$tekst = preg_replace("#\[code:1\](.*?)\[/code:1\]#si",'<blockquote>\\1</blockquote>',$tekst);
$tekst = preg_replace("#\[code\](.*?)\[/code\]#si",'<blockquote>\\1</blockquote>',$tekst);
//center
$tekst = preg_replace("#\[center\](.*?)\[/center\]#si",'<center>\\1</center>',$tekst);
//img
$tekst = preg_replace("#\[img\](.*?)\[/img\]#si",'<a href="\\1">[obrazek]</a>',$tekst);
//size
$tekst = preg_replace("#\[size=(.*?)\](.*?)\[/size\]#si",'<font size="\\1">\\2</font>',$tekst);
//color
$tekst = preg_replace("#\[color=(.*?)\](.*?)\[/color\]#si",'<font color="\\1">\\2</font>',$tekst);
//lista
$tekst = preg_replace("#\[list\](.*?)\[/list:u\]#si",'<p>[lista]<br />\\1[/]</p>',$tekst);
//zbedne
$tekst = preg_replace("#\[shadow=(.*?)\](.*?)\[/shadow\]#si",'\\2',$tekst);
$tekst = preg_replace("#\[hidden\](.*?)\[/hidden\]#si",'[ukryte]',$tekst);
$tekst = preg_replace("#\[fade\](.*?)\[/fade\]#si",'\\1',$tekst);
$tekst = preg_replace("#\[scroll\](.*?)\[/scroll\]#si",'\\1',$tekst);
$tekst = preg_replace("#\[mod\](.*?)\[/mod\]#si",'[mod]',$tekst);
return($tekst);
}
@ mysql_connect($dbhost, $dbuser, $dbpasswd);
mysql_select_db($dbname);
$query = mysql_query("SELECT
{$table_prefix}users.username as 'user',
{$table_prefix}users.user_id as 'uid',
{$table_prefix}topics.topic_title as 'title',
{$table_prefix}posts.post_id as 'pid',
{$table_prefix}posts_text.post_text as 'text',
{$table_prefix}posts.post_time as 'time',
{$table_prefix}forums.forum_name as 'cat',
{$table_prefix}posts_text.bbcode_uid as 'bbcode_uid'
FROM `{$table_prefix}posts`
LEFT JOIN {$table_prefix}topics ON {$table_prefix}topics.topic_id = {$table_prefix}posts.topic_id
LEFT JOIN {$table_prefix}posts_text ON {$table_prefix}posts_text.post_id = {$table_prefix}posts.post_id
LEFT JOIN {$table_prefix}users ON {$table_prefix}posts.poster_id = {$table_prefix}users.user_id
LEFT JOIN {$table_prefix}forums ON {$table_prefix}forums.forum_id = {$table_prefix}topics.forum_id
WHERE {$table_prefix}forums.auth_read <= $allow AND {$table_prefix}topics.forum_id != $ignore
ORDER BY `time` DESC LIMIT 0,$limit");
if(mysql_num_rows($query) < 1) die("Brak postów na forum.");
echo('<?xml version="1.0" encoding="iso-8859-2" ?>');
?>
<!-- RSSmod v0.7 by uki_uki1 for phpbb by przemo -->
<rss version="2.0">
<channel>
<generator>RSSmod v0.2 for phpbb by przemo</generator>
<title><? echo $title; ?></title>
<link><? echo $url; ?></link>
<description><![CDATA[<? echo $description; ?>]]></description>
<language>pl</language>
<?php
while($r = mysql_fetch_array($query))
{
$date = date("Y-m-d H:i:s",$r[time]);
$txt = bbcode($r[text],$r[bbcode_uid]);
echo("<item>
<title>$r[title]</title>
<link>$url/viewtopic.php?p=$r[pid]#$r[pid]</link>
<pubDate>$date</pubDate>
<description><![CDATA[<h4>Użytkownik <a href='$url/profile.php?mode=viewprofile&u=$r[uid]'>$r[user]</a><br />
odpowiedział w temacie: <a href='$url/viewtopic.php?p=$r[pid]#$r[pid]'>$r[title]</a><br />
<small>$date</small></h4>
<p><b>Tre¶ć posta:</b></p><hr />
<p>$txt</p>]]></description>
<category>".htmlspecialchars($r[cat])."</category>
<author>".htmlspecialchars($r[user])."</author>
</item>\n");
}
?>
</channel></rss>
I chciałbym żeby w 10 linijce:
Kod
$ignore = 0; // forum ¶mietnik które ma nie być brane pod uwagę 0 je¶li brak
wstawić kilka for. Jeśli wpisze id for po przecinku np tak:
Kod
$ignore = 1,5,19;
to wyskakuje mi taki błąd:
Kod
Parse error: syntax error, unexpected ',' in /home/xxx/public_html/rss2.php on line 10
Bardzo prosiłbym o pomoc ponieważ jest mi to dość bardzo potrzebne gdyż chciałbym wykluczyć z rrs kilka for.