From 64a3dbfd19ef67da891aa490fdd38c8ddddae901 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sat, 7 Jan 2006 10:46:56 +0000
Subject: [PATCH] =?UTF-8?q?nettoyage=20et=20unification=20de=20charger=5Fg?=
 =?UTF-8?q?enerer=5Furl(),=20et=20retour=20de=20la=20compatibilite=20ascen?=
 =?UTF-8?q?dante=20sur=20inc-urls.php3=20qu'un=20malheureux=20=5FEXTENSION?=
 =?UTF-8?q?S=5FPHP=20(au=20lieu=20de=20=5FEXTENSION=5FPHP)=20avait=20fling?=
 =?UTF-8?q?u=C3=A9e?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_texte.php3  | 10 ----------
 ecrire/inc_utils.php   | 17 +++++++++++++++++
 inc-calcul.php3        |  7 +------
 inc-compilo-index.php3 |  6 ++++++
 inc-messforum.php3     | 12 ++----------
 spip_redirect.php3     |  7 +------
 6 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3
index d4f5296514..8fc3b1a9fe 100644
--- a/ecrire/inc_texte.php3
+++ b/ecrire/inc_texte.php3
@@ -501,16 +501,6 @@ function typo($letexte, $echapper=true) {
 	return $letexte;
 }
 
-function charger_generer_url() {
-	// Traitement des liens internes
-	if (!_DIR_RESTREINT)
-		include_ecrire('inc_urls');
-	else if (@file_exists("inc-urls" . _EXTENSIONS_PHP))
-		include_local("inc-urls");
-	else	include_local("inc-urls-".$GLOBALS['type_urls']);
-}
-
-
 
 // cette fonction est tordue : on lui passe un tableau correspondant au match
 // de la regexp ci-dessous, et elle retourne le texte a inserer a la place
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index 317ed28c5a..3007a9cd06 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -544,6 +544,23 @@ function charger_plugins($plugins) {
 #var_dump($plugins);var_dump($spip_pipeline);var_dump($spip_matrice);exit;
 }
 
+// Cette fonction charge le bon inc-urls selon qu'on est dans l'espace
+// public ou prive, la presence d'un (old style) inc-urls.php3, etc.
+function charger_generer_url() {
+	static $ok;
+
+	if ($ok++) return; # fichier deja charge
+
+	// espace prive ?
+	if (!_DIR_RESTREINT)
+		include_ecrire('inc_urls');
+	// fichier inc-urls ?
+	else if (@file_exists("inc-urls" . _EXTENSION_PHP))
+		include_local("inc-urls");
+	// fichier inc-urls-xxx ?
+	else
+		include_local("inc-urls-".$GLOBALS['type_urls']);
+}
 
 
 // cette fonction fabrique un appel a un script php
diff --git a/inc-calcul.php3 b/inc-calcul.php3
index 06bb2c961a..3971c6a768 100644
--- a/inc-calcul.php3
+++ b/inc-calcul.php3
@@ -33,12 +33,7 @@ include_local("inc-calcul-outils");
 if ($f = find_in_path("mes_fonctions" . _EXTENSION_PHP))
 	include_local ($f);
 
-// Gestionnaire d'URLs
-if (@file_exists("inc-urls" . _EXTENSION_PHP)) // compat vieille version
-	include_local("inc-urls");
-else
-	include_local("inc-urls-".$GLOBALS['type_urls']);
-
+charger_generer_url();
 
 // Le squelette compile est-il trop vieux ?
 function squelette_obsolete($skel, $squelette) {
diff --git a/inc-compilo-index.php3 b/inc-compilo-index.php3
index 8d1df51ab9..6a3247ead3 100644
--- a/inc-compilo-index.php3
+++ b/inc-compilo-index.php3
@@ -390,6 +390,12 @@ function calculer_argument_precedent($idb, $nom_champ, &$boucles) {
 		index_pile($prec, $nom_champ, $boucles));
 }
 
+// a documenter svp !!
+//
+// en gros : ca ne sert que pour la balise #POINTS ; l'idee est que,
+// si on trouve le motif "recherche" dans les parametres de la boucle,
+// alors on prend $Pile[$SP]['points'] (qui vient du "SELECT XXXX AS points"
+// de la requete qu'on est en train de composer)
 function rindex_pile($p, $champ, $motif) 
 {
 	$n = 0;
diff --git a/inc-messforum.php3 b/inc-messforum.php3
index 46553a3c2b..6eca24e94b 100644
--- a/inc-messforum.php3
+++ b/inc-messforum.php3
@@ -26,11 +26,7 @@ function prevenir_auteurs($auteur, $email_auteur, $id_forum, $id_article, $texte
 	include_ecrire('inc_texte');
 	include_ecrire('inc_filtres');
 	include_ecrire('inc_mail');
-	// Gestionnaire d'URLs
-	if (@file_exists("inc-urls" . _EXTENSION_PHP))
-		include_local("inc-urls");
-	else
-		include_local("inc-urls-".$GLOBALS['type_urls']);
+	charger_generer_url();
 
 	if ($statut == 'prop') # forum modere
 	  $url = _DIR_RESTREINT_ABS .
@@ -217,11 +213,7 @@ function enregistre_forum() {
 
 	// Le cas echeant, calculer le retour
 	if ($calculer_retour) {
-		// Gestionnaire d'URLs
-		if (@file_exists("inc-urls" . _EXTENSION_PHP))
-			include_local("inc-urls");
-		else
-			include_local("inc-urls-".$GLOBALS['type_urls']);
+		charger_generer_url();
 
 		// le retour automatique envoie sur le thread, ce qui permet
 		// de traiter elegamment le cas des forums moderes a priori.
diff --git a/spip_redirect.php3 b/spip_redirect.php3
index 3bf8c5a517..48d7c7bf81 100644
--- a/spip_redirect.php3
+++ b/spip_redirect.php3
@@ -17,12 +17,7 @@ define ('_SPIP_REDIRECT', 1);
 include ("ecrire/inc_version.php3");
 include_ecrire ("inc_session");
 verifier_visiteur();
-
-// Gestionnaire d'URLs
-if (@file_exists("inc-urls" . _EXTENSION_PHP))
-	include_local("inc-urls");
-else
-	include_local("inc-urls-".$GLOBALS['type_urls']);
+charger_generer_url();
 
 if ($id_article) {
 	$url = generer_url_article($id_article);
-- 
GitLab