openflexy
This commit is contained in:
@@ -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]);
|
||||
}
|
||||
|
||||
@@ -89,11 +89,20 @@ $stmt_schedule->bind_param("is", $service_id, $first_lesson_date);
|
||||
$stmt_schedule->execute();
|
||||
$service_schedule_result = $stmt_schedule->get_result();
|
||||
|
||||
if ($service_schedule_result->num_rows > 0) {
|
||||
$is_openflexy = false;
|
||||
$stmt_svc_name = $conn->prepare("SELECT servicename FROM service WHERE idservice = ?");
|
||||
$stmt_svc_name->bind_param("i", $service_id);
|
||||
$stmt_svc_name->execute();
|
||||
if ($svc_row = $stmt_svc_name->get_result()->fetch_assoc()) {
|
||||
$is_openflexy = (strcasecmp(trim($svc_row['servicename']), 'OpenFlexy') === 0);
|
||||
}
|
||||
$stmt_svc_name->close();
|
||||
|
||||
if ($is_openflexy || $service_schedule_result->num_rows > 0) {
|
||||
echo "Record per l'ordine ID: $order_id\n";
|
||||
$inserted_count = 0;
|
||||
|
||||
while ($schedule_row = $service_schedule_result->fetch_assoc()) {
|
||||
while (!$is_openflexy && $schedule_row = $service_schedule_result->fetch_assoc()) {
|
||||
if ($inserted_count >= $quantity_class) {
|
||||
break;
|
||||
}
|
||||
@@ -255,7 +264,12 @@ if ($service_schedule_result->num_rows > 0) {
|
||||
$mail->Subject = "YogiBook - Prenotazioni effettuate per il tuo ordine $ordern";
|
||||
$mail->Body = str_replace(['{messageedit}', '{buttonedit}'], [$messageedit, $buttonedit], $htmlContent); // Se il template ha placeholders, altrimenti usa direttamente $messageedit come Body
|
||||
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
|
||||
$mail->send();
|
||||
try {
|
||||
$mail->send();
|
||||
} catch (Exception $e) {
|
||||
// la mail non deve bloccare la finalizzazione dell'ordine
|
||||
error_log('OpenFlexy/propaga - invio mail fallito: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
header("Location: orderbooklist.php");
|
||||
exit();
|
||||
|
||||
Reference in New Issue
Block a user