diff --git a/ecrire/inc_debug_sql.php3 b/ecrire/inc_debug_sql.php3 index 7c3531b017e9482053992cea5b810d28ef2aa99f..21d621683a0e670b87d0856d511f76fa62248e5b 100644 --- a/ecrire/inc_debug_sql.php3 +++ b/ecrire/inc_debug_sql.php3 @@ -10,23 +10,23 @@ define("_INC_DEBUG_SQL", "1"); // ajouter &var_mode=debug pour voir les erreurs et en parler sur spip@rezo.net function affiche_erreurs_page($tableau_des_erreurs) { - echo "<div id='spip-debug' style='position: absolute; top: 20;", - " z-index: 1000;'><ul><li>", - _T('zbug_erreur_squelette'), + $GLOBALS['bouton_admin_debug'] = true; + $res = ''; + foreach ($tableau_des_erreurs as $err) { + $res .= "<li>" .$err[0] . ",. <small>".$err[1]."</small><br /</li>\n"; + } + return "<div id='spip-debug' +style='position: absolute; top: 20; z-index: 1000;'><ul><li>" . + _T('zbug_erreur_squelette') . ## aide locale courte a ecrire, avec lien vers une grosse page de documentation # aide('erreur_compilation'), - "<br /></li>", - "<ul>"; - foreach ($tableau_des_erreurs as $err) { - echo "<li>".$err[0], - ", <small>".$err[1]."</small><br />", - "</li>\n"; - } - echo "</ul>"; - echo "</ul></div>"; - $GLOBALS['bouton_admin_debug'] = true; + "<br /></li>" . + "<ul>" . + $res . + "</ul></ul></div>"; + } // @@ -96,8 +96,9 @@ function erreur_squelette($message='', $lieu='') { if ($_COOKIE['spip_admin'] OR $auteur_session['statut'] == '0minirezo' OR ($GLOBALS['var_mode'] == 'debug')) { - echo debut_entete('Debug'), '</head><body>'; - die(affiche_erreurs_page($tableau_des_erreurs)); + echo debut_entete('Debug'), '</head><body>', + affiche_erreurs_page($tableau_des_erreurs); + exit; } } } diff --git a/formulaire_forum-dist.html b/formulaire_forum-dist.html index b7a6c4ffd0d0b35f846f057eb355dc0c2cb9dfe4..92ac3ddbd1af46587ab90ab4d78e422d0ebe7c1a 100644 --- a/formulaire_forum-dist.html +++ b/formulaire_forum-dist.html @@ -1,14 +1,10 @@ -<form action="[(#ENV{url})]" method="post" name="formulaire"> - -<input type="hidden" name="ajout_forum" value="oui" /> -[<input type="hidden" name="alea" value="(#ENV{alea})" />] -[<input type="hidden" name="hash" value="(#ENV{hash})" />] -[<input type="hidden" name="retour" value="(#ENV{retour})" />] - -[<p>(#ENV*{modere})</p>] - -[(#ENV*{afficher_texte_hidden})] -[(#ENV*{afficher_texte_input}) +<form action="[(#ENV{url})]" method="post" name="formulaire">[ +<input type="hidden" name="alea" value="(#ENV{alea})" />][ +<input type="hidden" name="hash" value="(#ENV{hash})" />][ +<input type="hidden" name="retour_forum" value="(#ENV{retour_forum})" /> +][<p>(#ENV*{modere})</p> +][(#ENV*{afficher_texte_hidden}) +][(#ENV*{afficher_texte_input}) [(#ENV*{previsu}) <fieldset class="spip_encadrer"> <legend><b><:forum_titre:></b></legend> @@ -51,8 +47,6 @@ </fieldset> <br /> <div align="#LANG_RIGHT"><input type="submit" value="<:forum_voir_avant:>" - class="spip_bouton"></div> - ] -] -</form> + class="spip_bouton"></div>] +]</form> diff --git a/inc-admin.php3 b/inc-admin.php3 index 5c66cbd8128dc8175aa9cd85a03d83761f6c0194..e6503860932e87088f2199dd5a25b25fce335bc2 100644 --- a/inc-admin.php3 +++ b/inc-admin.php3 @@ -43,8 +43,7 @@ function affiche_boutons_admin(&$contenu) { lang_dselect(); - echo $suite; - $contenu = ''; + return $suite; } ?> diff --git a/inc-compilo.php3 b/inc-compilo.php3 index 487bb7657f75256bf80a258a07a7deb7bc005432..cb0478d8a059314684acb032122b3f87dffb8697 100644 --- a/inc-compilo.php3 +++ b/inc-compilo.php3 @@ -62,7 +62,7 @@ function calculer_inclure($fichier, $params, $id_boucle, &$boucles) { return "\n'<". "?php\n\t\$contexte_inclus = array(" . join(", ",$l) . - ");\n\t\$fichier_inclus = \'$fichier\';\n" . + ");" . (($dossier_squelettes) ? (" if (@file_exists(\'$dossier_squelettes/$fichier\')){ @@ -479,7 +479,7 @@ function calculer_liste($tableau, $descr, &$boucles, $id_boucle='', $niv=1) { if (($res != $t) || ($altern != "''")) $code = "(($t = $code) ?\n\t$tab($res) :\n\t$tab($altern))"; } - // if ($code) # c'est toujours etre ainsi + $codes[]= (!$commentaire ? $code : ("/"."* $commentaire *"."/ " . $code)); } // foreach @@ -676,7 +676,6 @@ function $nom (\$Cache, \$Pile, \$doublons=array(), \$Numrows='', \$SP=0) { if ($GLOBALS['var_mode'] == 'debug') squelette_debug_compile($nom, $sourcefile, $squelette_compile); - return $squelette_compile; } diff --git a/inc-criteres.php3 b/inc-criteres.php3 index 4d1e98b32c4ddd909d432a1cd797e9ff6de37bcd..b20da7470d463736fe73698e6859069b1359fb43 100644 --- a/inc-criteres.php3 +++ b/inc-criteres.php3 @@ -200,7 +200,7 @@ function critere_par_dist($idb, &$boucles, $param, $not) { $param = substr($param,3); while ($param) { - spip_log($param); + preg_match('/[[:space:]]*([^,]*)[[:space:]]*,?(.*)/ims', $param, $regs); $param = $regs[2]; @@ -347,6 +347,7 @@ function calculer_critere_DEFAUT($idb, &$boucles, $param, $not) { // Restriction de valeurs (implicite ou explicite) else if (eregi('^([a-z_]+\(?[a-z_]*\)?) *(\??)((!?)(<=?|>=?|==?|IN) *"?([^<>=!"]*))?"?$', $param, $match)) { $op = $match[5] ? $match[5] : '='; + // Variable comparee $col = $match[1]; // fonction SQL diff --git a/inc-formulaire_forum.php3 b/inc-formulaire_forum.php3 index 4aa8eee06aecaedb3d60492ecf6ab8d1dfe41225..d95eac28ecd9006c27f6055af29001a04ec33985 100644 --- a/inc-formulaire_forum.php3 +++ b/inc-formulaire_forum.php3 @@ -21,10 +21,10 @@ else /* GESTION DU FORMULAIRE FORUM */ /*******************************/ global $balise_FORMULAIRE_FORUM_collecte; -$balise_FORMULAIRE_FORUM_collecte = array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic', 'alea', 'hash'); +$balise_FORMULAIRE_FORUM_collecte = array('id_rubrique', 'id_forum', 'id_article', 'id_breve', 'id_syndic'); function balise_FORMULAIRE_FORUM_stat($args, $filtres) { - list ($idr, $idf, $ida, $idb, $ids, $alea, $hash) = $args; + list ($idr, $idf, $ida, $idb, $ids) = $args; // recuperer les donnees du forum auquel on repond, false = forum interdit if (!$r = sql_recherche_donnees_forum ($idr, $idf, $ida, $idb, $ids)) @@ -32,10 +32,10 @@ function balise_FORMULAIRE_FORUM_stat($args, $filtres) { list($titre, $table, $forums_publics) = $r; return - array($titre, $table, $forums_publics, $idr, $idf, $ida, $idb, $ids, $alea, $hash); + array($titre, $table, $forums_publics, $idr, $idf, $ida, $idb, $ids); } -function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic, $alea, $hash) { +function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubrique, $id_forum, $id_article, $id_breve, $id_syndic) { global $REMOTE_ADDR, $id_message, $afficher_texte, $spip_forum_user; @@ -52,6 +52,7 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq if ($id_syndic) $args .= "id_syndic=$id_syndic"; if ($args && strpos($url,$args)===false) $url .= (strpos($url,'?') ? '&' : '?') . $args; } + $url = ereg_replace("[?&]var_erreur=[^&]*", '', $url); $url = ereg_replace("[?&]var_login=[^&]*", '', $url); $url = ereg_replace("[?&]url=[^&]*", '', $url); @@ -62,22 +63,39 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq include_local('inc-login_public.php3'); return login_pour_tous($GLOBALS['var_login'], $url, true, $url, 'forum'); } - // au premier appel (pas de http-var nommee "retour") - // memoriser l'URL courante pour y revenir apres envoi du message - // aux appels suivants, reconduire la valeur. - if ($retour = rawurldecode($GLOBALS['_GET']['retour'])) - $retour = ereg_replace('&var_mode=recalcul','',$retour); - else { - if (!$retour = rawurldecode($GLOBALS['_POST']['retour'])) - $retour = $url; - } + + $id_rubrique = intval($id_rubrique); + $id_forum = intval($id_forum); + $id_article = intval($id_article); + $id_breve = intval($id_breve); + $id_syndic = intval($id_syndic); // ne pas mettre '', sinon le squelette n'affichera rien. $previsu = ' '; + // au premier appel (pas de Post-var nommee "retour_forum") + // memoriser l'URL courante pour y revenir apres envoi du message + // aux appels suivants, reconduire la valeur. + // Initialiser aussi l'auteur + + if (!$retour_forum = rawurldecode($GLOBALS['_POST']['retour_forum'])) { + if ($retour_forum = rawurldecode($GLOBALS['_GET']['retour'])) + $retour_forum = ereg_replace('&var_mode=recalcul','',$retour_forum); + else $retour_forum = $url; + + if ($spip_forum_user && + is_array($cookie_user = unserialize($spip_forum_user))) { + $auteur = $cookie_user['nom']; + $email_auteur = $cookie_user['email']; + } else { + $auteur = $GLOBALS['auteur_session']['nom']; + $email_auteur = $GLOBALS['auteur_session']['email']; + } + + } else { + // Recuperer le message a previsualiser - if ($GLOBALS['_POST']['ajout_forum']) { $titre = $GLOBALS['_POST']['titre']; $texte = $GLOBALS['_POST']['texte']; $auteur = $GLOBALS['_POST']['auteur']; @@ -126,39 +144,20 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq $previsu .= "<p align='right' style='color: red;'>"._T('forum_attention_trois_caracteres')."</p>"; } else { - $previsu .= "<div align='right'><input type='submit' name='confirmer' class='spip_bouton' value='"._T('forum_message_definitif')."' /></div>"; + $previsu .= "<div align='right'><input type='submit' name='confirmer_forum' class='spip_bouton' value='"._T('forum_message_definitif')."' /></div>"; } $previsu = "<div class='spip_encadrer'>$previsu</div>\n<br />"; // supprimer les <form> de la previsualisation // (sinon on ne peut pas faire <cadre>...</cadre> dans les forums) $previsu = preg_replace("@<(/?)f(orm[>[:space:]])@ism", "<\\1no-f\\2", $previsu); } - } else { - // Premiere edition, initialiser l'auteur - if ($spip_forum_user && - is_array($cookie_user = unserialize($spip_forum_user))) { - $auteur = $cookie_user['nom']; - $email_auteur = $cookie_user['email']; - } - else { - $auteur = $GLOBALS['auteur_session']['nom']; - $email_auteur = $GLOBALS['auteur_session']['email']; - } - } - - $id_rubrique = intval($id_rubrique); - $id_forum = intval($id_forum); - $id_article = intval($id_article); - $id_breve = intval($id_breve); - $id_syndic = intval($id_syndic); // Une securite qui nous protege contre : // - les doubles validations de forums (derapages humains ou des brouteurs) - // - les abus visant à mettre des forums malgre nous sur un article (??) + // - les abus visant a mettre des forums malgre nous sur un article (??) // On installe un fichier temporaire dans _DIR_SESSIONS (et pas _DIR_CACHE // afin de ne pas bugguer quand on vide le cache) // Le lock est leve au moment de l'insertion en base (inc-messforum.php3) - if ($GLOBALS['_POST']['ajout_forum']) { $alea = preg_replace('/[^0-9]/', '', $alea); if(!$alea OR !@file_exists(_DIR_SESSIONS."forum_$alea.lck")) { @@ -195,7 +194,7 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq 'modere' => (($forums_publics != 'pri') ? '' : _T('forum_info_modere')), 'nom_site_forum' => $nom_site_forum, 'previsu' => $previsu, - 'retour' => $retour, + 'retour_forum' => $retour_forum, 'table' => $table, 'texte' => $texte, 'titre' => $titre, diff --git a/inc-messforum.php3 b/inc-messforum.php3 index 9c1317634bda04f075d19ddf8e0f47e14c00a8d3..79ebda1e61be0fd22ec2cdbbb40e265446928cf2 100644 --- a/inc-messforum.php3 +++ b/inc-messforum.php3 @@ -47,97 +47,108 @@ function prevenir_auteurs($auteur, $email_auteur, $id_article, $texte, $titre) { } +function controler_forum($id_article, $retour) +{ + global $auteur_session; + if ($id_article) { + $r = spip_query("SELECT accepter_forum FROM spip_articles WHERE id_article=$id_article"); + $r = spip_fetch_array($r); + if ($r) + $forums_publics = $r['accepter_forum']; + else + $forums_publics = lire_meta("forums_publics"); + } else { + $forums_publics = substr(lire_meta("forums_publics"),0,3); + } -// Recuperation des donnees -$retour_forum = rawurldecode($retour); -$id_article = intval($id_article); -$id_rubrique = intval($id_rubrique); -$id_forum = intval($id_forum); -$id_breve = intval($id_breve); -$id_syndic = intval($id_syndic); - -// initialisation de l'eventuel visiteur connecte -if (!$id_auteur) - $id_auteur = intval($auteur_session['id_auteur']); - -// chercher le statut du forum -if ($id_article) { - $r = spip_query("SELECT accepter_forum FROM spip_articles WHERE id_article=$id_article"); - $r = spip_fetch_array($r); - if ($r) - $forums_publics = $r['accepter_forum']; - else - $forums_publics = lire_meta("forums_publics"); -} else { - $forums_publics = substr(lire_meta("forums_publics"),0,3); -} - -if ($forums_publics == "abo") { - if ($auteur_session) { - $statut = $auteur_session['statut']; - if (!$statut OR $statut == '5poubelle') { - ask_php_auth(_T('forum_acces_refuse'), + if ($forums_publics == "abo") { + if ($auteur_session) { + $statut = $auteur_session['statut']; + if (!$statut OR $statut == '5poubelle') { + ask_php_auth(_T('forum_acces_refuse'), + _T('forum_cliquer_retour', + array('retour_forum' => $retour))); + exit; + } + } else { + ask_php_auth(_T('forum_non_inscrit'), _T('forum_cliquer_retour', - array('retour_forum' => $retour_forum))); + array('retour_forum' => $retour))); exit; } } - else { - ask_php_auth(_T('forum_non_inscrit'), - _T('forum_cliquer_retour', - array('retour_forum' => $retour_forum))); - exit; - } + return $forums_publics; +} - // Ne pas autoriser de changement de nom si forum sur abonnement - $auteur = $auteur_session['nom']; - $email_auteur = $auteur_session['email']; +function mots_du_forum($ajouter_mot, $id_message) +{ + foreach ($ajouter_mot as $id_mot) + if ($id_mot = intval($id_mot)) + spip_query("INSERT INTO spip_mots_forum (id_mot, id_forum) + VALUES ($id_mot, $id_message)"); } +function enregistre_forum() +{ + global $REMOTE_ADDR, $auteur_session, + $afficher_texte, $ajouter_mot, $alea, $hash, + $auteur, $confirmer_forum, $email_auteur, + $id_article, $id_auteur, $id_breve, $id_forum, $id_rubrique, $id_syndic, + $nom_site_forum, $retour_forum, $texte, $titre, $url_site; + + $retour_forum = rawurldecode($retour_forum); + $id_article = intval($id_article); + $id_rubrique = intval($id_rubrique); + $id_forum = intval($id_forum); + $id_breve = intval($id_breve); + $id_syndic = intval($id_syndic); -// trop court ? -if ((strlen($texte) + strlen($titre) + strlen($nom_site_forum) + strlen($url_site) + strlen($auteur) + strlen($email_auteur)) > 20 * 1024) { - ask_php_auth(_T('forum_message_trop_long'), - _T('forum_cliquer_retour', - array('retour_forum' => $retour_forum))); - exit; -} +// initialisation de l'eventuel visiteur connecte + if (!$id_auteur) + $id_auteur = intval($auteur_session['id_auteur']); + $statut == controler_forum($id_article, $retour_forum); -// validation finale du post ? -if (strlen($confirmer) > 0 -OR ($afficher_texte=='non' AND $ajouter_mot)) { +// Ne pas autoriser de changement de nom si forum sur abonnement + + if ($statut == 'abo') { + $auteur = $auteur_session['nom']; + $email_auteur = $auteur_session['email']; + } - // prevoir le redirect - $redirect = $retour_forum; +// trop court ? + if ((strlen($texte) + strlen($titre) + strlen($nom_site_forum) + strlen($url_site) + strlen($auteur) + strlen($email_auteur)) > 20 * 1024) { + ask_php_auth(_T('forum_message_trop_long'), + _T('forum_cliquer_retour', + array('retour_forum' => $retour_forum))); + exit; + } // Verifier hash securite include_ecrire("inc_admin.php3"); if (!verifier_action_auteur("ajout_forum $id_rubrique". " $id_forum $id_article $id_breve". " $id_syndic $alea", $hash)) - return; # echec silencieux du POST + exit; # echec silencieux du POST // verifier fichier lock $alea = preg_replace('/[^0-9]/', '', $alea); - if (!file_exists($f = _DIR_SESSIONS."forum_$alea.lck")) - return; # echec silencieux du POST - unlink($f); + if (!file_exists($hash = _DIR_SESSIONS."forum_$alea.lck")) + exit; # echec silencieux du POST + unlink($hash); // Entrer le message dans la base $id_message = spip_abstract_insert('spip_forum', '(date_heure)', '(NOW())'); - $statut = - ($forums_publics == 'non') ? 'off' : - (($forums_publics == 'pri') ? 'prop' : - 'publie'); - if ($id_forum) list($id_thread) = spip_fetch_array(spip_query( "SELECT id_thread FROM spip_forum WHERE id_forum = $id_forum")); else $id_thread = $id_message; # id_thread oblige INSERT puis UPDATE. + $statut = ($statut == 'non') ? 'off' : (($statut == 'pri') ? 'prop' : + 'publie'); + spip_query("UPDATE spip_forum SET id_parent = $id_forum, id_rubrique = $id_rubrique, id_article = $id_article, @@ -160,28 +171,22 @@ OR ($afficher_texte=='non' AND $ajouter_mot)) { // calculer_threads(); // Entrer les mots-cles associes - if (is_array($ajouter_mot)) - foreach ($ajouter_mot as $id_mot) - if ($id_mot = intval($id_mot)) - spip_query("INSERT INTO spip_mots_forum (id_mot, id_forum) - VALUES ($id_mot, $id_message)"); - + if (is_array($ajouter_mot)) mots_du_forum($ajouter_mot, $id_message); // Prevenir les auteurs de l'article - if (lire_meta("prevenir_auteurs") == "oui" - AND ($afficher_texte != "non") - AND ($id_article = $id_article)) + if (lire_meta("prevenir_auteurs") == "oui" AND ($afficher_texte != "non")) prevenir_auteurs($auteur, $email_auteur, $id_article, $texte, $titre); // Poser un cookie pour ne pas retaper le nom / email - $cookie_user = array('nom' => $auteur, 'email' => $email_auteur); - spip_setcookie('spip_forum_user', serialize($cookie_user)); + spip_setcookie('spip_forum_user', + serialize(array('nom' => $auteur, 'email' => $email_auteur))); + + if ($statut == 'publie') { // // INVALIDATION DES CACHES LIES AUX FORUMS // - include_ecrire('inc_invalideur.php3'); - if ($statut == 'publie') { + include_ecrire('inc_invalideur.php3'); suivre_invalideur ("id='id_forum/" . calcul_index_forum($id_article, $id_breve, @@ -189,6 +194,7 @@ OR ($afficher_texte=='non' AND $ajouter_mot)) { $id_syndic) . "'"); } + return $retour_forum; } ?> diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 5e36c146c9eb642a8994ff6410650e1fad9d8834..cfa65717f9a321d0f7987947d3b017071e200315 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -242,15 +242,19 @@ function inclure_balise_dynamique($r) { ($GLOBALS['spip_lang'] != lire_meta('langue_site'))) $contexte_inclus['lang'] = $GLOBALS['spip_lang']; - $page = inclure_page($fond, $delais, $contexte_inclus); - - if ($page['process_ins'] == 'html') - echo $page['texte']; - else - eval('?' . '>' . $page['texte']); - - if ($page['lang_select']) - lang_dselect(); + inclure_page_lang($fond, $delais, $contexte_inclus); } } + +function inclure_page_lang($fond, $delais, $contexte_inclus) +{ + $page = inclure_page($fond, $delais, $contexte_inclus); + if ($page['process_ins'] == 'html') + echo $page['texte']; + else + eval('?' . '>' . $page['texte']); + + if ($page['lang_select']) + lang_dselect(); +} ?> diff --git a/inc-public.php3 b/inc-public.php3 index 5bf3b81bd1ff662bb020533e1323bea526278920..29e6f01355334e1fab17f3f4728e1b414b756676 100644 --- a/inc-public.php3 +++ b/inc-public.php3 @@ -1,16 +1,6 @@ <?php - -// Page inclue ? if (defined("_INC_PUBLIC")) { - $page = inclure_page($fond, $delais, $contexte_inclus, $fichier_inclus); - - if ($page['process_ins'] == 'html') - echo $page['texte']; - else - eval('?' . '>' . $page['texte']); - - if ($page['lang_select']) - lang_dselect(); + inclure_page_lang($fond, $delais, $contexte_inclus); } // Premier appel inc-public else { @@ -36,22 +26,28 @@ else { verifier_visiteur(); } // multilinguisme - if ($forcer_lang AND ($forcer_lang!=='non') AND empty($_POST)) { + if ($forcer_lang AND ($forcer_lang!=='non') AND empty($GLOBALS['_POST'])) { include_ecrire('inc_lang.php3'); verifier_lang_url(); } - if ($_GET['lang']) { + if ($GLOBALS['_GET']['lang']) { include_ecrire('inc_lang.php3'); lang_select($_GET['lang']); } - // Ajout_forum (pour les forums) et $val_confirm signalent des modifications - // a faire avant d'afficher la page - if ($ajout_forum) { - $redirect = ''; + + // Si envoi pour un forum, enregistrer puis rediriger + + if (strlen($GLOBALS['_POST']['confirmer_forum']) > 0 + OR ($GLOBALS['_POST']['afficher_texte']=='non' + AND $GLOBALS['_POST']['ajouter_mot'])) { include('inc-messforum.php3'); - if ($redirect) redirige_par_entete($redirect); + redirige_par_entete(enregistre_forum()); } - if ($val_confirm) { + + // si signature de petition, l'enregistrer avant d'afficher la page + // afin que celle-ci contienne la signature + + if ($GLOBALS['_GET']['val_confirm']) { include_local('inc-formulaire_signature.php3'); reponse_confirmation($id_article, $val_confirm); } @@ -116,8 +112,10 @@ else { $contenu = ob_get_contents(); ob_end_clean(); - // en cas d'erreur lors du eval, afficher un message - // et forcer les boutons de debug + // en cas d'erreur lors du eval, + // la memoriser dans le tableau des erreurs + // et forcer les boutons de debug. + // On ne revient pas ici si le nb d'erreurs > 4 if ($res === false AND $affiche_boutons_admin AND $auteur_session['statut'] == '0minirezo') { include_ecrire('inc_debug_sql.php3'); @@ -131,9 +129,8 @@ else { include_ecrire("inc_debug_sql.php3"); debug_dumpfile('',$var_mode_objet,$var_mode_affiche); exit; - } else if (count($tableau_des_erreurs) > 0 - AND $affiche_boutons_admin) - affiche_erreurs_page ($tableau_des_erreurs); + } else if (count($tableau_des_erreurs) > 0 AND $affiche_boutons_admin) + $contenu = affiche_erreurs_page($tableau_des_erreurs) . $contenu; // Traiter var_recherche pour surligner les mots if ($var_recherche) { @@ -144,7 +141,7 @@ else { // Afficher au besoin les boutons admins if ($affiche_boutons_admin) { include_local("inc-admin.php3"); - affiche_boutons_admin($contenu); + $contenu = affiche_boutons_admin($contenu); } // Afficher le resultat final