mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-02-22 02:46:30 +00:00
Remove session from provisioning (#7014)
* use single database object, use settings class * add common domain functions * use settings class
This commit is contained in:
@@ -44,8 +44,14 @@
|
||||
$device_firmware_version = '';
|
||||
$device_template ='';
|
||||
|
||||
//include the device class
|
||||
require_once "app/devices/resources/classes/device.php";
|
||||
//get the domain uuid
|
||||
$domain_uuid = $_SESSION['domain_uuid'] ?? '';
|
||||
|
||||
//initialize the database object
|
||||
$database = database::new();
|
||||
|
||||
//initialize the settigns object
|
||||
$settings = new settings(['database' => $database, 'domain_uuid' => $domain_uuid]);
|
||||
|
||||
//action add or update
|
||||
if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) {
|
||||
@@ -56,12 +62,11 @@
|
||||
$action = "add";
|
||||
}
|
||||
|
||||
//get total device count from the database, check limit, if defined
|
||||
//get the total device count from the database, check the limit, if defined
|
||||
if ($action == 'add') {
|
||||
if (!empty($_SESSION['limit']['devices']['numeric']) && $_SESSION['limit']['devices']['numeric']) {
|
||||
$sql = "select count(*) from v_devices where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$database = new database;
|
||||
$total_devices = $database->select($sql, $parameters, 'column');
|
||||
if ($total_devices >= $_SESSION['limit']['devices']['numeric']) {
|
||||
message::add($text['message-maximum_devices'].' '.$_SESSION['limit']['devices']['numeric'], 'negative');
|
||||
@@ -101,7 +106,6 @@
|
||||
$sql = "select device_address from v_devices ";
|
||||
$sql .= "where device_uuid = :device_uuid ";
|
||||
$parameters['device_uuid'] = $device_uuid;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$device_address = $row["device_address"];
|
||||
@@ -224,7 +228,6 @@
|
||||
$sql .= " and d1.device_uuid <> :device_uuid ";
|
||||
}
|
||||
$parameters['device_address'] = $device_address;
|
||||
$database = new database;
|
||||
$domain_name = $database->select($sql, $parameters, 'column');
|
||||
if ($domain_name != '') {
|
||||
$message = $text['message-duplicate'].(if_group("superadmin") && $_SESSION["domain_name"] != $domain_name ? ": ".$domain_name : null);
|
||||
@@ -436,7 +439,6 @@
|
||||
}
|
||||
|
||||
//save the device
|
||||
$database = new database;
|
||||
$database->app_name = 'devices';
|
||||
$database->app_uuid = '4efa1a1a-32e7-bf83-534b-6c8299958a8e';
|
||||
$database->save($array);
|
||||
@@ -479,7 +481,7 @@
|
||||
|
||||
//write the provision files
|
||||
if (!empty($_SESSION['provision']['path']['text'])) {
|
||||
$prov = new provision;
|
||||
$prov = new provision(['settings' => $settings]);
|
||||
$prov->domain_uuid = $domain_uuid;
|
||||
$response = $prov->write();
|
||||
}
|
||||
@@ -507,7 +509,7 @@
|
||||
$sql = "select * from v_devices ";
|
||||
$sql .= "where device_uuid = :device_uuid ";
|
||||
$parameters['device_uuid'] = $device_uuid;
|
||||
$database = new database;
|
||||
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && @sizeof($row) != 0) {
|
||||
$device_address = $row["device_address"];
|
||||
@@ -556,7 +558,6 @@
|
||||
$sql .= "and device_uuid = :device_uuid ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$parameters['device_uuid'] = $device_uuid_alternate;
|
||||
$database = new database;
|
||||
$device_alternate = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
}
|
||||
@@ -566,7 +567,7 @@
|
||||
$sql .= "where device_uuid = :device_uuid ";
|
||||
$sql .= "order by cast(line_number as int) asc ";
|
||||
$parameters['device_uuid'] = $device_uuid ?? null;
|
||||
$database = new database;
|
||||
|
||||
$device_lines = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
@@ -606,7 +607,6 @@
|
||||
$sql .= "else 100 end, ";
|
||||
$sql .= $db_type == "mysql" ? "device_key_id asc " : "cast(device_key_id as numeric) asc ";
|
||||
$parameters['device_uuid'] = $device_uuid ?? null;
|
||||
$database = new database;
|
||||
$device_keys = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
@@ -638,7 +638,7 @@
|
||||
$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);
|
||||
|
||||
@@ -649,7 +649,6 @@
|
||||
$sql .= "and v.enabled = 'true' ";
|
||||
$sql .= "and f.enabled = 'true' ";
|
||||
$sql .= "order by v.name asc, f.type asc ";
|
||||
$database = new database;
|
||||
$vendor_functions = $database->select($sql, null, 'all');
|
||||
unset($sql);
|
||||
|
||||
@@ -658,7 +657,6 @@
|
||||
$sql .= "where device_uuid = :device_uuid ";
|
||||
$sql .= "order by device_setting_subcategory asc ";
|
||||
$parameters['device_uuid'] = $device_uuid ?? null;
|
||||
$database = new database;
|
||||
$device_settings = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters);
|
||||
|
||||
@@ -686,7 +684,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);
|
||||
|
||||
@@ -1007,7 +1004,7 @@
|
||||
}
|
||||
if (permission_exists("device_files")) {
|
||||
//get the template directory
|
||||
$prov = new provision;
|
||||
$prov = new provision(['settings' => $settings]);
|
||||
$prov->domain_uuid = $domain_uuid;
|
||||
$template_dir = $prov->template_dir;
|
||||
$files = glob($template_dir.'/'.$device_template.'/*');
|
||||
@@ -1017,8 +1014,7 @@
|
||||
echo " <option value=''>".$text['label-download']."</option>\n";
|
||||
foreach ($files as $file) {
|
||||
//format the device address
|
||||
$format = new provision();
|
||||
$address = $format->format_address($device_address, $device_vendor);
|
||||
$address = $prov->format_address($device_address, $device_vendor);
|
||||
//render the file name
|
||||
$file_name = str_replace("{\$address}", $address, basename($file));
|
||||
$file_name = str_replace("{\$mac}", $address, basename($file_name));
|
||||
@@ -1458,7 +1454,6 @@
|
||||
$sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
|
||||
$sql .= "order by device_profile_name asc ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$device_profiles = $database->select($sql, $parameters, 'all');
|
||||
if (is_array($device_profiles) && @sizeof($device_profiles) != 0) {
|
||||
echo " <tr>";
|
||||
|
||||
Reference in New Issue
Block a user