diff --git a/app/extensions/extension_copy.php b/app/extensions/extension_copy.php index fc3936beb0..9148d21b6b 100644 --- a/app/extensions/extension_copy.php +++ b/app/extensions/extension_copy.php @@ -38,6 +38,9 @@ exit; } +//initialize the database object + $database = new database; + //add multi-lingual support $language = new text; $text = $language->get(); @@ -66,7 +69,6 @@ $sql .= "and extension_uuid = :extension_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['extension_uuid'] = $extension_uuid; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $extension = $row["extension"]; @@ -140,9 +142,7 @@ $array['extensions'][0]['extension_type'] = $extension_type; $array['extensions'][0]['enabled'] = $enabled; $array['extensions'][0]['description'] = $description; - $database = new database; $database->save($array); - $message = $database->message; unset($array); //get the source extension voicemail data @@ -154,7 +154,6 @@ $sql .= "and voicemail_id = :voicemail_id "; $parameters['voicemail_id'] = is_numeric($number_alias) ? $number_alias : $extension; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $voicemail_mailto = $row["voicemail_mail_to"]; diff --git a/app/extensions/extension_download.php b/app/extensions/extension_download.php index 6b72f49cbd..30909f4822 100644 --- a/app/extensions/extension_download.php +++ b/app/extensions/extension_download.php @@ -38,6 +38,9 @@ exit; } +//initialize the database object + $database = new database; + //add multi-lingual support $language = new text; $text = $language->get(); @@ -148,7 +151,6 @@ $sql = "select ".implode(', ', $selected_columns)." from v_extensions "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $extensions = $database->select($sql, $parameters, 'all'); unset($sql, $parameters, $selected_columns); @@ -180,7 +182,7 @@ echo $text['description-extension_export']; echo "

