Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
die Suchfunktion hat mich nicht wirklich weitergebracht ...
Also, ich nutze phpBB 2.0.3 und möchte gerne einen RSS/RDF-Newsfeed generieren.
Der Hintergund:
Ich habe auf dem einen Server meine HP mit PHPNuke 6.0 installiert und habe auf einen anderen Server eine Forum mit phpBB laufen. Sinn und Zweck der Sache ist es jetzt, eine gewisse Anzahl an Topics auf meiner HP anzuszeigen. Was ich dazu brauche ist eine RSS/RDF-Datei, da nur die von PHPNuke unterstützt wird.
<?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;
// 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=\"ISO-8859-1\" ?>
<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']) ) ? intval($HTTP_GET_VARS['fid']) : '';
$sql_where = ( !empty($fid) ) ? " AND f.forum_id = $fid " : " ";
// SQL statement to fetch active topics of public forums
$sql = "SELECT DISTINCT t.topic_title, t.topic_last_post_id, p.post_time, f.forum_name
FROM " . TOPICS_TABLE . " AS t, " . POSTS_TABLE . " AS p, " . 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 = t.topic_last_post_id
$sql_where
ORDER BY p.post_time DESC LIMIT $count";
$topics_query = $db->sql_query($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++)
{
$title = $topics[$i]['topic_title'];
$url = $viewtopic_url . "?" . POST_POST_URL . "=" . $topics[$i]['topic_last_post_id'] . "#" . $topics[$i]['topic_last_post_id'];
$rdf .= "
<item>
<title>" . $title . "</title>
<link>" . $url . "</link>
</item>
";
}
}
// Create RDF footer
$rdf .= "
</rdf:RDF>";
// Output the RDF
echo $rdf;
?>
Die Sollbruchstelle des Toilettenpapiers hat ihre Lösungsstruktur geändert.