From da3b1e0b71b522d06ee8fce8ba568190cf4d52d7 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 15 May 2006 12:39:01 +0000 Subject: [PATCH] =?UTF-8?q?Comme=20[6382]=C2=A0mais=20pour=20l'espace=20pu?= =?UTF-8?q?blic:=20retrait=20de=20scories=20diverses=20ggrace=20a=20error?= =?UTF-8?q?=5Freporting(E=5FALL).=20Il=20reste=20encore=20des=20Wargings?= =?UTF-8?q?=20cela=20dit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/balise/formulaire_admin.php | 5 +++-- ecrire/inc/filtres.php | 2 +- ecrire/inc/sax.php | 4 ++-- ecrire/inc/utils.php | 4 ++-- ecrire/public.php | 2 +- ecrire/public/admin.php | 2 +- ecrire/public/assembler.php | 23 +++++++++------------ ecrire/public/cacher.php | 13 ++++++------ ecrire/public/compiler.php | 33 ++++++++++++++++-------------- ecrire/public/composer.php | 2 +- ecrire/public/criteres.php | 2 +- ecrire/public/debug.php | 2 +- ecrire/public/interfaces.php | 2 +- ecrire/public/parametrer.php | 11 ++++++---- ecrire/public/phraser_html.php | 4 ++-- ecrire/public/references.php | 18 ++++++++-------- 16 files changed, 66 insertions(+), 63 deletions(-) diff --git a/ecrire/balise/formulaire_admin.php b/ecrire/balise/formulaire_admin.php index b6c759cb1f..f61a9bcd11 100644 --- a/ecrire/balise/formulaire_admin.php +++ b/ecrire/balise/formulaire_admin.php @@ -69,6 +69,7 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') { } // Bouton statistiques + $visites = $popularite = $statistiques = ''; if ($GLOBALS['meta']["activer_statistiques"] != "non" AND $id_article AND !$var_preview) { @@ -109,7 +110,7 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') { // Pas de "modifier ce..." ? -> donner "acces a l'espace prive" if (!($id_article || $id_rubrique || $id_auteur || $id_breve || $id_mot || $id_syndic)) $ecrire = _DIR_RESTREINT_ABS; - + else $ecrire = ''; // Bouton "preview" si l'objet demande existe et est previsualisable $preview = false; @@ -146,7 +147,7 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') { 'action' => self(), 'preview' => $preview?parametre_url(self(),'var_mode','preview','&'):'', 'debug' => $debug, - 'popularite' => ceil($popularite), + 'popularite' => ($popularite), 'statistiques' => $statistiques, 'visites' => $visites, 'use_cache' => ($use_cache ? '' : ' *'), diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 0389cdf10d..d9e03c0585 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -347,7 +347,7 @@ function normaliser_date($date) { function vider_date($letexte) { if (ereg("^0000-00-00", $letexte)) return; - if (ereg("^1970-01-01", $date)) return; // eviter le bug GMT-1 + if (ereg("^1970-01-01", $letexte)) return; // eviter le bug GMT-1 return $letexte; } diff --git a/ecrire/inc/sax.php b/ecrire/inc/sax.php index 83602ef1b5..74aa47ada3 100644 --- a/ecrire/inc/sax.php +++ b/ecrire/inc/sax.php @@ -24,9 +24,9 @@ function debutElement($parser, $name, $attrs) $reperes = &$phraseur_xml->reperes; $res = &$phraseur_xml->res; - $t = $ouvrant[$depth]; + $t = isset($ouvrant[$depth]) ? $ouvrant[$depth] : ' '; // espace initial signifie: deja integree au resultat - if ($t && $t[0] != ' ') + if ($t[0] != ' ') { $res .= '<' . $t . '>'; $ouvrant[$depth] = ' ' . $t; diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index d052987f42..38c8879451 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1098,8 +1098,8 @@ function spip_desinfecte(&$t) { function verifier_visiteur() { if (!defined('_DIR_SESSIONS')) define('_DIR_SESSIONS', _DIR_RESTREINT . "data/"); - if ($_COOKIE['spip_session'] OR - ($_SERVER['PHP_AUTH_USER'] AND !$GLOBALS['ignore_auth_http'])) { + if (isset($_COOKIE['spip_session']) OR + (isset($_SERVER['PHP_AUTH_USER']) AND !$GLOBALS['ignore_auth_http'])) { include_spip('inc/session'); verifier_session_visiteur(); } diff --git a/ecrire/public.php b/ecrire/public.php index 90e1d87b48..399d77ca5c 100644 --- a/ecrire/public.php +++ b/ecrire/public.php @@ -78,7 +78,7 @@ if (defined('_INC_PUBLIC')) { $f = charger_fonction('assembler', 'public'); $page = $f($fond); - if ($page['status']) { + if (isset($page['status'])) { include_spip('inc/headers'); http_status($page['status']); } diff --git a/ecrire/public/admin.php b/ecrire/public/admin.php index 5c12ef475f..b0d5333f91 100644 --- a/ecrire/public/admin.php +++ b/ecrire/public/admin.php @@ -33,7 +33,7 @@ function affiche_boutons_admin($contenu) { $split = explode($regs[0], $contenu, 2); $contenu = $split[0]; $suite = $regs[0].$split[1]; - } + } else $suite =''; // // Regler les boutons dans la langue de l'admin (sinon tant pis) diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 1a961e490a..a40e46146d 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -24,15 +24,15 @@ function public_assembler_dist($fond) { include_spip('inc/lang'); verifier_lang_url(); } - if ($_GET['lang']) { + if (isset($_GET['lang'])) { include_spip('inc/lang'); lang_select($_GET['lang']); } // Si envoi pour un forum, enregistrer puis rediriger - if (strlen($_POST['confirmer_forum']) > 0 - OR ($GLOBALS['afficher_texte']=='non' AND $_POST['ajouter_mot'])) { + if (isset($_POST['confirmer_forum']) + OR (isset($_POST['ajouter_mot']) AND $GLOBALS['afficher_texte']=='non')) { $f = charger_fonction('forum_insert', 'inc'); redirige_par_entete($f()); } @@ -40,7 +40,7 @@ function public_assembler_dist($fond) { // si signature de petition, l'enregistrer avant d'afficher la page // afin que celle-ci contienne la signature - if ($_GET['var_confirm']) { + if (isset($_GET['var_confirm'])) { include_spip('balise/formulaire_signature'); reponse_confirmation($_GET['id_article'], $var_confirm); } @@ -106,14 +106,14 @@ function assembler_page ($fond) { // une perennite valide a meme reponse qu'une requete HEAD - if ($GLOBALS['HTTP_IF_MODIFIED_SINCE'] AND !$var_mode + if (isset($GLOBALS['HTTP_IF_MODIFIED_SINCE']) AND !$var_mode AND $chemin_cache AND !$flag_dynamique) { if (!preg_match(',IIS/,', $_SERVER['SERVER_SOFTWARE'])) { $since = preg_replace('/;.*/', '', $GLOBALS['HTTP_IF_MODIFIED_SINCE']); $since = str_replace('GMT', '', $since); if (trim($since) == http_gmoddate($lastmodified)) { - $status = 304; + $page['status'] = $status; $headers_only = true; } } @@ -154,7 +154,7 @@ function assembler_page ($fond) { if (trim($page['texte']) === '' AND $var_mode != 'debug') { $page = message_erreur_404(); - $status = 404; + $page['status'] = $status; $flag_dynamique = true; } // pas de cache client en mode 'observation (ou si deja indique) @@ -168,8 +168,7 @@ function assembler_page ($fond) { if ($lastmodified) $page['entetes']["Last-Modified"]=http_gmoddate($lastmodified)." GMT"; - if ($status) - $page['status'] = $status; + return $page; } @@ -213,7 +212,7 @@ function inclure_page($fond, $contexte_inclus, $cache_incluant='') { include_spip('inc/lang'); lang_select($lang); $lang_select = true; // pour lang_dselect en sortie - } + } else $lang_select = false; // Une fois le chemin-cache decide, on ajoute la date (et date_redac) // dans le contexte inclus, pour que les criteres {age} etc fonctionnent @@ -232,7 +231,6 @@ function inclure_page($fond, $contexte_inclus, $cache_incluant='') { if ($chemin_cache) $fcache($contexte_inclus, $use_cache, $chemin_cache, $page, $lastmodified); } - $page['lang_select'] = $lang_select; return $page; @@ -250,7 +248,7 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) { list($fond, $delainc, $contexte_inclus) = $texte; - if ((!$contexte_inclus['lang']) AND + if ((!isset($contexte_inclus['lang'])) AND ($GLOBALS['spip_lang'] != $GLOBALS['meta']['langue_site'])) $contexte_inclus['lang'] = $GLOBALS['spip_lang']; @@ -258,7 +256,6 @@ function inclure_balise_dynamique($texte, $echo=true, $ligne=0) { $GLOBALS['delais'] = $delainc; $page = inclure_page($fond, $contexte_inclus); $GLOBALS['delais'] = $d; - if (is_array($page['entetes'])) foreach($page['entetes'] as $k => $v) { // ceci se discute diff --git a/ecrire/public/cacher.php b/ecrire/public/cacher.php index 3cbf6acba6..a10f86100e 100644 --- a/ecrire/public/cacher.php +++ b/ecrire/public/cacher.php @@ -22,6 +22,7 @@ function generer_nom_fichier_cache($contexte) { if ($contexte === NULL) { $fichier_requete = nettoyer_uri(); } else { + $fichier_requete = ''; foreach ($contexte as $var=>$val) $fichier_requete .= "&$var=$val"; } @@ -48,7 +49,7 @@ function generer_nom_fichier_cache($contexte) { . $_SERVER['HTTP_HOST'] . ' ' . $GLOBALS['fond'] . ' ' . $GLOBALS['dossier_squelettes'] . ' ' - . $GLOBALS['marqueur'] + . (isset($GLOBALS['marqueur']) ? $GLOBALS['marqueur'] : '') ); $fichier_cache .= '.'.substr($md_cache, 1, 8); @@ -154,7 +155,8 @@ function cache_valide_autodetermine($chemin_cache, $page, $date) { if (!$page) return 1; - if (strlen($duree = $page['entetes']['X-Spip-Cache'])) { + if (isset($page['entetes']['X-Spip-Cache'])) { + $duree = $page['entetes']['X-Spip-Cache']; if ($duree == 0) #CACHE{0} return -1; else if ($date + intval($duree) < time()) @@ -217,10 +219,9 @@ function restaurer_meta_donnees ($contenu) { $page[$var] = $val; } } + $page['texte'] = substr($contenu, strlen($match[0])); + } else $page['texte'] = $contenu; - } - - $page['texte'] = substr($contenu, strlen($match[0])); return $page; } @@ -276,7 +277,7 @@ function public_cacher_dist($contexte, &$use_cache, &$chemin_cache, &$page, &$la } // Faut-il effacer des pages invalidees (en particulier ce cache-ci) ? - if ($GLOBALS['meta']['invalider']) { + if (isset($GLOBALS['meta']['invalider'])) { // tester si la base est dispo spip_connect(); if ($GLOBALS['db_ok']) { diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index 4abbbabfda..6828d5be71 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -395,17 +395,20 @@ function calculer_parties($boucles, $id_boucle) { function calculer_liste($tableau, $descr, &$boucles, $id_boucle='') { if (!$tableau) return "''"; + if (!isset($descr['niv'])) $descr['niv'] = 0; $codes = compile_cas($tableau, $descr, $boucles, $id_boucle); $n = count($codes); if (!$n) return "''"; - if ($GLOBALS['var_mode_affiche'] != 'validation') + $tab = str_repeat("\t", $descr['niv']); + if (!isset($GLOBALS['var_mode_affiche']) + OR $GLOBALS['var_mode_affiche'] != 'validation') return (($n==1) ? $codes[0] : "(" . join (" .\n$tab", $codes) . ")"); else return "debug_sequence('$id_boucle', '" . ($descr['nom']) . "', " . - intval($descr['niv']) . + $descr['niv'] . ", array(" . join(" ,\n$tab", $codes) . "))"; } @@ -415,10 +418,9 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) { // cas de la boucle recursive if (is_array($id_boucle)) $id_boucle = $id_boucle[0]; - $type = $boucles[$id_boucle]->type_requete; - $descr['niv']++; - for ($i=0; $i<=$descr['niv']; $i++) $tab .= "\t"; - + $type = !$id_boucle ? '' : $boucles[$id_boucle]->type_requete; + $tab = str_repeat("\t", ++$descr['niv']); + $mode = isset($GLOBALS['var_mode_affiche']) ? $GLOBALS['var_mode_affiche'] : ''; // chaque commentaire introduit dans le code doit commencer // par un caractere distinguant le cas, pour exploitation par debug. foreach ($tableau as $p) { @@ -456,7 +458,7 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) { case 'include': $code = calculer_inclure($p, $descr, $boucles, $id_boucle); - $commentaire = '<INCLURE ' . str_replace("\n", ' ', $p->code) . '>'; + $commentaire = '<INCLURE ' . str_replace("\n", ' ', $code) . '>'; $avant=''; $apres=''; $altern = "''"; @@ -482,12 +484,13 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) { break; case 'idiome': - $p->code = "_T('" . $p->module . ":" .$p->nom_champ . "')"; - $p->id_boucle = $id_boucle; - $p->boucles = &$boucles; - $p->interdire_scripts = false; + $code = "_T('" . $p->module . ":" .$p->nom_champ . "')"; + if ($p->param) { + $p->id_boucle = $id_boucle; + $p->boucles = &$boucles; + $code = compose_filtres($p, $code); + } $commentaire = ":"; - $code = applique_filtres($p); $avant=''; $apres=''; $altern = "''"; @@ -530,9 +533,9 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle) { } } if ($code != "''") - $codes[]= (($GLOBALS['var_mode_affiche'] == 'validation') ? + $codes[]= (($mode == 'validation') ? "array(" . $p->ligne . ", '$commentaire', $code)" - : (($GLOBALS['var_mode_affiche'] == 'code') ? + : (($mode == 'code') ? "\n// $commentaire\n$code" : $code)); } // foreach @@ -723,7 +726,7 @@ function public_compiler_dist($squelette, $nom, $gram, $sourcefile) { // function " . $nom . '($Cache, $Pile, $doublons=array(), $Numrows=array(), $SP=0) { $page = ' . - // ATTENTION, le calcul du l'expression $corps affectera + // ATTENTION, le calcul du l'expression $corps affectera $Cache // c'est pourquoi on l'affecte a cette variable auxiliaire // avant de referencer $Cache $corps . "; diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 09ef02b442..7344158498 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -310,7 +310,7 @@ function calcul_exposer ($id, $type, $reference) { } // And the winner is... - return $exposer[$type][$id]; + return isset($exposer[$type]) ? $exposer[$type][$id] : ''; } function lister_objets_avec_logos ($type) { diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index 14d816f359..0c3d3cbf3c 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -862,7 +862,7 @@ function calculer_critere_infixe_ops($idb, &$boucles, $crit) } } - $fct = $args = ''; + $fct = $args_sql = ''; // fonction SQL ? if (preg_match('/^(.*)' . SQL_ARGS . '$/', $col, $m)) { $fct = $m[1]; diff --git a/ecrire/public/debug.php b/ecrire/public/debug.php index 45b759209c..1c44684f44 100644 --- a/ecrire/public/debug.php +++ b/ecrire/public/debug.php @@ -172,7 +172,7 @@ function debug_sequence($id, $nom, $niv, $sequence) { $debug_objets['sequence'][$nom.$id] = $sequence; } $res = ""; - foreach($sequence as $v) $res .= $v[2]; + foreach($sequence as $v) if (is_array($v)) $res .= $v[2]; return $res; } diff --git a/ecrire/public/interfaces.php b/ecrire/public/interfaces.php index d06dde12a3..502aec94e7 100644 --- a/ecrire/public/interfaces.php +++ b/ecrire/public/interfaces.php @@ -41,7 +41,7 @@ class Boucle { var $avant, $milieu, $apres, $altern; var $lang_select; var $type_requete; - var $sql_serveur; + var $sql_serveur = ''; var $param = array(); var $criteres = array(); var $separateur = array(); diff --git a/ecrire/public/parametrer.php b/ecrire/public/parametrer.php index e4c8e172a5..b2088ff1be 100644 --- a/ecrire/public/parametrer.php +++ b/ecrire/public/parametrer.php @@ -66,7 +66,7 @@ function signaler_squelette($contexte) foreach(array('id_parent', 'id_rubrique', 'id_article', 'id_auteur', 'id_breve', 'id_forum', 'id_secteur', 'id_syndic', 'id_syndic_article', 'id_mot', 'id_groupe', 'id_document') as $val) { - if ($contexte[$val]) + if (isset($contexte[$val])) $signal['contexte'][$val] = intval($contexte[$val]); } @@ -297,10 +297,13 @@ function public_parametrer_dist($fond, $local='', $cache='') { // Chercher le fond qui va servir de squelette if ($r = sql_rubrique_fond($local)) list($id_rubrique_fond, $lang) = $r; + + // Si inc-urls ou un appel dynamique veut fixer la langue, la recuperer + if (isset($local['lang'])) + $lang = $local['lang']; + if (!$lang) $lang = $GLOBALS['meta']['langue_site']; - // Si inc-urls ou un appel dynamique veut fixer la langue, la recuperer - $lang = $local['lang']; if (!$GLOBALS['forcer_lang']) lang_select($lang); @@ -330,7 +333,7 @@ function public_parametrer_dist($fond, $local='', $cache='') { include_spip('public/debug'); debug_dumpfile ($page['texte'], $fonc, 'resultat'); } - if (!is_array($signal)) $page['signal'] = signaler_squelette($local); + $page['signal'] = signaler_squelette($local); return $page; } ?> diff --git a/ecrire/public/phraser_html.php b/ecrire/public/phraser_html.php index f63dbc6ace..ff70a302fd 100644 --- a/ecrire/public/phraser_html.php +++ b/ecrire/public/phraser_html.php @@ -199,7 +199,7 @@ function phraser_arg(&$texte, $fin, $sep, $result, &$pointeur_champ) { preg_match(",^(\|?[^{)|]*)(.*)$,ms", $texte, $match); $suite = ltrim($match[2]); $fonc = trim($match[1]); - if ($fonc[0] == "|") $fonc = ltrim(substr($fonc,1)); + if ($fonc && $fonc[0] == "|") $fonc = ltrim(substr($fonc,1)); $res = array($fonc); $args = $suite ; // cas du filtre sans argument ou du critere / @@ -625,7 +625,7 @@ function public_phraser_html($texte, $id_parent, &$boucles, $nom, $ligne=1) { $result->altern = public_phraser_html($result->altern,$id_parent,$boucles, $nom, $result->ligne+$a+$m+$b); $result->milieu = public_phraser_html($milieu, $id_boucle,$boucles, $nom, $result->ligne+$b); - if ($boucles[$id_boucle]) { + if (isset($boucles[$id_boucle])) { erreur_squelette(_T('zbug_erreur_boucle_syntaxe'), _T('zbug_erreur_boucle_double', array('id'=>$id_boucle))); diff --git a/ecrire/public/references.php b/ecrire/public/references.php index e9cf216a15..daac68833a 100644 --- a/ecrire/public/references.php +++ b/ecrire/public/references.php @@ -42,7 +42,7 @@ function index_pile($idb, $nom_champ, &$boucles, $explicite='') { $nom_champ = strtolower($nom_champ); // attention: entre la boucle nommee 0, "" et le tableau vide, // il y a incoherences qu'il vaut mieux eviter - while ($boucles[$idb]) { + while (isset($boucles[$idb])) { list ($t, $c) = index_tables_en_pile($idb, $nom_champ, $boucles); if ($t) { if (!in_array($t, $boucles[$idb]->select)) @@ -108,7 +108,7 @@ function index_tables_en_pile($idb, $nom_champ, &$boucles) { $desc= description_type_requete($r, $s); - if(!desc) { + if(!$desc) { erreur_squelette(_T('zbug_table_inconnue', array('table' => $r)), "'$idb'"); # continuer pour chercher l'erreur suivante @@ -205,7 +205,7 @@ function calculer_balise($nom, $p) { // compatibilite: depuis qu'on accepte #BALISE{ses_args} sans [(...)] autour // il faut recracher {...} quand ce n'est finalement pas des args - if ((!$p->fonctions[0][0]) AND $p->fonctions[0][1]) + if ($p->fonctions AND (!$p->fonctions[0][0]) AND $p->fonctions[0][1]) {$p->code .= " . '" . addslashes($p->fonctions[0][1]) . "'";} // ne pas passer le filtre securite sur les id_xxx @@ -296,17 +296,15 @@ function balise_distante_interdite($p) { function champs_traitements ($p) { global $table_des_traitements; - if (!is_array($table_des_traitements[$p->nom_champ])) - // old style - $ps = $table_des_traitements[$p->nom_champ]; - else { + $ps = $table_des_traitements[$p->nom_champ]; + if (is_array($ps)) { + // new style + if ($p->nom_boucle) $type = $p->boucles[$p->nom_boucle]->type_requete; else $type = $p->type_requete; - $ps = $table_des_traitements[$p->nom_champ][$type]; - if (!$ps) - $ps = $table_des_traitements[$p->nom_champ][0]; + $ps = $ps[isset($ps[$type]) ? $type : 0]; } if (!$ps) return $p->code; -- GitLab