function system_error($message, $show = true, $save = true, $halt = true) { dzz_error::system_error($message, $show, $save, $halt); }
public static function autoload($class) { $module = ''; if ($class[0] === '#') { list(, $module, $class) = explode('#', $class); } $class = $class; if (strpos($class, '_') !== false) { list($folder) = explode('_', $class); $file = 'class/' . $folder . '/' . substr($class, strlen($folder) + 1); } else { $file = 'class/' . $class; } try { self::import($file, $module); return true; } catch (Exception $exc) { $trace = $exc->getTrace(); foreach ($trace as $log) { if (empty($log['class']) && $log['function'] == 'class_exists') { return false; } } dzz_error::exception_error($exc); } }
public static function write_error_log($message) { $message = dzz_error::clear($message); $time = time(); $file = DZZ_ROOT . './data/log/' . date("Ym") . '_errorlog.php'; $hash = md5($message); $uid = getglobal('uid'); $ip = getglobal('clientip'); $user = '******' . intval($uid) . '; IP=' . $ip . '; RIP:' . $_SERVER['REMOTE_ADDR']; $uri = 'Request: ' . dhtmlspecialchars(dzz_error::clear($_SERVER['REQUEST_URI'])); $message = "<?PHP exit;?>\t{$time}\t{$message}\t{$hash}\t{$user} {$uri}\n"; if ($fp = @fopen($file, 'rb')) { $lastlen = 50000; $maxtime = 60 * 10; $offset = filesize($file) - $lastlen; if ($offset > 0) { fseek($fp, $offset); } if ($data = fread($fp, $lastlen)) { $array = explode("\n", $data); if (is_array($array)) { foreach ($array as $key => $val) { $row = explode("\t", $val); if ($row[0] != '<?PHP exit;?>') { continue; } if ($row[3] == $hash && $row[1] > $time - $maxtime) { return; } } } } } error_log($message, 3, $file); }