From 2436748315a5eeabb67403ba2da2516daf40417e Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Sun, 13 Dec 2015 10:39:11 +0000 Subject: [PATCH] utiliser $GLOBALS plutot que global pour favoriser la lisibilite du code --- ecrire/public/assembler.php | 34 ++++++----- ecrire/public/composer.php | 4 +- ecrire/public/criteres.php | 57 +++++++++---------- ecrire/public/debusquer.php | 51 ++++++++--------- ecrire/public/interfaces.php | 106 +++++++++++++++++------------------ ecrire/public/references.php | 14 ++--- ecrire/public/tracer.php | 3 +- 7 files changed, 125 insertions(+), 144 deletions(-) diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 8ebb4a8b8f..1e096715aa 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -29,9 +29,8 @@ function assembler($fond, $connect = ''){ // flag_preserver est modifie ici, et utilise en globale // use_cache sert a informer le bouton d'admin pr savoir s'il met un * // contexte est utilise en globale dans le formulaire d'admin - global $flag_preserver, $use_cache, $contexte; - $contexte = calculer_contexte(); + $GLOBALS['contexte'] = calculer_contexte(); $page = array('contexte_implicite'=>calculer_contexte_implicite()); $page['contexte_implicite']['cache'] = $fond . preg_replace(',\.[a-zA-Z0-9]*$,', '', preg_replace('/[?].*$/', '', $GLOBALS['REQUEST_URI'])); // Cette fonction est utilisee deux fois @@ -39,9 +38,9 @@ function assembler($fond, $connect = ''){ // Les quatre derniers parametres sont modifies par la fonction: // emplacement, validite, et, s'il est valide, contenu & age if ($cacher) - $res = $cacher($GLOBALS['contexte'], $use_cache, $chemin_cache, $page, $lastmodified); + $res = $cacher($GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, $page, $lastmodified); else - $use_cache = -1; + $GLOBALS['use_cache'] = -1; // Si un resultat est retourne, c'est un message d'impossibilite if ($res) {return array('texte' => $res);} @@ -77,10 +76,10 @@ function assembler($fond, $connect = ''){ $page['texte'] = ""; } else { // si la page est prise dans le cache - if (!$use_cache) { + if (!$GLOBALS['use_cache']) { // Informer les boutons d'admin du contexte // (fourni par urls_decoder_url ci-dessous lors de la mise en cache) - $contexte = $page['contexte']; + $GLOBALS['contexte'] = $page['contexte']; // vider les globales url propres qui ne doivent plus etre utilisees en cas // d'inversion url => objet @@ -95,7 +94,7 @@ function assembler($fond, $connect = ''){ // et calculer la page if (!test_espace_prive()) { include_spip('inc/urls'); - list($fond,$contexte,$url_redirect) = urls_decoder_url(nettoyer_uri(),$fond,$contexte,true); + list($fond,$GLOBALS['contexte'],$url_redirect) = urls_decoder_url(nettoyer_uri(),$fond,$GLOBALS['contexte'],true); } // squelette par defaut if (!strlen($fond)) @@ -103,7 +102,7 @@ function assembler($fond, $connect = ''){ // produire la page : peut mettre a jour $lastmodified $produire_page = charger_fonction('produire_page','public'); - $page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, NULL, $page, $lastmodified, $connect); + $page = $produire_page($fond, $GLOBALS['contexte'], $GLOBALS['use_cache'], $chemin_cache, NULL, $page, $lastmodified, $connect); if ($page === '') { $erreur = _T('info_erreur_squelette2', array('fichier'=>spip_htmlspecialchars($fond).'.'._EXTENSION_SQUELETTES)); @@ -117,18 +116,18 @@ function assembler($fond, $connect = ''){ auto_content_type($page); - $flag_preserver |= headers_sent(); + $GLOBALS['flag_preserver'] |= headers_sent(); // Definir les entetes si ce n'est fait - if (!$flag_preserver) { + if (!$GLOBALS['flag_preserver']) { if ($GLOBALS['flag_ob']) { // Si la page est vide, produire l'erreur 404 ou message d'erreur pour les inclusions if (trim($page['texte']) === '' AND _VAR_MODE != 'debug' AND !isset($page['entetes']['Location']) // cette page realise une redirection, donc pas d'erreur ) { - $contexte['fond_erreur'] = $fond; - $page = message_page_indisponible($page, $contexte); + $GLOBALS['contexte']['fond_erreur'] = $fond; + $page = message_page_indisponible($page, $GLOBALS['contexte']); } // pas de cache client en mode 'observation' if (defined('_VAR_MODE') AND _VAR_MODE) { @@ -217,16 +216,15 @@ function calculer_contexte_implicite(){ // http://code.spip.net/@auto_content_type function auto_content_type($page){ - global $flag_preserver; - if (!isset($flag_preserver)){ - $flag_preserver = ($page && preg_match("/header\s*\(\s*.content\-type:/isx",$page['texte']) || (isset($page['entetes']['Content-Type']))); + + if (!isset($GLOBALS['flag_preserver'])){ + $GLOBALS['flag_preserver'] = ($page && preg_match("/header\s*\(\s*.content\-type:/isx",$page['texte']) || (isset($page['entetes']['Content-Type']))); } } // http://code.spip.net/@inclure_page function inclure_page($fond, $contexte, $connect = ''){ static $cacher, $produire_page; - global $lastmodified; // enlever le fond de contexte inclus car sinon il prend la main // dans les sous inclusions -> boucle infinie d'inclusion identique @@ -253,8 +251,8 @@ function inclure_page($fond, $contexte, $connect = ''){ $produire_page = charger_fonction('produire_page','public'); $page = $produire_page($fond, $contexte, $use_cache, $chemin_cache, $contexte, $page, $lastinclude, $connect); } - // dans tous les cas, mettre a jour $lastmodified - $lastmodified = max($lastmodified, $lastinclude); + // dans tous les cas, mettre a jour $GLOBALS['lastmodified'] + $GLOBALS['lastmodified'] = max($GLOBALS['lastmodified'], $lastinclude); return $page; } diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index d526dc2e6e..e026ae91e8 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -505,13 +505,13 @@ function executer_balise_dynamique($nom, $args, $context_compil) { * Liste des identifiants ayant un logo (séparés par une virgule) **/ function lister_objets_avec_logos ($type) { - global $formats_logos; + $logos = array(); $chercher_logo = charger_fonction('chercher_logo', 'inc'); $type = '/' . type_du_logo($type) . "on(\d+)\.(" - . join('|',$formats_logos) + . join('|',$GLOBALS['formats_logos']) . ")$/"; if ($d = @opendir(_DIR_LOGOS)) { diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index b78696f917..920c4e1bce 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -41,11 +41,11 @@ define('_CODE_QUOTE', ",^(\n//[^\n]*\n)? *'(.*)' *$,"); * @return void **/ function critere_racine_dist($idb, &$boucles, $crit){ - global $exceptions_des_tables; + $not = $crit->not; $boucle = &$boucles[$idb]; - $id_parent = isset($exceptions_des_tables[$boucle->id_table]['id_parent']) ? - $exceptions_des_tables[$boucle->id_table]['id_parent'] : + $id_parent = isset($GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent']) ? + $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] : 'id_parent'; $c = array("'='", "'$boucle->id_table."."$id_parent'", 0); @@ -435,15 +435,15 @@ function critere_origine_traduction_dist($idb, &$boucles, $crit){ * @return void **/ function critere_meme_parent_dist($idb, &$boucles, $crit){ - global $exceptions_des_tables; + $boucle = &$boucles[$idb]; $arg = kwote(calculer_argument_precedent($idb, 'id_parent', $boucles)); - $id_parent = isset($exceptions_des_tables[$boucle->id_table]['id_parent']) ? - $exceptions_des_tables[$boucle->id_table]['id_parent'] : + $id_parent = isset($GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent']) ? + $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] : 'id_parent'; $mparent = $boucle->id_table.'.'.$id_parent; - if ($boucle->type_requete=='rubriques' OR isset($exceptions_des_tables[$boucle->id_table]['id_parent'])){ + if ($boucle->type_requete=='rubriques' OR isset($GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'])){ $boucle->where[] = array("'='", "'$mparent'", $arg); } @@ -618,7 +618,7 @@ function critere_par_dist($idb, &$boucles, $crit){ // http://code.spip.net/@critere_parinverse function critere_parinverse($idb, &$boucles, $crit, $sens = ''){ - global $exceptions_des_jointures; + $boucle = &$boucles[$idb]; if ($crit->not) $sens = $sens ? "" : " . ' DESC'"; $collecte = (isset($boucle->modificateur['collecte'])) ? " . ".$boucle->modificateur['collecte'] : ""; @@ -692,8 +692,8 @@ function critere_parinverse($idb, &$boucles, $crit, $sens = ''){ $order = "'alea'"; } // par titre_mot ou type_mot voire d'autres - else if (isset($exceptions_des_jointures[$par])){ - list($table, $champ) = $exceptions_des_jointures[$par]; + else if (isset($GLOBALS['exceptions_des_jointures'][$par])){ + list($table, $champ) = $GLOBALS['exceptions_des_jointures'][$par]; $order = critere_par_joint($table, $champ, $boucle, $idb); if (!$order) return (array('zbug_critere_inconnu', array('critere' => $crit->op." $par"))); @@ -1443,9 +1443,6 @@ function calculer_critere_DEFAUT_args($idb, &$boucles, $crit, $args){ **/ function calculer_critere_infixe($idb, &$boucles, $crit){ - global $table_criteres_infixes; - global $exceptions_des_jointures, $exceptions_des_tables; - $boucle = &$boucles[$idb]; $type = $boucle->type_requete; $table = $boucle->id_table; @@ -1463,9 +1460,9 @@ function calculer_critere_infixe($idb, &$boucles, $crit){ $col = $boucle->primary; // Cas particulier : id_parent => verifier les exceptions de tables - if ( (in_array($col,array('id_parent','id_secteur')) AND isset($exceptions_des_tables[$table][$col])) - OR (isset($exceptions_des_tables[$table][$col]) AND is_string($exceptions_des_tables[$table][$col])) ) - $col = $exceptions_des_tables[$table][$col]; + if ( (in_array($col,array('id_parent','id_secteur')) AND isset($GLOBALS['exceptions_des_tables'][$table][$col])) + OR (isset($GLOBALS['exceptions_des_tables'][$table][$col]) AND is_string($GLOBALS['exceptions_des_tables'][$table][$col])) ) + $col = $GLOBALS['exceptions_des_tables'][$table][$col]; // et possibilite de gerer un critere secteur sur des tables de plugins (ie forums) else if (($col=='id_secteur') AND ($critere_secteur = charger_fonction("critere_secteur_$type", "public", true))){ @@ -1475,8 +1472,8 @@ function calculer_critere_infixe($idb, &$boucles, $crit){ // cas id_article=xx qui se mappe en id_objet=xx AND objet=article // sauf si exception declaree : sauter cette etape else if ( - !isset($exceptions_des_jointures[table_objet_sql($table)][$col]) - AND !isset($exceptions_des_jointures[$col]) + !isset($GLOBALS['exceptions_des_jointures'][table_objet_sql($table)][$col]) + AND !isset($GLOBALS['exceptions_des_jointures'][$col]) AND count(trouver_champs_decomposes($col, $desc))>1 ){ $e = decompose_champ_id_objet($col); @@ -1523,7 +1520,7 @@ function calculer_critere_infixe($idb, &$boucles, $crit){ // et int sinon si la valeur est numerique // sinon introduire le vrai type du champ si connu dans le sql_quote (ou int NOT NULL sinon) // Ne pas utiliser intval, PHP tronquant les Bigint de SQL - if ($op=='=' OR in_array($op, $table_criteres_infixes)){ + if ($op=='=' OR in_array($op, $GLOBALS['table_criteres_infixes'])){ // defaire le quote des int et les passer dans sql_quote avec le bon type de champ si on le connait, int sinon // prendre en compte le debug ou la valeur arrive avec un commentaire PHP en debut @@ -1599,23 +1596,23 @@ function calculer_critere_infixe($idb, &$boucles, $crit){ * Chaîne vide si on ne trouve pas le champ par jointure... **/ function calculer_critere_infixe_externe($boucle, $crit, $op, $desc, $col, $col_alias, $table){ - global $exceptions_des_jointures; + $where = ''; $calculer_critere_externe = 'calculer_critere_externe_init'; // gestion par les plugins des jointures tordues // pas automatiques mais necessaires $table_sql = table_objet_sql($table); - if (isset($exceptions_des_jointures[$table_sql]) - AND is_array($exceptions_des_jointures[$table_sql]) + if (isset($GLOBALS['exceptions_des_jointures'][$table_sql]) + AND is_array($GLOBALS['exceptions_des_jointures'][$table_sql]) AND ( - isset($exceptions_des_jointures[$table_sql][$col]) + isset($GLOBALS['exceptions_des_jointures'][$table_sql][$col]) OR - isset($exceptions_des_jointures[$table_sql]['']) + isset($GLOBALS['exceptions_des_jointures'][$table_sql]['']) ) ){ - $t = $exceptions_des_jointures[$table_sql]; + $t = $GLOBALS['exceptions_des_jointures'][$table_sql]; $index = isset($t[$col]) ? $t[$col] : (isset($t['']) ? $t[''] : array()); @@ -1631,8 +1628,8 @@ function calculer_critere_infixe_externe($boucle, $crit, $op, $desc, $col, $col_ else $t = ''; // jointure non declaree. La trouver. } - elseif (isset($exceptions_des_jointures[$col])) - list($t, $col) = $exceptions_des_jointures[$col]; + elseif (isset($GLOBALS['exceptions_des_jointures'][$col])) + list($t, $col) = $GLOBALS['exceptions_des_jointures'][$col]; else $t = ''; // jointure non declaree. La trouver. @@ -2330,7 +2327,7 @@ function critere_POUR_tableau_dist($idb, &$boucles, $crit){ * @param Critere $crit Paramètres du critère dans cette boucle */ function critere_noeud_dist($idb, &$boucles, $crit){ - global $exceptions_des_tables; + $not = $crit->not; $boucle = &$boucles[$idb]; $primary = $boucle->primary; @@ -2342,8 +2339,8 @@ function critere_noeud_dist($idb, &$boucles, $crit){ $table = $boucle->type_requete; $table_sql = table_objet_sql(objet_type($table)); - $id_parent = isset($exceptions_des_tables[$boucle->id_table]['id_parent']) ? - $exceptions_des_tables[$boucle->id_table]['id_parent'] : + $id_parent = isset($GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent']) ? + $GLOBALS['exceptions_des_tables'][$boucle->id_table]['id_parent'] : 'id_parent'; $in = "IN"; diff --git a/ecrire/public/debusquer.php b/ecrire/public/debusquer.php index 3cd667f83c..394aa72548 100644 --- a/ecrire/public/debusquer.php +++ b/ecrire/public/debusquer.php @@ -64,8 +64,6 @@ defined('_DEBUG_MAX_SQUELETTE_ERREURS') || define('_DEBUG_MAX_SQUELETTE_ERREURS' * - string si $message à false. **/ function public_debusquer_dist($message = '', $lieu = '', $opt = array()){ - global $visiteur_session; - global $debug_objets; static $tableau_des_erreurs = array(); // Pour des tests unitaires, pouvoir récupérer les erreurs générées @@ -92,10 +90,10 @@ function public_debusquer_dist($message = '', $lieu = '', $opt = array()){ $urgence = (_DEBUG_MAX_SQUELETTE_ERREURS AND count($tableau_des_erreurs)>_DEBUG_MAX_SQUELETTE_ERREURS); if (!$urgence) return; } - if (empty($debug_objets['principal'])) { + if (empty($GLOBALS['debug_objets']['principal'])) { // espace public ? if (isset($GLOBALS['fond'])) { - $debug_objets['principal'] = $GLOBALS['fond']; + $GLOBALS['debug_objets']['principal'] = $GLOBALS['fond']; } } @@ -116,7 +114,7 @@ function public_debusquer_dist($message = '', $lieu = '', $opt = array()){ ob_end_clean(); } - lang_select($visiteur_session['lang']); + lang_select($GLOBALS['visiteur_session']['lang']); $fonc = _request('var_mode_objet'); $mode = _request('var_mode_affiche'); $self = str_replace("\\'", ''', self()); @@ -135,8 +133,8 @@ function public_debusquer_dist($message = '', $lieu = '', $opt = array()){ $titre = parametre_url($titre, 'var_mode', ''); } else { - if (!$fonc) $fonc = $debug_objets['principal']; - $titre = !$mode ? $fonc : ($mode . (isset($debug_objets['sourcefile'][$fonc]) ? " " . $debug_objets['sourcefile'][$fonc] : "")); + if (!$fonc) $fonc = $GLOBALS['debug_objets']['principal']; + $titre = !$mode ? $fonc : ($mode . (isset($GLOBALS['debug_objets']['sourcefile'][$fonc]) ? " " . $GLOBALS['debug_objets']['sourcefile'][$fonc] : "")); } if ($message===false){ lang_select(); @@ -334,21 +332,20 @@ function debusquer_requete($message){ // http://code.spip.net/@trouve_boucle_debug function trouve_boucle_debug($n, $nom, $debut = 0, $boucle = ""){ - global $debug_objets; $id = $nom . $boucle; - if (is_array($debug_objets['sequence'][$id])){ - foreach ($debug_objets['sequence'][$id] as $v){ + if (is_array($GLOBALS['debug_objets']['sequence'][$id])){ + foreach ($GLOBALS['debug_objets']['sequence'][$id] as $v){ if (!preg_match('/^(.*)(<\?.*\?>)(.*)$/s', $v[0], $r)) $y = substr_count($v[0], "\n"); else { if ($v[1][0]=='#') // balise dynamique - $incl = $debug_objets['resultat'][$v[2]]; + $incl = $GLOBALS['debug_objets']['resultat'][$v[2]]; else // inclusion - $incl = $debug_objets['squelette'][trouve_squelette_inclus($v[0])]; + $incl = $GLOBALS['debug_objets']['squelette'][trouve_squelette_inclus($v[0])]; $y = substr_count($incl, "\n") +substr_count($r[1], "\n") +substr_count($r[3], "\n"); @@ -370,7 +367,7 @@ function trouve_boucle_debug($n, $nom, $debut = 0, $boucle = ""){ // http://code.spip.net/@trouve_squelette_inclus function trouve_squelette_inclus($script){ - global $debug_objets; + preg_match('/include\(.(.*).php3?.\);/', $script, $reg); // si le script X.php n'est pas ecrire/public.php // on suppose qu'il prend le squelette X.html (pas sur, mais y a pas mieux) @@ -382,7 +379,7 @@ function trouve_squelette_inclus($script){ $reg[1] = "inconnu"; $incl = ',' . $reg[1] . '[.]\w$,'; - foreach ($debug_objets['sourcefile'] as $k => $v){ + foreach ($GLOBALS['debug_objets']['sourcefile'] as $k => $v){ if (preg_match($incl, $v)) return $k; } return ""; @@ -475,10 +472,9 @@ function ancre_texte($texte, $fautifs = array(), $nocpt = false) { // l'environnement graphique du debuggueur function debusquer_squelette($fonc, $mode, $self){ - global $debug_objets; if ($mode!=='validation'){ - if (isset($debug_objets['sourcefile']) and $debug_objets['sourcefile']){ + if (isset($GLOBALS['debug_objets']['sourcefile']) and $GLOBALS['debug_objets']['sourcefile']){ $res = "<div id='spip-boucles'>\n" . debusquer_navigation_squelettes($self) . "</div>"; @@ -491,9 +487,9 @@ function debusquer_squelette($fonc, $mode, $self){ list($legend, $texte, $res2) = debusquer_source($fonc, $mode); $texte .= $res2; } - elseif (!empty($debug_objets[$mode][$fonc . 'tout'])) { + elseif (!empty($GLOBALS['debug_objets'][$mode][$fonc . 'tout'])) { $legend = _T('zbug_' . $mode); - $texte = $debug_objets[$mode][$fonc . 'tout']; + $texte = $GLOBALS['debug_objets'][$mode][$fonc . 'tout']; $texte = ancre_texte($texte, array('', '')); } } @@ -510,9 +506,9 @@ function debusquer_squelette($fonc, $mode, $self){ } else { $valider = charger_fonction('valider', 'xml'); - $val = $valider($debug_objets['validation'][$fonc . 'tout']); + $val = $valider($GLOBALS['debug_objets']['validation'][$fonc . 'tout']); // Si erreur, signaler leur nombre dans le formulaire admin - $debug_objets['validation'] = $val->err ? count($val->err) : ''; + $GLOBALS['debug_objets']['validation'] = $val->err ? count($val->err) : ''; list($texte, $err) = emboite_texte($val, $fonc, $self); if ($err===false) $err = _T('impossible'); @@ -623,16 +619,15 @@ function count_occ($regs){ } function debusquer_navigation_squelettes($self){ - global $debug_objets, $spip_lang_right; $res = ''; - $boucles = !empty($debug_objets['boucle']) ? $debug_objets['boucle'] : ''; - $contexte = $debug_objets['contexte']; + $boucles = !empty($GLOBALS['debug_objets']['boucle']) ? $GLOBALS['debug_objets']['boucle'] : ''; + $contexte = $GLOBALS['debug_objets']['contexte']; $t_skel = _T('squelette'); - foreach ($debug_objets['sourcefile'] as $nom => $sourcefile){ + foreach ($GLOBALS['debug_objets']['sourcefile'] as $nom => $sourcefile){ $self2 = parametre_url($self, 'var_mode_objet', $nom); $nav = !$boucles ? '' : debusquer_navigation_boucles($boucles, $nom, $self, $sourcefile); - $temps = !isset($debug_objets['profile'][$sourcefile]) ? '' : _T('zbug_profile', array('time' => $debug_objets['profile'][$sourcefile])); + $temps = !isset($GLOBALS['debug_objets']['profile'][$sourcefile]) ? '' : _T('zbug_profile', array('time' => $GLOBALS['debug_objets']['profile'][$sourcefile])); $res .= "<fieldset id='f_".$nom."'><legend>" . $t_skel @@ -649,7 +644,7 @@ function debusquer_navigation_squelettes($self){ . "'>" . _T('zbug_calcul') . "</a></legend>" - . (!$temps ? '' : ("\n<span style='display:block;float:$spip_lang_right'>$temps</span><br />")) + . (!$temps ? '' : ("\n<span style='display:block;float:$GLOBALS['spip_lang_right']'>$temps</span><br />")) . debusquer_contexte($contexte[$sourcefile]) . (!$nav ? '' : ("<table width='100%'>\n$nav</table>\n")) . "</fieldset>\n"; @@ -770,7 +765,7 @@ function debusquer_source($objet, $affiche){ // http://code.spip.net/@debusquer_entete function debusquer_entete($titre, $corps){ - global $debug_objets; + include_spip('balise/formulaire_admin'); include_spip('public/assembler'); // pour inclure_balise_dynamique include_spip('inc/texte'); // pour corriger_typo @@ -792,7 +787,7 @@ function debusquer_entete($titre, $corps){ "<body style='margin:0 10px;'>\n" . "<div id='spip-debug-header'>" . $corps . - inclure_balise_dynamique(balise_FORMULAIRE_ADMIN_dyn('spip-admin-float', $debug_objets), false) . + inclure_balise_dynamique(balise_FORMULAIRE_ADMIN_dyn('spip-admin-float', $GLOBALS['debug_objets']), false) . '</div></body></html>'; } diff --git a/ecrire/public/interfaces.php b/ecrire/public/interfaces.php index 674db16c83..a685ea0608 100644 --- a/ecrire/public/interfaces.php +++ b/ecrire/public/interfaces.php @@ -762,86 +762,80 @@ $exception_des_connect[] = ''; // ne pas transmettre le connect='' par les inclu * @return void */ function declarer_interfaces(){ - global $exceptions_des_tables, $table_des_tables, $table_date, $table_titre, $table_statut; - $table_des_tables['articles']='articles'; - $table_des_tables['auteurs']='auteurs'; - $table_des_tables['rubriques']='rubriques'; - $table_des_tables['hierarchie']='rubriques'; + $GLOBALS['table_des_tables']['articles']='articles'; + $GLOBALS['table_des_tables']['auteurs']='auteurs'; + $GLOBALS['table_des_tables']['rubriques']='rubriques'; + $GLOBALS['table_des_tables']['hierarchie']='rubriques'; // definition des statuts de publication - global $tables_statut; - $table_statut = array(); + $GLOBALS['table_statut'] = array(); // // tableau des tables de jointures // Ex: gestion du critere {id_mot} dans la boucle(ARTICLES) - global $tables_jointures; - $tables_jointures = array(); - $tables_jointures['spip_jobs'][] = 'jobs_liens'; + $GLOBALS['tables_jointures'] = array(); + $GLOBALS['tables_jointures']['spip_jobs'][] = 'jobs_liens'; - global $exceptions_des_jointures; - #$exceptions_des_jointures['titre_mot'] = array('spip_mots', 'titre'); // pour exemple - $exceptions_des_jointures['profondeur'] = array('spip_rubriques', 'profondeur'); - - global $table_des_traitements; + // $GLOBALS['exceptions_des_jointures']['titre_mot'] = array('spip_mots', 'titre'); // pour exemple + $GLOBALS['exceptions_des_jointures']['profondeur'] = array('spip_rubriques', 'profondeur'); define('_TRAITEMENT_TYPO', 'typo(%s, "TYPO", $connect, $Pile[0])'); define('_TRAITEMENT_RACCOURCIS', 'propre(%s, $connect, $Pile[0])'); define('_TRAITEMENT_TYPO_SANS_NUMERO', 'typo(supprimer_numero(%s), "TYPO", $connect, $Pile[0])'); - $table_des_traitements['BIO'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['CHAPO'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['DATE'][]= 'normaliser_date(%s)'; - $table_des_traitements['DATE_REDAC'][]= 'normaliser_date(%s)'; - $table_des_traitements['DATE_MODIF'][]= 'normaliser_date(%s)'; - $table_des_traitements['DATE_NOUVEAUTES'][]= 'normaliser_date(%s)'; - $table_des_traitements['DESCRIPTIF'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['INTRODUCTION'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['NOM_SITE_SPIP'][]= _TRAITEMENT_TYPO; - $table_des_traitements['NOM'][]= _TRAITEMENT_TYPO_SANS_NUMERO; - $table_des_traitements['AUTEUR'][]= _TRAITEMENT_TYPO; - $table_des_traitements['PS'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['SOURCE'][]= _TRAITEMENT_TYPO; - $table_des_traitements['SOUSTITRE'][]= _TRAITEMENT_TYPO; - $table_des_traitements['SURTITRE'][]= _TRAITEMENT_TYPO; - $table_des_traitements['TAGS'][]= '%s'; - $table_des_traitements['TEXTE'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['TITRE'][]= _TRAITEMENT_TYPO_SANS_NUMERO; - $table_des_traitements['TYPE'][]= _TRAITEMENT_TYPO; - $table_des_traitements['DESCRIPTIF_SITE_SPIP'][]= _TRAITEMENT_RACCOURCIS; - $table_des_traitements['SLOGAN_SITE_SPIP'][]= _TRAITEMENT_TYPO; - $table_des_traitements['ENV'][]= 'entites_html(%s,true)'; + $GLOBALS['table_des_traitements']['BIO'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['CHAPO'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['DATE'][]= 'normaliser_date(%s)'; + $GLOBALS['table_des_traitements']['DATE_REDAC'][]= 'normaliser_date(%s)'; + $GLOBALS['table_des_traitements']['DATE_MODIF'][]= 'normaliser_date(%s)'; + $GLOBALS['table_des_traitements']['DATE_NOUVEAUTES'][]= 'normaliser_date(%s)'; + $GLOBALS['table_des_traitements']['DESCRIPTIF'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['INTRODUCTION'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['NOM_SITE_SPIP'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['NOM'][]= _TRAITEMENT_TYPO_SANS_NUMERO; + $GLOBALS['table_des_traitements']['AUTEUR'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['PS'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['SOURCE'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['SOUSTITRE'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['SURTITRE'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['TAGS'][]= '%s'; + $GLOBALS['table_des_traitements']['TEXTE'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['TITRE'][]= _TRAITEMENT_TYPO_SANS_NUMERO; + $GLOBALS['table_des_traitements']['TYPE'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['DESCRIPTIF_SITE_SPIP'][]= _TRAITEMENT_RACCOURCIS; + $GLOBALS['table_des_traitements']['SLOGAN_SITE_SPIP'][]= _TRAITEMENT_TYPO; + $GLOBALS['table_des_traitements']['ENV'][]= 'entites_html(%s,true)'; // valeur par defaut pour les balises non listees ci-dessus - $table_des_traitements['*'][]= false; // pas de traitement, mais permet au compilo de trouver la declaration suivante + $GLOBALS['table_des_traitements']['*'][]= false; // pas de traitement, mais permet au compilo de trouver la declaration suivante // toujours securiser les DATA - $table_des_traitements['*']['DATA']= 'safehtml(%s)'; + $GLOBALS['table_des_traitements']['*']['DATA']= 'safehtml(%s)'; // expliciter pour VALEUR qui est un champ calcule et ne sera pas protege par le catch-all * - $table_des_traitements['VALEUR']['DATA']= 'safehtml(%s)'; + $GLOBALS['table_des_traitements']['VALEUR']['DATA']= 'safehtml(%s)'; // gerer l'affectation en 2 temps car si le pipe n'est pas encore declare, on ecrase les globales $interfaces = pipeline('declarer_tables_interfaces', array( - 'table_des_tables'=>$table_des_tables, - 'exceptions_des_tables'=>$exceptions_des_tables, - 'table_date'=>$table_date, - 'table_titre'=>$table_titre, - 'tables_jointures'=>$tables_jointures, - 'exceptions_des_jointures'=>$exceptions_des_jointures, - 'table_des_traitements'=>$table_des_traitements, - 'table_statut'=>$table_statut, + 'table_des_tables'=>$GLOBALS['table_des_tables'], + 'exceptions_des_tables'=>$GLOBALS['exceptions_des_tables'], + 'table_date'=>$GLOBALS['table_date'], + 'table_titre'=>$GLOBALS['table_titre'], + 'tables_jointures'=>$GLOBALS['tables_jointures'], + 'exceptions_des_jointures'=>$GLOBALS['exceptions_des_jointures'], + 'table_des_traitements'=>$GLOBALS['table_des_traitements'], + 'table_statut'=>$GLOBALS['table_statut'], )); if ($interfaces){ - $table_des_tables = $interfaces['table_des_tables']; - $exceptions_des_tables = $interfaces['exceptions_des_tables']; - $table_date = $interfaces['table_date']; - $table_titre = $interfaces['table_titre']; - $tables_jointures = $interfaces['tables_jointures']; - $exceptions_des_jointures = $interfaces['exceptions_des_jointures']; - $table_des_traitements = $interfaces['table_des_traitements']; - $table_statut = $interfaces['table_statut']; + $GLOBALS['table_des_tables'] = $interfaces['table_des_tables']; + $GLOBALS['exceptions_des_tables'] = $interfaces['exceptions_des_tables']; + $GLOBALS['table_date'] = $interfaces['table_date']; + $GLOBALS['table_titre'] = $interfaces['table_titre']; + $GLOBALS['tables_jointures'] = $interfaces['tables_jointures']; + $GLOBALS['exceptions_des_jointures'] = $interfaces['exceptions_des_jointures']; + $GLOBALS['table_des_traitements'] = $interfaces['table_des_traitements']; + $GLOBALS['table_statut'] = $interfaces['table_statut']; } } diff --git a/ecrire/public/references.php b/ecrire/public/references.php index f16d09a7a2..eec26ccf58 100644 --- a/ecrire/public/references.php +++ b/ecrire/public/references.php @@ -190,7 +190,6 @@ function index_compose($conditionnel, $defaut) { * Les éléments de la liste sont vides si on ne trouve rien. **/ function index_tables_en_pile($idb, $nom_champ, &$boucles, &$joker) { - global $exceptions_des_tables; $r = $boucles[$idb]->type_requete; // boucle recursive, c'est foutu... @@ -203,7 +202,7 @@ function index_tables_en_pile($idb, $nom_champ, &$boucles, &$joker) { $desc = $boucles[$idb]->show; // le nom du champ est il une exception de la table ? un alias ? - $excep = isset($exceptions_des_tables[$r]) ? $exceptions_des_tables[$r] : ''; + $excep = isset($GLOBALS['exceptions_des_tables'][$r]) ? $GLOBALS['exceptions_des_tables'][$r] : ''; if ($excep) { $excep = isset($excep[$nom_champ]) ? $excep[$nom_champ] : ''; } @@ -645,16 +644,15 @@ function balise_distante_interdite($p) { // // http://code.spip.net/@champs_traitements function champs_traitements ($p) { - global $table_des_traitements; - if (isset($table_des_traitements[$p->nom_champ])) { - $ps = $table_des_traitements[$p->nom_champ]; + if (isset($GLOBALS['table_des_traitements'][$p->nom_champ])) { + $ps = $GLOBALS['table_des_traitements'][$p->nom_champ]; } else { // quand on utilise un traitement catch-all * // celui-ci ne s'applique pas sur les balises calculees qui peuvent gerer // leur propre securite if (!$p->balise_calculee) - $ps = $table_des_traitements['*']; + $ps = $GLOBALS['table_des_traitements']['*']; else $ps = false; } @@ -778,9 +776,9 @@ function compose_filtres(&$p, $code) { // et comparateurs function filtre_logique($fonc, $code, $arg) { - global $table_criteres_infixes; + switch (true) { - case in_array($fonc, $table_criteres_infixes): + case in_array($fonc, $GLOBALS['table_criteres_infixes']): return "($code $fonc $arg)"; case ($fonc == 'and') OR ($fonc == 'et'): return "((($code) AND ($arg)) ?' ' :'')"; diff --git a/ecrire/public/tracer.php b/ecrire/public/tracer.php index 1b6882b065..fb2912d6b1 100644 --- a/ecrire/public/tracer.php +++ b/ecrire/public/tracer.php @@ -40,7 +40,6 @@ function trace_query_chrono($m1, $m2, $query, $result, $serveur = '') { include_spip('inc/filtres_mini'); static $tt = 0, $nb=0; - global $tableau_des_temps; $x = _request('var_mode_objet'); if (isset($GLOBALS['debug']['aucasou'])) { @@ -63,7 +62,7 @@ function trace_query_chrono($m1, $m2, $query, $result, $serveur = '') $q = preg_replace('/([a-z)`])\s+([A-Z])/', "$1\n<br />$2",spip_htmlentities($query)); $e = sql_explain($query, $serveur); $r = str_replace('Resource id ','',(is_object($result)?get_class($result):$result)); - $tableau_des_temps[] = array($dt, $nb, $boucle, $q, $e, $r, $contexte); + $GLOBALS['tableau_des_temps'][] = array($dt, $nb, $boucle, $q, $e, $r, $contexte); } -- GitLab