From c02f3830f5f9775621e036f092012d6d71a08e23 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 11 Mar 2006 08:38:07 +0000
Subject: [PATCH] Les tags de rubriques, c'est rel="directory", pas
 rel="category", donc on change tout --
 http://microformats.org/wiki/rel-directory

---
 dist/backend-breves.html | 2 +-
 dist/backend.html        | 2 +-
 dist/site.html           | 2 +-
 ecrire/base/upgrade.php  | 9 +++++++++
 ecrire/inc/filtres.php   | 2 +-
 ecrire/inc/syndic.php    | 8 +++++---
 ecrire/inc_version.php   | 2 +-
 7 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/dist/backend-breves.html b/dist/backend-breves.html
index df81c2541d..db827ca212 100644
--- a/dist/backend-breves.html
+++ b/dist/backend-breves.html
@@ -43,7 +43,7 @@
 	sous forme de "microformats"
 
 ]<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
-[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="category"&gt;(#TITRE|supprimer_numero|texte_backend)&lt;/a&gt;]
+[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_numero|texte_backend)&lt;/a&gt;]
 </BOUCLE_rubrique_mf><B_mots_mf>
 / <BOUCLE_mots_mf(MOTS){id_breve}{", "}>
 [&lt;a href="[(#URL_MOT|url_absolue)]" rel="tag"&gt;(#TITRE|texte_backend)&lt;/a&gt;]</BOUCLE_mots_mf>
diff --git a/dist/backend.html b/dist/backend.html
index 9e5b8383ca..cba3f57257 100644
--- a/dist/backend.html
+++ b/dist/backend.html
@@ -45,7 +45,7 @@
 	sous forme de "microformats"
 
 ]<BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}>-
-[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="category"&gt;(#TITRE|supprimer_numero|texte_backend)&lt;/a&gt;]
+[&lt;a href="[(#URL_RUBRIQUE|url_absolue)]" rel="directory"&gt;(#TITRE|supprimer_numero|texte_backend)&lt;/a&gt;]
 </BOUCLE_rubrique_mf><B_mots_mf>
 / <BOUCLE_mots_mf(MOTS){id_article}{", "}>
 [&lt;a href="[(#URL_MOT|url_absolue)]" rel="tag"&gt;(#TITRE|texte_backend)&lt;/a&gt;]</BOUCLE_mots_mf>
diff --git a/dist/site.html b/dist/site.html
index 054b0d084c..fdd2844f5b 100644
--- a/dist/site.html
+++ b/dist/site.html
@@ -82,7 +82,7 @@
 	[<div style='float:#LANG_RIGHT;'>(#TAGS|afficher_enclosures)</div>]
 	[(#DATE|nom_jour)] [(#DATE|affdate)][, <:par_auteur:> (#LESAUTEURS)]
 	[: (#DESCRIPTIF)]
-	[&mdash; <em>(#TAGS|afficher_tags{'category'})</em>]
+	[&mdash; <em>(#TAGS|afficher_tags{'directory'})</em>]
 	[&mdash; <em>(#TAGS|afficher_tags{'tag'})</em>]
 
 	</div>
diff --git a/ecrire/base/upgrade.php b/ecrire/base/upgrade.php
index 98275a487d..89323fc7e2 100644
--- a/ecrire/base/upgrade.php
+++ b/ecrire/base/upgrade.php
@@ -1158,6 +1158,15 @@ function maj_base() {
 		maj_version(1.907);
 	}
 
+	// Oups ! on stockait les tags de syndication sous la forme rel="category"
+	// au lieu de rel="directory" - http://microformats.org/wiki/rel-directory
+	if ($version_installee < 1.908) {
+		spip_query("UPDATE spip_syndic_articles
+		SET tags = REPLACE(tags, 'rel=\"category\">', 'rel=\"directory\">')
+		WHERE tags like '%category%'");
+		maj_version(1.908);
+	}
+
 
 	return true;
 }
diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index 1bac6fc394..e12a305815 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -2420,7 +2420,7 @@ function afficher_enclosures($tags) {
 	}
 	return join('&nbsp;', $s);
 }
-function afficher_tags($tags, $rels='tag,category') {
+function afficher_tags($tags, $rels='tag,directory') {
 	$s = array();
 	foreach (extraire_tags($tags) as $tag) {
 		$rel = extraire_attribut($tag, 'rel');
diff --git a/ecrire/inc/syndic.php b/ecrire/inc/syndic.php
index 1bd31a86f3..3aef0dd45f 100644
--- a/ecrire/inc/syndic.php
+++ b/ecrire/inc/syndic.php
@@ -67,7 +67,8 @@ function ajouter_tags($matches, $item) {
 	include_spip('inc/filtres');
 	$tags = array();
 	foreach ($matches as $match) {
-		$type = ($match[3] == 'category') ? 'category':'tag';
+		$type = ($match[3] == 'category' OR $match[3] == 'directory')
+			? 'directory':'tag';
 		$mot = supprimer_tags($match[0]);
 		if (!strlen($mot)) break;
 		// rechercher un url
@@ -281,10 +282,11 @@ function analyser_backend($rss, $url_syndic='') {
 		# a partir de "<dc:subject>", (del.icio.us)
 		# ou <media:category> (flickr)
 		# ou <itunes:category> (apple)
-		# on cree nos tags microformat <a rel="category" href="url">titre</a>
+		# on cree nos tags microformat <a rel="directory" href="url">titre</a>
+		# http://microformats.org/wiki/rel-directory
 		$tags = array();
 		if (preg_match_all(
-		',<(([a-z]+:)?(subject|category|keywords?|tags?|type))[^>]*>'
+		',<(([a-z]+:)?(subject|category|directory|keywords?|tags?|type))[^>]*>'
 		.'(.*?)</\1>,ims',
 		$item, $matches, PREG_SET_ORDER))
 			$tags = ajouter_tags($matches, $item); # array()
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index dae0ad9104..659e0395d5 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -200,7 +200,7 @@ $extension_squelette = 'html';
 // (utilise pour les modifs de la base de donnees)
 
 // version de la base
-$spip_version = 1.907;
+$spip_version = 1.908;
 
 // version de spip
 $spip_version_affichee = '1.9 beta 1';
-- 
GitLab