From ecb8d80436f226363b30e7963f1d15e73570141a Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Sat, 13 Mar 2010 10:56:54 +0000
Subject: [PATCH] Reports de [15435] [15436] [15437] [15438] [15461] et [15471]

---
 ecrire/base/dump.php         |  4 ++--
 ecrire/inc/autoriser.php     |  7 +++++++
 ecrire/inc/presentation.php  |  2 +-
 ecrire/inc/utils.php         |  3 +--
 ecrire/inc_version.php       | 20 +++++++++++---------
 ecrire/public.php            |  6 +++---
 ecrire/public/parametrer.php |  2 +-
 7 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/ecrire/base/dump.php b/ecrire/base/dump.php
index 3b4b744873..330cf4fe05 100644
--- a/ecrire/base/dump.php
+++ b/ecrire/base/dump.php
@@ -22,7 +22,7 @@ include_spip('public/interfaces'); // pour table_jointures
 // donc il faut l'inclure "en globals"
 if ($f = find_in_path('mes_fonctions.php')) {
 	global $dossier_squelettes;
-	@include_once ($f);
+	@include_once (_ROOT_CWD . $f);
 }
 
 if (@is_readable(_CACHE_PLUGINS_FCT)){
@@ -196,4 +196,4 @@ function base_liste_table_for_dump($exclude_tables = array()){
 	return array($tables_for_dump, $tables_for_link);
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index 277b86e775..b03c7c606f 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -25,6 +25,13 @@ define('_STATUT_AUTEUR_CREATION', '1comite');
 // statuts associables a des rubriques (separes par des virgules)
 define('_STATUT_AUTEUR_RUBRIQUE', _ADMINS_RESTREINTS ? '0minirezo' : '');
 
+
+// mes_fonctions peut aussi declarer des autorisations, donc il faut donc le charger
+if ($f = find_in_path('mes_fonctions.php')) {
+	global $dossier_squelettes;
+	include_once(_ROOT_CWD . $f);
+}
+
 // surcharge possible de autoriser(), sinon autoriser_dist()
 if (!function_exists('autoriser')) {
 // http://doc.spip.org/@autoriser
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 2d84bd4110..f851b58eb6 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -680,4 +680,4 @@ function bouton_spip_rss($op, $args=array(), $lang='') {
 	$url = generer_url_public('rss', $args);
 	return "<a style='float: $spip_lang_right;' href='$url'>$clic</a>";
 }
-?>
\ No newline at end of file
+?>
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 8683e331d4..3ad85e6db1 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -689,7 +689,6 @@ function chemin_image($icone){
 // chercher un fichier $file dans le SPIP_PATH
 // si on donne un sous-repertoire en 2e arg optionnel, il FAUT le / final
 // si 3e arg vrai, on inclut si ce n'est fait.
-define('_ROOT_CWD', getcwd().'/');
 $GLOBALS['path_sig'] = '';
 $GLOBALS['path_files'] = null;
 
@@ -1246,7 +1245,7 @@ function spip_initialisation_core($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 	// (non surchargeable en l'etat ; attention si on utilise include_spip()
 	// pour le rendre surchargeable, on va provoquer un reecriture
 	// systematique du noyau ou une baisse de perfs => a etudier)
-	include_once _DIR_RESTREINT . 'inc/flock.php';
+	include_once _ROOT_RESTREINT . 'inc/flock.php';
 
 	// charger tout de suite le path et son cache
 	load_path_cache();
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index ad9ee024bd..f86244876f 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -24,8 +24,6 @@ define('_EXTENSION_PHP', '.php3');
 #mettre a true pour compatibilite PHP3 
 define('_FEED_GLOBALS', false);
 
-define('_ROOT_RACINE', dirname(dirname(__FILE__)).'/');
-
 # le nom du repertoire ecrire/
 define('_DIR_RESTREINT_ABS', 'ecrire/');
 # sommes-nous dans ecrire/ ?
@@ -34,6 +32,11 @@ define('_DIR_RESTREINT',
 # ou inversement ?
 define('_DIR_RACINE', _DIR_RESTREINT ? '' : '../');
 
+# chemins absolus
+define('_ROOT_RACINE', dirname(dirname(__FILE__)).'/');
+define('_ROOT_CWD', getcwd().'/');
+define('_ROOT_RESTREINT', _ROOT_CWD . _DIR_RESTREINT);
+
 // Icones
 # nom du dossier images
 define('_NOM_IMG_PACK', 'images/');
@@ -79,10 +82,9 @@ if (!defined('_IS_BOT'))
 define('_NOM_CONFIG', 'mes_options');
 
 // Son emplacement absolu si on le trouve
-if (@file_exists($f = _DIR_RESTREINT . _NOM_CONFIG . '.php')
-OR (_EXTENSION_PHP
-	AND @file_exists($f = _DIR_RESTREINT . _NOM_CONFIG . _EXTENSION_PHP))
-OR (@file_exists($f = _DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES . _NOM_CONFIG . '.php'))) {
+if (@file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . _NOM_CONFIG . '.php')
+OR (@file_exists($f = _ROOT_RESTREINT . _NOM_CONFIG . '.php'))
+OR (_EXTENSION_PHP AND @file_exists($f = _ROOT_RESTREINT . _NOM_CONFIG . _EXTENSION_PHP))) {
 	define('_FILE_OPTIONS', $f);
 } else define('_FILE_OPTIONS', '');
 
@@ -91,7 +93,7 @@ OR (@file_exists($f = _DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES . _NOM_CONFIG
 
 // Inclure l'ecran de securite
 if (!defined('_ECRAN_SECURITE')
-AND @file_exists($f = _DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_securite.php'))
+AND @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_securite.php'))
 	include $f;
 
 
@@ -416,8 +418,8 @@ $meta = $connect_id_rubrique = array();
 //
 // Charger les fonctions liees aux serveurs Http et Sql.
 //
-require_once _DIR_RESTREINT . 'inc/utils.php';
-require_once _DIR_RESTREINT . 'base/connect_sql.php';
+require_once _ROOT_RESTREINT . 'inc/utils.php';
+require_once _ROOT_RESTREINT . 'base/connect_sql.php';
 
 // Definition personnelles eventuelles
 
diff --git a/ecrire/public.php b/ecrire/public.php
index 3214513538..8614d8ed55 100644
--- a/ecrire/public.php
+++ b/ecrire/public.php
@@ -25,8 +25,8 @@ if (isset($GLOBALS['_INC_PUBLIC'])) {
 	// Faut-il initialiser SPIP ? (oui dans le cas general)
 	if (!defined('_DIR_RESTREINT_ABS'))
 		if (defined('_DIR_RESTREINT')
-		AND @file_exists(_DIR_RESTREINT.'inc_version.php')) {
-			include_once _DIR_RESTREINT.'inc_version.php';
+		AND @file_exists(_ROOT_RESTREINT . 'inc_version.php')) {
+			include_once _ROOT_RESTREINT . 'inc_version.php';
 		}
 		else
 			die('inc_version absent ?');
@@ -247,4 +247,4 @@ if (isset($GLOBALS['_INC_PUBLIC'])) {
 	}
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/ecrire/public/parametrer.php b/ecrire/public/parametrer.php
index d5615e82aa..7b03c66d6c 100644
--- a/ecrire/public/parametrer.php
+++ b/ecrire/public/parametrer.php
@@ -19,7 +19,7 @@ include_spip('public/quete'); // pour quete_chapo et ses dependances
 // donc il faut l'inclure "en globals"
 if ($f = find_in_path('mes_fonctions.php')) {
 	global $dossier_squelettes;
-	include ($f);
+	include (_ROOT_CWD . $f);
 }
 
 if (@is_readable(_CACHE_PLUGINS_FCT)) {
-- 
GitLab