Un loup blessé

Le blog, sous DotClear, d'un Geek Gay DVDvore. Naïf paranoïaque, utopiste désabusé.

Contenu | Menu | Sidebarre | Extra | Recherche | Bas de page

"Copyright" (ou autres licences) dans les flux (RSS et Atom) sous DotClear 1

Il y a quelques temps, comme je l'expliquait ici, le seul moyen à ma portée de mettre un genre de "copyright" (ce n'est pas un copyright puisque mon blog est sous licence Creative Commons, c'est juste que le terme Copyright est "parlant") dans les flux était cette bidouille :

Je plaçais ce morceau de code en début de billet :


<div style="text-align:center;"><span class="coprss">Source originale : <a href="http://1loup.net" rel="nofollow"><strong>Un loup blessé</strong></a> par <strong>1loup</strong></span></div>

puis celui là à la fin :


<div style="text-align:center;"><span class="coprss">Source originale/ Original post on : <a href="http://1loup.net" rel="nofollow"><strong>Un loup blessé</strong></a> par/by <strong>1loup</strong><br /><a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.en" rel="nofollow"><img src="http://1loup.net/somerights.png" alt="Some rights reserved - Creative commons" /></a></span></div>

et en ajoutant cette règle dans le style.css de mon thème :


.coprss {
display:none;
}

cela avait pour conséquence un affichage de ce genre :

Source originale/ Original post on : Un loup blessé par/by 1loup
Some rights reserved - Creative commons

uniquement dans les flux puisque la règle CSS le rendait invisible dans les billets.

C'était un peu lourdingue, une fois sur deux j'oubliais de rajouter les codes dans mes billets, ce n'était pas très pratique.

Puis, je me suis inspiré de cette conversation pour faire autrement : Directement dans le flux, uniquement dans le flux !

Cette manipulation s'effectue aussi dans le fichier class.xblogspost.php qui se trouve dans layout. Les fonctions à modifier sont également getRSSItem et getAtomEntry (les deux dernières). La partie intéressante est par contre située au niveau du return.

  • Pour getRSSItem :

function getRSSItem($short=false)
{

...(code non touché)...
		
	return
	'<item rdf:about="'.$this->getPermURL().'">'."\n".
	'  <title>'.$this->blog->toXML($this->f('post_titre'))."</title>\n".
	'  <link>'.$this->getPermURL()."</link>\n".
	'  <dc:date>'.$this->getIsoDate()."</dc:date>\n".
	(($this->f('post_lang')) ? '  <dc:language>'.$this->f('post_lang')."</dc:language>\n" : '').
	'  <dc:creator>'.htmlspecialchars($this->getUserCN())."</dc:creator>\n".
	'  <dc:subject>'.htmlspecialchars($this->f('cat_libelle'))."</dc:subject>\n".
	'  <description>'.$this->blog->toXML($desc)."</description>\n".
	'  <content:encoded><![CDATA['.$content."]]></content:encoded>\n".
	'</item>'."\n";
}

C'est cette ligne :


'  <content:encoded><![CDATA['.$content."]]></content:encoded>\n".

que j'ai modifié en :


'  <content:encoded><![CDATA['.$content.$coprss."]]></content:encoded>\n".

(je rajoute la variable coprss)

Ensuite, juste avant le return, je défini cette variable par un :


$coprss = '<p style="text-align:center;"><sup>Source originale/ Original post on : <a href="http://1loup.net"><strong>Un loup bless&eacute;</strong></a> par/by <strong>1loup</strong> dans le billet/on : <a href="'.$this->getPermURL().'">'.$this->blog->toXML($this->f('post_titre')).'</a><br /><a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.en" rel="nofollow"><img src="http://1loup.net/somerights.png" alt="Some rights reserved - Creative commons" /></a></sup></p>';

Cela me donne donc :


function getRSSItem($short=false)
{

...ne pas toucher à la première partie de la fonction...
		
$coprss = '<p style="text-align:center;"><sup>Source originale/ Original post on : <a href="http://1loup.net"><strong>Un loup bless&eacute;</strong></a> par/by <strong>1loup</strong> dans le billet/on : <a href="'.$this->getPermURL().'">'.$this->blog->toXML($this->f('post_titre')).'</a><br /><a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.en" rel="nofollow"><img src="http://1loup.net/somerights.png" alt="Some rights reserved - Creative commons" /></a></sup></p>';

	return
	'<item rdf:about="'.$this->getPermURL().'">'."\n".
	'  <title>'.$this->blog->toXML($this->f('post_titre'))."</title>\n".
	'  <link>'.$this->getPermURL()."</link>\n".
	'  <dc:date>'.$this->getIsoDate()."</dc:date>\n".
	(($this->f('post_lang')) ? '  <dc:language>'.$this->f('post_lang')."</dc:language>\n" : '').
	'  <dc:creator>'.htmlspecialchars($this->getUserCN())."</dc:creator>\n".
	'  <dc:subject>'.htmlspecialchars($this->f('cat_libelle'))."</dc:subject>\n".
	'  <description>'.$this->blog->toXML($desc)."</description>\n".
	'  <content:encoded><![CDATA['.$content.$coprss."]]></content:encoded>\n".
	'</item>'."\n";
}

  • Pour getAtomEntry :

