diff --git a/ecrire/base/db_mysql.php b/ecrire/base/db_mysql.php index 0d005cc13b5473bc197b7bed6966ee233fb8a203..b6b9f91c6cf4bd19af47cedc22bb26ca5d1c51cf 100644 --- a/ecrire/base/db_mysql.php +++ b/ecrire/base/db_mysql.php @@ -203,10 +203,10 @@ function traite_query($query) { function spip_connect_db($host, $port, $login, $pass, $db) { global $spip_mysql_link, $spip_mysql_db; // pour connexions multiples - // gerer le fichier ecrire/data/mysql_out + // gerer le fichier tmp/mysql_out ## TODO : ajouter md5(parametres de connexion) - if (@file_exists(_FILE_MYSQL_OUT) - AND (time() - @filemtime(_FILE_MYSQL_OUT) < 120) + if (@file_exists(_DIR_TMP.'mysql_out') + AND (time() - @filemtime(_DIR_TMP.'mysql_out') < 30) AND !defined('_ECRIRE_INSTALL')) return $GLOBALS['db_ok'] = false; @@ -224,7 +224,7 @@ function spip_connect_db($host, $port, $login, $pass, $db) { // En cas d'erreur marquer le fichier mysql_out if (!$GLOBALS['db_ok'] AND !defined('_ECRIRE_INSTALL')) { - @touch(_FILE_MYSQL_OUT); + @touch(_DIR_TMP.'mysql_out'); $err = 'Echec connexion MySQL '.spip_sql_errno().' '.spip_sql_error(); spip_log($err); spip_log($err, 'mysql'); diff --git a/ecrire/inc/cron.php b/ecrire/inc/cron.php index 91f2b482405b48f85979c87a84082748d1da19b7..372cac1eaa817550d2adc9375bee14ee97db8dc8 100644 --- a/ecrire/inc/cron.php +++ b/ecrire/inc/cron.php @@ -56,8 +56,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // http://doc.spip.org/@spip_cron function spip_cron($taches = array()) { $t = time(); - if (@file_exists(_FILE_MYSQL_OUT) - AND ($t - @filemtime(_FILE_MYSQL_OUT) < 300)) + if (@file_exists(_DIR_TMP.'mysql_out') + AND ($t - @filemtime(_DIR_TMP.'mysql_out') < 300)) return; include_spip('inc/meta'); diff --git a/ecrire/inc/math.php b/ecrire/inc/math.php index 1723e22e099c7800cb51acfadb7b71184f60163a..e8cd54082ddb5b85fd2df6093536988ed6a06464 100644 --- a/ecrire/inc/math.php +++ b/ecrire/inc/math.php @@ -36,10 +36,9 @@ function image_math($tex) { } // Regarder dans le repertoire local des images TeX et blocs MathML - - if (!@is_dir(_DIR_TeX)) - @mkdir (_DIR_TeX, _SPIP_CHMOD); - $fichier = _DIR_TeX .md5(trim($tex)).$ext; + if (!@is_dir($dir_tex = _DIR_IMG_TMP.'cache-TeX/')) + @mkdir ($dir_tex, _SPIP_CHMOD); + $fichier = $dir_tex .md5(trim($tex)).$ext; if (!@file_exists($fichier)) { diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 7633e15e964756ab9babe543eec292d9a770606c..4135aeb4df0aea58a5e8c6cc3925d394c0aebfee 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -539,12 +539,12 @@ function cron ($gourmand=false) { // Si on est gourmand, ou si le fichier gourmand n'existe pas // (ou est trop vieux -> 60 sec), on va voir si un cron est necessaire. // Au passage si on est gourmand on le dit aux autres - if (spip_touch(_FILE_CRON_LOCK.'-gourmand', 60, $gourmand) + if (spip_touch(_DIR_TMP.'cron.lock-gourmand', 60, $gourmand) OR $gourmand) { // Faut-il travailler ? Pas tous en meme temps svp // Au passage si on travaille on bloque les autres - if (spip_touch(_FILE_CRON_LOCK, 2)) { + if (spip_touch(_DIR_TMP.'cron.lock', 2)) { include_spip('inc/cron'); spip_cron(); } diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 6c310abd2e33933b040e09554ba976e38b66854b..073ede5227e446ca8a13cde28d73a2008253c35c 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -28,25 +28,9 @@ define("_ECRIRE_INC_VERSION", "1"); # ou inversement ? @define('_DIR_RACINE', _DIR_RESTREINT ? '' : '../'); -# le nom du repertoire plugins/ -define('_DIR_PLUGINS', _DIR_RACINE . "plugins/"); - // nombre de repertoires depuis la racine - $profondeur_url = _DIR_RESTREINT ? 0 : 1; -# Le nom des 4 repertoires modifiables par les scripts lances par httpd -# Par defaut ces 4 noms seront suffixes par _DIR_RACINE (cf plus bas) -# mais on peut les mettre ailleurs et changer completement les noms - -# le nom du repertoire des fichiers Permanents Inaccessibles par http:// -define('_DIRNAME_PERMANENT_INACCESSIBLE', "config/"); -# le nom du repertoire des fichiers Permanents Accessibles par http:// -define('_DIRNAME_PERMANENT_ACCESSIBLE', "IMG/"); -# le nom du repertoire des fichiers Temporaires Inaccessibles par http:// -define('_DIRNAME_TEMPORAIRE_INACCESSIBLE', "tmp/"); -# le nom du repertoire des fichiers Temporaires Accessibles par http:// -define('_DIRNAME_TEMPORAIRE_ACCESSIBLE', "tmp_img/"); // // *** Parametrage par defaut de SPIP *** @@ -275,11 +259,20 @@ $auteur_session = $connect_statut = $connect_toutes_rubriques = $connect_id_rubr // mais ne touche pas a cette variable si elle est deja definie // afin que mes_options.php puisse en specifier d'autres. -function spip_initialisation_parametree($pi, $pa, $ti, $ta) { +function spip_initialisation_parametree($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL){ + static $too_late = 0; + if ($too_late++) return; + - static $too_late = false; - if ($too_late) return; - $too_late = true; + // Quatre repertoires modifiables par les scripts de SPIP + # Repertoire des fichiers Permanents Inaccessibles par http:// + isset($pi) OR $pi = _DIR_RACINE.'config/'; + # Repertoire des fichiers Permanents Accessibles par http:// + isset($pa) OR $pa = _DIR_RACINE.'IMG/'; + # Repertoire des fichiers Temporaires Inaccessibles par http:// + isset($ti) OR $ti = _DIR_RACINE.'tmp/'; + # Repertoire des fichiers Temporaires Accessibles par http:// + isset($ta) OR $ta = _DIR_RACINE.'IMG/'; # provisoire ? define('_DIR_IMG', $pa); define('_DIR_DOC', $pa); @@ -293,30 +286,23 @@ function spip_initialisation_parametree($pi, $pa, $ti, $ta) { define('_DIR_SKELS', $ti . "CACHE/skel/"); define('_DIR_TMP', $ti); - define('_FILE_CRON_LOCK', $ti . 'cron.lock'); - define('_FILE_MYSQL_OUT', $ti . 'mysql_out'); - define('_FILE_GARBAGE', $ti . '.poubelle'); define('_FILE_META', $ti . 'meta_cache.txt'); define('_DIR_TMP_IMG', $ta); - define('_DIR_TeX', $ta . "cache-TeX/"); define('_DIR_CONFIG', $pi); - // Le fichier de definition des droits d'acces en ecriture - define('_FILE_CHMOD_INS', ($pi . "chmod")); - define('_FILE_CHMOD', - (@is_readable($f = _FILE_CHMOD_INS . '.php') ? $f - : false)); - + // Definition des droits d'acces en ecriture + if (@is_readable($f = _DIR_CONFIG . 'chmod.php')) { + include_once $f; + } else + define('_SPIP_CHMOD', 0777); // Le fichier de connexion a la base de donnees - define('_FILE_CONNECT_INS_ANTE_192', (_DIR_RESTREINT . "inc_connect")); - define('_FILE_CONNECT_INS', ($pi . "connect")); define('_FILE_CONNECT', - (@is_readable($f = _FILE_CONNECT_INS . '.php') ? $f - : (@is_readable($f = _FILE_CONNECT_INS_ANTE_192 . '.php') ? $f - : (@is_readable($f = _FILE_CONNECT_INS_ANTE_192 . '.php3') ? $f + (@is_readable($f = _DIR_CONFIG . 'connect.php') ? $f + : (@is_readable($f = _DIR_RESTREINT . 'inc_connect.php') ? $f + : (@is_readable($f = _DIR_RESTREINT . 'inc_connect.php3') ? $f : false)))); if (!isset($GLOBALS['test_dirs'])) @@ -327,52 +313,30 @@ function spip_initialisation_parametree($pi, $pa, $ti, $ta) { // Inclure le fichier config/mes_options (ou equivalent) // -if (defined('_FILE_OPTIONS')) { - if (@file_exists(_FILE_OPTIONS)) { - include_once(_FILE_OPTIONS); - } -} else { - if (@file_exists(_DIRNAME_PERMANENT_INACCESSIBLE . 'mes_options.php')) { - define('_FILE_OPTIONS', _DIRNAME_PERMANENT_INACCESSIBLE . 'mes_options.php'); - include_once(_FILE_OPTIONS); - } - else if (@file_exists(_DIR_RESTREINT . 'mes_options.php')) { - define('_FILE_OPTIONS',_DIR_RESTREINT . 'mes_options.php'); - include_once(_FILE_OPTIONS); - } - # COMPATIBILITE .php3 - else if (_EXTENSION_PHP && @file_exists(_DIR_RESTREINT . 'mes_options.php3')) { - define('_FILE_OPTIONS', _DIR_RESTREINT . 'mes_options.php3'); - include_once(_FILE_OPTIONS); - } +if (defined('_FILE_OPTIONS') +OR @file_exists($f = _DIR_CONFIG.'mes_options.php') +OR @file_exists($f = _DIR_RESTREINT.'mes_options.php') +OR (_EXTENSION_PHP AND @file_exists($f = _DIR_RESTREINT.'mes_options.php3')) +OR !($f = false)) { + define('_FILE_OPTIONS', $f); + if ($f) { @include_once(_FILE_OPTIONS); } } + // -// INITIALISER LES REPERTOIRES NON PARTAGEABLES +// Definitions standards (charge aussi inc/flock) // -// -// mais cette fonction a peut-etre deja ete appelee par mes_options -spip_initialisation_parametree( - (_DIR_RACINE . _DIRNAME_PERMANENT_INACCESSIBLE), - (_DIR_RACINE . _DIRNAME_PERMANENT_ACCESSIBLE), - (_DIR_RACINE . _DIRNAME_TEMPORAIRE_INACCESSIBLE), - (_DIR_RACINE . _DIRNAME_TEMPORAIRE_ACCESSIBLE) - ); +require_once(_DIR_RESTREINT . 'inc/utils.php'); -if (defined('_FILE_CHMOD')) { - if (@file_exists(_FILE_CHMOD)) { - include_once(_FILE_CHMOD); - } -}else { - define('_SPIP_CHMOD', 0777); -} // -// Definitions standards (charge aussi inc/flock) +// INITIALISER LES REPERTOIRES NON PARTAGEABLES // +// +// mais cette fonction a peut-etre deja ete appelee par mes_options +spip_initialisation_parametree(); -require_once(_DIR_RESTREINT . 'inc/utils.php'); // // INITIALISER LES CONSTANTES ET LES VARIABLES SYSTEMES DE SPIP @@ -384,6 +348,9 @@ spip_initialisation(); // car dans les plugins on peut inclure inc-version // qui ne sera pas execute car _ECRIRE_INC_VERSION est defini // donc il faut avoir tout fini ici avant de charger les plugins +# le nom du repertoire plugins/ +define('_DIR_PLUGINS', _DIR_RACINE . "plugins/"); + if (@is_readable(_DIR_TMP."charger_plugins_options.php")){ // chargement optimise precompile include_once(_DIR_TMP."charger_plugins_options.php");