Fix issue with roundToNearest15 Function would break php if the time worked was empty

This commit is contained in:
johnnyq 2023-09-27 16:01:44 -04:00
parent f914fbb96f
commit 375d5af974
2 changed files with 13 additions and 11 deletions

View File

@ -746,8 +746,13 @@ function shortenClient($client) {
}
function roundToNearest15($time) {
// Extract hours, minutes, and seconds from the time string
list($hours, $minutes, $seconds) = explode(':', $time);
// Validate the input time format
if (!preg_match('/^(\d{2}):(\d{2}):(\d{2})$/', $time, $matches)) {
return false; // or throw an exception
}
// Extract hours, minutes, and seconds from the matched time string
list(, $hours, $minutes, $seconds) = $matches;
// Convert everything to seconds for easier calculation
$totalSeconds = ($hours * 3600) + ($minutes * 60) + $seconds;
@ -755,18 +760,15 @@ function roundToNearest15($time) {
// Calculate the remainder when divided by 900 seconds (15 minutes)
$remainder = $totalSeconds % 900;
// If the total seconds is less than 15 minutes, round up to 15 minutes
if ($totalSeconds < 900) {
$totalSeconds = 900;
} else if ($remainder > 450) { // If remainder is more than 7.5 minutes (450 seconds), round up
if ($remainder > 450) { // If remainder is more than 7.5 minutes (450 seconds), round up
$totalSeconds += (900 - $remainder);
} else { // Else round down
$totalSeconds -= $remainder;
}
// Convert total seconds to the decimal format
// Convert total seconds to decimal hours
$decimalHours = $totalSeconds / 3600;
// Return the formatted string
// Return the decimal hours
return number_format($decimalHours, 2);
}

View File

@ -525,8 +525,8 @@ if (isset($_GET['ticket_id'])) {
$row = mysqli_fetch_assoc(mysqli_query($mysqli, $sql_prev_ticket));
$prev_ticket_id = intval($row['ticket_id']);
$prev_ticket_subject = htmlentities($row['ticket_subject']);
$prev_ticket_status = htmlentities($row['ticket_status']);
$prev_ticket_subject = nullable_htmlentities($row['ticket_subject']);
$prev_ticket_status = nullable_htmlentities($row['ticket_status']);
?>
<div>
@ -564,7 +564,7 @@ if (isset($_GET['ticket_id'])) {
// Get Watchers
$sql_ticket_watchers = mysqli_query($mysqli, "SELECT * FROM ticket_watchers WHERE watcher_ticket_id = $ticket_id ORDER BY watcher_email DESC");
while ($ticket_watcher_row = mysqli_fetch_array($sql_ticket_watchers)) {
$ticket_watcher_email = $ticket_watcher_row['watcher_email'];
$ticket_watcher_email = nullable_htmlentities($ticket_watcher_row['watcher_email']);
?>
<div class='mt-1'>
<i class="fa fa-fw fa-eye text-secondary ml-1 mr-2"></i><?php echo $ticket_watcher_email; ?>