function getAtomEntry($short=false)
{

...(code non touché)...
		
	return
	'<entry' .
	(($this->f('post_lang')) ? ' xml:lang="'.$this->f('post_lang').'"' : '').
	'>'."\n".
	'  <title>'.$this->blog->toXML($this->f('post_titre'))."</title>\n".
	'  <link rel="alternate" type="text/html" href="'.$this->getPermURL().'" />'."\n".
	'  <updated>'.$this->getIsoDate()."</updated>\n".
	'  <id>'.$id."</id>\n".
	'  <author><name>'.htmlspecialchars($this->getUserCN())."</name></author>\n".
	'  <category term="'.$this->f('cat_libelle_url').'" label="'.$this->blog->toXML($this->f('cat_libelle')).'"'."/>\n".
	'  <summary>'.$this->blog->toXML($desc)."</summary>\n".
	'  <content type="html">'.htmlspecialchars($content)."</content>\n".
	'</entry>'."\n";
}

idem, je remplace la ligne :


'  <content type="html">'.htmlspecialchars($content)."</content>\n".

par :


'  <content type="html">'.htmlspecialchars($content).htmlspecialchars($copatom)."</content>\n".

(je rajoute la variable copatom) puis juste avant le return de la fonction, j'inscris la définition :


$copatom = '<p style="text-align:center;"><sup>Source originale/ Original post on : <a href="http://1loup.net"><strong>Un loup bless&eacute;</strong></a> par/by <strong>1loup</strong> dans le billet/on : <a href="'.$this->getPermURL().'">'.$this->blog->toXML($this->f('post_titre')).'</a><br /><a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.en" rel="nofollow"><img src="http://1loup.net/somerights.png" alt="Some rights reserved - Creative commons" /></a></sup></p>';

Cela me donne donc :


function getAtomEntry($short=false)
{

...ne pas toucher à la première partie de la fonction...
		
$copatom = '<p style="text-align:center;"><sup>Source originale/ Original post on : <a href="http://1loup.net"><strong>Un loup bless&eacute;</strong></a> par/by <strong>1loup</strong> dans le billet/on : <a href="'.$this->getPermURL().'">'.$this->blog->toXML($this->f('post_titre')).'</a><br /><a href="http://creativecommons.org/licenses/by-nc-sa/2.0/fr/deed.en" rel="nofollow"><img src="http://1loup.net/somerights.png" alt="Some rights reserved - Creative commons" /></a></sup></p>';
		
	return
	'<entry' .
	(($this->f('post_lang')) ? ' xml:lang="'.$this->f('post_lang').'"' : '').
	'>'."\n".
	'  <title>'.$this->blog->toXML($this->f('post_titre'))."</title>\n".
	'  <link rel="alternate" type="text/html" href="'.$this->getPermURL().'" />'."\n".
	'  <updated>'.$this->getIsoDate()."</updated>\n".
	'  <id>'.$id."</id>\n".
	'  <author><name>'.htmlspecialchars($this->getUserCN())."</name></author>\n".
	'  <category term="'.$this->f('cat_libelle_url').'" label="'.$this->blog->toXML($this->f('cat_libelle')).'"'."/>\n".
	'  <summary>'.$this->blog->toXML($desc)."</summary>\n".
	'  <content type="html">'.htmlspecialchars($content).htmlspecialchars($copatom)."</content>\n".
	'</entry>'."\n";
}

Et voilà ! Dans les flux RSS et Atom, le texte que je voulais qui apparaisse est présent dans les billets sans avoir besoin de rajouter quoi que ce soit, c'est "automatique" :evil:

Tag(s) :   - ,  - 

Share/Bookmark

Chapô (extrait) et flux (RSS/Atom) sous DotClear 1 Le Samsung NC10 de chez SFR : Mon nouveau joujou

Trackbacks

Aucun trackback.

Pour faire un trackback sur ce billet, changez tb.php par tada.php dans ceci :
http://1loup.net/tb.php?id=1299

Commentaires

1. Le mardi 24 février 2009 à 20:04, par Jeremy

Gravatar

:hysterique: J'aime ses posts ou je comprends rien du tout :pompom:

2. Le mardi 24 février 2009 à 23:12, par 1loup

Gravatar

MyBlogLog

>Jeremy: Ouais... ben tu es visiblement le seul. Tu déposes le premier commentaire sur un billet d'il y a 48 heures. Il n'a pas stimulé des masses, hein... D'habitude, il y a MarcelD qui aime aussi beaucoup ce genre mais là, il doit être occupé, je me passerais de sa blague.

On va dire qu'il servira à ceux qui en auront besoin le moment venu :rolleyes:

