mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-04 10:43:49 +00:00
Database class integration. Modify database class singular() method to support table names ending in 'ses', such as v_databases.
This commit is contained in:
@@ -44,38 +44,41 @@
|
||||
|
||||
//get posted values, if any
|
||||
if (sizeof($_REQUEST) > 0) {
|
||||
$action = check_str($_REQUEST["action"]);
|
||||
$action = $_REQUEST["action"];
|
||||
$default_setting_uuids = $_REQUEST["id"];
|
||||
$enabled = check_str($_REQUEST['enabled']);
|
||||
$category = check_str($_REQUEST['category']);
|
||||
$search = check_str($_REQUEST['search']);
|
||||
$enabled = $_REQUEST['enabled'];
|
||||
$category = $_REQUEST['category'];
|
||||
$search = $_REQUEST['search'];
|
||||
|
||||
if (sizeof($default_setting_uuids) == 1 && $enabled != '') {
|
||||
$sql = "update v_default_settings set ";
|
||||
$sql .= "default_setting_enabled = '".$enabled."' ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuids[0]."'";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
if (sizeof($default_setting_uuids) == 1 && $enabled != '' && is_uuid($default_setting_uuids[0])) {
|
||||
$array['default_settings'][0]['default_setting_uuid'] = $default_setting_uuids[0];
|
||||
$array['default_settings'][0]['default_setting_enabled'] = $enabled;
|
||||
$database = new database;
|
||||
$database->app_name = 'default_settings';
|
||||
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
||||
$database->save($array);
|
||||
$message = $database->message;
|
||||
unset($array);
|
||||
|
||||
message::add($text['message-update']);
|
||||
header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null)."#anchor_".escape($category));
|
||||
header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null)."#anchor_".escape($category));
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($action == 'copy' && permission_exists('domain_setting_add')) {
|
||||
$target_domain_uuid = check_str($_POST["target_domain_uuid"]);
|
||||
$target_domain_uuid = $_POST["target_domain_uuid"];
|
||||
|
||||
if ($target_domain_uuid != '' && sizeof($default_setting_uuids) > 0) {
|
||||
if (is_uuid($target_domain_uuid) && sizeof($default_setting_uuids) > 0) {
|
||||
$settings_copied = 0;
|
||||
foreach ($default_setting_uuids as $default_setting_uuid) {
|
||||
|
||||
// get default setting from db
|
||||
$sql = "select * from v_default_settings ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$sql .= "where default_setting_uuid = :default_setting_uuid ";
|
||||
$parameters['default_setting_uuid'] = $default_setting_uuid;
|
||||
$database = new database;
|
||||
$row = $database->select($sql, $parameters, 'row');
|
||||
if (is_array($row) && sizeof($row) != 0) {
|
||||
$default_setting_category = $row["default_setting_category"];
|
||||
$default_setting_subcategory = $row["default_setting_subcategory"];
|
||||
$default_setting_name = $row["default_setting_name"];
|
||||
@@ -84,7 +87,7 @@
|
||||
$default_setting_enabled = $row["default_setting_enabled"];
|
||||
$default_setting_description = $row["default_setting_description"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
unset($sql, $parameters, $row);
|
||||
|
||||
//set a random password for http_auth_password
|
||||
if ($default_setting_subcategory == "http_auth_password") {
|
||||
@@ -93,77 +96,54 @@
|
||||
|
||||
// check if exists
|
||||
$sql = "select domain_setting_uuid from v_domain_settings ";
|
||||
$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
|
||||
$sql .= "and domain_setting_category = '".$default_setting_category."' ";
|
||||
$sql .= "and domain_setting_subcategory = '".$default_setting_subcategory."' ";
|
||||
$sql .= "and domain_setting_name = '".$default_setting_name."' ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$sql .= "and domain_setting_category = :domain_setting_category ";
|
||||
$sql .= "and domain_setting_subcategory = :domain_setting_subcategory ";
|
||||
$sql .= "and domain_setting_name = :domain_setting_name ";
|
||||
$sql .= "and domain_setting_name <> 'array' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
if (sizeof($result) > 0) {
|
||||
foreach ($result as &$row) {
|
||||
$target_domain_setting_uuid = $row["domain_setting_uuid"];
|
||||
break;
|
||||
}
|
||||
$action = "update";
|
||||
}
|
||||
else {
|
||||
$action = "add";
|
||||
}
|
||||
unset ($prep_statement);
|
||||
$parameters['domain_uuid'] = $target_domain_uuid;
|
||||
$parameters['domain_setting_category'] = $default_setting_category;
|
||||
$parameters['domain_setting_subcategory'] = $default_setting_subcategory;
|
||||
$parameters['domain_setting_name'] = $default_setting_name;
|
||||
$database = new database;
|
||||
$target_domain_setting_uuid = $database->select($sql, $parameters, 'column');
|
||||
$action = is_uuid($target_domain_setting_uuid) ? 'update' : 'add';
|
||||
unset($sql, $parameters);
|
||||
|
||||
// fix null
|
||||
$default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
|
||||
$default_setting_order = $default_setting_order != '' ? $default_setting_order : 'null';
|
||||
|
||||
// insert for target domain
|
||||
//begin array
|
||||
$array['domain_settings'][0]['domain_uuid'] = $target_domain_uuid;
|
||||
$array['domain_settings'][0]['domain_setting_category'] = $default_setting_category;
|
||||
$array['domain_settings'][0]['domain_setting_subcategory'] = $default_setting_subcategory;
|
||||
$array['domain_settings'][0]['domain_setting_name'] = $default_setting_name;
|
||||
$array['domain_settings'][0]['domain_setting_value'] = $default_setting_value;
|
||||
$array['domain_settings'][0]['domain_setting_order'] = $default_setting_order;
|
||||
$array['domain_settings'][0]['domain_setting_enabled'] = $default_setting_enabled;
|
||||
$array['domain_settings'][0]['domain_setting_description'] = $default_setting_description;
|
||||
|
||||
//insert
|
||||
if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
||||
$sql = "insert into v_domain_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "domain_setting_uuid, ";
|
||||
$sql .= "domain_setting_category, ";
|
||||
$sql .= "domain_setting_subcategory, ";
|
||||
$sql .= "domain_setting_name, ";
|
||||
$sql .= "domain_setting_value, ";
|
||||
$sql .= "domain_setting_order, ";
|
||||
$sql .= "domain_setting_enabled, ";
|
||||
$sql .= "domain_setting_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".$target_domain_uuid."', ";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".$default_setting_category."', ";
|
||||
$sql .= "'".$default_setting_subcategory."', ";
|
||||
$sql .= "'".$default_setting_name."', ";
|
||||
$sql .= "'".$default_setting_value."', ";
|
||||
$sql .= " ".$default_setting_order." , ";
|
||||
$sql .= "'".$default_setting_enabled."', ";
|
||||
$sql .= "'".$default_setting_description."' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$settings_copied++;
|
||||
} // add
|
||||
|
||||
$array['domain_settings'][0]['domain_setting_uuid'] = uuid();
|
||||
}
|
||||
//update
|
||||
if ($action == "update" && permission_exists('domain_setting_edit')) {
|
||||
$sql = "update v_domain_settings set ";
|
||||
$sql .= "domain_setting_category = '".$default_setting_category."', ";
|
||||
$sql .= "domain_setting_subcategory = '".$default_setting_subcategory."', ";
|
||||
$sql .= "domain_setting_name = '".$default_setting_name."', ";
|
||||
$sql .= "domain_setting_value = '".$default_setting_value."', ";
|
||||
$sql .= "domain_setting_order = ".$default_setting_order.", ";
|
||||
$sql .= "domain_setting_enabled = '".$default_setting_enabled."', ";
|
||||
$sql .= "domain_setting_description = '".$default_setting_description."' ";
|
||||
$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
|
||||
$sql .= "and domain_setting_uuid = '".$target_domain_setting_uuid."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
$array['domain_settings'][0]['domain_setting_uuid'] = $target_domain_setting_uuid;
|
||||
}
|
||||
|
||||
//execute
|
||||
if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
|
||||
$database = new database;
|
||||
$database->app_name = 'default_settings';
|
||||
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
||||
$database->save($array);
|
||||
$message = $database->message;
|
||||
unset($array);
|
||||
|
||||
$settings_copied++;
|
||||
} // update
|
||||
}
|
||||
|
||||
} // foreach
|
||||
|
||||
// set message
|
||||
@@ -174,21 +154,24 @@
|
||||
message::add($text['message-copy_failed']);
|
||||
}
|
||||
|
||||
header("Location: default_settings.php".(($search != '') ? "?search=".escape($search) : null));
|
||||
header("Location: default_settings.php".($search != '' ? "?search=".escape($search) : null));
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($action == 'delete' && permission_exists('default_setting_delete')) {
|
||||
if (sizeof($default_setting_uuids) > 0) {
|
||||
foreach ($default_setting_uuids as $default_setting_uuid) {
|
||||
foreach ($default_setting_uuids as $index => $default_setting_uuid) {
|
||||
//delete default_setting(s)
|
||||
$sql = "delete from v_default_settings ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
unset($sql);
|
||||
$array['default_settings'][$index]['default_setting_uuid'] = $default_setting_uuid;
|
||||
}
|
||||
if (is_array($array)) {
|
||||
$database = new database;
|
||||
$database->app_name = 'default_settings';
|
||||
$database->app_uuid = '2c2453c0-1bea-4475-9f44-4d969650de09';
|
||||
$database->delete($array);
|
||||
$message = $database->message;
|
||||
unset($array);
|
||||
}
|
||||
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids);
|
||||
}
|
||||
@@ -298,18 +281,10 @@
|
||||
echo "<br>";
|
||||
|
||||
//prepare to page the results
|
||||
$sql = "select count(*) as num_rows from v_default_settings ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] > 0) {
|
||||
$num_rows = $row['num_rows'];
|
||||
}
|
||||
else {
|
||||
$num_rows = '0';
|
||||
}
|
||||
}
|
||||
$sql = "select count(*) from v_default_settings ";
|
||||
$database = new database;
|
||||
$num_rows = $database->select($sql, null, 'column');
|
||||
unset($sql);
|
||||
|
||||
//prepare to page the results
|
||||
$rows_per_page = 1000;
|
||||
@@ -321,24 +296,22 @@
|
||||
|
||||
//get the list
|
||||
$sql = "select * from v_default_settings ";
|
||||
if (strlen($order_by) == 0) {
|
||||
if ($order_by == '') {
|
||||
$sql .= "order by default_setting_category, default_setting_subcategory, default_setting_order asc, default_setting_name, default_setting_value ";
|
||||
}
|
||||
else {
|
||||
$sql .= "order by $order_by $order ";
|
||||
$sql .= order_by($order_by, $order);
|
||||
}
|
||||
$sql .= "limit $rows_per_page offset $offset ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
$result_count = count($result);
|
||||
unset ($prep_statement, $sql);
|
||||
$sql .= limit_offset($rows_per_page, $offset);
|
||||
$database = new database;
|
||||
$result = $database->select($sql, null, 'all');
|
||||
unset($sql);
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
if ($result_count > 0) {
|
||||
if (is_array($result) && sizeof($result) != 0) {
|
||||
$previous_category = '';
|
||||
foreach($result as $row) {
|
||||
|
||||
@@ -403,14 +376,14 @@
|
||||
$name = $row['default_setting_name'];
|
||||
if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
|
||||
$sql = "select * from v_menus ";
|
||||
$sql .= "where menu_uuid = '".$row['default_setting_value']."' ";
|
||||
$sub_prep_statement = $db->prepare(check_sql($sql));
|
||||
$sub_prep_statement->execute();
|
||||
$sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset ($prep_statement, $sql);
|
||||
$sql .= "where menu_uuid = :menu_uuid ";
|
||||
$parameters['menu_uuid'] = $row['default_setting_value'];
|
||||
$database = new database;
|
||||
$sub_result = $database->select($sql, $parameters, 'all');
|
||||
foreach ($sub_result as &$sub_row) {
|
||||
echo $sub_row["menu_language"]." - ".$sub_row["menu_name"]."\n";
|
||||
}
|
||||
unset($sql, $sub_result, $sub_row);
|
||||
}
|
||||
else if ($category == "domain" && $subcategory == "template" && $name == "name" ) {
|
||||
echo " ".ucwords($row['default_setting_value']);
|
||||
|
||||
Reference in New Issue
Block a user