From 0dddac6ec54f4ab5d4410696fb538b49a5d63121 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 19 Feb 2006 11:18:22 +0000
Subject: [PATCH] =?UTF-8?q?nettoyage=20inc=5Furls=20(unification=20sur=20c?=
 =?UTF-8?q?harger=5Fgenerer=5Furl())=20+=20les=20focntions=20include=5Fecr?=
 =?UTF-8?q?ire()=20et=20include=5Flocal()=20renvoie=20true=20en=20cas=20de?=
 =?UTF-8?q?=20succ=C3=A8s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/exec_accueil.php                  |  2 +-
 ecrire/exec_articles_page.php            |  2 +-
 ecrire/exec_breves.php                   |  2 +-
 ecrire/exec_controle_forum.php           |  2 +-
 ecrire/exec_forum_admin.php              |  2 +-
 ecrire/exec_message.php                  |  2 +-
 ecrire/exec_naviguer.php                 |  2 +-
 ecrire/exec_statistiques_repartition.php |  2 +-
 ecrire/exec_synchro.php                  |  2 +-
 ecrire/inc_signatures.php                |  2 +-
 ecrire/inc_utils.php                     | 41 +++++++++++++++---------
 11 files changed, 36 insertions(+), 25 deletions(-)

diff --git a/ecrire/exec_accueil.php b/ecrire/exec_accueil.php
index 802270c48e..f53f175a05 100644
--- a/ecrire/exec_accueil.php
+++ b/ecrire/exec_accueil.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 
 function encours_accueil($vos_articles)
diff --git a/ecrire/exec_articles_page.php b/ecrire/exec_articles_page.php
index 71f8dcddcf..885188ad06 100644
--- a/ecrire/exec_articles_page.php
+++ b/ecrire/exec_articles_page.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 
 function articles_page_dist()
diff --git a/ecrire/exec_breves.php b/ecrire/exec_breves.php
index 44015e5193..4d5abda4a7 100644
--- a/ecrire/exec_breves.php
+++ b/ecrire/exec_breves.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 
 function enfant_breves($leparent){
diff --git a/ecrire/exec_controle_forum.php b/ecrire/exec_controle_forum.php
index 058d64cf80..956da2c4d2 100644
--- a/ecrire/exec_controle_forum.php
+++ b/ecrire/exec_controle_forum.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire('inc_forum');
 
 function forum_parent($id_forum) {
diff --git a/ecrire/exec_forum_admin.php b/ecrire/exec_forum_admin.php
index c2a7950aaa..28407acc8e 100644
--- a/ecrire/exec_forum_admin.php
+++ b/ecrire/exec_forum_admin.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 
 function liste_numeros_forum($urlforum, $debut, $total)
diff --git a/ecrire/exec_message.php b/ecrire/exec_message.php
index 39339625ac..02a3a0b417 100644
--- a/ecrire/exec_message.php
+++ b/ecrire/exec_message.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 include_ecrire ("inc_mots");
 
diff --git a/ecrire/exec_naviguer.php b/ecrire/exec_naviguer.php
index 2a28b5447b..4db4ad745b 100644
--- a/ecrire/exec_naviguer.php
+++ b/ecrire/exec_naviguer.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 include_ecrire('inc_forum');
 include_ecrire("inc_logos");
diff --git a/ecrire/exec_statistiques_repartition.php b/ecrire/exec_statistiques_repartition.php
index e3e5241e4f..75be48a599 100644
--- a/ecrire/exec_statistiques_repartition.php
+++ b/ecrire/exec_statistiques_repartition.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
 include_ecrire("inc_texte");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_rubriques");
 
 function enfants($id_parent, $critere){
diff --git a/ecrire/exec_synchro.php b/ecrire/exec_synchro.php
index 0ed9a58207..e3013e65dd 100644
--- a/ecrire/exec_synchro.php
+++ b/ecrire/exec_synchro.php
@@ -13,7 +13,7 @@
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
 include_ecrire("inc_presentation");
-include_ecrire("inc_urls");
+charger_generer_url();
 include_ecrire("inc_acces"); // pour low_sec (iCal)
 
 function afficher_liens_calendrier($lien, $icone, $texte) {
diff --git a/ecrire/inc_signatures.php b/ecrire/inc_signatures.php
index 7351f7ca2a..41447c8505 100644
--- a/ecrire/inc_signatures.php
+++ b/ecrire/inc_signatures.php
@@ -13,7 +13,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-include_ecrire('inc_urls');
+charger_generer_url();
 
 function controle_signatures($script, $id, $debut, $where, $order, $limit=10) {
 	global $couleur_foncee;
diff --git a/ecrire/inc_utils.php b/ecrire/inc_utils.php
index d7b602000a..4d0b480aa8 100644
--- a/ecrire/inc_utils.php
+++ b/ecrire/inc_utils.php
@@ -21,18 +21,27 @@ $included_files = array();
 function include_local($file, $silence=false) {
 	$nom = preg_replace("/\.php[3]?$/",'', $file);
 #	spip_log("'$nom' '$file'");
-	if (@$GLOBALS['included_files'][$nom]++) return;
-	if (is_readable($f = $nom . '.php'))
-	  include($f);
-	else if (is_readable($f = $nom . _EXTENSION_PHP))
-	  include($f);
-	else if (!$silence) spip_log($file . " illisible");
+	if (@$GLOBALS['included_files'][$nom]++)
+		return true;
+	if (is_readable($f = $nom . '.php')) {
+		include($f);
+		return true;
+	}
+	else if (is_readable($f = $nom . _EXTENSION_PHP)) {
+		include($f);
+		return true;
+	}
+	else {
+		if (!$silence)
+			spip_log($file . " illisible");
+		return false;
+	}
 }
 
-function include_ecrire($file) {
+function include_ecrire($file, $silence=false) {
 # Hack pour etre compatible avec les mes_options qui appellent cette fonction
 	define('_DIR_INCLUDE', _DIR_RESTREINT);
-	include_local(_DIR_INCLUDE . $file);
+	return include_local(_DIR_INCLUDE . $file, $silence);
 }
 
 // charge un fichier perso ou, a defaut, standard
@@ -633,15 +642,17 @@ function charger_generer_url() {
 
 	if ($ok++) return; # fichier deja charge
 
-	// espace prive ?
+	// 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']);
+
+	// espace public
+	else {
+		// fichier inc-urls ? (old style)
+		include_local(_DIR_RACINE."inc-urls")
+		// sinon fichier inc-urls-xxx
+		OR include_local(_DIR_RACINE."inc-urls-".$GLOBALS['type_urls']);
+	}
 }
 
 
-- 
GitLab