Files
thetool/scripts/calendar/check_calendar_customer_reminder.php
Daniel Spitzer 79ba17ad6f Login Passwort reset
* Passwort Reset Funktion implementiert
2025-08-11 18:46:56 +02:00

76 lines
2.9 KiB
PHP

<?php
//require 'vendor/autoload.php';
require("../../config/config.php");
define('FRONKDB_SQLDEBUG', false);
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
require_once(LIBDIR . "/mvcfronk/mfRouter/mfRouter.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseModel.php");
require_once(LIBDIR . "/mvcfronk/mfBase/mfBaseController.php");
$me = new User(154);
define("INTERNAL_USER_ID", $me->id);
define("INTERNAL_USER_USERNAME", $me->username);
$sendReminder = CalendarModel::getCalendarEventsReminder();
if (empty($sendReminder)) {
die();
}
foreach ($sendReminder as $reminder) {
$dbcal = CalendarModel::dbKalender();
$sql = "UPDATE cal_events SET customer_info_reminder=2 WHERE id=" . $reminder['id'];
if (!$dbcal->query($sql)) {
echo "Error updating record: " . $dbcal->error;
die();
}
$calendarTemplate = CalendarTemplateModel::search(array("event_type" => $reminder['event_type'], "is_reminder" => 1));
if (empty($calendarTemplate)) {
continue;
}
$hour = (int)date('H', $reminder['start_time']);
if ($hour < 12) {
$vm = "vormittags";
} else {
$vm = "nachmittags";
}
$text = str_replace("[&&date&&]", date("d.m.Y", $reminder['start_time']), $calendarTemplate[0]->text);
$text = str_replace("[&&start&&]", date("H:i", $reminder['start_time']), $text);
$text = str_replace("[&&end&&]", date("H:i", $reminder['end_time']), $text);
$text = str_replace("[&&vmnm&&]", $vm, $text);
$reminderInfo = json_decode($reminder['customer_info_send'], true);
$customerInfoType = $reminderInfo['customer_info_type'];
$customerInfo = $reminderInfo['customer_info_type_text'];
if ($customerInfoType == 1) {
$body = $text;
$email = new Emailnotification();
$email->setSubject('Technikertermin Xinon');
$email->setBody($body);
$email->setFrom('termin@xinon.at', 'Terminbestätigung');
$email->setTo($customerInfo);
$email->send();
} else if ($customerInfoType == 2) {
$sms = new SmsNotification();
$body = "Xinon Terminbestätigung:" . PHP_EOL . $text;
$sms->setBody($body);
$customerNumber = trim($customerInfo);
$customerNumber = str_replace(" ", "", $customerNumber);
$customerNumber = str_replace("(", "", $customerNumber);
$customerNumber = str_replace(")", "", $customerNumber);
$customerNumber = str_replace("-", "", $customerNumber);
$customerNumber = str_replace("/", "", $customerNumber);
$customerNumber = str_replace(".", "", $customerNumber);
$customerNumber = str_replace(",", "", $customerNumber);
$customerNumber = str_replace(";", "", $customerNumber);
$customerNumber = str_replace(":", "", $customerNumber);
if (preg_match('/^0/', $customerNumber)) {
$customerNumber = "+43" . substr($customerNumber, 1);
}
$sms->setRecipient($customerNumber);
$sms->send();
}
}