ATOM Feed für phpBB

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
ne-r-o
Mitglied
Beiträge: 26
Registriert: 28.10.2004 17:46
Wohnort: Nettetal

ATOM Feed für phpBB

Beitrag von ne-r-o »

Hi,

ich suche einen MOD für die aktuelle Version von phpBB, mit dem ich die Beiträge im ATOM (am liebsten 1.0) ausgeben kann. Für das RSS Format hab ich so was in der art gefunden, aber RSS möchte ich nicht so gerne verwenden, da alle anderen Feeds der Seite auch ATOM sind. Wo bekomme ich einen solchen MOD her?
Benutzeravatar
Czarnowski
Mitglied
Beiträge: 101
Registriert: 18.02.2004 10:23
Wohnort: Flieden
Kontaktdaten:

Beitrag von Czarnowski »

Du meinst sicher so etwas

http://f.byethost33.com/atom.php


Das aber ist kein Mod sondern nur ein kleines Script erzeigt aber valides Atom 1.0 und funzt als RSS Feeed z.B. über Thunderbird gut.
Benutzeravatar
Harki
Mitglied
Beiträge: 144
Registriert: 25.04.2005 16:03
Wohnort: Hannover
Kontaktdaten:

Beitrag von Harki »

Oder hier:

http://naklon.info/rss/about.htm

Sehr schönes MOD, finde ich. Erzeugt allerdings Atom 0.3
Benutzeravatar
Czarnowski
Mitglied
Beiträge: 101
Registriert: 18.02.2004 10:23
Wohnort: Flieden
Kontaktdaten:

Und wie ist es mit Email Clients ?

Beitrag von Czarnowski »

Ich habe vergeblich versucht diverse RSS - Feed auf Basis Atom 0.3 unter Thunderbird als RSS Feed einzubinden.

Auch dieser MOD wird nicht akzeptiert.

Aber was soll's ich habe ja meine Lösung und die ist nur 83 Zeilen lang.
Benutzeravatar
Czarnowski
Mitglied
Beiträge: 101
Registriert: 18.02.2004 10:23
Wohnort: Flieden
Kontaktdaten:

Beitrag von Czarnowski »

Habe das Script ein wenig umgestellt, so dass andere es problemlos nutzen können.

Script als atom.php in die root von phpbb kopieren - das ist dann auch schon alles.

Code: Alles auswählen

<?php
$starttime = microtime();
require_once('config.php');
// Dieser Wert ist anzupassen
// 86400 = Sekunden eines Tages
// Hier werden alle Postings einer Woche gezeigt
// Beim zweiten Besuch über einen Email-Client wie Thunderbird werden nur noch neue oder geänderte gezeigt.

$diff = 86400*7;
// encoding einstellen  - das ist abhängig von dem Webserver und der PHPBB - Einstellung

$encoding="iso-8859-1";

// Ab hier normalerweise keine Änderungen notwendig
$now=time() - $diff;
$db = mysql_connect($dbhost,$dbuser,$dbpasswd) or die("Keine Verbindung zum Datenbanksystem gelungen: " . mysql_error());
mysql_select_db($dbname) or die("Auswahl der Datenbank".$dbname." fehlgeschlagen");
$confsql="SELECT config_name, config_value  FROM `".$table_prefix."config` WHERE `config_name` ='sitename' OR `config_name` ='site_desc' OR `config_name` ='board_email' OR `config_name` ='server_name'";
$conf = mysql_query($confsql);
while ($row = mysql_fetch_assoc($conf))
{
  if ($row['config_name'] =='sitename')
  {
    $titel=$row['config_value'];
  }
  elseif ($row['config_name'] =='server_name')
  {
     $root_url="http://".$row['config_value'] ;
     $feedurl=$root_url."/atom.php";
     $homepage =$root_url;
  }
  elseif ($row['config_name'] =='site_desc')
  {
   $untertitel= $row['config_value'];
  }
  elseif ($row['config_name'] =='board_email')
  {
   $email= $row['config_value'];
  }
}

