Settings: Database class integration.

This commit is contained in:
Nate
2019-08-13 05:14:32 -06:00
parent 927458933e
commit 1e994c4821
2 changed files with 135 additions and 172 deletions
+53 -55
View File
@@ -26,67 +26,65 @@
if ($domains_processed == 1) { if ($domains_processed == 1) {
//get the data from the database //get the data from the database
$sql = "select * from v_settings "; $sql = "select event_socket_ip_address from v_settings ";
$prep_statement = $db->prepare(check_sql($sql)); $database = new database;
$prep_statement->execute(); $event_socket_ip_address = $database->select($sql, null, 'column');
if ($prep_statement) {
$row = $prep_statement->fetch(PDO::FETCH_NAMED);
unset($prep_statement);
}
//check the row count //check the row count
if (strlen($row['event_socket_ip_address']) == 0) { if (strlen($event_socket_ip_address) == 0) {
//add default settings //add default settings
$event_socket_ip_address = "127.0.0.1"; $event_socket_ip_address = "127.0.0.1";
$event_socket_port = "8021"; $event_socket_port = "8021";
$event_socket_password = "ClueCon"; $event_socket_password = "ClueCon";
$xml_rpc_http_port = "8080"; $xml_rpc_http_port = "8080";
$xml_rpc_auth_realm = "freeswitch"; $xml_rpc_auth_realm = "freeswitch";
$xml_rpc_auth_user = "freeswitch"; $xml_rpc_auth_user = "freeswitch";
$xml_rpc_auth_pass = "works"; $xml_rpc_auth_pass = "works";
$mod_shout_decoder = ""; $mod_shout_decoder = "";
$mod_shout_volume = "0.3"; $mod_shout_volume = "0.3";
//build array
$sql = "insert into v_settings "; $array['settings'][0]['setting_uuid'] = uuid();
$sql .= "("; $array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$sql .= "setting_uuid, "; $array['settings'][0]['event_socket_port'] = $event_socket_port;
$sql .= "event_socket_ip_address, "; $array['settings'][0]['event_socket_password'] = $event_socket_password;
$sql .= "event_socket_port, "; $array['settings'][0]['xml_rpc_http_port'] = $xml_rpc_http_port;
$sql .= "event_socket_password, "; $array['settings'][0]['xml_rpc_auth_realm'] = $xml_rpc_auth_realm;
$sql .= "xml_rpc_http_port, "; $array['settings'][0]['xml_rpc_auth_user'] = $xml_rpc_auth_user;
$sql .= "xml_rpc_auth_realm, "; $array['settings'][0]['xml_rpc_auth_pass'] = $xml_rpc_auth_pass;
$sql .= "xml_rpc_auth_user, "; $array['settings'][0]['mod_shout_decoder'] = $mod_shout_decoder;
$sql .= "xml_rpc_auth_pass, "; $array['settings'][0]['mod_shout_volume'] = $mod_shout_volume;
$sql .= "mod_shout_decoder, "; //grant temporary permissions
$sql .= "mod_shout_volume "; $p = new permissions;
$sql .= ")"; $p->add('setting_add', 'temp');
$sql .= "values "; //execute insert
$sql .= "("; $database = new database;
$sql .= "'".uuid()."', "; $database->app_name = 'settings';
$sql .= "'$event_socket_ip_address', "; $database->app_uuid = 'b6b1b2e5-4ba5-044c-8a5c-18709a15eb60';
$sql .= "'$event_socket_port', "; $database->save($array);
$sql .= "'$event_socket_password', "; unset($array);
$sql .= "'$xml_rpc_http_port', "; //revoke temporary permissions
$sql .= "'$xml_rpc_auth_realm', "; $p->delete('setting_add', 'temp');
$sql .= "'$xml_rpc_auth_user', ";
$sql .= "'$xml_rpc_auth_pass', ";
$sql .= "'$mod_shout_decoder', ";
$sql .= "'$mod_shout_volume' ";
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
} }
if(isset($_SESSION['event_socket_ip_address'])) { if (isset($_SESSION['event_socket_ip_address'])) {
$event_socket_ip_address = $_SESSION['event_socket_ip_address']; $event_socket_ip_address = $_SESSION['event_socket_ip_address'];
if(isset($_SESSION['event_socket_port'])) { $event_socket_port = $_SESSION['event_socket_port']; } if (isset($_SESSION['event_socket_port'])) { $event_socket_port = $_SESSION['event_socket_port']; }
if(isset($_SESSION['event_socket_password'])) { $event_socket_password = $_SESSION['event_socket_password']; } if (isset($_SESSION['event_socket_password'])) { $event_socket_password = $_SESSION['event_socket_password']; }
$sql = "update v_settings set "; //build array
$sql .= "event_socket_ip_address = '$event_socket_ip_address', "; $array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$sql .= "event_socket_port = '$event_socket_port', "; $array['settings'][0]['event_socket_port'] = $event_socket_port;
$sql .= "event_socket_password = '$event_socket_password' "; $array['settings'][0]['event_socket_password'] = $event_socket_password;
$db->exec(check_sql($sql)); //grant temporary permissions
unset($sql); $p = new permissions;
$p->add('setting_edit', 'temp');
//execute update
$database = new database;
$database->app_name = 'settings';
$database->app_uuid = 'b6b1b2e5-4ba5-044c-8a5c-18709a15eb60';
$database->save($array);
unset($array);
//revoke temporary permissions
$p->delete('setting_edit', 'temp');
} }
} }
+82 -117
View File
@@ -44,45 +44,30 @@
$text = $language->get(); $text = $language->get();
//get the number of rows in v_extensions //get the number of rows in v_extensions
$sql = " select count(*) as num_rows from v_settings "; $sql = " select count(*) from v_settings ";
$prep_statement = $db->prepare(check_sql($sql)); $database = new database;
$num_rows = 0; $num_rows = $database->select($sql, $parameters, 'column');
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;
}
}
unset($prep_statement, $result);
//set the action //set the action
if ($num_rows == 0) { $action = $num_rows == 0 ? "add" : "update";
$action = "add";
}
else {
$action = "update";
}
//get the http values and set them as php variables //get the http values and set them as php variables
if (count($_POST)>0) { if (count($_POST)>0) {
//$numbering_plan = check_str($_POST["numbering_plan"]); //$numbering_plan = $_POST["numbering_plan"];
//$default_gateway = check_str($_POST["default_gateway"]); //$default_gateway = $_POST["default_gateway"];
$event_socket_ip_address = check_str($_POST["event_socket_ip_address"]); $setting_uuid = $_POST["setting_uuid"];
$event_socket_ip_address = $_POST["event_socket_ip_address"];
if (strlen($event_socket_ip_address) == 0) { $event_socket_ip_address = '127.0.0.1'; } if (strlen($event_socket_ip_address) == 0) { $event_socket_ip_address = '127.0.0.1'; }
$event_socket_port = check_str($_POST["event_socket_port"]); $event_socket_port = $_POST["event_socket_port"];
$event_socket_password = check_str($_POST["event_socket_password"]); $event_socket_password = $_POST["event_socket_password"];
$event_socket_acl = check_str($_POST["event_socket_acl"]); $event_socket_acl = $_POST["event_socket_acl"];
$xml_rpc_http_port = check_str($_POST["xml_rpc_http_port"]); $xml_rpc_http_port = $_POST["xml_rpc_http_port"];
$xml_rpc_auth_realm = check_str($_POST["xml_rpc_auth_realm"]); $xml_rpc_auth_realm = $_POST["xml_rpc_auth_realm"];
$xml_rpc_auth_user = check_str($_POST["xml_rpc_auth_user"]); $xml_rpc_auth_user = $_POST["xml_rpc_auth_user"];
$xml_rpc_auth_pass = check_str($_POST["xml_rpc_auth_pass"]); $xml_rpc_auth_pass = $_POST["xml_rpc_auth_pass"];
//$admin_pin = check_str($_POST["admin_pin"]); //$admin_pin = $_POST["admin_pin"];
$mod_shout_decoder = check_str($_POST["mod_shout_decoder"]); $mod_shout_decoder = $_POST["mod_shout_decoder"];
$mod_shout_volume = check_str($_POST["mod_shout_volume"]); $mod_shout_volume = $_POST["mod_shout_volume"];
} }
if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
@@ -116,92 +101,71 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//add or update the database //add or update the database
if ($_POST["persistformvar"] != "true") { if ($_POST["persistformvar"] != "true") {
if ($action == "add" && permission_exists('setting_edit')) { if (permission_exists('setting_edit')) {
$sql = "insert into v_settings "; //build array
$sql .= "("; $array['settings'][0]['setting_uuid'] = $action == "add" ? uuid() : $setting_uuid;
$sql .= "event_socket_ip_address, "; $array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$sql .= "event_socket_port, "; $array['settings'][0]['event_socket_port'] = $event_socket_port;
$sql .= "event_socket_password, "; $array['settings'][0]['event_socket_password'] = $event_socket_password;
$sql .= "event_socket_acl, "; $array['settings'][0]['event_socket_acl'] = $event_socket_acl;
$sql .= "xml_rpc_http_port, "; $array['settings'][0]['xml_rpc_http_port'] = $xml_rpc_http_port;
$sql .= "xml_rpc_auth_realm, "; $array['settings'][0]['xml_rpc_auth_realm'] = $xml_rpc_auth_realm;
$sql .= "xml_rpc_auth_user, "; $array['settings'][0]['xml_rpc_auth_user'] = $xml_rpc_auth_user;
$sql .= "xml_rpc_auth_pass, "; $array['settings'][0]['xml_rpc_auth_pass'] = $xml_rpc_auth_pass;
$sql .= "mod_shout_decoder, "; $array['settings'][0]['mod_shout_decoder'] = $mod_shout_decoder;
$sql .= "mod_shout_volume "; $array['settings'][0]['mod_shout_volume'] = $mod_shout_volume;
$sql .= ")"; //grant temporary permissions
$sql .= "values "; $p = new permissions;
$sql .= "("; if ($action == 'add') {
$sql .= "'$event_socket_ip_address', "; $p->add('setting_add', 'temp');
$sql .= "'$event_socket_port', "; }
$sql .= "'$event_socket_password', "; else if ($action == 'update') {
$sql .= "'$event_socket_acl', "; $p->add('setting_edit', 'temp');
$sql .= "'$xml_rpc_http_port', "; }
$sql .= "'$xml_rpc_auth_realm', "; //execute insert
$sql .= "'$xml_rpc_auth_user', "; $database = new database;
$sql .= "'$xml_rpc_auth_pass', "; $database->app_name = 'settings';
$sql .= "'$mod_shout_decoder', "; $database->app_uuid = 'b6b1b2e5-4ba5-044c-8a5c-18709a15eb60';
$sql .= "'$mod_shout_volume' "; $database->save($array);
$sql .= ")"; unset($array);
$db->exec(check_sql($sql)); //revoke temporary permissions
unset($sql); $p->delete('setting_add', 'temp');
$p->delete('setting_edit', 'temp');
//synchronize settings //synchronize settings
save_setting_xml(); save_setting_xml();
//set message
message::add($text['message-add']); if ($action == 'add') {
header("Location: setting_edit.php"); message::add($text['message-add']);
return; }
} //if ($action == "add") else if ($action == 'update') {
message::add($text['message-update']);
if ($action == "update" && permission_exists('setting_edit')) { }
$sql = "update v_settings set "; //redirect
$sql .= "event_socket_ip_address = '$event_socket_ip_address', "; header("Location: setting_edit.php");
$sql .= "event_socket_port = '$event_socket_port', "; exit;
$sql .= "event_socket_password = '$event_socket_password', "; }
$sql .= "event_socket_acl = '$event_socket_acl', "; }
$sql .= "xml_rpc_http_port = '$xml_rpc_http_port', "; }
$sql .= "xml_rpc_auth_realm = '$xml_rpc_auth_realm', ";
$sql .= "xml_rpc_auth_user = '$xml_rpc_auth_user', ";
$sql .= "xml_rpc_auth_pass = '$xml_rpc_auth_pass', ";
$sql .= "mod_shout_decoder = '$mod_shout_decoder', ";
$sql .= "mod_shout_volume = '$mod_shout_volume' ";
$db->exec(check_sql($sql));
unset($sql);
//synchronize settings
save_setting_xml();
message::add($text['message-update']);
header("Location: setting_edit.php");
return;
} //if ($action == "update")
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//pre-populate the form //pre-populate the form
if ($_POST["persistformvar"] != "true") { if ($_POST["persistformvar"] != "true") {
$sql = ""; $sql = "select * from v_settings ";
$sql .= "select * from v_settings "; $database = new database;
$prep_statement = $db->prepare($sql); $row = $database->select($sql, null, 'row');
if ($prep_statement) { if (is_array($row) && @sizeof($row) != 0) {
$prep_statement->execute(); $setting_uuid = $row['setting_uuid'];
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $event_socket_ip_address = $row["event_socket_ip_address"];
foreach ($result as &$row) { $event_socket_port = $row["event_socket_port"];
$event_socket_ip_address = $row["event_socket_ip_address"]; $event_socket_password = $row["event_socket_password"];
$event_socket_port = $row["event_socket_port"]; $event_socket_acl = $row["event_socket_acl"];
$event_socket_password = $row["event_socket_password"]; $xml_rpc_http_port = $row["xml_rpc_http_port"];
$event_socket_acl = $row["event_socket_acl"]; $xml_rpc_auth_realm = $row["xml_rpc_auth_realm"];
$xml_rpc_http_port = $row["xml_rpc_http_port"]; $xml_rpc_auth_user = $row["xml_rpc_auth_user"];
$xml_rpc_auth_realm = $row["xml_rpc_auth_realm"]; $xml_rpc_auth_pass = $row["xml_rpc_auth_pass"];
$xml_rpc_auth_user = $row["xml_rpc_auth_user"]; $mod_shout_decoder = $row["mod_shout_decoder"];
$xml_rpc_auth_pass = $row["xml_rpc_auth_pass"]; $mod_shout_volume = $row["mod_shout_volume"];
$mod_shout_decoder = $row["mod_shout_decoder"];
$mod_shout_volume = $row["mod_shout_volume"];
break; //limit to 1 row
}
unset ($prep_statement);
} }
unset($sql, $row);
} }
//show the header //show the header
@@ -209,14 +173,15 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//show the content //show the content
echo "<form method='post' name='frm' action=''>\n"; echo "<form method='post' name='frm' action=''>\n";
echo "<input type='hidden' name='setting_uuid' value='".$setting_uuid."'>\n";
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n"; echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
echo "<tr>\n"; echo "<tr>\n";
if ($action == "add") { if ($action == "add") {
echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_add']."</b><br><br></td>\n"; echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_add']."</b><br><br></td>\n";
} }
if ($action == "update") { else if ($action == "update") {
echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_update']."</b><br><br></td>\n"; echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_update']."</b><br><br></td>\n";
} }
echo "<td width='70%' align='right'>"; echo "<td width='70%' align='right'>";
if (permission_exists('setting_edit')) { if (permission_exists('setting_edit')) {