1
0
mirror of https://github.com/Daichimarukana/uwuzu.git synced 2026-06-04 19:14:41 +00:00

uwuzu v1.4.10 Funium

This commit is contained in:
Daichimarukana
2024-12-27 18:11:13 +09:00
commit b6069366d1
495 changed files with 70483 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
<?php
require('../../db.php');
require("../../function/function.php");
header("Content-Type: application/json");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *");
if (safetext(isset($_POST['code'])) && safetext(isset($_POST['userid'])) && safetext(isset($_POST['account_id']))){
$postUserid = safetext($_POST['userid']);
$postCode= safetext($_POST['code']);
$loginid = safetext($_POST['account_id']);
try {
$option = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
);
$pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option);
} catch (PDOException $e) {
// 接続エラーのときエラー内容を取得する
$error_message[] = $e->getMessage();
}
// データベース接続の設定
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $postUserid));
$result2 = $query->fetch();
if($result2["loginid"] === $loginid){
if($result2["admin"] === "yes"){
try {
$pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS);
// 削除クエリを実行
$deleteQuery = $pdo->prepare("DELETE FROM invitation WHERE code = :code");
$deleteQuery->bindValue(':code', $postCode, PDO::PARAM_STR);
$res = $deleteQuery->execute();
if ($res) {
echo json_encode(['success' => true]);
exit;
} else {
echo json_encode(['success' => false, 'error' => '削除に失敗しました。']);
exit;
}
} catch(PDOException $e) {
echo json_encode(['success' => false, 'error' => 'データベースエラー:' . $e->getMessage()]);
exit;
}
}
}
}else{
echo json_encode(['success' => false, 'error' => '削除に失敗しました。(sess_err)']);
exit;
}
?>
+88
View File
@@ -0,0 +1,88 @@
<?php
require('../../db.php');
require("../../function/function.php");
header("Content-Type: application/json");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *");
if (isset($_FILES['update_zip']) && isset($_POST['userid']) && isset($_POST['account_id'])){
$postUserid = safetext($_POST['userid']);
$postZip= $_FILES['update_zip'];
$loginid = safetext($_POST['account_id']);
try {
$option = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_MULTI_STATEMENTS => false
);
$pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option);
} catch (PDOException $e) {
// 接続エラーのときエラー内容を取得する
$error_message[] = $e->getMessage();
}
// データベース接続の設定
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $postUserid));
$result2 = $query->fetch();
if($result2["loginid"] === $loginid){
if($result2["admin"] === "yes"){
$uploadDir = sys_get_temp_dir();
$uploadFile = $uploadDir . '/' . basename($_FILES['update_zip']['name']);
if (move_uploaded_file($_FILES['update_zip']['tmp_name'], $uploadFile)) {
$extractPath = $uploadDir . '/uwuzu_update_' . createUniqId();
$zip = new ZipArchive;
if ($zip->open($uploadFile) == true) {
$zip->extractTo($extractPath);
$zip->close();
// JSONファイルを読み込む
$jsonFile = $extractPath . '/update.json';
if (file_exists($jsonFile)) {
$jsonData = json_decode(file_get_contents($jsonFile), true);
if (json_last_error() === JSON_ERROR_NONE) {
$response = [
'success' => true,
'software_name' => safetext($jsonData['software']) ?? '名前がありません',
'version' => safetext($jsonData['version']) ?? 'バージョン情報がありません',
'release_notes' => safetext($jsonData['release_notes']) ?? 'リリースノートが見つかりません。',
'notices' => safetext($jsonData['notices']) ?? '注意事項が見つかりません。',
'file_path' => safetext($extractPath)
];
echo json_encode($response);
} else {
echo json_encode(['success' => false, 'error' => 'JSONファイルの読み込みに失敗しました。(ROADING_JSON_ERROR)']);
}
} else {
echo json_encode(['success' => false, 'error' => 'JSONファイルの読み込みに失敗しました。(ROADING_JSON_ERROR)']);
}
} else {
echo json_encode(['success' => false, 'error' => '読み込みに失敗しました。1(ROADING_ERROR)']);
}
if (file_exists($uploadFile)) {
if (is_file($uploadFile)) {
unlink($uploadFile);
}
}
}
}
}
}else{
echo json_encode(['success' => false, 'error' => '読み込みに失敗しました。2(ROADING_ERROR)']);
exit;
}
?>