14
[irbot.git] / sources / functions.inc.php
blobc0377b0a78b396c3fc5fdbc4a223b7a16df7e8c8
1 <?php
3 function debug($set=null) {
4 static $debug;
6 if (!is_null($set)) {
7 $debug = $set;
8 } else {
9 return $debug ? true : false;
13 /**
14 * print_r avec un jolis formatage
16 * @param mix $v
18 function xdump($v) {
19 echo "\n"; print_r($v); echo "\n";
22 /**
23 * var_dump avec un jolis formatage
26 function xvdump() {
27 $args = func_get_args();
28 echo "\n"; call_user_func_array('var_dump',$args); echo "\n";
31 function backtrace($backtrace) {
32 $err_backtrace = " Backtrace :\n=============\n\r";
33 foreach($backtrace as $t) {
34 $err_backtrace.= 'File : '.((isset($t['file'])) ? $t['file']:'[PHP KERNEL]').((isset($t['line'])) ? ':'.$t['line'] : '') . "\n".
35 'Function : '.$t['function']."\n";
36 if (isset($t['class'])) {
37 $err_backtrace.= 'Class : '.$t['class']."\n";
39 if (isset($t['type'])) {
40 $err_backtrace.= 'Type : '.$t['type']."\n";
42 /*if (isset($t['args']) && !empty($t['args']) && $t['function'] != 'myErrorHandler') {
43 $err_backtrace.= '--== Args ==--'."\n";
44 ob_start();
45 var_dump($t['args']);
46 $err_backtrace.= "\t".str_replace("\n","\n\t",ob_get_contents());
47 ob_end_clean();
48 }*/
49 $err_backtrace.= "\n\n- - - - - - - - - - - - -\n\r";
51 return $err_backtrace;
54 /**
55 * RuntimeException encapsule une erreur (E_WARNING, E_NOTICE, ...) PHP dans un objet héritant de Exception
57 class myRuntimeException extends Exception {
59 /**
60 * Context d'éxécution fournit par PHP
61 * @var array
62 * @access protected
64 protected $_context = array();
65 public $_level;
67 /**
68 * Construit un objet RuntimeException
69 * @param int $level Le niveau de l'exception
70 * @param str $string La description de l'exception
71 * @param str $file Le nom du fichier où l'erreur s'est produite
72 * @param int $line La ligne du fichier où l'erreur s'est produite
73 * @param array $context Le context d'éxécution fournit par le gestionnaire d'erreur
74 * @access system
75 * @return void
77 function __construct($level, $string, $file, $line, $context){
78 parent::__construct($string.' in file '.$file.' at line '.$line);
79 // on modifie la ligne et le fichier pour ne pas avoir la ligne et le fichier d'où l'exception est levée
80 $this->file = $file;
81 $this->line = $line;
82 $this->_level = $level;
83 $this->_context = $context;
88 /**
89 * Remplacant le gestionnaire d'erreur natif PHP. IL permet de lever une exception capturable dans un bloc catch
90 * pour les fonction/methode ne levant pas d'exception.
91 * @param int $level Niveau de l'erreur PHP
92 * @param str $string Description de l'erreur
93 * @param str $file Chemin d'accés au fichier dans lequel l'erreur s'est produite
94 * @param int $line Ligne de $file où l'erreur s'est produite
95 * @param array $context Un contexte d'éxécution fournit par PHP
96 * @access system
97 * @return void
100 function myErrorHandler($level, $string, $file, $line, $context){
102 throw new myRuntimeException($level, $string, $file, $line, $context);