\n"; - + echo "\n"; echo "\n"; echo " \n"; } - + if (permission_exists('extension_language')) { echo "\n"; echo "
\n"; diff --git a/app/extensions/extension_edit.php b/app/extensions/extension_edit.php index dde5950aa9..3b92172229 100644 --- a/app/extensions/extension_edit.php +++ b/app/extensions/extension_edit.php @@ -38,6 +38,9 @@ exit; } +//initialize the database object + $database = new database; + //add multi-lingual support $language = new text; $text = $language->get(); @@ -59,7 +62,6 @@ $sql .= "from v_extensions "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; $total_extensions = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); @@ -81,7 +83,6 @@ else { //lookup extension based on submitted uuid $sql = "select extension from v_extensions where extension_uuid = :extension_uuid"; $parameters['extension_uuid'] = $extension_uuid; - $database = new database; $extension = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); } @@ -186,7 +187,6 @@ } $sql .= "order by device_address asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $total_devices = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); @@ -227,7 +227,6 @@ $sql .= "d1.domain_uuid = d2.domain_uuid and "; $sql .= "d1.device_address = :device_address "; $parameters['device_address'] = $device_address; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row)) { if ($_SESSION['domain_uuid'] == $row['domain_uuid']) { @@ -266,7 +265,6 @@ $p->add('extension_user_delete', 'temp'); //save the array - $database = new database; $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; $database->delete($array); @@ -294,7 +292,6 @@ $p->add('device_line_delete', 'temp'); //save the array - $database = new database; $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; $database->delete($array); @@ -690,7 +687,6 @@ $sql .= "and domain_uuid = :domain_uuid "; $parameters['voicemail_id'] = $voicemail_id; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $voicemail_uuid = $row["voicemail_uuid"]; @@ -766,7 +762,6 @@ $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['server_address'] = $_SESSION['domain_name']; $parameters['user_id'] = $extension; - $database = new database; $database->execute($sql, $parameters); unset($sql, $parameters); } @@ -780,23 +775,20 @@ $parameters['device_key_label'] = $effective_caller_id_name; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['device_key_value'] = $extension; - $database = new database; $database->execute($sql, $parameters); unset($sql, $parameters); } //save to the data - $database = new database; $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; - $database->save($array); - $message = $database->message; + $message = $database->save($array); unset($array); - //reload acl if allowed + //reload the access control list if (permission_exists("extension_cidr")) { - $esl = event_socket::create(); - if ($esl->is_connected()) { event_socket::api("reloadacl"); } + $event_socket = event_socket::create(); + if ($event_socket->is_connected()) { event_socket::api("reloadacl"); } } //check the permissions @@ -824,7 +816,6 @@ $sql = "select user_context from v_extensions "; $sql .= "where extension_uuid = :extension_uuid "; $parameters['extension_uuid'] = $extension_uuid; - $database = new database; $user_context = $database->select($sql, $parameters, 'column'); } $cache = new cache; @@ -863,7 +854,6 @@ $sql = "select * from v_extensions "; $sql .= "where extension_uuid = :extension_uuid "; $parameters['extension_uuid'] = $extension_uuid; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $domain_uuid = $row["domain_uuid"]; @@ -924,7 +914,6 @@ $sql .= "and voicemail_id = :voicemail_id "; $parameters['domain_uuid'] = $domain_uuid; $parameters['voicemail_id'] = is_numeric($number_alias) ? $number_alias : $extension; - $database = new database; $row = $database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { $voicemail_password = str_replace("#", "", $row["voicemail_password"] ?? ''); @@ -956,7 +945,6 @@ $parameters['user_id_2'] = $number_alias ?? null; $parameters['password'] = $password ?? null; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $device_lines = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); @@ -969,7 +957,6 @@ } $sql .= "order by device_address asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $devices = $database->select($sql, $parameters, 'all'); if (!empty($devices) && is_array($devices)) { $total_devices = @sizeof($devices); @@ -981,7 +968,6 @@ $sql .= "from v_device_vendors "; $sql .= "where enabled = 'true' "; $sql .= "order by name asc "; - $database = new database; $device_vendors = $database->select($sql, null, 'all'); unset($sql); @@ -996,7 +982,6 @@ $sql .= "order by u.username asc "; $parameters['domain_uuid'] = $domain_uuid; $parameters['extension_uuid'] = $extension_uuid; - $database = new database; $assigned_users = $database->select($sql, $parameters, 'all'); if (is_array($assigned_users) && @sizeof($assigned_users) != 0) { foreach($assigned_users as $row) { @@ -1018,7 +1003,6 @@ $sql .= "and user_enabled = 'true' "; $sql .= "order by username asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $users = $database->select($sql, $parameters, 'all'); unset($sql, $parameters, $assigned_user_uuids, $assigned_user_uuid); @@ -1028,7 +1012,6 @@ $sql .= "and destination_type = 'inbound' "; $sql .= "order by destination_number asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $destinations = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); @@ -1040,7 +1023,6 @@ $sql .= "and destination_type_emergency = 1 "; $sql .= "order by destination_number asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $emergency_destinations = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); } @@ -2008,7 +1990,7 @@ echo "\n"; echo "
\n"; @@ -2331,4 +2313,4 @@ //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file diff --git a/app/extensions/extension_imports.php b/app/extensions/extension_imports.php index 7bbdf6150b..5283eef89c 100644 --- a/app/extensions/extension_imports.php +++ b/app/extensions/extension_imports.php @@ -37,6 +37,9 @@ exit; } +//initialize the database object + $database = new database; + //add multi-lingual support $language = new text; $text = $language->get(); @@ -117,7 +120,7 @@ $schema[$i]['fields'][] = $field_name; } } - $i++; + $i++; } } @@ -246,14 +249,13 @@ //user selected fields $fields = $_POST['fields']; - + //set the domain_uuid $domain_uuid = $_SESSION['domain_uuid']; //get the users $sql = "select * from v_users where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; $users = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); @@ -272,7 +274,7 @@ foreach ($fields as $key => $value) { //get the line $result = str_getcsv($line, $delimiter, $enclosure); - + //get the table and field name $field_array = explode(".",$value); $table_name = $field_array[0]; @@ -280,7 +282,7 @@ //echo "value: $value
\n"; //echo "table_name: $table_name
\n"; //echo "field_name: $field_name
\n"; - + //get the parent table name $parent = get_parent($schema, $table_name); @@ -322,7 +324,6 @@ if ($row_id === 1000) { //save to the data - $database = new database; $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; $database->save($array); @@ -342,7 +343,6 @@ //save to the data if (!empty($array) && is_array($array)) { - $database = new database; $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; $database->save($array); @@ -458,4 +458,4 @@ //include the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file diff --git a/app/extensions/extensions.php b/app/extensions/extensions.php index 8b7421e9f6..81d0d5e15a 100644 --- a/app/extensions/extensions.php +++ b/app/extensions/extensions.php @@ -39,6 +39,9 @@ exit; } +//initialize the database object + $database = new database; + //add multi-lingual support $language = new text; $text = $language->get(); @@ -85,7 +88,6 @@ $sql = "select count(*) from v_extensions "; $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; $total_extensions = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); } @@ -121,7 +123,6 @@ $sql .= ") "; $parameters['search'] = '%'.$search.'%'; } - $database = new database; $num_rows = $database->select($sql, $parameters ?? null, 'column'); //prepare to page the results @@ -198,7 +199,6 @@ } $sql .= order_by($order_by, $order, null, null, $sort); $sql .= limit_offset($rows_per_page, $offset); - $database = new database; $extensions = $database->select($sql, $parameters ?? null, 'all'); unset($sql, $parameters); @@ -436,4 +436,4 @@ //show the footer require_once "resources/footer.php"; -?> +?> \ No newline at end of file diff --git a/app/extensions/resources/classes/extension.php b/app/extensions/resources/classes/extension.php index 22c0e4410b..3599fa1c62 100644 --- a/app/extensions/resources/classes/extension.php +++ b/app/extensions/resources/classes/extension.php @@ -73,6 +73,7 @@ if (!class_exists('extension')) { public $enabled; public $description; public $delete_voicemail; + private $database; /** * declare private variables @@ -91,6 +92,11 @@ if (!class_exists('extension')) { */ public function __construct() { + //connect to the database + if (!isset($database)) { + $this->database = new database; + } + //assign private variables $this->app_name = 'extensions'; $this->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; @@ -113,8 +119,7 @@ if (!class_exists('extension')) { $sql .= "and enabled = 'true' "; $parameters['domain_uuid'] = $domain_uuid; $parameters['extension'] = $extension; - $database = new database; - return $database->select($sql, $parameters, 'column') != 0 ? true : false; + return $this->database->select($sql, $parameters, 'column') != 0 ? true : false; unset($sql, $parameters); } @@ -141,8 +146,7 @@ if (!class_exists('extension')) { $sql .= "and voicemail_id = :voicemail_id "; $parameters['domain_uuid'] = $this->domain_uuid; $parameters['voicemail_id'] = $this->voicemail_id; - $database = new database; - $voicemail_uuid = $database->select($sql, $parameters, 'column'); + $voicemail_uuid = $this->database->select($sql, $parameters, 'column'); unset($sql, $parameters); if (is_uuid($voicemail_uuid)) { @@ -170,10 +174,9 @@ if (!class_exists('extension')) { $array['voicemails'][0]['voicemail_enabled'] = $this->voicemail_enabled; $array['voicemails'][0]['voicemail_description'] = $this->description; //execute insert/update - $database = new database; - $database->app_name = 'extensions'; - $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; - $database->save($array); + $this->database->app_name = 'extensions'; + $this->database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; + $this->database->save($array); unset($array); //revoke temporary permissions $p->delete('voicemail_edit', 'temp'); @@ -204,8 +207,7 @@ if (!class_exists('extension')) { $sql .= "and coalesce(nullif(e.number_alias,''),e.extension) = cast(v.voicemail_id as varchar) "; $sql .= "order by e.call_group asc "; $parameters['domain_uuid'] = $domain_uuid; - $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $this->database->select($sql, $parameters, 'all'); unset($sql, $parameters); $extension_xml_condensed = false; @@ -567,8 +569,7 @@ if (!class_exists('extension')) { $sql .= "and extension_uuid = :extension_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $parameters['extension_uuid'] = $record['uuid']; - $database = new database; - $row = $database->select($sql, $parameters, 'row'); + $row = $this->database->select($sql, $parameters, 'row'); if (is_array($row) && @sizeof($row) != 0) { //for use below and to clear cache (bottom) @@ -622,8 +623,7 @@ if (!class_exists('extension')) { $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and voicemail_id in ('".implode("','", $voicemail_ids)."') "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $this->database->select($sql, $parameters, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $r => $row) { $voicemails[$r]['checked'] = 'true'; @@ -646,10 +646,9 @@ if (!class_exists('extension')) { $p->add('ring_group_destination_delete', 'temp'); //execute delete - $database = new database; - $database->app_name = $this->app_name; - $database->app_uuid = $this->app_uuid; - $database->delete($array); + $this->database->app_name = $this->app_name; + $this->database->app_uuid = $this->app_uuid; + $this->database->delete($array); unset($array); //revoke temporary permissions @@ -719,8 +718,7 @@ if (!class_exists('extension')) { $sql .= "where domain_uuid = :domain_uuid "; $sql .= "and ".$this->uuid_prefix."uuid in (".implode(', ', $uuids).") "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; - $database = new database; - $rows = $database->select($sql, $parameters, 'all'); + $rows = $this->database->select($sql, $parameters, 'all'); if (is_array($rows) && @sizeof($rows) != 0) { foreach ($rows as $row) { //for use below and to clear cache (bottom) @@ -749,10 +747,9 @@ if (!class_exists('extension')) { $p->add('extension_edit', 'temp'); //save the array - $database = new database; - $database->app_name = $this->app_name; - $database->app_uuid = $this->app_uuid; - $database->save($array); + $this->database->app_name = $this->app_name; + $this->database->app_uuid = $this->app_uuid; + $this->database->save($array); unset($array); //revoke temporary permissions @@ -801,3 +798,4 @@ if (!class_exists('extension')) { } ?> + diff --git a/app/extensions/resources/dashboard/caller_id.php b/app/extensions/resources/dashboard/caller_id.php index 967900b419..e72a58eb85 100644 --- a/app/extensions/resources/dashboard/caller_id.php +++ b/app/extensions/resources/dashboard/caller_id.php @@ -95,8 +95,7 @@ //save to the data $database->app_name = 'extensions'; $database->app_uuid = 'e68d9689-2769-e013-28fa-6214bf47fca3'; - $database->save($array); - $message = $database->message; + $message = $database->save($array); //update the session array if ($message['message'] == 'OK' && $message['code'] == '200') { @@ -317,4 +316,4 @@ } -?> +?> \ No newline at end of file