4
[irbot.git] / main.php
blob2adcc02582e50fc6ab60b712b19511698f2e7b25
1 <?php
3 error_reporting(E_ALL);
5 function debug($set=null) {
6 static $debug;
8 if (!is_null($set)) {
9 $debug = $set;
10 } else {
11 return $debug ? true : false;
15 debug(true);
17 /**
18 * print_r avec un jolis formatage
20 * @param mix $v
22 function xdump($v) {
23 echo "<pre>\n"; print_r($v); echo "</pre>\n";
26 /**
27 * var_dump avec un jolis formatage
30 function xvdump() {
31 $args = func_get_args();
32 echo "<pre>\n"; call_user_func_array('var_dump',$args); echo "</pre>\n";
35 // Mécanisme de chargement automatique des classes selon leur nom
36 function __autoload($class) {
37 if (is_readable('./sources/'.$class.'-class.inc.php')) {
38 require_once './sources/'.$class.'-class.inc.php';
39 } else {
40 trigger_error ("Class '$class' not found",E_USER_ERROR);
45 function backtrace() {
46 $backtrace = debug_backtrace();
47 $err_backtrace = " Backtrace :\n=============\n\r";
48 foreach($backtrace as $t) {
49 $err_backtrace.= 'File : '.((isset($t['file'])) ? $t['file']:'[PHP KERNEL]').((isset($t['line'])) ? ':'.$t['line'] : '') . "\n".
50 'Function : '.$t['function']."\n";
51 if (isset($t['class'])) {
52 $err_backtrace.= 'Class : '.$t['class']."\n";
54 if (isset($t['type'])) {
55 $err_backtrace.= 'Type : '.$t['type']."\n";
57 if (isset($t['args']) && !empty($t['args'])) {
58 $err_backtrace.= '--== Args ==--'."\n";
59 ob_start();
60 var_dump($t['args']);
61 $err_backtrace.= "\t".str_replace("\n","\n\t",ob_get_contents());
62 ob_end_clean();
64 $err_backtrace.= "\n\n- - - - - - - - - - - - -\n\r";
66 return $err_backtrace;
69 // Arguments passés à la ligne de commande
70 if ( isset($argv[1], $argv[2], $argv[3], $argv[4]) ) {
71 $server = $argv[1] ;
72 $port = (int) $argv[2] ;
73 $chan = '#' . $argv[3] ;
74 $name = $argv[4] ;
75 } else {
76 $server = 'multimud.homeip.net';
77 $port = 6667;
78 $chan = '#projet_mud';
79 $name = 'RPGBot';
82 require_once('./sources/IRCMain-class.inc.php');
83 require_once('./sources/IRCConn-class.inc.php');
85 // Nouvelle instance de la classe IRCMain
86 $MainProc = new IRCMain($server, $port, $chan, $name, '127.0.0.1','xrogaan.be');
88 // On charge les plugins que l'on souhaite
89 // il n'est pas nécéssaire de charger le plugin de base, plug_base
90 //$MainProc -> AddPlug('plug_admin');
92 // On lance le bot
93 $MainProc -> run();