Dotclear


Ignore:
Timestamp:
09/01/13 03:16:29 (12 years ago)
Author:
Florent Cotton <florent.cotton@…>
Branch:
pingbacks
Children:
1675:23613441b822, 1676:ae97601883d2
Message:

Support des pingbacks : après le support de la détection et de l'envoi de pingbacks, au tour du support en réception.
Dans le détail (ou presque) :

  • Ajout d'un endpoint "pingback.ping" XML-RPC, mais le tout le gros du traitement est dans le fichier class.dc.trackback.php
  • Ajout d'une méthode "receive_pb" dans la classe dcTrackback pour la prise en charge quasi-complète de la réception et enregistrement d'un pingback.
  • Ajout d'une balise template {{tpl:BlogXMLRPCURL}} pour retourner l'URL du serveur XML-RPC du blog courant
  • Ajout d'un bloc au niveau des en-têtes dans les templates par défaut post.html et page.html pour la mise en oeuvre si besoin d'un <link rel="pingback" ../>
  • Ajout de l'envoi d'un en-tête HTTP supplémentaire "X-Pingback" dans les gestionnaires d'URLs pour les types "post" et "pages"

Reste plus qu'à tester en conditions réelles et à polir au besoin.

Location:
inc/public
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • inc/public/class.dc.template.php

    r1611 r1674  
    7070          $this->addValue('BlogID',array($this,'BlogID')); 
    7171          $this->addValue('BlogURL',array($this,'BlogURL')); 
     72          $this->addValue('BlogXMLRPCURL',array($this,'BlogXMLRPCURL')); 
    7273          $this->addValue('BlogPublicURL',array($this,'BlogPublicURL')); 
    7374          $this->addValue('BlogQmarkURL',array($this,'BlogQmarkURL')); 
     
    906907      
    907908     /*dtd 
     909     <!ELEMENT tpl:BlogXMLRPCURL - O -- Blog XML-RPC URL --> 
     910     */ 
     911     public function BlogXMLRPCURL($attr) 
     912     { 
     913          $f = $this->getFilters($attr); 
     914          return '<?php echo '.sprintf($f,'$core->blog->url.$core->url->getURLFor(\'xmlrpc\',$core->blog->id)').'; ?>'; 
     915     } 
     916      
     917     /*dtd 
    908918     <!ELEMENT tpl:BlogURL - O -- Blog URL --> 
    909919     */ 
  • inc/public/default-templates/post.html

    r932 r1674  
    2525  <link rel="top" href="{{tpl:BlogURL}}" title="{{tpl:lang Home}}" /> 
    2626  <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" /> 
     27  <tpl:EntryIf pings_active="1"><link rel="pingback" href="{{tpl:BlogXMLRPCURL}}" /></tpl:EntryIf> 
    2728   
    2829  <tpl:EntryNext><link rel="next" href="{{tpl:EntryURL}}" 
  • inc/public/lib.urlhandlers.php

    r1610 r1674  
    480480                     
    481481                    # The entry 
     482                    if ($_ctx->posts->trackbacksActive()) { 
     483                         header('X-Pingback: '.$core->blog->url.$core->url->getURLFor("xmlrpc",$core->blog->id)); 
     484                    } 
    482485                    self::serveDocument('post.html'); 
    483486               } 
Note: See TracChangeset for help on using the changeset viewer.

Sites map