3. Le mercredi 25 février 2009 à 21:28, par MarcelD

Gravatar

MyBlogLog

Hé ho!! J'arrive, j'ai plein de trucs sur le feu, j'ai pas le temps de triturer des codes moi :hysterique: (je suis attaqué dans guerre des gangs sur facebook)
Bon j'ai pas tout compris non plus hein! Mais je croyais lire la mention qui te sert de copyright dans GoogleReader. Que dalle cher monsieur le Loup! :pasbien:

4. Le mercredi 25 février 2009 à 21:44, par MarcelD

Gravatar

MyBlogLog

Je suis aveugle de naissance, ça fonctionne bien. Je suis tout confusionné :redface:
Bon en même temps je dois avouer que j'adore tout ce que tu écris, même les codes je les lit! Pour dire hein! Mais surtout, surtout, ce que j'aime ici, c'est la calculette scientifique :pompom: :pompom: :pompom: :pompom: :pompom: :pompom:

5. Le jeudi 26 février 2009 à 22:35, par 1loup

Gravatar

MyBlogLog

>MarcelD: Personne ne t'a forcé à t'inscrire à Facebook, si ton perd ton temps, c'est de ta faute. Est-ce que je suis sur Facebook, moi ?

Tu veux que je t'offre le code de la calculette ?

6. Le jeudi 26 février 2009 à 22:55, par MarcelD

Gravatar

MyBlogLog

Non c'est vrai personne ne m'a forcé à aller rejoindre facebook, mais un point positif tout de même (si, si, ça parait incroyable mais c'est vrai) j'ai repris contact avec des amis perdus de vue depuis longtemps dont un depuis dix sept ans :pompom:
Merci beaucoup pour le code la calculette scientifique mais je n'ai pas besoin d'anti-spam, trop peu d'activité sur mon blog ma brave dame. :bisou:

7. Le jeudi 26 février 2009 à 23:05, par 1loup

Gravatar

MyBlogLog

>MarcelD: Non mais ce n'était pas pour que tu installes un captcha. Tu me dis que tu aimes lire mes codes et que tu aimes ma calculette, alors je te l'offrais de bon coeur. Tu peux bien installer juste une calculette histoire d'avoir une calculette hein... :hysterique:

8. Le jeudi 26 février 2009 à 23:17, par MarcelD

Gravatar

MyBlogLog

Okay! balance le code de la calculette je vais frimer à mort avec ça. Je l'installerai demain ou samedi. Ce soir, je cuve :banane:

9. Le dimanche 8 mars 2009 à 11:24, par fiuuu

Gravatar

MyBlogLog

ca sert à quoi ce truc creative common chépakoi ?

10. Le dimanche 8 mars 2009 à 18:49, par 1loup

Gravatar

MyBlogLog

C'est une licence. Moins restrictive que le "copyright". Jette un oeil ici :
fr.creativecommons.org/co...

Mon blog est sous Creative Commons. J'ai choisi la licence (une des 6) qui permet de recopier/distribuer/modifier ce que je fais à condition de citer mon nom, de ne pas en faire le commerce et d'utiliser une licence identique.

Exemple: Tu trouves un de mes tutoriels génial, tu peux le reproduire (et le modifier mais en donnant mon nom) mais si tu veux le publier dans un bouquin, là, il faut me contacter.

Ajouter un commentaire

Calculette

Le code HTML dans le commentaire sera affiché comme du texte, les adresses internet seront converties automatiquement.

Informations supplémentaires :

Ici, c'est chez moi, compris ?
Je ne fais pas de prémodération, le captcha devrait éliminer les spammeurs.
Mais je dis non au langage SMS.
Essayez d'être compréhensible. Je préfère des fautes de frappes, de grammaires, d'orthographes à "KiC Kifè KK".
Pour le reste, ensuite, je fais ce que je veux avec VOS commentaires. Je peux très bien les modifier (je mettrais "Edit") ou les censurer si je l'estime nécessaire.

(Adresse IP enregistrée même derrière un proxy !)

Pour me faire coucou

QUoi ?

Bah, un blog... c'est un avis personnel qui n'engage QUE moi (et encore!), purement subjectif etc...

Mon sapin de Noël

Logo Blogging accompagné
Recommandé par des Influenceurs.

Full RSS Blog
Recommandé par des Influenceurs.

Logo Free Hugs - Câlins gratuits

Logo Blog sans Pub

Logo Mon blog se nourrit de vos commentaires

Abonnez-vous gratuitement à mon fil RSS

Quelques infos sur mon Twitter

Derniers blablas

Images aléatoires

Le choupinou Jake Gyllenhall
abent002.jpg
Photos Persos
H2_1.jpg
Des choupinous sexy
I53-19.jpg
Fractales
AArl24.jpg

Syndication / Autres

Blog précédent http://nextblog.bleebot.com Blog suivant Nextblog
Début | Contenu | Menu | Sidebarre | Extra | Recherche
Trombinoscopes