Un loup blessé

Le blog, sous DotClear, d'un Geek Gay DVDvore

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

BLOGOMETRIE 2.0

Mot clé - dotclear

Fil des billets - Fil des commentaires

vendredi 13 juillet 2007

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 )

jeudi 12 juillet 2007

Pour personnaliser certains messages déjà prédéfinis

Copier le fichier /locales/fr/public.lang.php dans son thème dans themes/monthème/locales/fr/

Faire les personnalisations dans ce fichier copié.

Dans le thème, au niveau du fichier _public.php (s'il n'existe pas le créer),rajouter cette instruction :

<?php l10n::set(dirname(FILE).'/locales/'.$_lang.'/public'); ?>

lundi 9 juillet 2007

Pour ouvrir les liens externes dans une nouvelle fenêtre

mettre dans un widget texte ce code :

<script type="text/javascript">
var a = document.getElementsByTagName('a');
var re = new RegExp("^http(s?)://" + window.location.host);
for (var i=0;i<a.length;i++) {
if (!a[i].href.match(re)) {
a[i].onclick = function() {
window.open(this.href); return false;
}
}
}
</script>