Trackback
Client / Serveur de trackback.
Ce module se compose de deux classes instanciables,
un serveur de trackback (TrackbackServer) qui fournit une URL de ping pour le recensement des trackback,
et un client (TrackbackClient) permettant justement d'envoyer un ping signalant un trackback vers un serveur suivant le même protocole.
Ces classes implémentent les spécifications Movabletype
basées sur XML.
Le client nécessite l'extension curl pour envoyer des requètes HTTP.
Le stockage des trackback peut se faire grâce aux bases de données
Sqlite, MySQL ou PostgreSQL
via les classes d'abstraction présentes sur ce site.
PHP 5 powa
Les Méthodes
- TrackbackServer :: TrackbackServer - Nouvelle Instance
- TrackbackServer :: PingResponse - Répondre à un ping
- TrackbackServer :: GetTrackbackPings - Récupérer les tracback pour une ressource précise
- TrackbackServer :: GenerateRdfInfos - Générer des meta données RDF pour une ressource
- TrackbackServer :: CreateSqlTable - Créer la table SQL
- TrackbackClient :: TrackbackClient - Nouvelle Instance
- TrackbackClient :: SendTrackbackPing - Envoyer un ping
- TrackbackClient :: RetreiveTrackbackPings - Récupérer la liste des trackback d'une ressource distante
- TrackbackClient :: DiscoverTB - Récupérer l'url de ping d'une ressource proposant un trackback
Exemples
- Server -- Création de la table SQL
- Client -- Envoi d'un ping vers un serveur
- Client -- Récupérer la liste des trackback d'une ressource
- Server -- Répondre à un ping
Description des Méthodes
Nouvelle Instance
TrackbackServer :: TrackbackServer( string database )
Nouvelle Instance de la classe TrackbackServer.
- database : Base de donée à utiliser (SQLite, mysql ou pgsql).
$TB = new TrackbackServer( 'SQLite' );
Répondre à un ping
TrackbackServer :: PingResponse( array ids )
Cette méthode vérifie tout d'abord, grâce au paramètre ids, que le ping pointe bien vers une ressource existante et acceptant les trackback. Elle vérifie ensuite que ce trackback n'est pas déjà présent dans la base de donnée pour cette ressource. Une réponse au format XML est renvoyée.
- ids : les ids qui renverront un message positif. Ces ids peuvent être des chaines de caractère.
$TB -> PingResponse( array(1,2,3) );;$TB -> PingResponse( array('article-1','article-2','artcile-3') );;
Récupérer les tracback pour une ressource précise
TrackbackServer :: GetTrackbackPings( string id )
Cette méthode retourne une chaine au format XML et plus précisemment au format RSS 2.0 .
- id : L'id pour lequel rechercher les trackback.
$TB -> GetTrackbackPings( 'article-1' );;
Générer des meta données RDF pour une ressource
TrackbackServer :: GenerateRdfInfos( string ressource, string title, string pingUrl )
Cette méthode génére des meta données au format RDF en vue d'être insérées dans une page HTML ou autre. Cette fonctionnalité permet à certains client de trackback de découvrir automatiquement les URL de ping.
- ressource : URL vers la ressource ( rdf:about et dc:identifier ).
- title : titre de la ressource ( dc:title ).
- pingUrl : URL de ping pour cette ressource ( trackback:ping ).
$TB -> GenerateRdfInfos( 'http://monsite.com/article-1', 'Mon premier article' , 'http://monsite.com/ping.php?id=1' );;
Créer la table SQL
TrackbackServer :: CreateSqlTable()
Cette méthode crée la table SQL qui sera utilisée pour le stockage des informations. Cette méthode n'est donc qu'à utiliser une seule fois, à la mise en place de la classe.
$TB -> CreateSqlTable();
Nouvelle Instance
TrackbackClient :: TrackbackClient()
Nouvelle Instance de la classe TrackbackClient. Cette méthode vérifie uniquement que l'extension curl est bien chargée.
$TB = new TrackbackClient;
Envoyer un ping
TrackbackClient :: SendTrackbackPing( string url , array Parameters [, int Timeout ] )
Envoi d'un ping vers un serveur signalant un trackback.
- url : URL vers laquelle envoyer le ping.
- Parameters : Array contenant les paramètres nécessaires. Ce tableau doit être de la forme array(title,url,excerpt,blog_name)
- Timeout : Timeout apparti à la requète.
$TB = SendTrackbackPing ( 'http://site.com/trackback.php' , $Params );$TB = SendTrackbackPing ( 'http://site.com/trackback.php' , $Params , 5);
Récupérer la liste des trackback d'une ressource distante
TrackbackClient :: RetreiveTrackbackPings( string url )
Cette méthode permet de récuperer la liste des trackback d'une ressource distante en envoyant une requète GET avec comme paramètre __mode=rss. Le resultat est renvoyé au format RSS 2.0
- url : URL de ping pour cette ressource.
$TB -> RetreiveTrackbackPings ( 'http://site.net/trackback.php?id=1' );
Récupérer l'url de ping d'une ressource proposant un trackback
TrackbackClient :: DiscoverTB( string url )
Cette méthode permet de récuperer l'url de ping d'une ressource distante proposant un trackback. Le resultat renvoyé est une chaine.
- url : URL de la ressource.
TrackbackClient :: DiscoverTB ( 'http://site.net/article.blabla' );