From c71f5a45f8fd9a543320ba35565c56cc4ebaab10 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Fri, 3 Mar 2006 14:52:38 +0000 Subject: [PATCH] =?UTF-8?q?=5FEXTENSION=5FPHP=20reste=20=C3=A0=20.php3=20e?= =?UTF-8?q?n=20standard=20mais=20change=20de=20signification:=20il=20indiq?= =?UTF-8?q?ue=20qu'il=20faut=20essayer=20de=20lire=20un=20fichier=20avec?= =?UTF-8?q?=20cette=20extension=20si=20on=20ne=20l'a=20pas=20trouv=C3=A9?= =?UTF-8?q?=20avec=20l'extension=20.php;=20a=20redefinir=20a=20=20=C3=A0?= =?UTF-8?q?=20terme.=20Par=20ailleurs,=20simplification=20de=20find=5Fin?= =?UTF-8?q?=5Fpath=20qui=20n'a=20plus=20qu'un=20seul=20argument.=20A=20not?= =?UTF-8?q?er=20que=20sa=20liste=20de=20repertoires=20pourrait=20etre=20ca?= =?UTF-8?q?lcul=C3=A9e=20dans=20une=20statique=20au=20premier=20appel,=20s?= =?UTF-8?q?'il=20n'y=20avait=20ces=20fichus=20plugins=20qui=20en=20rajoute?= =?UTF-8?q?nt=20une=20couche=20tardivement.=20A=20mediter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/base/abstract_sql.php | 2 +- ecrire/exec/install.php | 38 ++++++++++++++++++------------------ ecrire/inc/filtres.php | 4 ++-- ecrire/inc/session.php | 2 +- ecrire/inc/utils.php | 31 ++++++++++++----------------- ecrire/inc_version.php | 8 ++++++-- 6 files changed, 42 insertions(+), 43 deletions(-) diff --git a/ecrire/base/abstract_sql.php b/ecrire/base/abstract_sql.php index 5ccedae6e0..985e2135cf 100644 --- a/ecrire/base/abstract_sql.php +++ b/ecrire/base/abstract_sql.php @@ -46,7 +46,7 @@ function spip_abstract_select ( $f = 'spip_' . $serveur . '_select'; if (!function_exists($f)) { // non, il est decrit dans le fichier ad hoc - $d = dirname(_FILE_CONNECT) . 'inc_connect-' . $serveur ._EXTENSION_PHP; + $d = dirname(_FILE_CONNECT) . 'inc_connect-' . $serveur . '.php'; if (@file_exists($d)) include($d); $f = spip_abstract_serveur($f, $serveur); } diff --git a/ecrire/exec/install.php b/ecrire/exec/install.php index a9e28ff6b5..84c217a980 100644 --- a/ecrire/exec/install.php +++ b/ecrire/exec/install.php @@ -119,8 +119,8 @@ function install_6() echo "<B>"._T('info_code_acces')."</B>"; echo "<P>"._T('info_utilisation_spip'); - if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)) - include(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP); + if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php')) + include(_FILE_CONNECT_INS . _FILE_TMP . '.php'); else redirige_par_entete(generer_url_ecrire('install')); @@ -166,11 +166,11 @@ function install_6() include_spip('inc/acces'); ecrire_acces(); - if (!@rename(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP, - _FILE_CONNECT_INS . _EXTENSION_PHP)) { - copy(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP, - _FILE_CONNECT_INS . _EXTENSION_PHP); - @unlink(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP); + if (!@rename(_FILE_CONNECT_INS . _FILE_TMP . '.php', + _FILE_CONNECT_INS . '.php')) { + copy(_FILE_CONNECT_INS . _FILE_TMP . '.php', + _FILE_CONNECT_INS . '.php'); + @unlink(_FILE_CONNECT_INS . _FILE_TMP . '.php'); } echo "<form action='./' method='post'>"; @@ -188,8 +188,8 @@ function install_5() install_debut_html(); - if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)) - include(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP); + if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php')) + include(_FILE_CONNECT_INS . _FILE_TMP . '.php'); else redirige_par_entete(generer_url_ecrire('install')); @@ -318,7 +318,7 @@ function install_4() . ");\n"; $conn .= "?".">"; - if (!ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP, + if (!ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php', $conn)) redirige_par_entete(generer_url_ecrire('install')); @@ -477,8 +477,8 @@ function install_1() $pass_db = ''; // Recuperer les anciennes donnees pour plus de facilite (si presentes) - if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)) { - $s = @join('', @file(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)); + if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php')) { + $s = @join('', @file(_FILE_CONNECT_INS . _FILE_TMP . '.php')); if (ereg("mysql_connect\([\"'](.*)[\"'],[\"'](.*)[\"'],[\"'](.*)[\"']\)", $s, $regs)) { $adresse_db = $regs[1]; $login_db = $regs[2]; @@ -547,7 +547,7 @@ function install_ldap5() install_debut_html(); - include_once(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP); + include_once(_FILE_CONNECT_INS . _FILE_TMP . '.php'); include_spip('inc/meta'); ecrire_meta("ldap_statut_import", $statut_ldap); ecrire_metas(); @@ -589,7 +589,7 @@ function install_ldap4() echo "<BR />\n<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3>"._T('info_reglage_ldap')."</FONT>"; echo "<P>"; - lire_fichier(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP, $conn); + lire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php', $conn); if ($p = strpos($conn, '?'.'>')) $conn = substr($conn, 0, $p); if (!strpos($conn, 'spip_connect_ldap')) { @@ -602,7 +602,7 @@ function install_ldap4() $conn .= "\$GLOBALS['ldap_present'] = true;\n"; } $conn .= "?".">"; - ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP, $conn); + ecrire_fichier(_FILE_CONNECT_INS . _FILE_TMP . '.php', $conn); echo generer_url_post_ecrire('install'); echo "<INPUT TYPE='hidden' NAME='etape' VALUE='ldap5'>"; @@ -737,8 +737,8 @@ function install_ldap1() $port_ldap = 389; // Recuperer les anciennes donnees (si presentes) - if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)) { - $s = @join('', @file(_FILE_CONNECT_INS . _FILE_TMP . _EXTENSION_PHP)); + if (@file_exists(_FILE_CONNECT_INS . _FILE_TMP . '.php')) { + $s = @join('', @file(_FILE_CONNECT_INS . _FILE_TMP . '.php')); if (ereg('ldap_connect\("(.*)","(.*)"\)', $s, $regs)) { $adresse_ldap = $regs[1]; $port_ldap = $regs[2]; @@ -786,9 +786,9 @@ function install_unpack() fin_admin($action); ## ??????? a verifier - if (@file_exists(_DIR_RACINE . "spip_loader" . _EXTENSION_PHP)) + if (@file_exists(_DIR_RACINE . "spip_loader" . '.php')) redirige_par_entete(generer_url_public("spip_loader"), "?hash=$hash&id_auteur=$connect_id_auteur"); - else if (@file_exists(_DIR_RACINE . "spip_unpack" . _EXTENSION_PHP)) + else if (@file_exists(_DIR_RACINE . "spip_unpack" . '.php')) redirige_par_entete(generer_url_public("spip_unpack"), "?hash=$hash&id_auteur=$connect_id_auteur"); else redirige_par_entete(generer_url_public("spip_loader"), "?hash=$hash&id_auteur=$connect_id_auteur"); diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 91bfe00314..691461f9d4 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -2288,7 +2288,7 @@ function image_typo() { if (!file_exists($fichier) AND $flag_gd_typo) { # que faire si la police n'existe pas ? - $font = find_in_path('polices/'.$police, _DIR_INCLUDE); + $font = find_in_path(_DIR_POLICES . $police); $imgbidon = imageCreateTrueColor($largeur, 45); $retour = printWordWrapped($imgbidon, $taille+5, 0, $largeur, $font, $black, $text, $taille, 'left', $hauteur_ligne); @@ -2451,7 +2451,7 @@ function barre_textarea($texte, $rows, $cols) { static $num_textarea = 0; include_spip('inc/layer'); - $texte = interdire_scripts(entites_html($texte)); + $texte = safehtml(entites_html($texte)); if (!$GLOBALS['browser_barre']) return "<textarea name='texte' rows='$rows' class='forml' cols='$cols'>$texte</textarea>"; diff --git a/ecrire/inc/session.php b/ecrire/inc/session.php index 9580b1f10c..6f6b96d932 100644 --- a/ecrire/inc/session.php +++ b/ecrire/inc/session.php @@ -37,7 +37,7 @@ function hash_env() { function fichier_session($id_session, $alea) { if (ereg("^([0-9]+_)", $id_session, $regs)) $id_auteur = $regs[1]; - return _DIR_SESSIONS . 'session_'.$id_auteur.md5($id_session.' '.$alea)._EXTENSION_PHP; + return _DIR_SESSIONS . 'session_'.$id_auteur.md5($id_session.' '.$alea). '.php'; } diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 36057690c4..9506595050 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -84,10 +84,11 @@ function include_spip($f, $include = true) { // une surcharge existe ? if (!$s = find_in_path($f . '.php') - AND !$s = find_in_path($f . '.php3') + AND (!_EXTENSION_PHP OR !$s = find_in_path($f . '.php3')) // sinon, le fichier existe dans le repertoire ecrire ? AND !is_readable($s = _DIR_INCLUDE . $f . '.php') - AND !is_readable($s = _DIR_INCLUDE . $f . '.php3')) + AND (!_EXTENSION_PHP OR !is_readable($s = _DIR_INCLUDE . $f . '.php3')) +) return $included_files[$f] = false; // deja charge (chemin complet) ? @@ -619,11 +620,11 @@ function texte_script($texte) { // find_in_path() : chercher un fichier nomme x selon le chemin rep1:rep2:rep3 // -function find_in_path ($filename, $sinon = NULL, $path='AUTO') { +function find_in_path ($filename) { // Chemin standard depuis l'espace public - if ($path == 'AUTO') { - $path = defined('_SPIP_PATH') ? explode(':', _SPIP_PATH) : + + $path = defined('_SPIP_PATH') ? explode(':', _SPIP_PATH) : array( _DIR_RACINE, _DIR_RACINE.'dist/', @@ -632,23 +633,16 @@ function find_in_path ($filename, $sinon = NULL, $path='AUTO') { ); // Ajouter les repertoires des plugins - foreach ($GLOBALS['plugins'] as $plug) + foreach ($GLOBALS['plugins'] as $plug) array_unshift($path, _DIR_PLUGINS.$plug.'/'); // Ajouter squelettes/ - array_unshift($path, _DIR_RACINE.'squelettes/'); + array_unshift($path, _DIR_RACINE.'squelettes/'); // Et le(s) dossier(s) des squelettes nommes - if ($GLOBALS['dossier_squelettes']) - foreach (explode(':', $GLOBALS['dossier_squelettes']) as $d) - array_unshift($path, - _DIR_RACINE.$d.'/'); - } - - // Parcourir le chemin - # Attention, dans l'espace prive on a parfois sinon='' pour _DIR_INCLUDE - if ($sinon !== NULL) - array_push($path, $sinon); + if ($GLOBALS['dossier_squelettes']) + foreach (explode(':', $GLOBALS['dossier_squelettes']) as $d) + array_unshift($path, _DIR_RACINE.$d.'/'); foreach ($path as $dir) { // ajouter un / eventuellement manquant a la fin @@ -658,7 +652,7 @@ function find_in_path ($filename, $sinon = NULL, $path='AUTO') { return $f; } } -# spip_log("find_in_path n'a pas vu '$filename' dans $path"); +# spip_log("find_in_path n'a pas vu '$filename' dans " . join(',', $path)); } // predicat sur les scripts de ecrire qui n'authentifient pas par cookie @@ -885,6 +879,7 @@ function spip_initialisation() { define('_DIR_TRANSFERT', _DIR_RESTREINT . "upload/"); define('_DIR_PLUGINS', _DIR_RACINE . "plugins/"); define('_DIR_LOGOS', _DIR_RACINE ."IMG/"); + define('_DIR_POLICES', _DIR_RESTREINT ."polices/"); // les fichiers qu'on y met, entre autres define('_FILE_CRON_LOCK', _DIR_SESSIONS . 'cron.lock'); diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 78b88e1c0d..f6de2e14a0 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -14,7 +14,11 @@ if (defined("_ECRIRE_INC_VERSION")) return; define("_ECRIRE_INC_VERSION", "1"); -@define('_EXTENSION_PHP', '.php'); +# compatibilite anciennes versions +# si vous n'avez aucun fichier .php3, redefinissez a "" +# ca fera foncer find_in_path +@define('_EXTENSION_PHP', '.php3'); +#@define('_EXTENSION_PHP', ''); # le nom du repertoire ecrire/ @define('_DIR_RESTREINT_ABS', 'ecrire/'); @@ -222,7 +226,7 @@ if (defined('_FILE_OPTIONS')) { include_once(_FILE_OPTIONS); } # COMPATIBILITE .php3 - else if (@file_exists(_DIR_RESTREINT . 'mes_options.php3')) { + else if (_EXTENSION_PHP && @file_exists(_DIR_RESTREINT . 'mes_options.php3')) { define('_FILE_OPTIONS', _DIR_RESTREINT . 'mes_options.php3'); include_once(_FILE_OPTIONS); } -- GitLab