diff --git a/app/settings/app_defaults.php b/app/settings/app_defaults.php index e4c3c81769..dd429260b7 100644 --- a/app/settings/app_defaults.php +++ b/app/settings/app_defaults.php @@ -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'); } } diff --git a/app/settings/setting_edit.php b/app/settings/setting_edit.php index 538e5d848c..037f9155dd 100644 --- a/app/settings/setting_edit.php +++ b/app/settings/setting_edit.php @@ -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 "
\n"; + echo "\n"; echo "\n"; echo "\n"; if ($action == "add") { - echo "\n"; + echo "\n"; } - if ($action == "update") { - echo "\n"; + else if ($action == "update") { + echo "\n"; } echo "
".$text['title-settings_add']."

".$text['title-settings_add']."

".$text['title-settings_update']."

".$text['title-settings_update']."

"; if (permission_exists('setting_edit')) {