Database class integration.

This commit is contained in:
Nate
2019-07-10 12:14:47 -06:00
parent 0be2b78069
commit 4efd7dfbf6
6 changed files with 848 additions and 770 deletions
+171 -209
View File
@@ -62,35 +62,35 @@
}
//action add or update
if (isset($_REQUEST["id"])) {
if (is_uuid($_REQUEST["id"])) {
$action = "update";
$domain_setting_uuid = check_str($_REQUEST["id"]);
$domain_setting_uuid = $_REQUEST["id"];
}
else {
$action = "add";
}
//set the domain_uuid
if (strlen($_GET["domain_uuid"]) > 0) {
$domain_uuid = check_str($_GET["domain_uuid"]);
if (is_uuid($_GET["domain_uuid"])) {
$domain_uuid = $_GET["domain_uuid"];
}
//get http post variables and set them to php variables
if (count($_POST) > 0) {
$domain_setting_category = strtolower(check_str($_POST["domain_setting_category"]));
$domain_setting_subcategory = strtolower(check_str($_POST["domain_setting_subcategory"]));
$domain_setting_name = strtolower(check_str($_POST["domain_setting_name"]));
$domain_setting_value = check_str($_POST["domain_setting_value"]);
$domain_setting_order = check_str($_POST["domain_setting_order"]);
$domain_setting_enabled = strtolower(check_str($_POST["domain_setting_enabled"]));
$domain_setting_description = check_str($_POST["domain_setting_description"]);
$domain_setting_category = strtolower($_POST["domain_setting_category"]);
$domain_setting_subcategory = strtolower($_POST["domain_setting_subcategory"]);
$domain_setting_name = strtolower($_POST["domain_setting_name"]);
$domain_setting_value = $_POST["domain_setting_value"];
$domain_setting_order = $_POST["domain_setting_order"];
$domain_setting_enabled = strtolower($_POST["domain_setting_enabled"]);
$domain_setting_description = $_POST["domain_setting_description"];
}
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$msg = '';
if ($action == "update") {
$domain_setting_uuid = check_str($_POST["domain_setting_uuid"]);
$domain_setting_uuid = $_POST["domain_setting_uuid"];
}
//check for all required/authorized data
@@ -117,82 +117,69 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
//add or update the database
if ($_POST["persistformvar"] != "true") {
// fix null
$domain_setting_order = ($domain_setting_order != '') ? $domain_setting_order : 'null';
$domain_setting_order = $domain_setting_order != '' ? $domain_setting_order : 'null';
//update switch timezone variables
if ($domain_setting_category == "domain" && $domain_setting_subcategory == "time_zone" && $domain_setting_name == "name" ) {
//get the dialplan_uuid
$sql = "select * from v_dialplans ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql = "select dialplan_uuid from v_dialplans ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "and app_uuid = '9f356fe7-8cf8-4c14-8fe2-6daf89304458' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as $row) {
$dialplan_uuid = $row["dialplan_uuid"];
}
unset ($prep_statement);
$parameters['domain_uuid'] = $domain_uuid;
$database = new database;
$dialplan_uuid = $database->select($sql, $parameters, 'column');
unset($sql, $parameters);
//get the action
$sql = "select * from v_dialplan_details ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and dialplan_uuid = '".$dialplan_uuid."' ";
$sql = "select dialplan_detail_uuid from v_dialplan_details ";
$sql .= "where domain_uuid = :domain_uuid ";
$sql .= "and dialplan_uuid = :dialplan_uuid ";
$sql .= "and dialplan_detail_tag = 'action' ";
$sql .= "and dialplan_detail_type = 'set' ";
$sql .= "and dialplan_detail_data like 'timezone=%' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$detail_action = "add";
foreach ($result as $row) {
$dialplan_detail_uuid = $row["dialplan_detail_uuid"];
$detail_action = "update";
}
unset ($prep_statement);
$parameters['domain_uuid'] = $domain_uuid;
$parameters['dialplan_uuid'] = $dialplan_uuid;
$database = new database;
$dialplan_detail_uuid = $database->select($sql, $parameters, 'column');
$detail_action = is_uuid($dialplan_detail_uuid) ? 'update' : 'add';
unset($sql, $parameters);
//update the timezone
$p = new permissions;
if ($detail_action == "update") {
$sql = "update v_dialplan_details ";
$sql .= "set dialplan_detail_data = 'timezone=".$domain_setting_value."' ";
$sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' ";
$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
$p->add('dialplan_detail_edit', 'temp');
}
else {
$dialplan_detail_uuid = uuid();
$dialplan_detail_group = 0;
$sql = "insert into v_dialplan_details ";
$sql .= "(";
$sql .= "domain_uuid, ";
$sql .= "dialplan_detail_uuid, ";
$sql .= "dialplan_uuid, ";
$sql .= "dialplan_detail_tag, ";
$sql .= "dialplan_detail_type, ";
$sql .= "dialplan_detail_data, ";
$sql .= "dialplan_detail_inline, ";
$sql .= "dialplan_detail_group ";
$sql .= ") ";
$sql .= "values ";
$sql .= "(";
$sql .= "'".$domain_uuid."', ";
$sql .= "'".$dialplan_detail_uuid."', ";
$sql .= "'".$dialplan_uuid."', ";
$sql .= "'action', ";
$sql .= "'set', ";
$sql .= "'timezone=".$domain_setting_value."', ";
$sql .= "'true', ";
$sql .= "'".$dialplan_detail_group."' ";
$sql .= "); ";
$array['dialplan_details'][0]['dialplan_detail_uuid'] = uuid();
$array['dialplan_details'][0]['domain_uuid'] = $domain_uuid;
$array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid;
$array['dialplan_details'][0]['dialplan_detail_tag'] = 'action';
$array['dialplan_details'][0]['dialplan_detail_type'] = 'set';
$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone=".$domain_setting_value."';
$array['dialplan_details'][0]['dialplan_detail_inline'] = 'true';
$array['dialplan_details'][0]['dialplan_detail_group'] = '0';
$p->add('dialplan_detail_add', 'temp');
}
$db->query($sql);
unset($sql);
if (is_array($array) && sizeof($array) != 0) {
$database = new database;
$database->app_name = 'domain_settings';
$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
$database->save($array);
unset($array);
//get the dialplan_uuid
$sql = "select * from v_domains ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_NAMED);
$domain_name = $row["domain_name"];
unset ($prep_statement);
$p->delete('dialplan_detail_edit', 'temp');
$p->delete('dialplan_detail_add', 'temp');
}
//get the dialplan uuid
$sql = "select domain_name from v_domains ";
$sql .= "where domain_uuid = :domain_uuid ";
$parameters['domain_uuid'] = $domain_uuid;
$database = new database;
$domain_name = $database->select($sql, $parameters, 'column');
unset($sql, $parameters);
//update the dialplan xml
$dialplans = new dialplan;
@@ -206,132 +193,111 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$cache->delete("dialplan:".$domain_name);
}
//add the domain
//add
if ($action == "add" && permission_exists('domain_setting_add')) {
$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 .= "'$domain_uuid', ";
$sql .= "'".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 .= ")";
$db->exec(check_sql($sql));
unset($sql);
} //if ($action == "add")
$array['domain_settings'][0]['domain_setting_uuid'] = uuid();
}
//update the domain
//update
if ($action == "update" && permission_exists('domain_setting_edit')) {
$sql = "update v_domain_settings set ";
$sql .= "domain_setting_category = '$domain_setting_category', ";
$sql .= "domain_setting_subcategory = '$domain_setting_subcategory', ";
$sql .= "domain_setting_name = '$domain_setting_name', ";
$sql .= "domain_setting_value = '$domain_setting_value', ";
$sql .= "domain_setting_order = $domain_setting_order, ";
$sql .= "domain_setting_enabled = '$domain_setting_enabled', ";
$sql .= "domain_setting_description = '$domain_setting_description' ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and domain_setting_uuid = '$domain_setting_uuid'";
$db->exec(check_sql($sql));
unset($sql);
} //if ($action == "update")
$array['domain_settings'][0]['domain_setting_uuid'] = $domain_setting_uuid;
}
//execute
if (is_uuid($array['domain_settings'][0]['domain_setting_uuid'])) {
$array['domain_settings'][0]['domain_uuid'] = $domain_uuid;
$array['domain_settings'][0]['domain_setting_category'] = $domain_setting_category;
$array['domain_settings'][0]['domain_setting_subcategory'] = $domain_setting_subcategory;
$array['domain_settings'][0]['domain_setting_name'] = $domain_setting_name;
$array['domain_settings'][0]['domain_setting_value'] = $domain_setting_value;
$array['domain_settings'][0]['domain_setting_order'] = $domain_setting_order;
$array['domain_settings'][0]['domain_setting_enabled'] = $domain_setting_enabled;
$array['domain_settings'][0]['domain_setting_description'] = $domain_setting_description;
$database = new database;
$database->app_name = 'domain_settings';
$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
$database->save($array);
unset($array);
}
//update time zone
if ($domain_setting_category == "domain" && $domain_setting_subcategory == "time_zone" && $domain_setting_name == "name" && strlen($domain_setting_value) > 0 ) {
$sql = "select * from v_dialplans ";
$sql .= "where app_uuid = '34dd307b-fffe-4ead-990c-3d070e288126' ";
$sql .= "and domain_uuid = '".$_SESSION["domain_uuid"]."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
$time_zone_found = false;
foreach ($result as &$row) {
//get the dialplan_uuid
$dialplan_uuid = $row["dialplan_uuid"];
$sql .= "and domain_uuid = :domain_uuid ";
$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
$database = new database;
$result = $database->select($sql, $parameters, 'all');
unset($sql, $parameters);
//get the dialplan details
$sql = "select * from v_dialplan_details ";
$sql .= "where dialplan_uuid = '".$dialplan_uuid."' ";
$sql .= "and domain_uuid = '".$_SESSION["domain_uuid"]."' ";
$sub_prep_statement = $db->prepare(check_sql($sql));
$sub_prep_statement->execute();
$sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($sub_result as $field) {
$dialplan_detail_uuid = $field["dialplan_detail_uuid"];
$dialplan_detail_tag = $field["dialplan_detail_tag"]; //action //condition
$dialplan_detail_type = $field["dialplan_detail_type"]; //set
$dialplan_detail_data = $field["dialplan_detail_data"];
$dialplan_detail_group = $field["dialplan_detail_group"];
if ($dialplan_detail_tag == "action" && $dialplan_detail_type == "set") {
$data_array = explode("=", $dialplan_detail_data);
if ($data_array[0] == "timezone") {
$time_zone_found = true;
break;
$time_zone_found = false;
if (is_array($result) && sizeof($result) != 0) {
foreach ($result as &$row) {
//get the dialplan_uuid
$dialplan_uuid = $row["dialplan_uuid"];
//get the dialplan details
$sql = "select * from v_dialplan_details ";
$sql .= "where dialplan_uuid = :dialplan_uuid ";
$sql .= "and domain_uuid = :domain_uuid ";
$parameters['dialplan_uuid'] = $dialplan_uuid;
$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
$database = new database;
$sub_result = $database->select($sql, $parameters, 'all');
if (is_array($sub_result) && sizeof($sub_result) != 0) {
foreach ($sub_result as $field) {
$dialplan_detail_uuid = $field["dialplan_detail_uuid"];
$dialplan_detail_tag = $field["dialplan_detail_tag"]; //action //condition
$dialplan_detail_type = $field["dialplan_detail_type"]; //set
$dialplan_detail_data = $field["dialplan_detail_data"];
$dialplan_detail_group = $field["dialplan_detail_group"];
if ($dialplan_detail_tag == "action" && $dialplan_detail_type == "set") {
$data_array = explode("=", $dialplan_detail_data);
if ($data_array[0] == "timezone") {
$time_zone_found = true;
break;
}
}
}
}
}
unset($sql, $parameters, $sub_result, $field);
//add the time zone
if (!$time_zone_found) {
//$dialplan_detail_uuid = uuid();
$dialplan_detail_uuid = "eb3b3a4e-88ea-4306-b2a8-9f52d3c95f2f";
$sql = "insert into v_dialplan_details ";
$sql .= "(";
$sql .= "domain_uuid, ";
$sql .= "dialplan_uuid, ";
$sql .= "dialplan_detail_uuid, ";
$sql .= "dialplan_detail_tag, ";
$sql .= "dialplan_detail_type, ";
$sql .= "dialplan_detail_data, ";
$sql .= "dialplan_detail_group, ";
$sql .= "dialplan_detail_order ";
$sql .= ") ";
$sql .= "values ";
$sql .= "(";
$sql .= "'".$_SESSION["domain_uuid"]."', "; //8cfd9525-6ccf-4c2c-813a-bca5809067cd
$sql .= "'$dialplan_uuid', "; //807b4aa6-4478-4663-a661-779397c1d542
$sql .= "'$dialplan_detail_uuid', ";
$sql .= "'action', ";
$sql .= "'set', ";
$sql .= "'timezone=$domain_setting_value', ";
if (strlen($dialplan_detail_group) > 0) {
$sql .= "'$dialplan_detail_group', ";
}
else {
$sql .= "null, ";
}
$sql .= "'15' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
}
//add the time zone
if (!$time_zone_found) {
$dialplan_detail_uuid = "eb3b3a4e-88ea-4306-b2a8-9f52d3c95f2f";
$array['dialplan_details'][0]['domain_uuid'] = $_SESSION["domain_uuid"]; //8cfd9525-6ccf-4c2c-813a-bca5809067cd
$array['dialplan_details'][0]['dialplan_uuid'] = $dialplan_uuid; //807b4aa6-4478-4663-a661-779397c1d542
$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
$array['dialplan_details'][0]['dialplan_detail_tag'] = 'action';
$array['dialplan_details'][0]['dialplan_detail_type'] = 'set';
$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
$array['dialplan_details'][0]['dialplan_detail_group'] = $dialplan_detail_group;
$array['dialplan_details'][0]['dialplan_detail_order'] = '15';
//update the time zone
if ($time_zone_found) {
$sql = "update v_dialplan_details set ";
$sql .= "dialplan_detail_data = 'timezone=".$domain_setting_value."' ";
$sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' ";
$sql .= "and dialplan_uuid = '$dialplan_uuid' ";
$sql .= "and dialplan_detail_uuid = '$dialplan_detail_uuid' ";
$db->exec(check_sql($sql));
unset($sql);
}
$p = new permissions;
$p->add('dialplan_detail_add', 'temp');
}
//update the time zone
if ($time_zone_found) {
$array['dialplan_details'][0]['dialplan_detail_uuid'] = $dialplan_detail_uuid;
$array['dialplan_details'][0]['dialplan_detail_data'] = 'timezone='.$domain_setting_value;
$p = new permissions;
$p->add('dialplan_detail_edit', 'temp');
}
//execute
if (is_array($array) && sizeof($array) != 0) {
$database = new database;
$database->app_name = 'domain_settings';
$database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
$database->save($array);
unset($array);
$p->delete('dialplan_detail_add', 'temp');
$p->delete('dialplan_detail_edit', 'temp');
}
}
}
}
@@ -343,20 +309,21 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
message::add($text['message-add']);
}
header("Location: domain_edit.php?id=".$domain_uuid);
return;
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
exit;
}
}
//pre-populate the form
if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
$domain_setting_uuid = check_str($_GET["id"]);
if (count($_GET)>0 && $_POST["persistformvar"] != "true" && is_uuid($_GET["id"])) {
$domain_setting_uuid = $_GET["id"];
$sql = "select * from v_domain_settings ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and domain_setting_uuid = '$domain_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 domain_uuid = :domain_uuid ";
$sql .= "and domain_setting_uuid = :domain_setting_uuid ";
$parameters['domain_uuid'] = $domain_uuid;
$parameters['domain_setting_uuid'] = $domain_setting_uuid;
$database = new database;
$row = $database->select($sql, $parameters, 'row');
if (is_array($row) && sizeof($row) != 0) {
$domain_setting_category = $row["domain_setting_category"];
$domain_setting_subcategory = $row["domain_setting_subcategory"];
$domain_setting_name = $row["domain_setting_name"];
@@ -364,9 +331,8 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$domain_setting_order = $row["domain_setting_order"];
$domain_setting_enabled = $row["domain_setting_enabled"];
$domain_setting_description = $row["domain_setting_description"];
break; //limit to 1 row
}
unset ($prep_statement);
unset($sql, $parameters, $row);
}
//show the header
@@ -464,21 +430,17 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if ($category == "domain" && $subcategory == "menu" && $name == "uuid" ) {
echo " <select class='formfld' id='domain_setting_value' name='domain_setting_value' style=''>\n";
echo " <option value=''></option>\n";
$sql = "";
$sql .= "select * from v_menus ";
$sql = "select * from v_menus ";
$sql .= "order by menu_language, menu_name asc ";
$sub_prep_statement = $db->prepare(check_sql($sql));
$sub_prep_statement->execute();
$sub_result = $sub_prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($sub_result as $sub_row) {
if (strtolower($row['domain_setting_value']) == strtolower($sub_row["menu_uuid"])) {
echo " <option value='".strtolower(escape($sub_row["menu_uuid"]))."' selected='selected'>".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."\n";
}
else {
echo " <option value='".strtolower(escape($sub_row["menu_uuid"]))."'>".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."</option>\n";
$database = new database;
$sub_result = $database->select($sql, null, 'all');
if (is_array($sub_result) && sizeof($sub_result) != 0) {
foreach ($sub_result as $sub_row) {
$selected = strtolower($row['domain_setting_value']) == strtolower($sub_row["menu_uuid"]) ? "selected='selected'" : null;
echo " <option value='".strtolower(escape($sub_row["menu_uuid"]))."' ".$selected.">".escape($sub_row["menu_language"])." - ".escape($sub_row["menu_name"])."</option>\n";
}
}
unset ($sub_prep_statement);
unset($sql, $sub_result, $sub_row, $selected);
echo " </select>\n";
}
elseif ($category == "domain" && $subcategory == "template" && $name == "name" ) {