仰望星辰工作室

better-staridc-MNBT

better-staridc-MNBT/ user/api/database.php 5.0 KB · 139 行 原始文件
Z zfhsh first commit 1 天前
1<?php
2require_once __DIR__ . '/../../MPHX/database_backup.function.php';
3
4if($egn == "databasedel")
5{
6 include("../class.php");
7 $id = $_POST['id'];
8 $bt_api = new bt_api($btipe,$btkeye);
9 $r_data = $bt_api->DatabaseDelete($id);
10 logjl($yhc['user'],'数据库备份','删除了ID为'.$id.'的数据库备份',($r_data['msg']=='删除成功'?'删除成功':'删除失败'),$DB);
11 if($r_data['msg'] == "删除成功")
12 {
13 $user = $yhc['user'];
14 $backup_data = $DB->get_row_prepare("select * from MN_zj where user=?", [$user]);
15 $backup_max = json_decode($backup_data['backup'],true)["max"];
16 $backup_dq = json_decode($backup_data['backup'],true)["dq"];
17 if($backup_dq<=$backup_max && $backup_dq>0)
18 {
19 $backup_cz_array = json_decode($backup_data['backup'],true);
20 $backup_cz_array['dq'] = $backup_dq - 1;
21 $backup_cz_json = json_encode($backup_cz_array);
22 $DB->query_prepare("UPDATE `MN_zj` SET `backup` = ? WHERE `user` = ?", [$backup_cz_json, $user]);
23 json_exit($r_data['msg']);
24 }
25 json_exit($r_data['msg']);
26 }
27 else
28 {
29 exit('{"code":"宝塔那边出现了一点小问题请联系开发人员判断错误"}');
30 }
31 return;
32}
33if($egn == "databaseadd")
34{
35 include("../class.php");
36 $id = daddslashes($_POST['id']);
37 $user = $yhc['user'];
38 $backup_data = $DB->get_row_prepare("select * from MN_zj where user=?", [$user]);
39 $backup_max = json_decode($backup_data['backup'],true)["max"];
40 $backup_qd = json_decode($backup_data['backup'],true)["dq"];
41 if($backup_qd>=$backup_max)
42 {
43 exit('{"code":"你的备份次数用完了"}');
44 }
45 else
46 {
47 $bt_api = new bt_api($btipe,$btkeye);
48 $r_data = $bt_api->Databaseadd($id);
49 logjl($yhc['user'],'数据库备份','备份了ID为'.$id.'的数据库',($r_data['msg']=='备份成功!'?'备份成功':'备份失败'),$DB);
50 if($r_data['msg'] == "备份成功!")
51 {
52 $backup_cz_array = json_decode($backup_data['backup'],true);
53 $backup_cz_array['dq'] = $backup_qd + 1;
54 $backup_cz_json = json_encode($backup_cz_array);
55 $DB->query_prepare("UPDATE `MN_zj` SET `backup` = ? WHERE `user` = ?", [$backup_cz_json, $user]);
56 json_exit($r_data['msg']);
57 }
58 else
59 {
60 exit('{"code":"宝塔那边出现了一点小问题请联系开发人员判断错误"}');
61 }
62 }
63 return;
64}
65if($egn == "databasedownload")
66{
67 include("../class.php");
68 $filename = isset($_POST['filename']) ? trim((string)$_POST['filename']) : '';
69 if($filename === '')
70 {
71 json_exit_error('备份文件不能为空');
72 }
73 $bt_api = new bt_api($btipe,$btkeye);
74 $backup_list = $bt_api->Databasebackuplist($yhc['hxd']);
75 $backup_item = database_backup_find_item(database_backup_list_data($backup_list), $filename);
76 if(!$backup_item)
77 {
78 json_exit_error('备份文件不存在或无权限下载');
79 }
80 [$backup_path, $backup_name] = database_backup_split_file($backup_item['filename']);
81 if($backup_path === '' || $backup_name === '')
82 {
83 json_exit_error('备份文件路径异常');
84 }
85 $download_data = $bt_api->wailkq($backup_path, $backup_name);
86 $token = database_backup_extract_download_token($download_data);
87 if($token === '')
88 {
89 $message = isset($download_data['msg']) && is_scalar($download_data['msg']) ? (string)$download_data['msg'] : '获取下载链接失败';
90 json_exit_error($message);
91 }
92 $url = database_backup_build_download_url($btipe, $token);
93 logjl($yhc['user'],'数据库备份','下载数据库备份'.$backup_item['filename'],'获取下载链接成功',$DB);
94 json_exit_success('获取下载链接成功', ['url' => $url]);
95 return;
96}
97if($egn == "databaserestore")
98{
99 include("../class.php");
100 $user = daddslashes($_POST['user']);
101 $filename = daddslashes($_POST['filename']);
102 $bt_api = new bt_api($btipe,$btkeye);
103 $r_data = $bt_api->Databaserestore($filename,$user);
104 logjl($yhc['user'],'数据库备份','恢复了数据库备份'.$filename,($r_data['msg']=='备份成功!'?'恢复成功':'恢复失败'),$DB);
105 json_exit($r_data['msg']);
106 return;
107}
108if($egn == "databaseaq1")
109{
110 include("../class.php");
111 $dataAccess = daddslashes($_POST['dataAccess']);
112 $bt_api = new bt_api($btipe,$btkeye);
113 $r_data = $bt_api->SetDatabaseAccess($yhc['sqluser'],$dataAccess);
114 json_exit($r_data['msg']);
115 return;
116}
117if($egn == "Delalldatabase")
118{
119 $name = $yhc['sqldz'];
120 $mysqluser = $yhc['sqluser'];
121 $mysqpassword = $yhc['sqlpass'];
122 $mysqldb = $mysqluser;
123 $conn = mysqli_connect("localhost",$mysqluser,$mysqpassword,$mysqldb);
124 if (!$conn) {
125 exit('{"code":"数据库连接失败请联系开发人员"}');
126 }
127 else
128 {
129 $data = mysqli_query($conn,"SHOW TABLES");
130 while($row = mysqli_fetch_array($data))
131 {
132 $table = $row[0];
133 mysqli_query($conn,"DROP TABLE IF EXISTS $table");
134 }
135 json_exit('删除成功');
136 }
137 logjl($yhc['user'],'清空数据库','清空了所有数据库表','清空成功',$DB);
138 return;
139}