61 lines
2.4 KiB
PHP
61 lines
2.4 KiB
PHP
<?php
|
|
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']));
|
|
}
|
|
|
|
if (isset($_GET['idorder'])) {
|
|
$idorder = $_GET['idorder'];
|
|
|
|
// Recupera i dati necessari dall'ordine
|
|
$order_query = "SELECT idservice, quantityclass, first_lesson_date FROM orderbook WHERE idorderbook = ?";
|
|
$stmt_order = $conn->prepare($order_query);
|
|
$stmt_order->bind_param("i", $idorder);
|
|
$stmt_order->execute();
|
|
$order_result = $stmt_order->get_result();
|
|
|
|
if ($order_result->num_rows > 0) {
|
|
$order_row = $order_result->fetch_assoc();
|
|
$service_id = $order_row['idservice'];
|
|
$quantity_class = $order_row['quantityclass'];
|
|
$first_lesson_date = $order_row['first_lesson_date'];
|
|
|
|
// Recupera expirylessons da expiryparameter
|
|
$expiry_lessons_query = "SELECT expirylessons FROM expiryparameter WHERE quantityclass = ?";
|
|
$stmt_expiry_lessons = $conn->prepare($expiry_lessons_query);
|
|
$stmt_expiry_lessons->bind_param("i", $quantity_class);
|
|
$stmt_expiry_lessons->execute();
|
|
$expiry_lessons_result = $stmt_expiry_lessons->get_result();
|
|
|
|
if ($expiry_lessons_result->num_rows > 0) {
|
|
$expiry_row = $expiry_lessons_result->fetch_assoc();
|
|
$expirylessons = $expiry_row['expirylessons'];
|
|
|
|
// 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]);
|
|
} catch (Exception $ex) {
|
|
echo json_encode(['error' => 'Data prima lezione non valida']);
|
|
}
|
|
} else {
|
|
echo json_encode(['error' => 'Nessun record in expiryparameter per quantityclass: ' . $quantity_class]);
|
|
}
|
|
$stmt_expiry_lessons->close();
|
|
} else {
|
|
echo json_encode(['error' => 'Ordine non trovato']);
|
|
}
|
|
$stmt_order->close();
|
|
}
|
|
|
|
$conn->close();
|