Пример #1
0
 public static function make_data($msg, $backtrace, $errno, $errfile, $errline, $code)
 {
     try {
         if (!$backtrace) {
             $backtrace = print_r(debug_backtrace(), true);
         }
         $d = array();
         $d[':uid'] = self::get_uid();
         $d[':pid'] = self::sanit(self::get_id());
         $d[':errno'] = self::sanit($errno);
         $d[':msg'] = self::sanit($msg);
         $d[':backtrace'] = self::sanit($backtrace);
         $d[':file'] = self::sanit($errfile);
         $d[':line'] = self::sanit($errline);
         $d[':referer'] = isset($_SERVER['HTTP_REFERER']) ? self::sanit($_SERVER['HTTP_REFERER']) : "''";
         $d[':user_agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? self::sanit($_SERVER['HTTP_USER_AGENT']) : "''";
         $d[':ip'] = isset($_SERVER['REMOTE_ADDR']) ? self::sanit($_SERVER['REMOTE_ADDR']) : "''";
         $d[':request_uri'] = isset($_SERVER['REQUEST_URI']) ? self::sanit($_SERVER['REQUEST_URI']) : "''";
         $d[':query_string'] = isset($_SERVER['QUERY_STRING']) ? self::sanit($_SERVER['QUERY_STRING']) : "''";
         if (self::$DEBUG >= 3) {
             // on cache les erreurs http banale
             if (!ctype_digit($code) || $code <= 300 && $code >= 499) {
                 echo $code . ': ' . $d[':msg'] . "<br>\r\n <b>" . $d[':file'] . ' </b>  line ' . $d[':line'] . " <br>\r\n";
                 echo "<pre>" . print_r($d[':backtrace'], true) . "</pre> <br>\r\n";
             }
         }
         if (!self::$noSql) {
             if (Db::isConnected()) {
                 $req = 'INSERT INTO ' . self::$TABLE . " \t\n\t\t\t\t\t\t(uid,pid,errno,msg, \n\t\t\t\t\t\tbacktrace,file, \n\t\t\t\t\t\tline, date, \t\n\t\t\t\t\t\treferer, user_agent, \t\n\t\t\t\t\t\tip,request_uri,\tquery_string)\n\t\t\t\t\tVALUES(:uid,:pid,:errno,:msg,:backtrace,:file,:line,NOW(),:referer,:user_agent,:ip,:request_uri,:query_string)";
                 $req = Db::prepare($req)->execute($d);
             }
         }
     } catch (\Exception $e) {
         throw new Exception('Debug Error :' . $e->getMessage(), 666);
     }
 }