RSS/RDF

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.
Antworten
Manjunja
Mitglied
Beiträge: 12
Registriert: 21.09.2002 20:26

RSS/RDF

Beitrag von Manjunja »

Hi Leutz,

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.

Ich habe einen Link hier im Forum gefunden, der aber nur den unvollständigen Quellcode anzeigt: http://www.itst.org/php/scripts/rdf.phps

Kann mir hier jemand weiterhelfe, es ist echt zum verzweifeln ;-)

Thx in @vance

Manjunja
Benutzeravatar
M@ster
Mitglied
Beiträge: 39
Registriert: 19.06.2002 15:19
Kontaktdaten:

Beitrag von M@ster »

Bei mir funktioniert es mit dieser Datei im Root Verzeichnis des Forums:
(Dateiname rdf.php)

Code: Alles auswählen

<?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.
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Meinste sowas in der Art http://www.phpbb.de/webmaster.php ?
Benutzeravatar
itst
Ehrenadmin
Beiträge: 7418
Registriert: 21.08.2001 02:00
Wohnort: Büttelborn bei Darmstadt
Kontaktdaten:

Beitrag von itst »

Das Script auf itst.org ist das gleiche wie das unter phpBB.de für Webmaster angebotene.
Sascha A. Carlin,
phpBB.de Ehrenadministrator
:o
Manjunja
Mitglied
Beiträge: 12
Registriert: 21.09.2002 20:26

Beitrag von Manjunja »

Hi Leutz,

@Master

Thx, das funzt ;-)

@Simpson

Das würde wahrscheinlich auch gehen ;-)

@itst

Dann kannst Du meine eMail alias Micha, die ich Dir heute geschrieben habe vergessen ;-)

Manjunja
Benutzeravatar
M@ster
Mitglied
Beiträge: 39
Registriert: 19.06.2002 15:19
Kontaktdaten:

Beitrag von M@ster »

Freut mich ;)
Womit greifst du die RDF Datei ab?
Die Sollbruchstelle des Toilettenpapiers hat ihre Lösungsstruktur geändert.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“