diff --git a/application/VoiceCallHistory/VoiceCallHistoryModel.php b/application/VoiceCallHistory/VoiceCallHistoryModel.php index 0e26604d3..48cf33a3e 100644 --- a/application/VoiceCallHistory/VoiceCallHistoryModel.php +++ b/application/VoiceCallHistory/VoiceCallHistoryModel.php @@ -27,7 +27,10 @@ class VoiceCallHistoryModel { */ public static function generateFilterCondition(?string $filterValue, string $columnName): string { $sql = ""; - if (!empty($filterValue)) { + + if ($filterValue === "0" || $filterValue === "1") { + $sql .= " AND `$columnName` = " . $filterValue; + } else if (!empty($filterValue)) { $filterItems = explode(" ", $filterValue); foreach ($filterItems as $item) { $sql .= " AND `$columnName` LIKE '%" . $item . "%'"; @@ -111,6 +114,8 @@ class VoiceCallHistoryModel { if (isset($filters['start']['from']) && isset($filters['start']['to'])) { $sql = " AND `start` >= FROM_UNIXTIME(" . $filters['start']['from'] . ") AND `start` <= FROM_UNIXTIME(" . $filters['start']['to'] . ")"; } + $sql .= isset($filters['uid']) ? self::generateFilterCondition($filters['uid'], "uid") : ""; + $sql .= isset($filters['voice_account']) ? self::generateFilterCondition($filters['voice_account'], "voice_account") : ""; $sql .= isset($filters['end']) ? " AND `start` <= '" . $filters['end'] . "'" : ""; $sql .= isset($filters['source']) ? self::generateFilterCondition($filters['source'], "source") : ""; $sql .= isset($filters['destination']) ? self::generateFilterCondition($filters['destination'], "destination") : "";