added awesome friendly error page
This commit is contained in:
parent
706a4cb8c1
commit
752757e1fe
@ -3,7 +3,7 @@
|
||||
* @Author: printempw
|
||||
* @Date: 2016-02-02 21:59:06
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-03-12 16:43:53
|
||||
* @Last Modified time: 2016-03-12 18:15:55
|
||||
*/
|
||||
|
||||
class Database
|
||||
@ -15,18 +15,19 @@ class Database
|
||||
}
|
||||
|
||||
public static function checkConfig() {
|
||||
error_reporting(0);
|
||||
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWD, DB_NAME, DB_PORT);
|
||||
if ($conn->connect_error) {
|
||||
Utils::raise(-1, "Can not connect to mysql, check if database info correct in config.php. ".
|
||||
Utils::showErrorPage(-1, "Can not connect to mysql, check if database info correct in config.php. ".
|
||||
$conn->connect_error);
|
||||
}
|
||||
if (!self::checkTableExist($conn)) {
|
||||
Utils::raise(-1, "Looks like that there is no `users` table in your database. ".
|
||||
Utils::showErrorPage(-1, "Looks like that there is no `users` table in your database. ".
|
||||
"Please run `/admin/install.php` first.");
|
||||
}
|
||||
$dir = dirname(dirname(__FILE__));
|
||||
if (!is_dir("$dir/textures/")) {
|
||||
Utils::raise(-1, "No `textures` directory exists. Please run `/admin/install.php` ".
|
||||
Utils::showErrorPage(-1, "No `textures` directory exists. Please run `/admin/install.php` ".
|
||||
"or put one manually.");
|
||||
}
|
||||
return $conn;
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @Author: printempw
|
||||
* @Date: 2016-01-16 23:01:33
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-03-06 15:27:00
|
||||
* @Last Modified time: 2016-03-12 18:33:34
|
||||
*/
|
||||
|
||||
class User
|
||||
@ -114,11 +114,11 @@ class User
|
||||
return Utils::fread($filename);
|
||||
} else {
|
||||
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
||||
Utils::raise(-1, 'Texture no longer exists.');
|
||||
Utils::showErrorPage(404, '请求的贴图已被删除。');
|
||||
}
|
||||
} else {
|
||||
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
||||
Utils::raise(-1, 'No available textures.');
|
||||
Utils::showErrorPage(404, '该用户尚未上传请求的贴图类型。');
|
||||
}
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ class User
|
||||
$json['skins'][$sec_model] = $this->getTexture($sec_model == "default" ? "steve" : "alex");
|
||||
$json['cape'] = $this->getTexture('cape');
|
||||
} else {
|
||||
Utils::raise(-1, '配置文件错误:不支持的 API_TYPE。');
|
||||
Utils::showErrorPage(-1, '配置文件错误:不支持的 API_TYPE。');
|
||||
}
|
||||
} else {
|
||||
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @Author: printempw
|
||||
* @Date: 2016-01-16 23:01:33
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-03-06 15:44:32
|
||||
* @Last Modified time: 2016-03-12 18:00:02
|
||||
*/
|
||||
|
||||
class Utils
|
||||
@ -22,6 +22,12 @@ class Utils
|
||||
die(json_encode($exception));
|
||||
}
|
||||
|
||||
public static function showErrorPage($errno = -1, $msg = "Error occured.") {
|
||||
$dir = dirname(dirname(__FILE__));
|
||||
require "$dir/includes/error.tpl.php";
|
||||
die();
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename uploaded file
|
||||
*
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @Author: prpr
|
||||
* @Date: 2016-02-02 21:17:59
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-03-12 17:20:54
|
||||
* @Last Modified time: 2016-03-12 18:04:46
|
||||
*/
|
||||
|
||||
function __autoload($classname) {
|
||||
@ -12,5 +12,5 @@ function __autoload($classname) {
|
||||
include_once($filename);
|
||||
}
|
||||
if (!file_exists($dir.'/config.php'))
|
||||
Utils::raise(-1, '未找到 `config.php`,请确认配置文件是否存在。');
|
||||
Utils::showErrorPage(-1, '未找到 `config.php`,请确认配置文件是否存在。');
|
||||
require "$dir/config.php";
|
||||
|
85
includes/error.tpl.php
Normal file
85
includes/error.tpl.php
Normal file
@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex,nofollow" />
|
||||
<title>出现错误 - Blessing Skin Server</title>
|
||||
</head>
|
||||
|
||||
<body class="container">
|
||||
<p id="logo"><a href="https://github.com/printempw/blessing-skin-server" tabindex="-1">Blessing Skin Server</a></p>
|
||||
|
||||
<h1>出现了一些错误:</h1>
|
||||
|
||||
<p>错误码:<?php echo $errno; ?></p>
|
||||
<p>详细信息:<?php echo $msg; ?></p>
|
||||
|
||||
</body>
|
||||
|
||||
<style type="text/css">
|
||||
@import url(https://fonts.googleapis.com/css?family=Ubuntu);
|
||||
@import url(https://work.prinzeugen.net/font/Minecraft.css);
|
||||
|
||||
html {
|
||||
background: #f1f1f1;
|
||||
margin: 0 20px;
|
||||
font-weight: 400;
|
||||
}
|
||||
body {
|
||||
background: #FFF none repeat scroll 0% 0%;
|
||||
color: #444;
|
||||
font-family: Ubuntu, 'Microsoft Yahei', 'Microsoft Jhenghei', sans-serif;
|
||||
margin: 140px auto 25px;
|
||||
padding: 20px 20px 10px;
|
||||
max-width: 700px;
|
||||
box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.13);
|
||||
}
|
||||
h1, h2 {
|
||||
border-bottom: 1px solid #DEDEDE;
|
||||
clear: both;
|
||||
color: #666;
|
||||
font-size: 24px;
|
||||
}
|
||||
#logo a, p, h1, h2 {
|
||||
font-weight: 400;
|
||||
}
|
||||
#logo, h1, h2 {
|
||||
padding: 0px 0px 7px;
|
||||
}
|
||||
p {
|
||||
padding-bottom: 2px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
#logo a {
|
||||
font-family: Minecraft, sans-serif;
|
||||
font-size: 50px;
|
||||
color: #666;
|
||||
height: 84px;
|
||||
line-height: 1.3em;
|
||||
margin: -130px auto 25px;
|
||||
padding: 0;
|
||||
outline: 0;
|
||||
text-decoration: none;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
}
|
||||
/* Mobile phone */
|
||||
@media (max-width: 48em) {
|
||||
#logo a {
|
||||
font-size: 40px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 35.5em) {
|
||||
#logo a {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
#logo {
|
||||
margin: 6px 0 14px;
|
||||
border-bottom: none;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</html>
|
@ -2,8 +2,8 @@
|
||||
/**
|
||||
* @Author: printempw
|
||||
* @Date: 2016-01-17 13:55:20
|
||||
* @Last Modified by: prpr
|
||||
* @Last Modified time: 2016-02-10 14:18:22
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-03-12 18:03:48
|
||||
*/
|
||||
session_start();
|
||||
$dir = dirname(__FILE__);
|
||||
|
@ -3,7 +3,7 @@
|
||||
* @Author: prpr
|
||||
* @Date: 2016-01-21 13:56:40
|
||||
* @Last Modified by: printempw
|
||||
* @Last Modified time: 2016-02-28 14:09:48
|
||||
* @Last Modified time: 2016-03-12 18:28:07
|
||||
*/
|
||||
require "../includes/session.inc.php";
|
||||
?>
|
||||
|
Loading…
Reference in New Issue
Block a user