X-Git-Url: http://git.cyclocoop.org/?p=ptitvelo%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fpublic%2Fdebusquer.php;h=1fb6dd888cc895fc4a4665668bb5e509be010647;hp=378ca3b6f09b91457851635eb754f748701ee31c;hb=e847eea4a82a7396dd0abf860f9b30d654f38629;hpb=d686c3e22e97dd46ef42bcd0f138c65083f8f232 diff --git a/www/ecrire/public/debusquer.php b/www/ecrire/public/debusquer.php index 378ca3b..1fb6dd8 100644 --- a/www/ecrire/public/debusquer.php +++ b/www/ecrire/public/debusquer.php @@ -13,6 +13,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return; include_spip('public/decompiler'); +include_spip('inc/filtres_mini'); // Le debusqueur repose sur la globale debug_objets, // affectee par le compilateur et le code produit par celui-ci. @@ -37,19 +38,47 @@ include_spip('public/decompiler'); */ defined('_DEBUG_MAX_SQUELETTE_ERREURS') || define('_DEBUG_MAX_SQUELETTE_ERREURS', 9); -// -// Point d'entree general, -// pour les appels involontaires ($message non vide => erreur) -// et volontaires (var_mode et var_profile) -// Si pas d'autorisation, les erreurs ne sont pas affichees -// (mais seront dans les logs) -// Si l'erreur vient de SPIP, en parler sur spip@rezo.net -function public_debusquer_dist($message = '', $lieu = ''){ +/** + * Point d'entrée pour les erreurs de compilation + * + * Point d'entrée pour les appels involontaires ($message non vide => erreur) + * et volontaires (var_mode et var_profile) + * + * Si pas d'autorisation, les erreurs ne sont pas affichées + * (mais seront dans les logs) + * + * Si l'erreur vient de SPIP, en parler sur `spip@rezo.net` + * + * @param bool|string|array $message + * - Message d'erreur (string|array) + * - false pour retourner le texte des messages d'erreurs + * - vide pour afficher les messages d'erreurs + * @param string|Contexte $lieu + * Contexte : lieu d'origine de l'erreur + * @param array $opt + * Options pour debug ou tests unitaires + * - 'erreurs' = 'get' : Retourne le tableau des erreurs + * - 'erreurs' = 'reset' : Efface le tableau des erreurs + * @return null|string + * - 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 + if (isset($opt['erreurs'])) { + if ($opt['erreurs'] == 'get') { + return $tableau_des_erreurs; + } + if ($opt['erreurs'] == 'reset') { + $tableau_des_erreurs = array(); + return true; + } + } + // Erreur ou appel final ? if ($message){ $message = debusquer_compose_message($message);