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; } // Initialize response $response = [ 'success' => true, 'games' => [], 'bundles' => [] // New array to store bundles ]; // Get all game JSON files - Updated path for v2.0 $game_files = glob("../../../titles/*.json"); $games_list = []; // Process each game file foreach ($game_files as $file) { try { // Load game data $game_data = json_decode(file_get_contents($file), true); // If valid game data, add to list if (isset($game_data['id']) && isset($game_data['name'])) { $games_list[] = [ 'id' => $game_data['id'], 'name' => $game_data['name'] ]; } } catch (Exception $e) { // Skip files that can't be processed continue; } } // Get all bundle JSON files - Updated path for v2.0 $bundle_files = glob("../../../bundles/*.json"); $bundles_list = []; // Process each bundle file foreach ($bundle_files as $file) { try { // Load bundle data $bundle_data = json_decode(file_get_contents($file), true); // If valid bundle data, add to list if (isset($bundle_data['id']) && isset($bundle_data['name'])) { $bundles_list[] = [ 'id' => $bundle_data['id'], 'name' => $bundle_data['name'] ]; } } catch (Exception $e) { // Skip files that can't be processed continue; } } // Sort games by name usort($games_list, function($a, $b) { return strcasecmp($a['name'], $b['name']); }); // Sort bundles by name usort($bundles_list, function($a, $b) { return strcasecmp($a['name'], $b['name']); }); $response['games'] = $games_list; $response['bundles'] = $bundles_list; $response['count'] = count($games_list); $response['bundle_count'] = count($bundles_list); // Add bundle count // Return the games and bundles list as JSON echo json_encode($response); ?>