DotClear 2 en test

Aller au contenu | Aller au menu | Aller à la recherche

Vendredi 13 juillet 2007

Exemple d'un petit test simple en php

<?php if ($_ctx->posts->nb_comment == 0) : ?>
   <h3>Absence de commentaire</h3>
<?php else : ?>
   <h3>Commentaire(s) présent(s)</h3>
<?php endif; ?>

<?php if ($_ctx->posts->nb_trackback == 0) : ?>
   <h3>Absence de trackback</h3>
<?php else : ?>
   <h3>Trackback(s) présent(s)</h3>
<?php endif; ?>

<?php if (($_ctx->posts->nb_comment == 0) and ($_ctx->posts->nb_trackback == 0)) : ?>
   <h3>Absence de commentaire et de rétrolien</h3>
<?php else : ?>
   <h3>Commentaire(s) ou Trackback(s) présent(s)</h3>
<?php endif; ?>

Pour la protection des trackbacks

Attention : Intervention au coeur de DotClear : Ce n'est pas bien du tout !!!

  • Dans inc/prepend.php, cherchez "trackback" pour trouver cette ligne :

$core->url->register('trackback','trackback','^trackback/(.+)$',array('dcUrlHandlers','trackback'));

Remplacez chaque occurence de trackback par tada (par exemple)

$core->url->register('tada','tada','^tada/(.+)$',array('dcUrlHandlers','tada'));

  • Dans inc/public/lib.urlhandlers.php, cherchez cette fonction :
	public static function trackback($args)
	{
		if (!preg_match('/^[0-9]+$/',$args)) {
			self::p404();
		} else {
			$tb = new dcTrackback($GLOBALS['core']);
			$tb->receive($args);
			exit;
		}
	}

et remplacez function trackback par function tada

  • L'url de rétrolien apparaitra sans le trackback (avec index.php//numero au lieu de index.php/trackback/numero), il faut donc indiquer au lecteur de mettre tada entre)
  • Eventuellement, remplacez l'espace libre (//) en allant dans inc/core/class.dc.rs.entensions.php

Cherchez :

	public static function getTrackbackLink(&$rs)
	{
		return $rs->core->blog->url.$rs->core->url->getBase('trackback').'/'.$rs->post_id;
	}

et remplacez $rs->core->url->getBase('trackback') (soit ce qui est entre les deux points) par ce que vous voulez qui apparaisse ! (mais dans ce cas, cette url est visible par les robots et c'est celle qui est transmise pour la recherche automatique des url )