예제 #1
0
파일: ticks.php 프로젝트: tseeker/LWB5
     // Remove eval in lib/log.inc
     $errorText .= "<br/><u>Backtrace to the error:</u><pre>";
     $base = dirname(config::$main['scriptdir']);
     foreach ($bt as $data) {
         $str = "... " . str_repeat(' ', strlen($data['class']) > 30 ? 1 : 31 - strlen($data['class'])) . $data['class'] . " :: " . $data['function'];
         if (!is_null($data['file'])) {
             $str .= str_repeat(' ', strlen($data['function']) > 25 ? 1 : 26 - strlen($data['function']));
             $fn = preg_replace("#^{$base}/#", "", $data['file']);
             $str .= "  (line {$data['line']}, file '{$fn}')";
         }
         $errorText .= "{$str}\n";
     }
     $errorText .= "</pre>";
     throw new Exception($errorText);
 }
 l::setFatalHandler('__adminFatalError');
 try {
     dbConnect();
     $game = config::getGame($gName);
     if (is_null($game)) {
         throw new Exception("Game '{$gName}' not found");
     }
     l::notice("administration script executing tick {$gName}::{$tName}");
     $game->getDBAccess();
     $game->runTick($tName, true);
     l::notice("tick {$gName}::{$tName} executed");
     dbClose();
 } catch (Exception $e) {
     $argh = $e->getMessage();
 }
 chdir($oldDir);