diff --git a/api.php b/api.php
index 6134e39d..c19c03b3 100644
--- a/api.php
+++ b/api.php
@@ -12,6 +12,54 @@
*/
session_start();
define('init', true);
+require('./common/functions.php');
+$method = (!empty($_GET["m"])) ? $_GET["m"] : "";
+if ($method === "CheckMySQLConnect") {
+ if (file_exists('config.php')) {
+ // 如果已经安装过一次,必须管理员登录
+ $is_login = (empty($_SESSION["admin_login"])) ? false : $_SESSION["admin_login"];
+ if (!$is_login) { // 未登录
+ EchoInfo(-3, array("msg" => "请刷新页面后重新登录"));
+ }
+ }
+ error_reporting(0);
+ // 检查数据库连接是否正常
+ $servername = htmlspecialchars((!empty($_POST["servername"])) ? $_POST["servername"] : "", ENT_QUOTES);
+ $username = htmlspecialchars((!empty($_POST["username"])) ? $_POST["username"] : "", ENT_QUOTES);
+ $DBPassword = htmlspecialchars((!empty($_POST["DBPassword"])) ? $_POST["DBPassword"] : "", ENT_QUOTES);
+ $dbname = htmlspecialchars((!empty($_POST["dbname"])) ? $_POST["dbname"] : "", ENT_QUOTES);
+ $dbtable = htmlspecialchars((!empty($_POST["dbtable"])) ? $_POST["dbtable"] : "", ENT_QUOTES);
+ if (!function_exists('mysqli_connect')) {
+ EchoInfo(-2, array("msg" => "
您未安装或未启用 mysqli 扩展,
不能使用数据库功能。
请自行关闭数据库功能。"));
+ }
+ $conn = mysqli_connect($servername, $username, $DBPassword);
+ $GLOBALS['conn'] = $conn;
+ // Check connection
+ if (!$conn) {
+ EchoInfo(-1, array("msg" => mysqli_connect_error()));
+ } else {
+ // 连接成功,检查数据库是否存在
+ $sql = "SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '$dbname';"; // 查询是否有此数据库
+ $mysql_query = mysqli_query($conn, $sql);
+ if (mysqli_fetch_assoc($mysql_query)) {
+ // 存在数据库
+ EchoInfo(0, array("msg" => "数据库连接成功,存在 $dbname 数据库"));
+ } else {
+ // 不存在数据库,需创建
+ $sql = "CREATE DATABASE `$dbname` character set utf8;"; // 查询是否有此数据库
+ $mysql_query = mysqli_query($conn, $sql);
+ if ($mysql_query) {
+ // 创建成功
+ EchoInfo(0, array("msg" => "成功连接并创建数据库 $dbname 。"));
+ } else {
+ // 创建失败
+ EchoInfo(-1, array("msg" => "数据库连接成功,但创建数据库失败。
请手动创建 $dbname 数据库后再次检查连接。
"));
+ }
+ }
+ }
+ die();
+}
+
if (!file_exists('./common/invalidCheck.php')) {
http_response_code(503);
header('Content-Type: text/plain; charset=utf-8');
@@ -19,17 +67,13 @@
die("HTTP 503 服务不可用!\r\n缺少相关配置和定义文件!无法正常运行程序!\r\n请重新 Clone 项目并进入此页面安装!\r\n将在五秒内跳转到 GitHub 储存库!");
}
require('./common/invalidCheck.php');
-$method = (!empty($_GET["m"])) ? $_GET["m"] : ""; // 下一步判断是否引用config.php需用到
// 导入配置和函数
-if ($method != "CheckMySQLConnect") { // 如果是使用检查连接,还没有配置好文件,不能引用
- require('config.php');
-}
-require('./common/functions.php');
+require('./config.php');
// 通用响应头
header('Content-Type: text/html; charset=utf-8');
header('X-UA-Compatible: IE=edge,chrome=1');
// 隐藏错误代码,保护信息安全
-if ($method != "CheckMySQLConnect" and DEBUG) {
+if (DEBUG) {
error_reporting(E_ALL);
} else {
error_reporting(0); // 关闭错误报告
@@ -286,42 +330,6 @@
EchoInfo(-1, array("msg" => "未开启数据库功能"));
}
break;
- case "CheckMySQLConnect":
- // 检查数据库连接是否正常
- $servername = htmlspecialchars((!empty($_POST["servername"])) ? $_POST["servername"] : "", ENT_QUOTES);
- $username = htmlspecialchars((!empty($_POST["username"])) ? $_POST["username"] : "", ENT_QUOTES);
- $DBPassword = htmlspecialchars((!empty($_POST["DBPassword"])) ? $_POST["DBPassword"] : "", ENT_QUOTES);
- $dbname = htmlspecialchars((!empty($_POST["dbname"])) ? $_POST["dbname"] : "", ENT_QUOTES);
- $dbtable = htmlspecialchars((!empty($_POST["dbtable"])) ? $_POST["dbtable"] : "", ENT_QUOTES);
- if (!function_exists('mysqli_connect')) {
- EchoInfo(-2, array("msg" => "
您未安装或未启用 mysqli 扩展,
不能使用数据库功能。
请自行关闭数据库功能。"));
- }
- $conn = mysqli_connect($servername, $username, $DBPassword);
- $GLOBALS['conn'] = $conn;
- // Check connection
- if (!$conn) {
- EchoInfo(-1, array("msg" => mysqli_connect_error()));
- } else {
- // 连接成功,检查数据库是否存在
- $sql = "SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '$dbname';"; // 查询是否有此数据库
- $mysql_query = mysqli_query($conn, $sql);
- if (mysqli_fetch_assoc($mysql_query)) {
- // 存在数据库
- EchoInfo(0, array("msg" => "数据库连接成功,存在 $dbname 数据库"));
- } else {
- // 不存在数据库,需创建
- $sql = "CREATE DATABASE `$dbname` character set utf8;"; // 查询是否有此数据库
- $mysql_query = mysqli_query($conn, $sql);
- if ($mysql_query) {
- // 创建成功
- EchoInfo(0, array("msg" => "成功连接并创建数据库 $dbname 。"));
- } else {
- // 创建失败
- EchoInfo(-1, array("msg" => "数据库连接成功,但创建数据库失败。
请手动创建 $dbname 数据库后再次检查连接。
"));
- }
- }
- }
- break;
case "CheckUpdate":
$includePreRelease = false; // 定义和获取是否包含预发行,是否强制检查
$enforce = false;
diff --git a/common/functions.php b/common/functions.php
index a58e431a..5d8aa3f0 100644
--- a/common/functions.php
+++ b/common/functions.php
@@ -12,7 +12,7 @@
* @link https://space.bilibili.com/88197958
*
*/
-require_once("./common/invalidCheck.php");
+if (!init) require_once("./common/invalidCheck.php");
// main
function setCurl(&$ch, array $header)
@@ -140,7 +140,7 @@ function GetSign(string $surl = "", string $share_id = "", string $uk = "")
$timestamp = $result["data"]["timestamp"];
return [0, $sign, $timestamp];
} else {
- return [-1, $result["show_msg"] ?? ""];
+ return [-1, $result["show_msg"] ?? "", ""];
}
}
function FileInfo(string $filename, float $size, string $md5, int $server_ctime)
diff --git a/common/list.php b/common/list.php
index 47751632..6e08a9b7 100644
--- a/common/list.php
+++ b/common/list.php
@@ -41,6 +41,7 @@
"mispw_9" => "提取码错误",
"mispwd-9" => "提取码错误",
"mis_2" => "不存在此目录",
+ 5 => "不存在此分享链接或提取码错误",
3 => "此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!",
0 => "啊哦,你来晚了,分享的文件已经被删除了,下次要早点哟。",
10 => "啊哦,来晚了,该分享文件已过期",