<?php
require_once '../includes/auth.php';
require_once '../includes/language_manager.php';

$auth = new Auth();
$auth->requireLogin();

header('Content-Type: application/json');

$method = $_SERVER['REQUEST_METHOD'];

try {
    switch ($method) {
        case 'POST':
            $input = json_decode(file_get_contents('php://input'), true);
            $language = $input['language'] ?? '';
            
            if (empty($language)) {
                throw new Exception('Language parameter is required');
            }
            
            $languageManager = LanguageManager::getInstance();
            $availableLanguages = $languageManager->getAvailableLanguages();
            
            if (!array_key_exists($language, $availableLanguages)) {
                throw new Exception('Unsupported language');
            }
            
            $languageManager->setLanguage($language);
            
            echo json_encode([
                'success' => true,
                'message' => 'Language changed successfully',
                'language' => $language,
                'current_language' => $languageManager->getCurrentLanguage()
            ]);
            break;
            
        case 'GET':
            $languageManager = LanguageManager::getInstance();
            
            echo json_encode([
                'success' => true,
                'current_language' => $languageManager->getCurrentLanguage(),
                'available_languages' => $languageManager->getAvailableLanguages()
            ]);
            break;
            
        default:
            throw new Exception('Method not allowed');
    }
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => $e->getMessage()
    ]);
}
?>
