Fix duration if null set to 0

If gmdate gets a null it uses the system time. This affected canceled calls.
This commit is contained in:
FusionPBX 2024-02-22 09:19:57 -07:00 committed by GitHub
parent 102d973f11
commit cdc11c5d16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 3 additions and 3 deletions

View File

@ -751,8 +751,8 @@
$hangup_cause = strtolower($hangup_cause);
$hangup_cause = ucwords($hangup_cause);
//if call cancelled, show the ring time, not the bill time.
$seconds = $row['hangup_cause'] == "ORIGINATOR_CANCEL" ? $row['duration'] : round(($row['billmsec'] / 1000), 0, PHP_ROUND_HALF_UP);
//get the duration if null use 0
$duration = $row['duration'] ?? 0;
//determine recording properties
if (!empty($row['record_path']) && !empty($row['record_name']) && permission_exists('xml_cdr_recording') && (permission_exists('xml_cdr_recording_play') || permission_exists('xml_cdr_recording_download'))) {
@ -914,7 +914,7 @@
}
//duration
if (permission_exists('xml_cdr_duration')) {
$content .= " <td class='middle center hide-sm-dn'>".gmdate("G:i:s", $seconds)."</td>\n";
$content .= " <td class='middle center hide-sm-dn'>".gmdate("G:i:s", $duration)."</td>\n";
}
//call result/status
if (permission_exists("xml_cdr_status")) {