diff --git a/ecrire/action/editer_rubrique.php b/ecrire/action/editer_rubrique.php index 608741ed2323b82e3c63341b5fb59347402c77b7..571cfaf54729c528e41103589b2958763c3da59a 100644 --- a/ecrire/action/editer_rubrique.php +++ b/ecrire/action/editer_rubrique.php @@ -69,7 +69,7 @@ function revisions_rubriques($id_rubrique, $c=false) { // qu'on n'administre pas. $statut_ancien = $parent = ''; if (NULL !== ($id_parent = _request('id_parent', $c))) { - include_spip('inc_rubrique'); + $id_parent = intval($id_parent); $filles = calcul_branche($id_rubrique); if (strpos(",$id_parent',", "$,filles,") != false) diff --git a/ecrire/base/connect_sql.php b/ecrire/base/connect_sql.php index b6a7b4629f7cb2a7f13e529a64531d6ceb263cb7..61e85963afd93ae7be4f6408a3292f6535c75947 100644 --- a/ecrire/base/connect_sql.php +++ b/ecrire/base/connect_sql.php @@ -61,10 +61,11 @@ function spip_connect($serveur='', $version='') { $type = $GLOBALS['db_ok']['type']; $jeu = 'spip_' . $type .'_functions_' . $version; if (!isset($GLOBALS[$jeu])) { - if (!include_spip($type . '_' . $version, 'req')) + if (!find_in_path($type . '_' . $version . '.php', 'req/', true)){ spip_log("spip_connect: serveur $index version '$version' non defini par $jeu."); - // ne plus reessayer - return $connexions[$index][$version] = array(); + // ne plus reessayer + return $connexions[$index][$version] = array(); + } } $connexions[$index][$version] = $GLOBALS[$jeu]; if ($old) return $connexions[$index]; diff --git a/ecrire/base/import_all.php b/ecrire/base/import_all.php index a751df904adc8f20e195f167439b8330efccdbd2..1e4a184e51a59d6ad53026ebddd0a94c8f90bac9 100644 --- a/ecrire/base/import_all.php +++ b/ecrire/base/import_all.php @@ -32,7 +32,7 @@ else{ // NB: Ce fichier peut ajouter des tables (old-style) // donc il faut l'inclure "en globals" -if ($f = include_spip('mes_fonctions', false)) { +if ($f = find_in_path('mes_fonctions.php')) { global $dossier_squelettes; @include_once ($f); } diff --git a/ecrire/exec/aide_index.php b/ecrire/exec/aide_index.php index e2c38d1912aa2d2487e36e42f02b22ad5e9e40b1..ac95c6337fca7daee5b637a4a831db14951928b2 100644 --- a/ecrire/exec/aide_index.php +++ b/ecrire/exec/aide_index.php @@ -13,7 +13,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/headers'); -include_spip("inc/texte"); +include_spip('inc/texte'); include_spip('inc/layer'); ///////////////////////////// diff --git a/ecrire/exec/breves_edit.php b/ecrire/exec/breves_edit.php index dba029e6863573e00b30c4fc354e228242a0334b..e348df2e44ead6f2000d5f2540081955dca46532 100644 --- a/ecrire/exec/breves_edit.php +++ b/ecrire/exec/breves_edit.php @@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/presentation'); include_spip('inc/documents'); -include_spip ('inc/barre'); +include_spip('inc/barre'); // http://doc.spip.org/@exec_breves_edit_dist function exec_breves_edit_dist() diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php index 9d2eb84f70d8ef43c664fe9514353c0858a2af3d..5f0d2e85c4c9314010457200a30b5004face539d 100644 --- a/ecrire/exec/breves_voir.php +++ b/ecrire/exec/breves_voir.php @@ -14,7 +14,6 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/presentation'); include_spip('inc/actions'); -include_spip("inc/indexation"); // http://doc.spip.org/@exec_breves_voir_dist function exec_breves_voir_dist() diff --git a/ecrire/inc/charsets.php b/ecrire/inc/charsets.php index 6421e82482e65870f7edc7ac8e0176bb4a13a892..7d5db867621ecb23830a557a9a5bf4cba2cc0712 100644 --- a/ecrire/inc/charsets.php +++ b/ecrire/inc/charsets.php @@ -42,7 +42,7 @@ function load_charset ($charset = 'AUTO', $langue_site = 'AUTO') { else if ($charset == 'windows-1251') $charset = 'cp1251'; else if ($charset == 'windows-1256') $charset = 'cp1256'; - if (include_spip('charsets/'.$charset)) { + if (find_in_path($charset . '.php', 'charsets/', true)) { return $charset; } else { spip_log("Erreur: pas de fichier de conversion 'charsets/$charset'"); diff --git a/ecrire/inc/export.php b/ecrire/inc/export.php index c12ff600497d685e51790f4a6175234025db2328..934b426b9911790d0f22b0ea6a2aa0f720c6686e 100644 --- a/ecrire/inc/export.php +++ b/ecrire/inc/export.php @@ -18,10 +18,11 @@ include_spip('public/interfaces'); // pour table_jointures $GLOBALS['version_archive'] = '1.3'; // NB: Ce fichier peut ajouter des tables (old-style) // donc il faut l'inclure "en globals" -if ($f = include_spip('mes_fonctions', false)) { +if ($f = find_in_path('mes_fonctions.php')) { global $dossier_squelettes; @include_once ($f); } + if (@is_readable(_DIR_TMP."charger_plugins_fonctions.php")){ // chargement optimise precompile include_once(_DIR_TMP."charger_plugins_fonctions.php"); diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 57e09a55049e0888683d766908577514bb9a438d..aff2061a7338de3d212700a01fb885475bdbf45c 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; include_spip('inc/charsets'); -// signaler les filtres ayant besoin d'inclue inc/filtres_images +// signaler les filtres ayant besoin d'inclure inc/filtres_images $GLOBALS['spip_matrice']['image_valeurs_trans'] = ''; $GLOBALS['spip_matrice']['image_reduire'] = ''; @@ -71,12 +71,10 @@ function appliquer_filtre($arg, $filtre) { return $f($arg); } -// Appliquer un filtre (eventuellement defini dans la matrice) aux donnees -// et arguments +// Appliquer un filtre de la matrice // http://doc.spip.org/@filtrer function filtrer($filtre) { - if (isset($GLOBALS['spip_matrice'][$filtre])) - include_spip('inc/filtres_images'); + include_spip('inc/filtres_images'); $tous = func_get_args(); if (substr($filtre,0,6)=='image_') @@ -303,7 +301,7 @@ function proteger_amp($texte){ // http://doc.spip.org/@entites_html function entites_html($texte, $tout=false) { if (!$texte) return $texte; - include_spip("inc/texte"); + include_spip('inc/texte'); $texte = htmlspecialchars(echappe_retour(echappe_html($texte,'',true),'','proteger_amp')); if ($tout) return corriger_toutes_entites_html($texte); @@ -315,7 +313,6 @@ function entites_html($texte, $tout=false) { // http://doc.spip.org/@filtrer_entites function filtrer_entites($texte) { if (strpos($texte,'&') === false) return $texte; -# include_spip('inc/charsets'); // filtrer $texte = html2unicode($texte); // remettre le tout dans le charset cible @@ -1631,7 +1628,7 @@ function barre_textarea($texte, $rows, $cols, $lang='') { return "<textarea name='texte' rows='$rows' class='forml' cols='$cols'>$texte</textarea>"; $num_textarea++; - include_spip ('inc/barre'); + include_spip('inc/barre'); return afficher_barre("document.getElementById('textarea_$num_textarea')", true, $lang) . " <textarea name='texte' rows='$rows' class='forml' cols='$cols' diff --git a/ecrire/inc/filtres_images.php b/ecrire/inc/filtres_images.php index f13bb95b1e637949057f560501aa4b4e9b31f8f8..2ace4c99260b24386c315d40ff20d87ce5f5fc2c 100644 --- a/ecrire/inc/filtres_images.php +++ b/ecrire/inc/filtres_images.php @@ -61,7 +61,7 @@ function image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cre // les protocoles web prennent au moins 3 lettres if (preg_match(';^(\w{3,7}://);', $source)){ - include_spip("inc/distant"); + include_spip('inc/distant'); $fichier = _DIR_RACINE . copie_locale($source); if (!$fichier) return ""; } else $fichier = $source; @@ -2018,7 +2018,7 @@ function image_aplatir($im, $format='jpg', $coul='000000', $qualite=NULL) if (!$image) return(""); - include_spip("filtres"); + include_spip('inc/filtres'); $couleurs = couleur_hex_to_dec($coul); $dr= $couleurs["red"]; $dv= $couleurs["green"]; @@ -2317,7 +2317,6 @@ function couleur_eclaircir_si_foncee ($couleur) { function couleur_saturation($couleur, $val) { if ($couleur == "ffffff") $couleur = "eeeeee"; - include_spip("inc/filtres_images"); $couleurs = couleur_hex_to_dec($couleur); $r= 255 - $couleurs["red"]; $g= 255 - $couleurs["green"]; diff --git a/ecrire/inc/import.php b/ecrire/inc/import.php index 36f44dda8e4012df0a9dbd11f6f265786ed550b0..c51c76e6339cb8a9dc1bd87f78d58700b0aa1537 100644 --- a/ecrire/inc/import.php +++ b/ecrire/inc/import.php @@ -18,10 +18,11 @@ include_spip('base/abstract_sql'); // NB: Ce fichier peut ajouter des tables (old-style) // donc il faut l'inclure "en globals" -if ($f = include_spip('mes_fonctions', false)) { +if ($f = find_in_path('mes_fonctions.php')) { global $dossier_squelettes; @include_once ($f); } + if (@is_readable(_DIR_TMP."charger_plugins_fonctions.php")){ // chargement optimise precompile include_once(_DIR_TMP."charger_plugins_fonctions.php"); diff --git a/ecrire/inc/install.php b/ecrire/inc/install.php index 099aebe74606269b02e35f42ce87ccf38b3024d8..34ab70ff39eb065bb0cbfa8ac8f1b439a7ab4e40 100644 --- a/ecrire/inc/install.php +++ b/ecrire/inc/install.php @@ -210,7 +210,7 @@ function install_connexion_form($db, $login, $pass, $predef, $hidden, $etape) $pg = function_exists('pg_connect'); $mysql = function_exists('mysql_connect'); // demander les version dispo de sqlite - include_spip("req/sqlite_generique"); + include_spip('req/sqlite_generique'); $versions = spip_versions_sqlite(); $sqlite2 = in_array(2, $versions); $sqlite3 = in_array(3, $versions); diff --git a/ecrire/inc/lang.php b/ecrire/inc/lang.php index 58c3b63e78a436f44d64b702734c46b0a77f2cfb..0907c8cc3f0c887ef24d2ffc6971270a84654be5 100644 --- a/ecrire/inc/lang.php +++ b/ecrire/inc/lang.php @@ -263,7 +263,7 @@ function repertoire_lang($module='spip', $lang='fr') { return _DIR_LANG; # regarder s'il existe une v.f. qq part - if ($f = include_spip('lang/'.$module.'_'.$lang, false)) + if ($f = find_in_path($module.'_'.$lang . '.php', 'lang/')) return dirname($f).'/'; # sinon, je ne sais trop pas quoi dire... diff --git a/ecrire/inc/traduire.php b/ecrire/inc/traduire.php index 841fc185b83ae083a66e475259de7c86be3f7d6d..76d6be4fc938a13d59cb59915daf601da3e271d4 100644 --- a/ecrire/inc/traduire.php +++ b/ecrire/inc/traduire.php @@ -21,12 +21,12 @@ function chercher_module_lang($module, $lang = '') { $lang = '_'.$lang; // 1) dans un repertoire nomme lang/ se trouvant sur le chemin - if ($f = include_spip('lang/'.$module.$lang, false)) + if ($f = find_in_path($module.$lang.'.php', 'lang/')) return $f; // 2) directement dans le chemin (old style, uniquement pour local) return ($module == 'local') - ? include_spip($module.$lang, false) + ? find_in_path('local'.$lang. '.php') : ''; } diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 89de11e7fb0b9311c24824739053da68caa581f0..78c68db4baf288664565921536815944735e6992 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -524,11 +524,6 @@ function texte_script($texte) { return str_replace('\'', '\\\'', str_replace('\\', '\\\\', $texte)); } -// -// find_in_path() : chercher un fichier nomme x selon le chemin rep1:rep2:rep3 -// - - // la fonction _chemin ajoute un repertoire au chemin courant si un repertoire lui est passe en parametre // retourne le chemin courant sinon, sous forme de array // seul le dossier squelette peut etre modifie en dehors de cette fonction, pour raison historique @@ -605,26 +600,13 @@ function creer_chemin() { return $path_a; } -/* -// Cette fonction est appelee une seule fois par hit et par dir du chemin -// http://doc.spip.org/@memoriser_fichiers -function memoriser_fichiers($dir) { - $fichiers = array(); - - if ($dir === '') $dir = '.'; - - if (@is_dir($dir) - AND $t = @opendir($dir)) { - while (($f = readdir($t)) !== false) { - $fichiers[$f] = true; - } - } - return $fichiers; -} -*/ +// +// 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. // http://doc.spip.org/@find_in_path -function find_in_path ($file, $dirname='') { +function find_in_path ($file, $dirname='', $include=false) { static $files=array(), $dirs=array(); $a = strrpos($file,'/'); @@ -633,14 +615,18 @@ function find_in_path ($file, $dirname='') { $file = substr($file, $a); } - if (isset($files[$dirname][$file])) return $files[$dirname][$file]; - + if (isset($files[$dirname][$file])) { + if ($include) include_once $files[$dirname][$file]; + return $files[$dirname][$file]; + } foreach(creer_chemin() as $dir) { if (!isset($dirs[$a = $dir . $dirname])) $dirs[$a] = is_dir($a); if ($dirs[$a]) { - if (is_readable($a .= $file)) + if (is_readable($a .= $file)) { + if ($include) include_once $a; return $files[$dirname][$file] = $a; + } } } } @@ -694,10 +680,10 @@ function charger_generer_url() { // fichier inc-urls ? (old style) if (@is_readable($f = _DIR_RACINE.'inc-urls.php3') OR @is_readable($f = _DIR_RACINE.'inc-urls.php') - OR $f = find_in_path('inc-urls-'.$GLOBALS['type_urls'].'.php3') - OR $f = include_spip('urls/'.$GLOBALS['type_urls'], false) - ) + OR $f = find_in_path('inc-urls-'.$GLOBALS['type_urls'].'.php3')) include_once($f); + + else include_spip('urls/'.$GLOBALS['type_urls']); } } diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 34127ef6d7245a26c75ab6c8b6f40647c639d090..9a314706d0013bb1bf17d0f36232eecbab515ae6 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -831,8 +831,8 @@ function " . $nom . '($Cache, $Pile, $doublons=array(), $Numrows=array(), $SP=0) $connect = ' . _q($connect) . '; $page = ' . - // ATTENTION, le calcul du l'expression $corps affectera $Cache - // c'est pourquoi on l'affecte a cette variable auxiliaire + // ATTENTION, le calcul de l'expression $corps affectera $Cache + // c'est pourquoi on l'affecte a la variable auxiliaire $page. // avant de referencer $Cache $corps . "; diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index bfd9797396064ea8d2243da30019c8af499c6d29..3af2adfef704cd7b1dc4eb8868bf936af5be84ca 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -247,7 +247,7 @@ function argumenter_squelette($v) { // verifier leurs arguments et filtres, et calculer le code a inclure // http://doc.spip.org/@executer_balise_dynamique function executer_balise_dynamique($nom, $args, $filtres, $lang, $ligne) { - if (!$file = include_spip('balise/' . strtolower($nom))) + if (!$file = find_in_path(strtolower($nom) .'.php', 'balise/', true)) die ("pas de balise dynamique pour #". strtolower($nom)." !"); // Y a-t-il une fonction de traitement filtres-arguments ?