getConnection(); // Recupera la scuola $stmt = $pdo->prepare("SELECT id, name FROM schools WHERE owner_id = ?"); $stmt->execute([$iduserlogin]); $school = $stmt->fetch(); if (!$school) die("Scuola non trovata."); $school_id = $school['id']; // Recupera i settings (anche se non esistono ancora) $stmt = $pdo->prepare("SELECT * FROM school_settings WHERE school_id = ?"); $stmt->execute([$school_id]); $settings = $stmt->fetch(); // Ricarica con default se manca la colonna (per scuole vecchie) if ($settings && !array_key_exists('portal_purchases_enabled', $settings)) { $settings['portal_purchases_enabled'] = 1; } if ($settings && !array_key_exists('rebooking_auto_approved', $settings)) { $settings['rebooking_auto_approved'] = 1; } $is_new = !$settings; $success_message = $error = ""; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // === Aspetto === $header_color = $_POST['header_color'] ?? '#ffffff'; $sidebar_color = $_POST['sidebar_color'] ?? '#ffffff'; $currency_code = strtoupper(trim($_POST['currency_code'] ?? 'EUR')); $enable_notifications = !empty($_POST['enable_notifications']) ? 1 : 0; // === Metodi di pagamento (multipli) === $payment_methods_array = $_POST['payment_methods'] ?? ['manual']; $payment_methods = implode(',', array_unique(array_filter($payment_methods_array))); if (empty($payment_methods)) $payment_methods = 'manual'; // sicurezza // === Impostazioni prodotti === $allow_freeze_global = !empty($_POST['allow_freeze_global']) ? 1 : 0; $freeze_max_days_global = $allow_freeze_global ? max(0, (int)($_POST['freeze_max_days_global'] ?? 30)) : 0; $auto_propagate_on_purchase = !empty($_POST['auto_propagate_on_purchase']) ? 1 : 0; $allow_full_access_rebooking = !empty($_POST['allow_full_access_rebooking']) ? 1 : 0; // Tipi di prodotto consentiti $product_types = []; if (!empty($_POST['allow_subscription'])) $product_types[] = 'subscription'; if (!empty($_POST['allow_carnet'])) $product_types[] = 'carnet'; if (!empty($_POST['allow_drop_in'])) $product_types[] = 'drop_in'; $allowed_product_types = !empty($product_types) ? implode(',', $product_types) : 'none'; $portal_purchases_enabled = !empty($_POST['portal_purchases_enabled']) ? 1 : 0; $rebooking_auto_approved = !empty($_POST['rebooking_auto_approved']) ? 1 : 0; // Se acquisti portale disabilitati → forza anche propagate a 0 $auto_propagate_on_purchase = $portal_purchases_enabled ? (!empty($_POST['auto_propagate_on_purchase']) ? 1 : 0) : 0; // === SALVATAGGIO === try { if ($is_new) { $stmt = $pdo->prepare(" INSERT INTO school_settings ( school_id, header_color, sidebar_color, payment_methods, currency_code, enable_notifications, allow_freeze_global, freeze_max_days_global, auto_propagate_on_purchase, allow_full_access_rebooking, allowed_product_types, portal_purchases_enabled, rebooking_auto_approved ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "); $stmt->execute([ $school_id, $header_color, $sidebar_color, $payment_methods, $currency_code, $enable_notifications, $allow_freeze_global, $freeze_max_days_global, $auto_propagate_on_purchase, $allow_full_access_rebooking, $allowed_product_types, $portal_purchases_enabled, $rebooking_auto_approved ]); $success_message = "Impostazioni create con successo!"; } else { $stmt = $pdo->prepare(" UPDATE school_settings SET header_color = ?, sidebar_color = ?, payment_methods = ?, currency_code = ?, enable_notifications = ?, allow_freeze_global = ?, freeze_max_days_global = ?, auto_propagate_on_purchase = ?, allow_full_access_rebooking = ?, allowed_product_types = ?, portal_purchases_enabled = ?, rebooking_auto_approved = ? WHERE school_id = ? "); $stmt->execute([ $header_color, $sidebar_color, $payment_methods, $currency_code, $enable_notifications, $allow_freeze_global, $freeze_max_days_global, $auto_propagate_on_purchase, $allow_full_access_rebooking, $allowed_product_types, $portal_purchases_enabled, $rebooking_auto_approved, $school_id ]); $success_message = "Impostazioni aggiornate con successo!"; } // Ricarica i settings aggiornati $stmt = $pdo->prepare("SELECT * FROM school_settings WHERE school_id = ?"); $stmt->execute([$school_id]); $settings = $stmt->fetch(); } catch (Exception $e) { $error = "Errore database: " . $e->getMessage(); } } ?> Impostazioni Scuola - <?php echo htmlspecialchars($school['name']); ?>

Impostazioni Scuola

Aspetto e Pagamenti

>
>
Se disattivato, anche la propagazione automatica e i pagamenti vengono forzati a NO.

>
>
>

Impostazioni Prodotti (valori predefiniti)
>
>
>
>
>
>
>

Approvazioni e Lezioni
>
Se disattivato, ogni richiesta di riprogrammazione dovrà essere approvata manualmente dalla segreteria.