X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fdevdebug_options.php;fp=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fdevdebug_options.php;h=1f0cd931a5257b710d0adfbf04f76a0ac37fcbc5;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hp=0000000000000000000000000000000000000000;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c;p=velocampus%2Fweb%2Fwww.git diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/outils/devdebug_options.php b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/devdebug_options.php new file mode 100644 index 0000000..1f0cd93 --- /dev/null +++ b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/devdebug_options.php @@ -0,0 +1,89 @@ + + * @link http://www.spip-contrib.net/?article3572 + */ +if (!defined("_ECRIRE_INC_VERSION")) return; + +/** + * On charge la config de l'outil et les valeurs d'erreurs renvoyees + */ +function devdebug_charger_debug(){ + // On renvoie direct si pas defini + if(!defined('_DEVDEBUG_MODE')) return; + // Sinon, on traite + if(_DEVDEBUG_MODE==1){ + $prive = function_exists('test_espace_prive') + ?test_espace_prive() + // compatibilite pour SPIP 1.92 + :(defined('_DIR_RESTREINT') ? !_DIR_RESTREINT : false); + // Les liens d'erreur generes par PHP renvoient ... en local ! dans le php.ini standard + // On les definit du type 'http://fr.php.net/manual/en/ %s .php' (necessite une connexion) + $devdebug_langues_phpdoc = array('en','fr','de','ja','pl','ro','fa','es','tr'); + if(function_exists('utiliser_langue_visiteur')) utiliser_langue_visiteur(); + $lang = (isset($GLOBALS['spip_lang']) && in_array($GLOBALS['spip_lang'], $devdebug_langues_phpdoc)) + ? $GLOBALS['spip_lang'] : 'fr'; + @ini_set('docref_root', "http://www.php.net/manual/".$lang."/"); + @ini_set('docref_ext', '.php'); + // On lance le php error tracking quoiqu'il arrive + @ini_set('track_errors',1); + // On evite d'afficher les erreurs repetees + @ini_set('ignore_repeated_errors',1); + // Compatibilite PHP (recup de 'inc_version', mais qui le definit trop tard) + @define('E_DEPRECATED',8192); // PHP 5.3 + // Et let's go + $niveau = 'E_WARNING'; + if(defined('_DEVDEBUG_NIVEAU')) switch(_DEVDEBUG_NIVEAU) { + case 'warning' : $niveau = "E_ALL ^ E_NOTICE"; break; + case 'error' : $niveau = "E_ALL ^ (E_NOTICE | E_WARNING)"; break; + case 'strict' : $niveau = "-1"; break; + case 'all' : $niveau = "E_ALL | E_DEPRECATED"; break; + case 'user' : $niveau = "E_USER_NOTICE | E_USER_WARNING | E_USER_ERROR"; break; + case 'notice' : default : $niveau = "E_ALL"; break; + } + if(defined('_DEVDEBUG_ESPACE')) switch(_DEVDEBUG_ESPACE) { + case 'public' : + if(!$prive) { + @ini_set('display_errors',1); + eval("error_reporting($niveau);"); + } + else @ini_set('display_errors',0); + break; + case 'prive' : + if($prive) { + @ini_set('display_errors',1); + eval("error_reporting($niveau);"); + } + else @ini_set('display_errors',0); + break; + default : + @ini_set('display_errors',1); + eval("error_reporting($niveau);"); + } + } + elseif(_DEVDEBUG_MODE==0) @ini_set('display_errors',0); +} + +/** + * Page de reglages accessible tout le temps par le webmestre : 'ecrire/?exec=debug' + * En cas de probleme + * => on detoure le CS : + * => "redirect" enleve + * => ajout d'un input "exec" hidden + * (je sais c'est mal!) + */ +function exec_debug() { + ini_set('display_errors','1'); error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); + include_spip('inc/minipres'); + global $connect_statut; + if ($connect_statut != "0minirezo" || !autoriser('configurer', 'configuration')){ echo minipres(); exit;} + include_spip('inc/cs_outils'); + $content = description_outil2('devdebug'); + $content = str_replace(" name='redirect'", " name='abcdef'", $content); + $content = str_replace("?exec=devdebugger", '', $content); + echo minipres(' ',str_replace("", "", $content)); + exit; +} + +?> \ No newline at end of file