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