Lien de soumission à Blogmarks.net
Par NiKo le jeudi 9 juin 2005, 15:59 - Dotclear
- Lien permanent -
11 commentaires -
Tags :
Suite à la lecture de ce billet sur le blog de Blogmarks.net, je me suis dis qu'il était finalement assez simple de proposer dans Dotclear une fonction de génération automatique d'un lien de soumission du billet courant 
Quelques minutes plus tard, la fonction dcSubmitToBlogmarks() était née
Copiez-collez le code ci-dessous dans le fichier prepend.php de votre thème courant. Créez le fichier s'il n'existe pas.
/** * @function dcSubmitToBlogmarks * * Fournit un lien de soumission du billet courant au formulaire d'ajout * de Blogmarks.net, le gestionnaire de bookmarks qu'il est terrible. * * @param string $s Formatage de la sortie * */ function dcSubmitToBlogmarks($s='<a href="%s">Blogmark it !</a>') { $title = $GLOBALS['news']->f('post_titre'); $url = 'http://' . getenv('HTTP_HOST') . $GLOBALS['news']->getPermURL(); $summary = $GLOBALS['news']->getChapo() != "" ? strip_tags($GLOBALS['news']->getChapo()) : strip_tags($GLOBALS['news']->getContent()); $tN = array(" ", " ", "\t"); $tR = array("", " ", ""); $summary = str_replace($tN, $tR, $summary); while (ereg(" ", $summary)) $summary = str_replace(" ", " ", $summary); $summary = substr(chop($summary), 0, 255) . '...'; $tags = $GLOBALS['news']->f('cat_libelle'); $via = getenv('HTTP_REFERER'); if ($title && $url) { if (dc_encoding != 'UTF-8') { $title = utf8_encode($title); $url = utf8_encode($url); $summary = utf8_encode($summary); $tags = utf8_encode($tags); $via = utf8_encode($via); } echo sprintf ( $s, 'http://www.blogmarks.net/my/new.php?'. 'title=' . urlencode($title) . '&'. 'summary=' . urlencode($summary) .'&'. 'url=' . urlencode($url) . '&'. 'via=' . urlencode($via) . '&'. 'tags=' . urlencode($tags) ); } }
Cette fonction doit être appellée depuis le fichier post.php du thème courant, ce qui donne un lien du type de celui présent ci-dessus, permettant à vos lecteurs d'ajouter en un clic votre billet à leurs blogmarks.
Enjoy 
Edit: Correction d'un bug n'affectant que les blogs encodés en ISO et empêchant le passage du titre en argument (erreur de nom de variable). Merci Yannis 










11 commentaires (Ajouter un commentaire)
Excellent. J'en ai pas l'utilité mais excellent quand même
Excellent
Jvais m'en inspirer pour le coder pour mon blog.
génial ! merci pour cette contribution à blogmarks
j'ai survolé, mais ce qui m'a attiré l'oeil, c'est ca :
if (dc_encoding != 'UTF-8') {
$title = utf8_encode($titre);
ca veut dire que si l'encodage de DC n'est pas UTF-8, tu encodes ? c'est pas le contraire ?
neolao > L'api de blogmarks.net chargée de recevoir les infos est prévue pour recevoir de l'utf-8 depuis GET ; donc si le blog du gars est en iso, je converti en utf-8 avant d'urlencoder les valeurs et de les soumettre en GET à Blogmarks
Par contre le jour où on aura un algo de detection du charset natif et performant en PHP, un peu comme en Java, CHAMPOMY
ah je vois, c'est pas fait pour l'affichage direct lol j'avais pas compris
Héhéhé pas mal ! même si comme lupucide je n'en aurai pas l'utilité.
Joli ! Merci. Chez moi, ça ne prend pas le titre du billet
C'est grave, Docteur ?
Yiannis > J'ai trouvé d'où pouvait provenir l'erreur, j'ai modifié la fonction. Peux-tu me dire si c'est bon ?
En anglais dans le titre, hein ? Subtile nuance, Maestro. It's working fine ! Merci.
De rien
La discussion continue ailleurs
Blogmarks sur Dotclear
Alors ça, c'est un petit bijou pour les utilisateurs de Blogmarks (pour ceux qui ne le savent pas encore, c'est un service de bookmarking en ligne, permettant une classification taxonomique, largement orientée blog et permettant la synchronisation...