openflexy

This commit is contained in:
2026-08-12 19:31:01 +02:00
parent 8e68820ba1
commit 8936ed1008
2 changed files with 26 additions and 19 deletions
+9 -16
View File
@@ -2,11 +2,9 @@
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
include('Connections/bkngstm.php');
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die(json_encode(['error' => 'Connessione al database fallita']));
}
@@ -38,22 +36,17 @@ if (isset($_GET['idorder'])) {
$expiry_row = $expiry_lessons_result->fetch_assoc();
$expirylessons = $expiry_row['expirylessons'];
// Calcola la data della expirylessons-esima lezione
$expiry_date_query = "SELECT dateschedule FROM serviceschedule WHERE idservice = ? AND dateschedule >= ? ORDER BY dateschedule LIMIT ?, 1";
$stmt_expiry_date = $conn->prepare($expiry_date_query);
$offset = $expirylessons - 1;
$stmt_expiry_date->bind_param("isi", $service_id, $first_lesson_date, $offset);
$stmt_expiry_date->execute();
$expiry_date_result = $stmt_expiry_date->get_result();
if ($expiry_date_result->num_rows > 0) {
$date_row = $expiry_date_result->fetch_assoc();
$expireon = $date_row['dateschedule'];
// expirylessons = numero di SETTIMANE di validità (es. 12 ticket -> 15 settimane)
// La scadenza si calcola SEMPRE dalla prima lezione, a prescindere
// dalle date presenti in calendario.
try {
$base = new DateTime($first_lesson_date);
$base->modify('+' . (int)$expirylessons . ' weeks');
$expireon = $base->format('Y-m-d');
echo json_encode(['expiry_date' => $expireon]);
} else {
echo json_encode(['error' => 'Non abbastanza lezioni disponibili per calcolare la scadenza']);
} catch (Exception $ex) {
echo json_encode(['error' => 'Data prima lezione non valida']);
}
$stmt_expiry_date->close();
} else {
echo json_encode(['error' => 'Nessun record in expiryparameter per quantityclass: ' . $quantity_class]);
}