lecteur de flux rss ( phpboost3 )
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
J'aimerai un module pour integrer des flux rss d'un autre site... ( lecteur de flux rss)
pouvez vous m'expliquer les procédure a faire, ou essayer de m'en faire un ?
merci a vous...
pour l'instant j'ai trouver ça :
Code PHP :
<?php /* Atom and RSS Extractor and Displayer (c) 2007 Scriptol.com - Licence Mozilla 1.1. commonlib.php */ $Common_Content = array(); $Common_Style ="p"; $Common_Date_Font = "size='-1'"; function RSS_Tags($item, $type) { global $Common_Content; $y = array(); $y["title"] = $item->getElementsByTagName("title")->item(0)->firstChild->data; $y["link"] = $item->getElementsByTagName("link")->item(0)->firstChild->data; $y["description"] = $item->getElementsByTagName("description")->item(0)->firstChild->data; $tnl = $item->getElementsByTagName("pubDate"); if($tnl->length == 0) { $tnl = $item->getElementsByTagName("lastBuildDate"); } if($tnl->length != 0) { $tnl =$tnl->item(0)->firstChild->data; } else $tnl = false; $y["updated"] = $tnl; $y["type"] = $type; array_push($Common_Content, $y); } function RSS_Channel($channel) { global $Common_Content; $items = $channel->getElementsByTagName("item"); // Processing channel RSS_Tags($channel, 0); // get description of channel, type 0 // Processing articles foreach($items as $item) { RSS_Tags($item, 1); // get description of article, type 1 } } function RSS_Retrieve($url) { global $Common_Content; $doc = new DOMDocument(); $doc->load($url); $channels = $doc->getElementsByTagName("channel"); $Common_Content = array(); foreach($channels as $channel) { RSS_Channel($channel); } return ( count($Common_Content) > 0); } function Atom_Tags($item) { global $Common_Content; $y = array(); $y["title"] = $item->getElementsByTagName("title")->item(0)->firstChild->data; $y["link"] = $item->getElementsByTagName("link")->item(0)->getAttribute("href"); $y["description"] = $item->getElementsByTagName("summary")->item(0)->firstChild->data; $y["updated"] = $item->getElementsByTagName("updated")->item(0)->firstChild->data; $y["type"] = 1; array_push($Common_Content, $y); } function Atom_Feed($doc) { global $Common_Content; $entries = $doc->getElementsByTagName("entry"); if($entries->length == 0) return false; // Processing feed $y = array(); $y["title"] = $doc->getElementsByTagName("title")->item(0)->firstChild->data; $y["link"] = $doc->getElementsByTagName("link")->item(0)->getAttribute("href"); $y["description"] = $doc->getElementsByTagName("subtitle")->item(0)->firstChild->data; $y["updated"] = $doc->getElementsByTagName("updated")->item(0)->firstChild->data; $y["type"] = 0; array_push($Common_Content, $y); // Processing articles foreach($entries as $entry) { Atom_Tags($entry); // get description of article, type 1 } return true; } function Atom_Retrieve($url) { global $Common_Content; $doc = new DOMDocument(); $doc->load($url); $Common_Content = array(); return Atom_Feed($doc); } function Common_Display($url, $size = 25, $chanopt = false, $descopt = false, $dateopt = false) { global $Common_Content; global $Common_Style; global $Common_Date_Font; $opened = false; $page = ""; if(Atom_Retrieve($url) === false) { if(RSS_Retrieve($url) === false) { return "$url empty... "; } } if($size > 0) { $size += 1; // add one for the channel $recents = array_slice($Common_Content, 0, $size); } foreach($recents as $article) { $type = $article["type"]; if($type == 0) { if($chanopt != true) continue; if($opened == true) { $page .="</ul>n"; $opened = false; } //$page .="<b>"; } else { if($opened == false && $chanopt == true) { $page .= "<ul>n"; $opened = true; } } $title = $article["title"]; $link = $article["link"]; $page .= "<".$Common_Style."><a href="$link">$title</a>"; if($descopt != false) { $description = $article["description"]; if($description != false) { $page .= "<br>$description"; } } if($dateopt != false) { $updated = $article["updated"]; if($updated != false) { $page .= " <font $Common_Date_Font>$updated</font>"; } } $page .= "</".$Common_Style.">n"; /* if($type == 0) { $page .=" "; } */ } if($opened == true) { $page .="</ul>n"; } return $page."n"; } ?>
Édité par ReidLos Le 15/03/2009 à 15h13
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Ptithom Membre non connecté
-
Modérateur
- Voir le profil du membre Ptithom
- Inscrit le : 07/11/2006
- Site internet
- Groupes :
-
Equipe Historique
Toujours OSER, savoir parfois CEDER, mais jamais RENONCER!
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Cependant, pour la version 3, nous avons faillit faire une classe flux permettant de gérer des flux externes, mais devant la difficulté d'accéder à des ressources externes via les différentes configurations de PHP offertes par les hébergeurs, nous y avons renoncé.
Cependant, les méthodes
load_file($url)des classes
ATOMet
RSSdes fichiers /kernel/framework/content/syndication/atom.class.php et /kernel/framework/content/syndication/rss.class.php
Permettent de renvoyer un objet flux à partir d'un flux distant.
Donc, moyennant un petit développement personnel, c'est possible
.
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
De mon coté, j'ai essayer mais bon, je coince
, mais je vais essayer avec ce que tu ma dit 
Et puis si tu as un peu de temps pour moi
Édité par ReidLos Le 15/03/2009 à 21h27
Bidi Membre non connecté
Booster Roquette
-
Booster Roquette
- Voir le profil du membre Bidi
- Inscrit le : 28/07/2009
Est ce possible dans la v3 oou un script est en corus de realisation pour lire un flux rss externe?
Bien à vous.
Visiteur
Boosteur Inactif
Lecteur de flux tous formats en PHP
à tester je pense
Édité par Visiteur Le 11/08/2009 à 22h37
Bidi Membre non connecté
Booster Roquette
-
Booster Roquette
- Voir le profil du membre Bidi
- Inscrit le : 28/07/2009
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie