From 965a26ba38dcc7e862afd806f826fdc804b9b0ce Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Wed, 1 Oct 2025 20:49:07 -0600 Subject: [PATCH] Fix the static database_maintenance method --- app/xml_cdr/resources/classes/xml_cdr.php | 43 ++++++++++++----------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/app/xml_cdr/resources/classes/xml_cdr.php b/app/xml_cdr/resources/classes/xml_cdr.php index 3fde2426b8..c7f4e4dfad 100644 --- a/app/xml_cdr/resources/classes/xml_cdr.php +++ b/app/xml_cdr/resources/classes/xml_cdr.php @@ -2276,32 +2276,35 @@ //set table name for query $table = 'xml_cdr'; + //get a database connection + $database = $settings->database(); + //get a list of domains - $domains = maintenance::get_domains($this->database); + $domains = maintenance::get_domains($database); foreach ($domains as $domain_uuid => $domain_name) { //get domain settings - $domain_settings = new settings(['database' => $this->database, 'domain_uuid' => $domain_uuid]); + $domain_settings = new settings(['database' => $database, 'domain_uuid' => $domain_uuid]); //get the retention days for xml cdr table using 'cdr' and 'database_retention_days' $xml_cdr_retention_days = $domain_settings->get('cdr', 'database_retention_days', ''); //get the retention days for xml cdr flow table - if ($this->database->table_exists('xml_cdr_flow')) { + if ($database->table_exists('xml_cdr_flow')) { $xml_cdr_flow_retention_days = $domain_settings->get('cdr', 'flow_database_retention_days', $xml_cdr_retention_days); } else { $xml_cdr_flow_retention_days = null; } //get the retention days for xml cdr json table - if ($this->database->table_exists('xml_cdr_json')) { + if ($database->table_exists('xml_cdr_json')) { $xml_cdr_json_retention_days = $domain_settings->get('cdr', 'json_database_retention_days', $xml_cdr_retention_days); } else { $xml_cdr_json_retention_days = null; } //get the retention days for xml cdr logs table - if ($this->database->table_exists('xml_cdr_logs')) { + if ($database->table_exists('xml_cdr_logs')) { $xml_cdr_logs_retention_days = $domain_settings->get('cdr', 'logs_database_retention_days', $xml_cdr_retention_days); } else { $xml_cdr_logs_retention_days = null; @@ -2313,13 +2316,13 @@ //clear out old xml_cdr records $sql = "delete from v_{$table} WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_retention_days} days'" . " and domain_uuid = '{$domain_uuid}'"; - $this->database->execute($sql); - $code = $this->database->message['code'] ?? 0; + $database->execute($sql); + $code = $database->message['code'] ?? 0; //record result if ($code == 200) { maintenance_service::log_write(self::class, "Successfully removed entries older than $xml_cdr_retention_days", $domain_uuid); } else { - $message = $this->database->message['message'] ?? "An unknown error has occurred"; + $message = $database->message['message'] ?? "An unknown error has occurred"; maintenance_service::log_write(self::class, "XML CDR " . "Unable to remove old database records. Error message: $message ($code)", $domain_uuid, maintenance_service::LOG_ERROR); } @@ -2327,13 +2330,13 @@ if (!empty($xml_cdr_flow_retention_days)) { $sql = "delete from v_xml_cdr_flow WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_flow_retention_days} days'" . " and domain_uuid = '{$domain_uuid}"; - $this->database->execute($sql); - $code = $this->database->message['code'] ?? 0; + $database->execute($sql); + $code = $database->message['code'] ?? 0; //record result - if ($this->database->message['code'] == 200) { + if ($database->message['code'] == 200) { maintenance_service::log_write(self::class, "Successfully removed XML CDR FLOW entries from $domain_name", $domain_uuid); } else { - $message = $this->database->message['message'] ?? "An unknown error has occurred"; + $message = $database->message['message'] ?? "An unknown error has occurred"; maintenance_service::log_write(self::class, "XML CDR FLOW " . "Unable to remove old database records. Error message: $message ($code)", $domain_uuid, maintenance_service::LOG_ERROR); } } @@ -2342,13 +2345,13 @@ if (!empty($xml_cdr_json_retention_days)) { $sql = "DELETE FROM v_xml_cdr_json WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_json_retention_days} days'" . " and domain_uuid = '{$domain_uuid}"; - $this->database->execute($sql); - $code = $this->database->message['code'] ?? 0; + $database->execute($sql); + $code = $database->message['code'] ?? 0; //record result - if ($this->database->message['code'] == 200) { + if ($database->message['code'] == 200) { maintenance_service::log_write(self::class, "Successfully removed XML CDR JSON entries from $domain_name", $domain_uuid); } else { - $message = $this->database->message['message'] ?? "An unknown error has occurred"; + $message = $database->message['message'] ?? "An unknown error has occurred"; maintenance_service::log_write(self::class, "XML CDR JSON " . "Unable to remove old database records. Error message: $message ($code)", $domain_uuid, maintenance_service::LOG_ERROR); } } @@ -2357,13 +2360,13 @@ if (!empty($xml_cdr_logs_retention_days)) { $sql = "DELETE FROM v_xml_cdr_logs WHERE insert_date < NOW() - INTERVAL '{$xml_cdr_logs_retention_days} days'" . " and domain_uuid = '{$domain_uuid}'"; - $this->database->execute($sql); - $code = $this->database->message['code'] ?? 0; + $database->execute($sql); + $code = $database->message['code'] ?? 0; //record result - if ($this->database->message['code'] === 200) { + if ($database->message['code'] === 200) { maintenance_service::log_write(self::class, "Successfully removed XML CDR LOG entries from $domain_name", $domain_uuid); } else { - $message = $this->database->message['message'] ?? "An unknown error has occurred"; + $message = $database->message['message'] ?? "An unknown error has occurred"; maintenance_service::log_write(self::class, "XML CDR LOG " . "Unable to remove old database records. Error message: $message ($code)", $domain_uuid, maintenance_service::LOG_ERROR); } }