Settings: Database class integration.

This commit is contained in:
Nate 2019-08-13 05:14:32 -06:00
parent a932eb39ea
commit 1041c2a76f
2 changed files with 135 additions and 172 deletions

View File

@ -26,67 +26,65 @@
if ($domains_processed == 1) {
//get the data from the database
$sql = "select * from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
if ($prep_statement) {
$row = $prep_statement->fetch(PDO::FETCH_NAMED);
unset($prep_statement);
}
$sql = "select event_socket_ip_address from v_settings ";
$database = new database;
$event_socket_ip_address = $database->select($sql, null, 'column');
//check the row count
if (strlen($row['event_socket_ip_address']) == 0) {
if (strlen($event_socket_ip_address) == 0) {
//add default settings
$event_socket_ip_address = "127.0.0.1";
$event_socket_port = "8021";
$event_socket_password = "ClueCon";
$xml_rpc_http_port = "8080";
$xml_rpc_auth_realm = "freeswitch";
$xml_rpc_auth_user = "freeswitch";
$xml_rpc_auth_pass = "works";
$mod_shout_decoder = "";
$mod_shout_volume = "0.3";
$sql = "insert into v_settings ";
$sql .= "(";
$sql .= "setting_uuid, ";
$sql .= "event_socket_ip_address, ";
$sql .= "event_socket_port, ";
$sql .= "event_socket_password, ";
$sql .= "xml_rpc_http_port, ";
$sql .= "xml_rpc_auth_realm, ";
$sql .= "xml_rpc_auth_user, ";
$sql .= "xml_rpc_auth_pass, ";
$sql .= "mod_shout_decoder, ";
$sql .= "mod_shout_volume ";
$sql .= ")";
$sql .= "values ";
$sql .= "(";
$sql .= "'".uuid()."', ";
$sql .= "'$event_socket_ip_address', ";
$sql .= "'$event_socket_port', ";
$sql .= "'$event_socket_password', ";
$sql .= "'$xml_rpc_http_port', ";
$sql .= "'$xml_rpc_auth_realm', ";
$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);
$event_socket_ip_address = "127.0.0.1";
$event_socket_port = "8021";
$event_socket_password = "ClueCon";
$xml_rpc_http_port = "8080";
$xml_rpc_auth_realm = "freeswitch";
$xml_rpc_auth_user = "freeswitch";
$xml_rpc_auth_pass = "works";
$mod_shout_decoder = "";
$mod_shout_volume = "0.3";
//build array
$array['settings'][0]['setting_uuid'] = uuid();
$array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$array['settings'][0]['event_socket_port'] = $event_socket_port;
$array['settings'][0]['event_socket_password'] = $event_socket_password;
$array['settings'][0]['xml_rpc_http_port'] = $xml_rpc_http_port;
$array['settings'][0]['xml_rpc_auth_realm'] = $xml_rpc_auth_realm;
$array['settings'][0]['xml_rpc_auth_user'] = $xml_rpc_auth_user;
$array['settings'][0]['xml_rpc_auth_pass'] = $xml_rpc_auth_pass;
$array['settings'][0]['mod_shout_decoder'] = $mod_shout_decoder;
$array['settings'][0]['mod_shout_volume'] = $mod_shout_volume;
//grant temporary permissions
$p = new permissions;
$p->add('setting_add', 'temp');
//execute insert
$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_add', 'temp');
}
if(isset($_SESSION['event_socket_ip_address'])) {
if (isset($_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_password'])) { $event_socket_password = $_SESSION['event_socket_password']; }
$sql = "update v_settings set ";
$sql .= "event_socket_ip_address = '$event_socket_ip_address', ";
$sql .= "event_socket_port = '$event_socket_port', ";
$sql .= "event_socket_password = '$event_socket_password' ";
$db->exec(check_sql($sql));
unset($sql);
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']; }
//build array
$array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$array['settings'][0]['event_socket_port'] = $event_socket_port;
$array['settings'][0]['event_socket_password'] = $event_socket_password;
//grant temporary permissions
$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');
}
}

View File

@ -44,45 +44,30 @@
$text = $language->get();
//get the number of rows in v_extensions
$sql = " select count(*) as num_rows from v_settings ";
$prep_statement = $db->prepare(check_sql($sql));
$num_rows = 0;
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);
$sql = " select count(*) from v_settings ";
$database = new database;
$num_rows = $database->select($sql, $parameters, 'column');
//set the action
if ($num_rows == 0) {
$action = "add";
}
else {
$action = "update";
}
$action = $num_rows == 0 ? "add" : "update";
//get the http values and set them as php variables
if (count($_POST)>0) {
//$numbering_plan = check_str($_POST["numbering_plan"]);
//$default_gateway = check_str($_POST["default_gateway"]);
$event_socket_ip_address = check_str($_POST["event_socket_ip_address"]);
//$numbering_plan = $_POST["numbering_plan"];
//$default_gateway = $_POST["default_gateway"];
$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'; }
$event_socket_port = check_str($_POST["event_socket_port"]);
$event_socket_password = check_str($_POST["event_socket_password"]);
$event_socket_acl = check_str($_POST["event_socket_acl"]);
$xml_rpc_http_port = check_str($_POST["xml_rpc_http_port"]);
$xml_rpc_auth_realm = check_str($_POST["xml_rpc_auth_realm"]);
$xml_rpc_auth_user = check_str($_POST["xml_rpc_auth_user"]);
$xml_rpc_auth_pass = check_str($_POST["xml_rpc_auth_pass"]);
//$admin_pin = check_str($_POST["admin_pin"]);
$mod_shout_decoder = check_str($_POST["mod_shout_decoder"]);
$mod_shout_volume = check_str($_POST["mod_shout_volume"]);
$event_socket_port = $_POST["event_socket_port"];
$event_socket_password = $_POST["event_socket_password"];
$event_socket_acl = $_POST["event_socket_acl"];
$xml_rpc_http_port = $_POST["xml_rpc_http_port"];
$xml_rpc_auth_realm = $_POST["xml_rpc_auth_realm"];
$xml_rpc_auth_user = $_POST["xml_rpc_auth_user"];
$xml_rpc_auth_pass = $_POST["xml_rpc_auth_pass"];
//$admin_pin = $_POST["admin_pin"];
$mod_shout_decoder = $_POST["mod_shout_decoder"];
$mod_shout_volume = $_POST["mod_shout_volume"];
}
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
if ($_POST["persistformvar"] != "true") {
if ($action == "add" && permission_exists('setting_edit')) {
$sql = "insert into v_settings ";
$sql .= "(";
$sql .= "event_socket_ip_address, ";
$sql .= "event_socket_port, ";
$sql .= "event_socket_password, ";
$sql .= "event_socket_acl, ";
$sql .= "xml_rpc_http_port, ";
$sql .= "xml_rpc_auth_realm, ";
$sql .= "xml_rpc_auth_user, ";
$sql .= "xml_rpc_auth_pass, ";
$sql .= "mod_shout_decoder, ";
$sql .= "mod_shout_volume ";
$sql .= ")";
$sql .= "values ";
$sql .= "(";
$sql .= "'$event_socket_ip_address', ";
$sql .= "'$event_socket_port', ";
$sql .= "'$event_socket_password', ";
$sql .= "'$event_socket_acl', ";
$sql .= "'$xml_rpc_http_port', ";
$sql .= "'$xml_rpc_auth_realm', ";
$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 (permission_exists('setting_edit')) {
//build array
$array['settings'][0]['setting_uuid'] = $action == "add" ? uuid() : $setting_uuid;
$array['settings'][0]['event_socket_ip_address'] = $event_socket_ip_address;
$array['settings'][0]['event_socket_port'] = $event_socket_port;
$array['settings'][0]['event_socket_password'] = $event_socket_password;
$array['settings'][0]['event_socket_acl'] = $event_socket_acl;
$array['settings'][0]['xml_rpc_http_port'] = $xml_rpc_http_port;
$array['settings'][0]['xml_rpc_auth_realm'] = $xml_rpc_auth_realm;
$array['settings'][0]['xml_rpc_auth_user'] = $xml_rpc_auth_user;
$array['settings'][0]['xml_rpc_auth_pass'] = $xml_rpc_auth_pass;
$array['settings'][0]['mod_shout_decoder'] = $mod_shout_decoder;
$array['settings'][0]['mod_shout_volume'] = $mod_shout_volume;
//grant temporary permissions
$p = new permissions;
if ($action == 'add') {
$p->add('setting_add', 'temp');
}
else if ($action == 'update') {
$p->add('setting_edit', 'temp');
}
//execute insert
$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_add', 'temp');
$p->delete('setting_edit', 'temp');
//synchronize settings
save_setting_xml();
message::add($text['message-add']);
header("Location: setting_edit.php");
return;
} //if ($action == "add")
if ($action == "update" && permission_exists('setting_edit')) {
$sql = "update v_settings set ";
$sql .= "event_socket_ip_address = '$event_socket_ip_address', ";
$sql .= "event_socket_port = '$event_socket_port', ";
$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)
save_setting_xml();
//set message
if ($action == 'add') {
message::add($text['message-add']);
}
else if ($action == 'update') {
message::add($text['message-update']);
}
//redirect
header("Location: setting_edit.php");
exit;
}
}
}
//pre-populate the form
if ($_POST["persistformvar"] != "true") {
$sql = "";
$sql .= "select * from v_settings ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
foreach ($result as &$row) {
$event_socket_ip_address = $row["event_socket_ip_address"];
$event_socket_port = $row["event_socket_port"];
$event_socket_password = $row["event_socket_password"];
$event_socket_acl = $row["event_socket_acl"];
$xml_rpc_http_port = $row["xml_rpc_http_port"];
$xml_rpc_auth_realm = $row["xml_rpc_auth_realm"];
$xml_rpc_auth_user = $row["xml_rpc_auth_user"];
$xml_rpc_auth_pass = $row["xml_rpc_auth_pass"];
$mod_shout_decoder = $row["mod_shout_decoder"];
$mod_shout_volume = $row["mod_shout_volume"];
break; //limit to 1 row
}
unset ($prep_statement);
$sql = "select * from v_settings ";
$database = new database;
$row = $database->select($sql, null, 'row');
if (is_array($row) && @sizeof($row) != 0) {
$setting_uuid = $row['setting_uuid'];
$event_socket_ip_address = $row["event_socket_ip_address"];
$event_socket_port = $row["event_socket_port"];
$event_socket_password = $row["event_socket_password"];
$event_socket_acl = $row["event_socket_acl"];
$xml_rpc_http_port = $row["xml_rpc_http_port"];
$xml_rpc_auth_realm = $row["xml_rpc_auth_realm"];
$xml_rpc_auth_user = $row["xml_rpc_auth_user"];
$xml_rpc_auth_pass = $row["xml_rpc_auth_pass"];
$mod_shout_decoder = $row["mod_shout_decoder"];
$mod_shout_volume = $row["mod_shout_volume"];
}
unset($sql, $row);
}
//show the header
@ -209,14 +173,15 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//show the content
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 "<tr>\n";
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") {
echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_update']."</b><br><br></td>\n";
else if ($action == "update") {
echo "<td align='left' width='30%' nowrap><b>".$text['title-settings_update']."</b><br><br></td>\n";
}
echo "<td width='70%' align='right'>";
if (permission_exists('setting_edit')) {