From d5f91418f02eb537bb4e72605ea1695bdf374bc7 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 18 Oct 2003 14:06:25 +0000
Subject: [PATCH] =?UTF-8?q?nomenclature=20plus=20coh=C3=A9rente=20:=20url?=
 =?UTF-8?q?=5Fref=20(dans=20les=20articles)=20devient=20url=5Fsite=20(comm?=
 =?UTF-8?q?e=20dans=20les=20br=C3=A8ves)=20;=20on=20l'=C3=A9voque=20sous?=
 =?UTF-8?q?=20le=20nom=20"Lien=20hypertexte"=20et=20non=20plus=20"Adresse?=
 =?UTF-8?q?=20(URL)=20de=20r=C3=A9f=C3=A9rence"...?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/articles.php3      | 12 +++++++-----
 ecrire/articles_edit.php3 | 15 ++++++++++-----
 ecrire/inc_base.php3      | 20 ++++++++++++++++++--
 ecrire/inc_version.php3   |  2 +-
 ecrire/lang/spip_fr.php3  |  2 +-
 inc-calcul-squel.php3     | 20 ++++++++------------
 inc-champ-squel.php3      | 11 ++++++-----
 7 files changed, 51 insertions(+), 31 deletions(-)

diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index d3f9175acf..e860dc159d 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -196,7 +196,8 @@ if ($titre && !$ajout_forum && $flag_editable) {
 	$titre = addslashes(corriger_caracteres($titre));
 	$soustitre = addslashes(corriger_caracteres($soustitre));
 	$descriptif = addslashes(corriger_caracteres($descriptif));
-	$url_ref = addslashes(corriger_caracteres($url_ref));
+	$nom_site = addslashes(corriger_caracteres($nom_site));
+	$url_site = addslashes(corriger_caracteres($url_site));
 	$chapo = addslashes(corriger_caracteres($chapo));
 	$texte = addslashes(corriger_caracteres($texte));
 	$ps = addslashes(corriger_caracteres($ps));
@@ -216,7 +217,7 @@ if ($titre && !$ajout_forum && $flag_editable) {
 		$change_rubrique = "";
 	}
 
-	$query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", url_ref=\"$url_ref\" $add_extra WHERE id_article=$id_article";
+	$query = "UPDATE spip_articles SET surtitre=\"$surtitre\", titre=\"$titre\", soustitre=\"$soustitre\", $change_rubrique descriptif=\"$descriptif\", chapo=\"$chapo\", texte=\"$texte\", ps=\"$ps\", url_site=\"$url_site\", nom_site=\"$nom_site\" $add_extra WHERE id_article=$id_article";
 	$result = spip_query($query);
 	calculer_rubriques();
 	if ($statut_article == 'publie') $reindexer = true;
@@ -277,7 +278,8 @@ if ($row = spip_fetch_array($result)) {
 	$soustitre = $row["soustitre"];
 	$id_rubrique = $row["id_rubrique"];
 	$descriptif = $row["descriptif"];
-	$url_ref = $row["url_ref"];
+	$nom_site = $row["nom_site"];
+	$url_site = $row["url_site"];
 	$chapo = $row["chapo"];
 	$texte = $row["texte"];
 	$ps = $row["ps"];
@@ -723,11 +725,11 @@ if ($soustitre) {
 }
 
 
-if ($descriptif<>'' OR $url_ref<>'') {
+if ($descriptif OR $url_site OR $nom_site) {
 	echo "<p><div align='left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>";
 	echo "<font size=2 face='Verdana,Arial,Helvetica,sans-serif'>";
 	$texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : '';
-	$texte_case .= ($url_ref) ? "{{"._T('info_urlref')."}} [->$url_ref]" : '';
+	$texte_case .= ($nom_site.$url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : '';
 	echo propre($texte_case);
 	echo "</font>";
 	echo "</div>";
diff --git a/ecrire/articles_edit.php3 b/ecrire/articles_edit.php3
index 7a5660fab5..e228947e35 100644
--- a/ecrire/articles_edit.php3
+++ b/ecrire/articles_edit.php3
@@ -38,7 +38,8 @@ if ($id_article) {
 		$id_rubrique = $row["id_rubrique"];
 		$id_secteur = $row['id_secteur'];
 		$descriptif = $row["descriptif"];
-		$url_ref = $row["url_ref"];
+		$nom_site = $row["nom_site"];
+		$url_site = $row["url_site"];
 		$chapo = $row["chapo"];
 		$texte = $row["texte"];
 		$ps = $row["ps"];
@@ -284,7 +285,8 @@ echo "<P><HR><P>";
 	$surtitre = entites_html($surtitre);
 
 	$descriptif = entites_html($descriptif);
-	$url_ref = entites_html($url_ref);
+	$nom_site = entites_html($nom_site);
+	$url_site = entites_html($url_site);
 	$chapo = entites_html($chapo);
 	$texte = entites_html($texte);
 	$ps = entites_html($ps);
@@ -357,9 +359,12 @@ echo "<P><HR><P>";
 		echo "<INPUT TYPE='hidden' NAME='descriptif' VALUE=\"$descriptif\">";
 	}
 
-	if (($options == "avancees" AND $articles_urlref != "non") OR $url_ref) {
-		echo "<P><b>"._T('info_urlref')."</b> ";
-		echo "<input type='text' name='url_ref' class='forml' width='40' value=\"$url_ref\"/>";
+	if (($options == "avancees" AND $articles_urlref != "non") OR $nom_site OR $url_site) {
+		echo _T('entree_liens_sites')."<br />\n";
+		echo _T('info_titre')." ";
+		echo "<input type='text' name='nom_site' class='forml' width='40' value=\"$nom_site\"/><br />\n";
+		echo _T('info_url')." ";
+		echo "<input type='text' name='url_site' class='forml' width='40' value=\"$url_site\"/>";
 	}
 
 	if (substr($chapo, 0, 1) == '=') {
diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3
index a9a3a8bae4..920ed59ff6 100644
--- a/ecrire/inc_base.php3
+++ b/ecrire/inc_base.php3
@@ -43,14 +43,15 @@ function creer_base() {
 		langue_choisie VARCHAR(3) DEFAULT 'non',
 		id_trad bigint(21) DEFAULT '0' NOT NULL,
 		extra longblob NULL,
-		url_ref text NOT NULL,
+		nom_site tinytext NOT NULL,
+		url_site text NOT NULL,
 		PRIMARY KEY (id_article),
 		KEY id_rubrique (id_rubrique),
 		KEY id_secteur (id_secteur),
 		KEY id_trad (id_trad),
 		KEY lang (lang),
 		KEY statut (statut, date),
-		KEY url_ref (url_ref (25)),
+		KEY url_site (url_site (25)),
 		KEY date_modif (date_modif))";
 	$result = spip_query($query);
 
@@ -1415,6 +1416,7 @@ function maj_base() {
 		maj_version (1.718);
 	}
 
+	/*
 	if ($version_installee < 1.720) {
 		spip_query("ALTER TABLE spip_articles ADD url_ref text NOT NULL");
 		maj_version (1.720);
@@ -1424,6 +1426,20 @@ function maj_base() {
 		spip_query("ALTER TABLE spip_articles ADD INDEX url_ref (url_ref (25))");
 		maj_version (1.721);
 	}
+	*/
+
+	if ($version_installee < 1.722) {
+		spip_query("ALTER TABLE spip_articles ADD nom_site tinytext NOT NULL");
+		spip_query("ALTER TABLE spip_articles ADD url_site text NOT NULL");
+		spip_query("ALTER TABLE spip_articles ADD INDEX url_site (url_site (25))");
+		if ($version_installee >= 1.720) {
+			spip_query("UPDATE spip_articles SET url_site=url_ref");
+			spip_query("ALTER TABLE spip_articles DROP INDEX url_ref");
+			spip_query("ALTER TABLE spip_articles DROP url_ref");
+		}
+		maj_version (1.722);
+	}
+
 
 	return true;
 }
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 123be7bbc7..96694807d7 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -149,7 +149,7 @@ if ($flag_ecrire) {
 // (utilise pour les modifs de la base de donnees)
 
 // version de la base
-$spip_version = 1.721;
+$spip_version = 1.722;
 
 // version de spip
 $spip_version_affichee = "1.7b1 CVS";
diff --git a/ecrire/lang/spip_fr.php3 b/ecrire/lang/spip_fr.php3
index ff3e8721ee..fd2c94a622 100644
--- a/ecrire/lang/spip_fr.php3
+++ b/ecrire/lang/spip_fr.php3
@@ -527,7 +527,7 @@ Merci de votre participation
 'info_changer_nom_groupe' => 'Changer le nom de ce groupe :',
 'info_chapeau' => 'Chapeau',
 'info_chapeau_2' => 'Chapeau&nbsp;:',
-'info_urlref' => 'Adresse (URL) de r&eacute;f&eacute;rence&nbsp;:',
+'info_urlref' => 'Lien hypertexte&nbsp;:',
 'info_chemin_acces_1' => 'Options : <B>Chemin d\'acc&egrave;s dans l\'annuaire</B>',
 'info_chemin_acces_2' => 'Vous devez d&eacute;sormais configurer le chemin d\'acc&egrave;s aux informations dans l\'annuaire. Cette information est indispensable pour lire les profils utilisateurs stock&eacute;s dans l\'annuaire.',
 'info_chemin_acces_annuaire' => 'Options : <B>Chemin d\'acc&egrave;s dans l\'annuaire',
diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3
index 4d7ffda9e0..d8c6c65dea 100644
--- a/inc-calcul-squel.php3
+++ b/inc-calcul-squel.php3
@@ -232,23 +232,19 @@ function parser_boucle($texte, $id_parent) {
 				if ($type == 'articles') {
 					$s = "$table.id_article,$table.id_rubrique,$table.id_secteur,".
 						"$table.surtitre,$table.titre,$table.soustitre,$table.date,$table.date_redac,$table.date_modif,".
-						"$table.visites,$table.popularite,$table.statut,$table.accepter_forum,$table.lang,$table.id_trad,$table.url_ref";
-					if (ereg('\#(TEXTE|INTRODUCTION)', $milieu)) {
+						"$table.visites,$table.popularite,$table.statut,$table.accepter_forum,$table.lang,$table.id_trad";
+					if (ereg('\#(TEXTE|INTRODUCTION)', $milieu))
 						$s .= ",$table.texte";
-					}
-					if (ereg('\#(CHAPO|INTRODUCTION)', $milieu)) {
+					if (ereg('\#(CHAPO|INTRODUCTION)', $milieu))
 						$s .= ",$table.chapo";
-					}
-					if (ereg('\#(DESCRIPTIF|INTRODUCTION)', $milieu)) {
+					if (ereg('\#(DESCRIPTIF|INTRODUCTION)', $milieu))
 						$s .= ",$table.descriptif";
-					}
-					if (ereg('\#(PS)', $milieu)) {
+					if (ereg('\#(PS)', $milieu))
 						$s .= ",$table.ps";
-					}
-					if (ereg('\#(EXTRA)', $milieu)) {
+					if (ereg('\#(EXTRA)', $milieu))
 						$s .= ",$table.extra";
-					}
-
+					if (ereg("\#(NOM_SITE|URL_SITE)", $milieu))
+						$s .= ",$table.nom_site,$table.url_site";
 					$req_select[] = $s;
 				}
 				else $req_select[] = "$table.*";
diff --git a/inc-champ-squel.php3 b/inc-champ-squel.php3
index aa7564044e..4e2297f479 100755
--- a/inc-champ-squel.php3
+++ b/inc-champ-squel.php3
@@ -85,7 +85,7 @@ function init_champs_squel() {
 		'LOGO_BREVE_RUBRIQUE', 'LOGO_DOCUMENT', 'LOGO_ARTICLE',
 		'LOGO_ARTICLE_RUBRIQUE', 'LOGO_ARTICLE_NORMAL',
 		'LOGO_ARTICLE_SURVOL', 'URL_ARTICLE', 'URL_RUBRIQUE', 'URL_BREVE',
-		'URL_FORUM', 'URL_SYNDIC', 'URL_MOT', 'URL_DOCUMENT', 'URL_REF',
+		'URL_FORUM', 'URL_SYNDIC', 'URL_MOT', 'URL_DOCUMENT',
 		'EMBED_DOCUMENT', 'IP', 'VISITES', 'POPULARITE',
 		'POPULARITE_ABSOLUE', 'POPULARITE_MAX', 'POPULARITE_SITE', 'POINTS',
 		'COMPTEUR_BOUCLE', 'TOTAL_BOUCLE', 'PETITION', 'LARGEUR', 'HAUTEUR',
@@ -110,7 +110,7 @@ function init_champs_squel() {
 	$c = array('NOM_SITE_SPIP', 'URL_SITE_SPIP', 'EMAIL_WEBMASTER', 'CHARSET',
 		'TITRE', 'SURTITRE', 'SOUSTITRE', 'DESCRIPTIF', 'CHAPO', 'TEXTE', 'PS',
 		'NOTES', 'INTRODUCTION', 'MESSAGE', 'LESAUTEURS', 'EMAIL', 'NOM_SITE',
-		'LIEN_TITRE', 'URL_SITE', 'URL_REF', 'LIEN_URL', 'NOM', 'IP', 'BIO',
+		'LIEN_TITRE', 'URL_SITE', 'LIEN_URL', 'NOM', 'IP', 'BIO',
 		'TYPE', 'PGP', 'RECHERCHE'
 	);
 	reset($c);
@@ -148,7 +148,7 @@ function init_champs_squel() {
 	}
 
 	// URL_SITE : vider les url == 'http://'
-	$c = array('URL_SITE_SPIP', 'URL_SITE', 'LIEN_URL', 'URL_REF');
+	$c = array('URL_SITE_SPIP', 'URL_SITE', 'LIEN_URL');
 	reset($c);
 	while (list(, $val) = each($c)) {
 		$champs_traitement[$val][] = 'vider_url';
@@ -157,7 +157,7 @@ function init_champs_squel() {
 	// URLs : remplacer les & par &amp;
 	$c = array('URL_SITE_SPIP', 'URL_SITE', 'LIEN_URL', 'PARAMETRES_FORUM',
 		'URL_ARTICLE', 'URL_RUBRIQUE', 'URL_BREVE', 'URL_FORUM', 'URL_SYNDIC',
-		'URL_MOT', 'URL_DOCUMENT', 'URL_REF');
+		'URL_MOT', 'URL_DOCUMENT');
 	reset($c);
 	while (list(, $val) = each($c)) {
 		$champs_traitement[$val][] = 'htmlspecialchars';
@@ -182,7 +182,8 @@ function init_champs_squel() {
 		'LANG' => 'lang',
 		'DATE' => 'date',
 		'DATE_REDAC' => 'date_redac',
-		'URL_REF' => 'url_ref',
+		'NOM_SITE' => 'nom_site',
+		'URL_SITE' => 'url_site',
 		'DATE_MODIF' => 'date_modif',
 		'VISITES' => 'visites',
 		'POINTS' => 'points'
-- 
GitLab