Exemplo n.º 1
0
 public static function debug($message)
 {
     echo $message . PHP_EOL;
     GWF_Log::rawLog('dog/debug', $message);
     GWF_Log::flush();
     return true;
 }
Exemplo n.º 2
0
 /**
  * commits the session if allowed
  * @return NULL
  */
 public function __destruct()
 {
     # Commit Session
     if (!self::getConfig('no_session')) {
         $this->onSessionCommit(self::getConfig('store_last_url'));
     }
     if (self::getConfig('load_module') && self::$MODULE->isEnabled()) {
         $db = gdo_db();
         GWF_CachedCounter::persist();
         $db->transactionEnd();
     }
     # Flush logfiles
     if (true === self::getConfig('do_logging')) {
         GWF_Log::flush();
     }
 }
Exemplo n.º 3
0
 /**
  * Error handler creates some html backtrace and can die on _every_ warning etc.
  * @param int $errno
  * @param string $errstr
  * @param string $errfile
  * @param int $errline
  * @param $errcontext
  * @return false
  */
 public static function error_handler($errno, $errstr, $errfile, $errline, $errcontext)
 {
     if (error_reporting() === 0) {
         return;
     }
     # Log as critical!
     if (class_exists('GWF_Log')) {
         GWF_Log::logCritical(sprintf('%s in %s line %s', $errstr, $errfile, $errline));
         GWF_Log::flush();
     }
     switch ($errno) {
         case -1:
             $errnostr = 'GWF Error';
             break;
         case E_ERROR:
         case E_CORE_ERROR:
             $errnostr = 'PHP Fatal Error';
             break;
         case E_WARNING:
         case E_USER_WARNING:
         case E_CORE_WARNING:
             $errnostr = 'PHP Warning';
             break;
         case E_USER_NOTICE:
         case E_NOTICE:
             $errnostr = 'PHP Notice';
             break;
         case E_USER_ERROR:
             $errnostr = 'PHP Error';
             break;
         case E_STRICT:
             $errnostr = 'PHP Strict Error';
             break;
             # if(PHP5.3) case E_DEPRECATED: case E_USER_DEPRECATED: $errnostr = 'PHP Deprecated'; break;
             # if(PHP5.2) case E_RECOVERABLE_ERROR: $errnostr = 'PHP Recoverable Error'; break;
         # if(PHP5.3) case E_DEPRECATED: case E_USER_DEPRECATED: $errnostr = 'PHP Deprecated'; break;
         # if(PHP5.2) case E_RECOVERABLE_ERROR: $errnostr = 'PHP Recoverable Error'; break;
         case E_COMPILE_WARNING:
         case E_COMPILE_ERROR:
             $errnostr = 'PHP Compiling Error';
             break;
         case E_PARSE:
             $errnostr = 'PHP Parsing Error';
             break;
         default:
             $errnostr = 'PHP Unknown Error';
             break;
     }
     $is_html = PHP_SAPI === 'cli' ? false : !isset($_GET['ajax']);
     if ($is_html) {
         $message = sprintf('<p>%s(%s):&nbsp;%s&nbsp;in&nbsp;<b style=\\"font-size:16px;\\">%s</b>&nbsp;line&nbsp;<b style=\\"font-size:16px;\\">%s</b></p>', $errnostr, $errno, $errstr, $errfile, $errline) . PHP_EOL;
     } else {
         $message = sprintf('%s(%s) %s in %s line %s.', $errnostr, $errno, $errstr, $errfile, $errline);
     }
     # Output error
     if (PHP_SAPI === 'cli') {
         file_put_contents('php://stderr', self::backtrace($message, false) . PHP_EOL);
     } elseif (GWF_USER_STACKTRACE) {
         echo self::backtrace($message, $is_html) . PHP_EOL;
     } else {
         echo $message . PHP_EOL;
     }
     # Send error to admin
     if (true === self::$MAIL_ON_ERROR) {
         self::sendDebugMail(self::backtrace($message, false));
     }
     if (true === self::$die) {
         die(1);
         # oops :)
     }
     return true;
 }