mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Use the database more efficiently
This commit is contained in:
@@ -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"];
|
||||
|
||||
@@ -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 "<br /><br />\n";
|
||||
|
||||
|
||||
echo "<table class='list'>\n";
|
||||
echo "<tr class='list-header'>\n";
|
||||
echo " <th class='checkbox'>\n";
|
||||
|
||||
@@ -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 "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
|
||||
if (permission_exists('extension_language')) {
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap>\n";
|
||||
@@ -2331,4 +2313,4 @@
|
||||
//include the footer
|
||||
require_once "resources/footer.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<br />\n";
|
||||
//echo "table_name: $table_name<br />\n";
|
||||
//echo "field_name: $field_name<br />\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";
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -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";
|
||||
|
||||
?>
|
||||
?>
|
||||
@@ -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')) {
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -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 @@
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
Reference in New Issue
Block a user