getConnection(); // ID dell'utente loggato (assumiamo sia definito) if (!isset($iduserlogin)) { die("Errore: ID utente non definito."); } // Recupera i dati della scuola associata all'utente $stmt = $pdo->prepare(" SELECT s.*, u.first_name, u.last_name, u.email FROM auth_users u LEFT JOIN schools s ON s.owner_id = u.id WHERE u.id = ? "); $stmt->execute([$iduserlogin]); $school = $stmt->fetch(); if (!$school) { die("Errore: Utente non trovato."); } // Determina se è una nuova scuola $is_new = !isset($school['id']); if ($is_new) { $school = [ 'id' => null, 'owner_id' => $iduserlogin, 'name' => '', 'website' => '', 'email' => '', 'phone' => '', 'description' => '', 'address_street' => '', 'address_city' => '', 'address_postal_code' => '', 'address_province' => '', 'address_country' => '', 'latitude' => '', 'longitude' => '', 'owner_name' => '', 'vat_number' => '', 'logo' => '', 'status' => 'active', 'created_at' => '', 'updated_at' => '', 'first_name' => $school['first_name'], 'last_name' => $school['last_name'], 'email' => $school['email'] ]; } // Gestione del form if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = $_POST['name'] ?? ''; $website = $_POST['website'] ?? null; $email = $_POST['email'] ?? ''; $phone = $_POST['phone'] ?? null; $description = $_POST['description'] ?? null; $address_street = $_POST['address_street'] ?? ''; $address_city = $_POST['address_city'] ?? ''; $address_postal_code = $_POST['address_postal_code'] ?? ''; $address_province = $_POST['address_province'] ?? null; $address_country = $_POST['address_country'] ?? ''; $latitude = $_POST['latitude'] ? floatval($_POST['latitude']) : null; $longitude = $_POST['longitude'] ? floatval($_POST['longitude']) : null; $owner_name = $_POST['owner_name'] ?? ''; $vat_number = $_POST['vat_number'] ?? ''; $status = in_array($_POST['status'], ['active', 'inactive', 'suspended']) ? $_POST['status'] : 'active'; // Gestione del caricamento del logo $logo = $school['logo']; if (isset($_FILES['logo']) && $_FILES['logo']['error'] === UPLOAD_ERR_OK) { $file = $_FILES['logo']; $timestamp = time(); $original_name = basename($file['name']); $extension = strtolower(pathinfo($original_name, PATHINFO_EXTENSION)); $allowed_extensions = ['jpg', 'jpeg', 'png', 'gif']; if (in_array($extension, $allowed_extensions)) { $new_filename = "photoschool/{$iduserlogin}-{$timestamp}-{$original_name}"; if (move_uploaded_file($file['tmp_name'], $new_filename)) { $logo = $new_filename; if ($school['logo'] && file_exists($school['logo']) && !$is_new) { unlink($school['logo']); } } else { $error = "Errore durante il caricamento del logo."; } } else { $error = "Estensione del file non consentita. Usa JPG, JPEG, PNG o GIF."; } } // Aggiorna auth_users (opzionale, se vuoi aggiornare first_name e last_name) $stmt = $pdo->prepare("UPDATE auth_users SET first_name = ?, last_name = ? WHERE id = ?"); $stmt->execute([$school['first_name'], $school['last_name'], $iduserlogin]); if ($is_new) { $stmt = $pdo->prepare(" INSERT INTO schools (owner_id, name, website, email, phone, description, address_street, address_city, address_postal_code, address_province, address_country, latitude, longitude, owner_name, vat_number, logo, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "); $success = $stmt->execute([ $iduserlogin, $name, $website, $email, $phone, $description, $address_street, $address_city, $address_postal_code, $address_province, $address_country, $latitude, $longitude, $owner_name, $vat_number, $logo, $status ]); if ($success) { $success_message = "Scuola creata con successo!"; $stmt = $pdo->prepare(" SELECT s.*, u.first_name, u.last_name, u.email FROM auth_users u LEFT JOIN schools s ON s.owner_id = u.id WHERE u.id = ? "); $stmt->execute([$iduserlogin]); $school = $stmt->fetch(); $is_new = false; } else { $error = "Errore durante la creazione della scuola."; } } else { $stmt = $pdo->prepare(" UPDATE schools SET name = ?, website = ?, email = ?, phone = ?, description = ?, address_street = ?, address_city = ?, address_postal_code = ?, address_province = ?, address_country = ?, latitude = ?, longitude = ?, owner_name = ?, vat_number = ?, logo = ?, status = ? WHERE owner_id = ? "); $success = $stmt->execute([ $name, $website, $email, $phone, $description, $address_street, $address_city, $address_postal_code, $address_province, $address_country, $latitude, $longitude, $owner_name, $vat_number, $logo, $status, $iduserlogin ]); if ($success) { $success_message = "Dati aggiornati con successo!"; $stmt = $pdo->prepare(" SELECT s.*, u.first_name, u.last_name, u.email FROM auth_users u LEFT JOIN schools s ON s.owner_id = u.id WHERE u.id = ? "); $stmt->execute([$iduserlogin]); $school = $stmt->fetch(); } else { $error = "Errore durante l'aggiornamento dei dati."; } } } ?>