false, 'message' => 'You are running an outdated script version run [update] to fix this issue' ]); exit; } if (!isset($_POST['password']) || empty($_POST['password'])) { echo json_encode([ 'success' => false, 'message' => 'Password is required' ]); exit; } $username = trim($_POST['username']); $password = trim($_POST['password']); // Verify user credentials - Updated path for v2.0 $user_files = glob("../../../users/*.json"); $user_authenticated = false; foreach ($user_files as $file) { $user_data = json_decode(file_get_contents($file), true); if ($user_data['username'] === $username) { // Verify password if (password_verify($password, $user_data['password'])) { $user_authenticated = true; } break; } } // If authentication failed, return error if (!$user_authenticated) { echo json_encode([ 'success' => false, 'message' => 'Authentication failed' ]); exit; } // Check if ID is provided if (!isset($_POST['id'])) { echo json_encode([ 'success' => false, 'message' => 'ID is required' ]); exit; } $id = $_POST['id']; // Determine if this is a game or bundle ID based on prefix $is_bundle = (strpos($id, 'cb') === 0); if ($is_bundle) { $file_path = "../../../bundles/{$id}.json"; $type = "bundle"; } else { $file_path = "../../../titles/{$id}.json"; $type = "game"; } // Check if file exists if (!file_exists($file_path)) { echo json_encode([ 'success' => false, 'message' => ucfirst($type) . ' not found' ]); exit; } // Load data try { $data = json_decode(file_get_contents($file_path), true); // Check if download URL exists if (!isset($data['download_url']) || empty($data['download_url'])) { echo json_encode([ 'success' => false, 'message' => 'Download URL not available for this ' . $type ]); exit; } // Return only the necessary information for downloading $response = [ 'success' => true, 'id' => $data['id'], 'name' => $data['name'], 'download_url' => $data['download_url'], 'type' => $type ]; // Add size information depending on type if ($is_bundle) { $response['size'] = isset($data['zipped_size']) ? $data['zipped_size'] : 'Unknown'; } else { $response['size'] = isset($data['size']) ? $data['size'] : 'Unknown'; } echo json_encode($response); } catch (Exception $e) { echo json_encode([ 'success' => false, 'message' => 'Error loading ' . $type . ' data: ' . $e->getMessage() ]); } ?>