From c6dabfba616e82a3208184f77a2db9d7098d10fb Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 5 Sep 2009 21:35:20 +0000
Subject: [PATCH] apres discussion et reflexion, laissons spip_out tel qu'il
 est, et utilisons plutot rel=external pour signaler de facon moderne qu'un
 lien est externe

---
 ecrire/inc/lien.php  | 12 +++++++-----
 prive/spip_style.css |  2 +-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/ecrire/inc/lien.php b/ecrire/inc/lien.php
index 2bb3cf7d14..6f812f108d 100644
--- a/ecrire/inc/lien.php
+++ b/ecrire/inc/lien.php
@@ -36,11 +36,8 @@ function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel='
 	elseif (preg_match('/^\s*mailto:/',$lien)) # pseudo URL de mail
 		$class = "spip_mail";
 	elseif (preg_match('/^<html>/',$lien)) # cf traiter_lien_explicite
-		$class = "spip_url";
-
-	// spip_out sur tous les liens externes
-	if (preg_match(',^https?://,S', $lien))
-		$class = trim("$class spip_out");
+		$class = "spip_url spip_out";
+	elseif (!$class) $class = "spip_out"; # si pas spip_in|spip_glossaire
 
 	// Si l'objet n'est pas de la langue courante, on ajoute hreflang
 	if (!$hlang AND $lang!==$GLOBALS['spip_lang'])
@@ -49,7 +46,12 @@ function inc_lien_dist($lien, $texte='', $class='', $title='', $hlang='', $rel='
 	$lang = ($hlang ? " hreflang='$hlang'" : '');
 
 	if ($title) $title = ' title="'.texte_backend($title).'"';
+
+	// rel=external pour les liens externes
+	if (preg_match(',^https?://,S', $lien))
+		$rel = trim("$rel external");
 	if ($rel) $rel = " rel='$rel'";
+
 	$lien = "<a href='$lien' class='$class'$lang$title$rel>$texte</a>";
 
 	# ceci s'execute heureusement avant les tableaux et leur "|".
diff --git a/prive/spip_style.css b/prive/spip_style.css
index 7f1ced012f..089f038592 100644
--- a/prive/spip_style.css
+++ b/prive/spip_style.css
@@ -52,7 +52,7 @@ a.spip_ancre {} /* liens internes a la page */
 a.spip_in {} /* liens internes */
 a.spip_mail { color: #900; }
 a.spip_mail:before { content: "\002709"; } /* liens vers un email */
-a.spip_out { color: #009; } /* liens sortants */
+a.spip_out,a[rel=external] { color: #009; } /* liens sortants */
 a.spip_url { color: #009; } /* liens url sortants */
 a.spip_glossaire { color: #060; } /* liens vers encyclopedie */
 a.spip_glossaire:hover { text-decoration: underline overline; }
-- 
GitLab