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); } }