Remove the unset($database) statements (#7084)

* Remove the unset($database) statements
The database object is a global variable that contains a database object reference and should not be unset.

* Update event_guard.php

* Update event_guard.php

* Update event_guard.php

---------

Co-authored-by: Tim Fry <tim@fusionpbx.com>
Co-authored-by: FusionPBX <markjcrane@gmail.com>
This commit is contained in:
frytimo
2024-08-06 16:19:45 -03:00
committed by GitHub
parent c960575796
commit 7630056bb8
6 changed files with 34 additions and 44 deletions
@@ -102,6 +102,9 @@
} }
} }
//connect to the database
$database = database::new();
//test a specific address //test a specific address
//$ip_address = '10.7.0.253'; //$ip_address = '10.7.0.253';
//$result = access_allowed($ip_address); //$result = access_allowed($ip_address);
@@ -174,11 +177,11 @@
} }
//debug info //debug info
//if ($debug) { //if ($debug) {
// print_r($json_array); // print_r($json_array);
//} //}
//registration failed - block IP address unless they are registered, //registration failed - block IP address unless they are registered
if (is_array($json_array) && $json_array['Event-Subclass'] == 'sofia::register_failure') { if (is_array($json_array) && $json_array['Event-Subclass'] == 'sofia::register_failure') {
//not registered so block the address //not registered so block the address
if (!access_allowed($json_array['network-ip'])) { if (!access_allowed($json_array['network-ip'])) {
@@ -195,9 +198,7 @@
$sql .= "and hostname = :hostname "; $sql .= "and hostname = :hostname ";
//if ($debug) { echo $sql." ".$hostname."\n"; } //if ($debug) { echo $sql." ".$hostname."\n"; }
$parameters['hostname'] = $hostname; $parameters['hostname'] = $hostname;
$database = new database;
$event_guard_logs = $database->select($sql, $parameters, 'all'); $event_guard_logs = $database->select($sql, $parameters, 'all');
unset($database);
if (is_array($event_guard_logs)) { if (is_array($event_guard_logs)) {
foreach($event_guard_logs as $row) { foreach($event_guard_logs as $row) {
//unblock the ip address //unblock the ip address
@@ -222,13 +223,12 @@
if (is_array($array)) { if (is_array($array)) {
$p = new permissions; $p = new permissions;
$p->add('event_guard_log_edit', 'temp'); $p->add('event_guard_log_edit', 'temp');
$database = new database;
$database->app_name = 'event guard'; $database->app_name = 'event guard';
$database->app_uuid = 'c5b86612-1514-40cb-8e2c-3f01a8f6f637'; $database->app_uuid = 'c5b86612-1514-40cb-8e2c-3f01a8f6f637';
$database->save($array); $database->save($array);
//$message = $database->message; //$message = $database->message;
$p->delete('event_guard_log_edit', 'temp'); $p->delete('event_guard_log_edit', 'temp');
unset($database, $array); unset($array);
} }
} }
} }
@@ -305,7 +305,7 @@
//block an ip address //block an ip address
function block($ip_address, $filter, $event) { function block($ip_address, $filter, $event) {
//define the global variables //define the global variables
global $firewall_path, $firewall_name; global $database, $debug, $firewall_path, $firewall_name;
//invalid ip address //invalid ip address
if (!filter_var($ip_address, FILTER_VALIDATE_IP)) { if (!filter_var($ip_address, FILTER_VALIDATE_IP)) {
@@ -332,6 +332,7 @@
closelog(); closelog();
//log the blocked ip address to the database //log the blocked ip address to the database
$array = [];
$array['event_guard_logs'][0]['event_guard_log_uuid'] = uuid(); $array['event_guard_logs'][0]['event_guard_log_uuid'] = uuid();
$array['event_guard_logs'][0]['hostname'] = gethostname(); $array['event_guard_logs'][0]['hostname'] = gethostname();
$array['event_guard_logs'][0]['log_date'] = 'now()'; $array['event_guard_logs'][0]['log_date'] = 'now()';
@@ -342,26 +343,22 @@
$array['event_guard_logs'][0]['log_status'] = 'blocked'; $array['event_guard_logs'][0]['log_status'] = 'blocked';
$p = new permissions; $p = new permissions;
$p->add('event_guard_log_add', 'temp'); $p->add('event_guard_log_add', 'temp');
$database = new database;
$database->app_name = 'event guard'; $database->app_name = 'event guard';
$database->app_uuid = 'c5b86612-1514-40cb-8e2c-3f01a8f6f637'; $database->app_uuid = 'c5b86612-1514-40cb-8e2c-3f01a8f6f637';
$database->save($array); $database->save($array);
$p->delete('event_guard_log_add', 'temp'); $p->delete('event_guard_log_add', 'temp');
unset($database, $array);
//send debug information to the console //send debug information to the console
if ($debug) { if ($debug) {
echo "blocked address ".$ip_address .", line ".__line__."\n"; echo "blocked address ".$ip_address .", line ".__line__."\n";
} }
//unset the array
unset($event);
} }
//unblock the ip address //unblock the ip address
function unblock($ip_address, $filter) { function unblock($ip_address, $filter) {
//define the global variables //define the global variables
global $firewall_path, $firewall_name; global $debug, $firewall_path, $firewall_name;
//invalid ip address //invalid ip address
if (!filter_var($ip_address, FILTER_VALIDATE_IP)) { if (!filter_var($ip_address, FILTER_VALIDATE_IP)) {
@@ -536,6 +533,8 @@
//determine if the IP address has been allowed by the access control list node cidr //determine if the IP address has been allowed by the access control list node cidr
function access_control_allowed($ip_address) { function access_control_allowed($ip_address) {
global $database;
//invalid ip address //invalid ip address
if (!filter_var($ip_address, FILTER_VALIDATE_IP)) { if (!filter_var($ip_address, FILTER_VALIDATE_IP)) {
return false; return false;
@@ -547,9 +546,7 @@
$sql .= "where node_type = 'allow' "; $sql .= "where node_type = 'allow' ";
$sql .= "and length(node_cidr) > 0 "; $sql .= "and length(node_cidr) > 0 ";
$parameters = null; $parameters = null;
$database = new database;
$allowed_nodes = $database->select($sql, $parameters, 'all'); $allowed_nodes = $database->select($sql, $parameters, 'all');
unset($database);
//default authorized to false //default authorized to false
$allowed = false; $allowed = false;
@@ -580,6 +577,8 @@
//determine if the IP address has been allowed by a successful authentication //determine if the IP address has been allowed by a successful authentication
function user_log_allowed($ip_address) { function user_log_allowed($ip_address) {
global $database, $debug;
//invalid ip address //invalid ip address
if (!filter_var($ip_address, FILTER_VALIDATE_IP)) { if (!filter_var($ip_address, FILTER_VALIDATE_IP)) {
return false; return false;
@@ -591,10 +590,8 @@
$sql .= "where remote_address = :remote_address "; $sql .= "where remote_address = :remote_address ";
$sql .= "and result = 'success' "; $sql .= "and result = 'success' ";
$sql .= "and timestamp > NOW() - INTERVAL '8 days' "; $sql .= "and timestamp > NOW() - INTERVAL '8 days' ";
$parameters['remote_address'] = $ip_address; $parameters['remote_address'] = $ip_address;
$database = new database;
$user_log_count = $database->select($sql, $parameters, 'column'); $user_log_count = $database->select($sql, $parameters, 'column');
unset($database);
//debug info //debug info
if ($debug) { if ($debug) {
@@ -616,6 +613,8 @@
//determine if the IP address has been unblocked in the event guard log //determine if the IP address has been unblocked in the event guard log
function event_guard_log_allowed($ip_address) { function event_guard_log_allowed($ip_address) {
global $database, $debug;
//invalid ip address //invalid ip address
if (!filter_var($ip_address, FILTER_VALIDATE_IP)) { if (!filter_var($ip_address, FILTER_VALIDATE_IP)) {
return false; return false;
@@ -626,10 +625,8 @@
$sql .= "from v_event_guard_logs "; $sql .= "from v_event_guard_logs ";
$sql .= "where ip_address = :ip_address "; $sql .= "where ip_address = :ip_address ";
$sql .= "and log_status = 'unblocked' "; $sql .= "and log_status = 'unblocked' ";
$parameters['ip_address'] = $ip_address; $parameters['ip_address'] = $ip_address;
$database = new database;
$user_log_count = $database->select($sql, $parameters, 'column'); $user_log_count = $database->select($sql, $parameters, 'column');
unset($database);
//debug info //debug info
if ($debug) { if ($debug) {
@@ -651,7 +648,7 @@
//add IP table chains //add IP table chains
function iptables_chain_add($chain) { function iptables_chain_add($chain) {
//define the global variables //define the global variables
global $firewall_path, $firewall_name; global $firewall_path;
//if the chain exists return true //if the chain exists return true
if (iptables_chain_exists($chain)) { if (iptables_chain_exists($chain)) {
@@ -679,7 +676,7 @@
//check if the iptables chain exists //check if the iptables chain exists
function iptables_chain_exists($chain) { function iptables_chain_exists($chain) {
//define the global variables //define the global variables
global $firewall_path, $firewall_name; global $firewall_path;
//build the command to check if the iptables chain exists //build the command to check if the iptables chain exists
$command = $firewall_path."/./iptables --list INPUT --numeric | grep ".$chain." | awk '{print \$1}' | sed ':a;N;\$!ba;s/\\n/,/g' "; $command = $firewall_path."/./iptables --list INPUT --numeric | grep ".$chain." | awk '{print \$1}' | sed ':a;N;\$!ba;s/\\n/,/g' ";
+4 -13
View File
@@ -39,6 +39,9 @@
exit; exit;
} }
//connect to database
$database = database::new();
//add multi-lingual support //add multi-lingual support
$language = new text; $language = new text;
$text = $language->get(); $text = $language->get();
@@ -64,7 +67,6 @@
$sql = "select count(*) from v_ring_groups "; $sql = "select count(*) from v_ring_groups ";
$sql .= "where domain_uuid = :domain_uuid "; $sql .= "where domain_uuid = :domain_uuid ";
$parameters['domain_uuid'] = $domain_uuid; $parameters['domain_uuid'] = $domain_uuid;
$database = new database;
$total_ring_groups = $database->select($sql, $parameters ?? null, 'column'); $total_ring_groups = $database->select($sql, $parameters ?? null, 'column');
unset($sql, $parameters); unset($sql, $parameters);
@@ -83,7 +85,6 @@
$sql = "select domain_uuid from v_ring_groups "; $sql = "select domain_uuid from v_ring_groups ";
$sql .= "where ring_group_uuid = :ring_group_uuid "; $sql .= "where ring_group_uuid = :ring_group_uuid ";
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$database = new database;
$domain_uuid = $database->select($sql, $parameters, 'column'); $domain_uuid = $database->select($sql, $parameters, 'column');
unset($sql, $parameters); unset($sql, $parameters);
} }
@@ -113,7 +114,6 @@
$p->add('ring_group_user_delete', 'temp'); $p->add('ring_group_user_delete', 'temp');
//execute delete //execute delete
$database = new database;
$database->app_name = 'ring_groups'; $database->app_name = 'ring_groups';
$database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2'; $database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2';
$database->delete($array); $database->delete($array);
@@ -135,7 +135,6 @@
$sql = "select count(*) from v_ring_groups "; $sql = "select count(*) from v_ring_groups ";
$sql .= "where domain_uuid = :domain_uuid "; $sql .= "where domain_uuid = :domain_uuid ";
$parameters['domain_uuid'] = $domain_uuid; $parameters['domain_uuid'] = $domain_uuid;
$database = new database;
$total_ring_groups = $database->select($sql, $parameters, 'column'); $total_ring_groups = $database->select($sql, $parameters, 'column');
unset($sql, $parameters); unset($sql, $parameters);
@@ -222,7 +221,6 @@
$sql = "select * from v_ring_groups "; $sql = "select * from v_ring_groups ";
$sql .= "where ring_group_uuid = :ring_group_uuid "; $sql .= "where ring_group_uuid = :ring_group_uuid ";
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row'); $row = $database->select($sql, $parameters, 'row');
if (!empty($row)) { if (!empty($row)) {
//if (!permission_exists(ring_group_domain')) { //if (!permission_exists(ring_group_domain')) {
@@ -253,7 +251,6 @@
$p->add('ring_group_user_add', 'temp'); $p->add('ring_group_user_add', 'temp');
//execute delete //execute delete
$database = new database;
$database->app_name = 'ring_groups'; $database->app_name = 'ring_groups';
$database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2'; $database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2';
$database->save($array); $database->save($array);
@@ -431,9 +428,8 @@
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$parameters['range_first_extension'] = $range_first_extension; $parameters['range_first_extension'] = $range_first_extension;
$parameters['range_second_extension'] = $range_second_extension; $parameters['range_second_extension'] = $range_second_extension;
$database = new database;
$extensions = $database->select($sql, $parameters, 'all'); $extensions = $database->select($sql, $parameters, 'all');
unset($sql, $parameters, $database); unset($sql, $parameters);
// echo var_dump($extensions); // echo var_dump($extensions);
foreach ($extensions as $extension) { foreach ($extensions as $extension) {
$array["ring_groups"][0]["ring_group_destinations"][$y]["ring_group_uuid"] = $ring_group_uuid; $array["ring_groups"][0]["ring_group_destinations"][$y]["ring_group_uuid"] = $ring_group_uuid;
@@ -493,7 +489,6 @@
$p->add("dialplan_edit", "temp"); $p->add("dialplan_edit", "temp");
//save to the data //save to the data
$database = new database;
$database->app_name = 'ring_groups'; $database->app_name = 'ring_groups';
$database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2'; $database->app_uuid = '1d61fb65-1eec-bc73-a6ee-a6203b4fe6f2';
$database->save($array); $database->save($array);
@@ -547,7 +542,6 @@
$sql = "select * from v_ring_groups "; $sql = "select * from v_ring_groups ";
$sql .= "where ring_group_uuid = :ring_group_uuid "; $sql .= "where ring_group_uuid = :ring_group_uuid ";
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row'); $row = $database->select($sql, $parameters, 'row');
if (is_array($row) && @sizeof($row) != 0) { if (is_array($row) && @sizeof($row) != 0) {
$domain_uuid = $row["domain_uuid"]; $domain_uuid = $row["domain_uuid"];
@@ -602,7 +596,6 @@
$sql .= "order by destination_delay, destination_number asc "; $sql .= "order by destination_delay, destination_number asc ";
$parameters['domain_uuid'] = $domain_uuid; $parameters['domain_uuid'] = $domain_uuid;
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$database = new database;
$ring_group_destinations = $database->select($sql, $parameters, 'all'); $ring_group_destinations = $database->select($sql, $parameters, 'all');
unset($sql, $parameters); unset($sql, $parameters);
} }
@@ -637,7 +630,6 @@
$sql .= "order by u.username asc "; $sql .= "order by u.username asc ";
$parameters['domain_uuid'] = $domain_uuid; $parameters['domain_uuid'] = $domain_uuid;
$parameters['ring_group_uuid'] = $ring_group_uuid; $parameters['ring_group_uuid'] = $ring_group_uuid;
$database = new database;
$ring_group_users = $database->select($sql, $parameters, 'all'); $ring_group_users = $database->select($sql, $parameters, 'all');
unset($sql, $parameters); unset($sql, $parameters);
} }
@@ -648,7 +640,6 @@
$sql .= "and user_enabled = 'true' "; $sql .= "and user_enabled = 'true' ";
$sql .= "order by username asc "; $sql .= "order by username asc ";
$parameters['domain_uuid'] = $domain_uuid; $parameters['domain_uuid'] = $domain_uuid;
$database = new database;
$users = $database->select($sql, $parameters, 'all'); $users = $database->select($sql, $parameters, 'all');
unset($sql, $parameters); unset($sql, $parameters);
-1
View File
@@ -111,7 +111,6 @@ if ($domains_processed == 1) {
$p->delete("var_edit", "temp"); $p->delete("var_edit", "temp");
} }
//set country depend variables as country code and international direct dialing code (exit code) //set country depend variables as country code and international direct dialing code (exit code)
if (!function_exists('set_country_vars')) { if (!function_exists('set_country_vars')) {
function set_country_vars($database, $x) { function set_country_vars($database, $x) {
+4 -2
View File
@@ -47,6 +47,9 @@
$_GET['show'] = 'false'; $_GET['show'] = 'false';
} }
//connect to database
$database = database::new();
//get post or get variables from http //get post or get variables from http
if (!empty($_REQUEST)) { if (!empty($_REQUEST)) {
$cdr_id = $_REQUEST["cdr_id"] ?? ''; $cdr_id = $_REQUEST["cdr_id"] ?? '';
@@ -571,7 +574,6 @@
} }
} }
$sql = str_replace(" ", " ", $sql); $sql = str_replace(" ", " ", $sql);
$database = new database;
if ($archive_request && $_SESSION['cdr']['archive_database']['boolean'] == 'true') { if ($archive_request && $_SESSION['cdr']['archive_database']['boolean'] == 'true') {
$database->driver = $_SESSION['cdr']['archive_database_driver']['text']; $database->driver = $_SESSION['cdr']['archive_database_driver']['text'];
$database->host = $_SESSION['cdr']['archive_database_host']['text']; $database->host = $_SESSION['cdr']['archive_database_host']['text'];
@@ -583,7 +585,7 @@
} }
$result = $database->select($sql, $parameters, 'all'); $result = $database->select($sql, $parameters, 'all');
$result_count = is_array($result) ? sizeof($result) : 0; $result_count = is_array($result) ? sizeof($result) : 0;
unset($database, $sql, $parameters); unset($sql, $parameters);
//return the paging //return the paging
if (empty($_REQUEST['export_format'])) { if (empty($_REQUEST['export_format'])) {
+3 -2
View File
@@ -38,6 +38,9 @@
exit; exit;
} }
//connect to database
$database = database::new();
//add multi-lingual support //add multi-lingual support
$language = new text; $language = new text;
$text = $language->get(); $text = $language->get();
@@ -78,7 +81,6 @@
//prepare to page the results //prepare to page the results
$sql = "select count(*) from v_databases "; $sql = "select count(*) from v_databases ";
$database = new database;
$num_rows = $database->select($sql, null, 'column'); $num_rows = $database->select($sql, null, 'column');
//prepare to page the results //prepare to page the results
@@ -92,7 +94,6 @@
$sql = str_replace('count(*)', '*', $sql); $sql = str_replace('count(*)', '*', $sql);
$sql .= order_by($order_by, $order); $sql .= order_by($order_by, $order);
$sql .= limit_offset($rows_per_page, $offset); $sql .= limit_offset($rows_per_page, $offset);
$database = new database;
$databases = $database->select($sql, null, 'all'); $databases = $database->select($sql, null, 'all');
unset($sql); unset($sql);
+4 -4
View File
@@ -37,6 +37,9 @@
exit; exit;
} }
//connect to database
$database = database::new();
//add multi-lingual support //add multi-lingual support
$language = new text; $language = new text;
$text = $language->get(); $text = $language->get();
@@ -136,7 +139,6 @@
$array['groups'][0]['group_description'] = $group_description; $array['groups'][0]['group_description'] = $group_description;
//save the data //save the data
$database = new database;
$database->app_name = 'Group Manager'; $database->app_name = 'Group Manager';
$database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84';
$database->save($array); $database->save($array);
@@ -150,11 +152,10 @@
$parameters['group_name'] = $group_name; $parameters['group_name'] = $group_name;
$parameters['group_name_previous'] = $group_name_previous; $parameters['group_name_previous'] = $group_name_previous;
$parameters['group_uuid'] = $group_uuid; $parameters['group_uuid'] = $group_uuid;
$database = new database;
$database->app_name = 'Group Manager'; $database->app_name = 'Group Manager';
$database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84'; $database->app_uuid = '2caf27b0-540a-43d5-bb9b-c9871a1e4f84';
$database->execute($sql, $parameters); $database->execute($sql, $parameters);
unset($sql, $parameters, $database); unset($sql, $parameters);
} }
//redirect the user //redirect the user
@@ -177,7 +178,6 @@
//$sql .= "and domain_uuid = :domain_uuid "; //$sql .= "and domain_uuid = :domain_uuid ";
//$parameters['domain_uuid'] = $_SESSION['domain_uuid']; //$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
$parameters['group_uuid'] = $group_uuid; $parameters['group_uuid'] = $group_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row'); $row = $database->select($sql, $parameters, 'row');
if (!empty($row)) { if (!empty($row)) {
$group_name = $row["group_name"]; $group_name = $row["group_name"];