continued BotLoader, added ModManager.class.php & timers
[PHP-P10.git] / main.php
index 7cfe0fc1c2cadc79a0447359fe9113a0887ea1e1..57ec8624e912e340e931b5294dcc6f4db7956dd0 100644 (file)
--- a/main.php
+++ b/main.php
  * initial php file
  *
  */
+declare(ticks = 1);
+error_reporting(E_ALL & ~E_STRICT);
+
 require_once("Uplink/Uplink.class.php");
 require_once("ModCMD/ModCMD.class.php");
 require_once("BotLoader/BotLoader.class.php");
+require_once("Tools/timer.inc.php");
+
+if(function_exists("pcntl_signal")) {
+       pcntl_signal(SIGINT, 'shutdown');
+       pcntl_signal(SIGTERM, 'shutdown');
+}
 
 //basicly here is nothing, yet :D
 $uplink = new Uplink();
@@ -41,8 +50,27 @@ $uplink->initialize();
 
 $botloader = new BotLoader($uplink);
 $botloader->loadBots();
+BotLoader::load("ModManager", "ModManager.class.php");
+
+function shutdown($signal) {
+       global $botloader;
+       global $uplink;
+       if($signal == SIGINT) $type="SIGINT";
+       else if($signal == SIGTERM) $type="SIGTERM";
+       else $type = $signal;
+       echo "\n\nrecived shutdown instruction... ".$type."\n";
+       $botloader->unloadBots();
+       $botloader->save();
+       $uplink->shutdown();
+       exit;
+}
 
 while(true) {
        $uplink->loop();
+       $botloader->loop();
+       timer_loop();
+       if(function_exists("pcntl_signal_dispatch"))
+               pcntl_signal_dispatch();
 }
+
 ?>
\ No newline at end of file