// Copyright bitte belassen
$copyright="Atom 1.0 für PHPBB by Jan Czarnowski(c)2006";
$sql="SELECT p.topic_id,p.post_id, p.post_time,p.post_edit_time,pt.post_id,pt.post_subject,pt.post_text,t.topic_id,t.topic_title FROM `".$table_prefix."posts` p ,`".$table_prefix."posts_text` pt,`".$table_prefix."topics` t WHERE (p.post_id=pt.post_id  AND p.topic_id = t.topic_id AND p.post_time > $now ) ORDER BY `post_time` DESC ";
$result = mysql_query($sql);
$out='<?xml version="1.0" encoding="'.$encoding.'"?><feed xmlns="http://www.w3.org/2005/Atom">';
$out .='<title type="text">'.$titel.'</title><subtitle type="text">'.$untertitel.'</subtitle>';
$first=true;
if ($result)
{
  $dbr = mysql_fetch_assoc($result) ;
  while ($dbr)
  {
    if ($dbr['post_edit_time']==0) $dbr['post_edit_time']=$dbr['post_time']+1;
    $d_a=date("Y-m-d H:m:s", $dbr['post_edit_time']);
    $d_b=date("Y-m-d H:m:s", $dbr['post_time']);
    $d = explode(" ", $d_a);
    $date = $d[0];
    $time = $d[1];
    $datetime = implode("T",$d);
    $d2 = explode(" ", $d_b);
    $date2 = $d2[0];
    $time2 = $d2[1];
    $datetime2 = implode("T",$d2);
    if ($first)
    {
      $first=false;
      $out .="<updated>".$datetime."Z</updated>";
      $out .="<id>$feedurl</id>";
	  $out .='<link rel="alternate" type="text/html" href="'.$homepage.'"/>';
	  $out .='<link rel="self" type="application/atom+xml" href="'.$feedurl.'"/>';
	  $out .='<rights>'.$copyright.'</rights>';
	  $out .='<generator uri="'.$feedurl.'" version="1.0">'.$copyright.'</generator>';
	 }
	  $topic=$dbr['topic_id']   ;
      $pid=$dbr['post_id'];
      $betr=trim($dbr['post_subject']);
      if (strlen($betr) == 0) $titel1 = $dbr['topic_title']; else $titel1= $betr;
      $out .='<entry><title type="text">'.$titel1.'</title>';
	  $out .='<link type="text/html" href="'.$root_url.'/viewtopic.php?t='.$topic.'"/>';
	  // thisid ist die post_id, wird nur zur Validierung benötigt, da keine gleichen id's verwendet werden dürfen
	  $out .='<id>'.$root_url.'/viewtopic.php?t='.$topic.'&thisid='.$pid.'</id>';
	  $out .='<published>'.$datetime2.'Z</published>';
	  $out .='<updated>'.$datetime.'Z</updated>';
      $out .='<author><name>'.$titel.'</name><uri>'.$homepage.'</uri> <email>'.$email.'</email>	</author>';
      $neu=$dbr['post_text'];
      $kurz = substr($neu,0,90).' ....';
      $out .='<summary type="html">'.$kurz.'</summary>';
      $out  .= '<content type="html" xml:lang="de">'.$neu.'</content></entry>';
      $dbr = mysql_fetch_assoc($result);
    }
}
$out .="</feed>";
$endtime = microtime();
list($a_dec, $a_sec) = explode(" ", $starttime);
list($b_dec, $b_sec) = explode(" ", $endtime);
$verbrauch = $b_sec - $a_sec + $b_dec - $a_dec;
$out .="<!--PHPBB Atom benötigte $verbrauch Sekunden  und ".(function_exists('memory_get_usage')?memory_get_usage():'n/a')." Bytes an RAM --><!-- PHPBB ATOM Version 1.0 (c) Jan Czarnowski - http://piratos.byethost33.com -->";
header("Content-Type: application/xml");
echo $out;
?>

Mir erleichtert das Script die Arbeit mit dem Forum sehr - ich hoffe es nützt auch anderen etwas.
marcel czarnowski
Mitglied
Beiträge: 1
Registriert: 26.04.2006 16:10

Moinsen Pabba

Beitrag von marcel czarnowski »

moin pabba hab dich hier uaf dieser site ma gefunden deine site geht grad irgendwie net :evil: egal kann mir ja ma schreiben ok ciao



marcel
Benutzeravatar
andreas888
Mitglied
Beiträge: 96
Registriert: 13.09.2004 02:59
Kontaktdaten:

Beitrag von andreas888 »

Hallo,

hat zufällig jemand den obigen rss feed schon so umgeschrieben, daß der Code für die Smileys, Bilder, Zitate, und URLs nicht mit-rausgeht ?
ansonsten ist er aber ok, wird zumindest im Internet Explorer 7 gut dargestellt.

Grüße von Anderas
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“