0, 'path' => '/', 'domain' => '', 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ]); session_start(); session_regenerate_id(true); 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(); } //ログイン認証--------------------------------------------------- blockedIP($_SERVER['REMOTE_ADDR']); $is_login = uwuzuUserLogin($_SESSION, $_COOKIE, $_SERVER['REMOTE_ADDR'], "admin"); if($is_login === false){ header("Location: ../index.php"); exit; }else{ $userid = safetext($is_login['userid']); $username = safetext($is_login['username']); $loginid = safetext($is_login["loginid"]); $role = safetext($is_login["role"]); $sacinfo = safetext($is_login["sacinfo"]); $myblocklist = safetext($is_login["blocklist"]); $myfollowlist = safetext($is_login["follow"]); $is_Admin = safetext($is_login["admin"]); } $notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'"); $notiQuery->bindValue(':userid', $userid); $notiQuery->execute(); $notiData = $notiQuery->fetch(PDO::FETCH_ASSOC); $notificationcount = $notiData['notification_count']; if (!empty($_POST['update_submit'])) { if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['extract_path'])) { $extractPath = safetext($_POST['extract_path']); // JSONファイルの再読み込み $jsonFile = $extractPath . '/update.json'; if (file_exists($jsonFile)) { $jsonData = json_decode(file_get_contents($jsonFile), true); if (json_last_error() === JSON_ERROR_NONE) { // 上書きファイルの処理 if (!(empty($jsonData['files']['overwrite']))) { foreach ($jsonData['files']['overwrite'] as $file) { $sourceFile = $extractPath . '/' . $file; $destinationFile = $_SERVER['DOCUMENT_ROOT'] . '/' . $file; if (file_exists($sourceFile)) { // ディレクトリが存在しない場合は作成 $destinationDir = dirname($destinationFile); if (!file_exists($destinationDir)) { mkdir($destinationDir, 0775, true); } copy($sourceFile, $destinationFile); } else { $error_message[] = "アップデート元のzipファイルに本来予定されていたファイルがありませんでしたが、アップデート作業は完了しました。(UPDATE_FILE_NOT_FOUND(".$sourceFile."))"; } } } // 削除ファイルの処理 if (!(empty($jsonData['files']['delete']))) { foreach ($jsonData['files']['delete'] as $file) { $deleteFile = $_SERVER['DOCUMENT_ROOT'] . '/' . $file; if (file_exists($deleteFile)) { unlink($deleteFile); } else { $error_message[] = "削除予定のファイルがありませんでしたが、アップデート作業は完了しました。(DELETE_FILE_NOT_FOUND(".$deleteFile."))"; } } } } else { $error_message[] = "update.jsonがうまく読み込めませんでした。(LOADING_ERROR)"; } } else { $error_message[] = "update.jsonが見つかりませんでした。(LOADING_ERROR)"; } if (file_exists($extractPath)) { if (is_dir($extractPath)) { deleteDirectory($extractPath); } } } else { $error_message[] = "不正なリクエストです。(BAD_REQUEST)"; } } require('../logout/logout.php'); ?> アップデート - <?php echo safetext($serversettings["serverinfo"]["server_name"]);?>

アップデート

ここからuwuzuのアップデートが行えます。
データベースの構造に変更を加える必要のあるアップデートの場合、データベースの構造の変更を手動で行っていただいた後にここからuwuzu自体のアップデートが行えます。
uwuzuは一度アップデートするともとの状態に戻すことはできません。
また、アップデート中に発生したエラーや不具合に関してuwuzu開発者が責任を取ることはできません。

飛び級アップデートはuwuzuが破損するため絶対にしないでください。