|
@@ -50,9 +50,9 @@
|
|
|
$action = "update";
|
|
|
}
|
|
|
else {
|
|
|
- if (isset($_REQUEST["id"])) {
|
|
|
+ if (is_uuid($_REQUEST["id"])) {
|
|
|
$action = "update";
|
|
|
- $domain_uuid = check_str($_REQUEST["id"]);
|
|
|
+ $domain_uuid = $_REQUEST["id"];
|
|
|
}
|
|
|
else {
|
|
|
$action = "add";
|
|
@@ -61,16 +61,16 @@
|
|
|
|
|
|
//get http post variables and set them to php variables
|
|
|
if (count($_POST) > 0) {
|
|
|
- $domain_name = check_str($_POST["domain_name"]);
|
|
|
- $domain_enabled = check_str($_POST["domain_enabled"]);
|
|
|
- $domain_description = check_str($_POST["domain_description"]);
|
|
|
+ $domain_name = $_POST["domain_name"];
|
|
|
+ $domain_enabled = $_POST["domain_enabled"];
|
|
|
+ $domain_description = $_POST["domain_description"];
|
|
|
}
|
|
|
|
|
|
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
|
|
|
$msg = '';
|
|
|
if ($action == "update") {
|
|
|
- $domain_uuid = check_str($_POST["domain_uuid"]);
|
|
|
+ $domain_uuid = $_POST["domain_uuid"];
|
|
|
}
|
|
|
|
|
|
//check for all required data
|
|
@@ -92,131 +92,177 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
//add or update the database
|
|
|
if ($_POST["persistformvar"] != "true") {
|
|
|
if ($action == "add" && permission_exists('domain_add')) {
|
|
|
- $sql = "select count(*) as num_rows from v_domains ";
|
|
|
- $sql .= "where domain_name = '".$domain_name."' ";
|
|
|
- $prep_statement = $db->prepare($sql);
|
|
|
- if ($prep_statement) {
|
|
|
- $prep_statement->execute();
|
|
|
- $row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
|
|
- if ($row['num_rows'] == 0) {
|
|
|
- $sql = "insert into v_domains ";
|
|
|
- $sql .= "(";
|
|
|
- $sql .= "domain_uuid, ";
|
|
|
- $sql .= "domain_name, ";
|
|
|
- $sql .= "domain_enabled, ";
|
|
|
- $sql .= "domain_description ";
|
|
|
- $sql .= ")";
|
|
|
- $sql .= "values ";
|
|
|
- $sql .= "(";
|
|
|
- $sql .= "'".uuid()."', ";
|
|
|
- $sql .= "'".$domain_name."', ";
|
|
|
- $sql .= "'".$domain_enabled."', ";
|
|
|
- $sql .= "'".$domain_description."' ";
|
|
|
- $sql .= ")";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
- }
|
|
|
+ $sql = "select count(*) from v_domains ";
|
|
|
+ $sql .= "where domain_name = :domain_name ";
|
|
|
+ $parameters['domain_name'] = $domain_name;
|
|
|
+ $database = new database;
|
|
|
+ $num_rows = $database->select($sql, $parameters, 'column');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if ($num_rows == 0) {
|
|
|
+ $array['domains'][0]['domain_uuid'] = uuid();
|
|
|
+ $array['domains'][0]['domain_name'] = $domain_name;
|
|
|
+ $array['domains'][0]['domain_enabled'] = $domain_enabled;
|
|
|
+ $array['domains'][0]['domain_description'] = $domain_description;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
if ($action == "update" && permission_exists('domain_edit')) {
|
|
|
// get original domain name
|
|
|
$sql = "select domain_name from v_domains ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- $original_domain_name = $row["domain_name"];
|
|
|
- break;
|
|
|
- }
|
|
|
- unset($sql, $prep_statement);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $original_domain_name = $database->select($sql, $parameters, 'column');
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
// update domain name, description
|
|
|
- $sql = "update v_domains set ";
|
|
|
- $sql .= "domain_name = '".$domain_name."', ";
|
|
|
- $sql .= "domain_enabled = '".$domain_enabled."', ";
|
|
|
- $sql .= "domain_description = '".$domain_description."' ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $array['domains'][0]['domain_uuid'] = $domain_uuid;
|
|
|
+ $array['domains'][0]['domain_name'] = $domain_name;
|
|
|
+ $array['domains'][0]['domain_enabled'] = $domain_enabled;
|
|
|
+ $array['domains'][0]['domain_description'] = $domain_description;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
|
|
|
if ($original_domain_name != $domain_name) {
|
|
|
|
|
|
// update dialplans
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")){
|
|
|
$sql = "update v_dialplans ";
|
|
|
- $sql .= "set dialplan_context = '".$domain_name."' ";
|
|
|
- $sql .= "where dialplan_context = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "set dialplan_context = :dialplan_context_new ";
|
|
|
+ $sql .= "where dialplan_context = :dialplan_context_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['dialplan_context_new'] = $domain_name;
|
|
|
+ $parameters['dialplan_context_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
$sql = "update v_dialplans ";
|
|
|
- $sql .= "set dialplan_xml = replace(dialplan_xml, $original_domain_name, $domain_name); ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "set dialplan_xml = replace(dialplan_xml, :dialplan_xml_old, :dialplan_xml_new); ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['dialplan_xml_old'] = $original_domain_name;
|
|
|
+ $parameters['dialplan_xml_new'] = $domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
|
|
|
// update destinations
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/destinations/app_config.php")){
|
|
|
$sql = "update v_destinations ";
|
|
|
- $sql .= "set destination_data = replace(destination_data, $original_domain_name, $domain_name); ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "set destination_data = replace(destination_data, :destination_data_old, :destination_data_new); ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['destination_data_old'] = $original_domain_name;
|
|
|
+ $parameters['destination_data_new'] = $domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
|
|
|
// update extensions (accountcode, user_context, dial_domain)
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/extensions/app_config.php")){
|
|
|
$sql = "update v_extensions set ";
|
|
|
- $sql .= "accountcode = '".$domain_name."' ";
|
|
|
- $sql .= "where accountcode = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "accountcode = :account_code_new ";
|
|
|
+ $sql .= "where accountcode = :account_code_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['account_code_new'] = $domain_name;
|
|
|
+ $parameters['account_code_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
$sql = "update v_extensions set ";
|
|
|
- $sql .= "user_context = '".$domain_name."' ";
|
|
|
- $sql .= "where user_context = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "user_context = :user_context_new ";
|
|
|
+ $sql .= "where user_context = :user_context_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['user_context_new'] = $domain_name;
|
|
|
+ $parameters['user_context_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
$sql = "update v_extensions set ";
|
|
|
- $sql .= "dial_domain = '".$domain_name."' ";
|
|
|
- $sql .= "where dial_domain = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "dial_domain = :dial_domain_new ";
|
|
|
+ $sql .= "where dial_domain = :dial_domain_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['dial_domain_new'] = $domain_name;
|
|
|
+ $parameters['dial_domain_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
|
|
|
// update cdr records (domain_name, context)
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/xml_cdr/app_config.php")){
|
|
|
$sql = "update v_xml_cdr set ";
|
|
|
- $sql .= "domain_name = '".$domain_name."' ";
|
|
|
- $sql .= "where domain_name = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "domain_name = :domain_name_new ";
|
|
|
+ $sql .= "where domain_name = :domain_name_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['domain_name_new'] = $domain_name;
|
|
|
+ $parameters['domain_name_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
|
|
|
$sql = "update v_xml_cdr set ";
|
|
|
- $sql .= "context = '".$domain_name."' ";
|
|
|
- $sql .= "where context = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "context = :context_new ";
|
|
|
+ $sql .= "where context = :context_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['context_new'] = $domain_name;
|
|
|
+ $parameters['context_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
|
|
|
// update billing, if installed
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/billing/app_config.php")){
|
|
|
$sql = "update v_billings set ";
|
|
|
- $sql .= "type_value = '".$domain_name."' ";
|
|
|
- $sql .= "where type_value = '".$original_domain_name."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "type_value = :type_value_new ";
|
|
|
+ $sql .= "where type_value = :type_value_old ";
|
|
|
+ $sql .= "and domain_uuid = :domain_uuid ";
|
|
|
+ $parameters['type_value_new'] = $domain_name;
|
|
|
+ $parameters['type_value_old'] = $original_domain_name;
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
|
|
|
// rename switch/storage/voicemail/default/[domain] (folder)
|
|
@@ -270,262 +316,328 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
// update conference session recording paths
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")){
|
|
|
$sql = "select conference_session_uuid, recording from v_conference_sessions ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and recording like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $conference_session_uuid = $row["conference_session_uuid"];
|
|
|
- $recording = $row["recording"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $recording = str_replace($original_domain_name, $domain_name, $recording);
|
|
|
- // update db record
|
|
|
- $sql = "update v_conference_sessions set ";
|
|
|
- $sql .= "recording = '".$recording."' ";
|
|
|
- $sql .= "where conference_session_uuid = '".$conference_session_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and recording like :recording ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['recording'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['conference_sessions'][$index]['conference_session_uuid'] = $row["conference_session_uuid"];
|
|
|
+ $array['conference_sessions'][$index]['recording'] = str_replace($original_domain_name, $domain_name, $row["recording"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('conference_session_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('conference_session_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update conference center greetings
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/conference_centers/app_config.php")){
|
|
|
$sql = "select conference_center_uuid, conference_center_greeting from v_conference_centers ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and conference_center_greeting like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $conference_center_uuid = $row["conference_center_uuid"];
|
|
|
- $conference_center_greeting = $row["conference_center_greeting"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $conference_center_greeting = str_replace($original_domain_name, $domain_name, $conference_center_greeting);
|
|
|
- // update db record
|
|
|
- $sql = "update v_conference_centers set ";
|
|
|
- $sql .= "conference_center_greeting = '".$conference_center_greeting."' ";
|
|
|
- $sql .= "where conference_center_uuid = '".$conference_center_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and conference_center_greeting like :conference_center_greeting ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['conference_center_greeting'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['conference_centers'][$index]['conference_center_uuid'] = $row["conference_center_uuid"];
|
|
|
+ $array['conference_centers'][$index]['conference_center_greeting'] = str_replace($original_domain_name, $domain_name, $row["conference_center_greeting"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('conference_center_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('conference_center_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update ivr menu greetings
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ivr_menu/app_config.php")){
|
|
|
$sql = "select ivr_menu_uuid, ivr_menu_greet_long, ivr_menu_greet_short from v_ivr_menus ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
$sql .= "and ( ";
|
|
|
- $sql .= "ivr_menu_greet_long like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "ivr_menu_greet_short like '%".$original_domain_name."%' ";
|
|
|
+ $sql .= "ivr_menu_greet_long like :ivr_menu_greet_long or ";
|
|
|
+ $sql .= "ivr_menu_greet_short like :ivr_menu_greet_short ";
|
|
|
$sql .= ") ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $ivr_menu_uuid = $row["ivr_menu_uuid"];
|
|
|
- $ivr_menu_greet_long = $row["ivr_menu_greet_long"];
|
|
|
- $ivr_menu_greet_short = $row["ivr_menu_greet_short"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $ivr_menu_greet_long = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_long);
|
|
|
- $ivr_menu_greet_short = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_short);
|
|
|
- // update db record
|
|
|
- $sql = "update v_ivr_menus set ";
|
|
|
- $sql .= "ivr_menu_greet_long = '".$ivr_menu_greet_long."', ";
|
|
|
- $sql .= "ivr_menu_greet_short = '".$ivr_menu_greet_short."' ";
|
|
|
- $sql .= "where ivr_menu_uuid = '".$ivr_menu_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['ivr_menu_greet_long'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['ivr_menu_greet_short'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['ivr_menus'][$index]['ivr_menu_uuid'] = $row["ivr_menu_uuid"];
|
|
|
+ $array['ivr_menus'][$index]['ivr_menu_greet_long'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_greet_long"]);
|
|
|
+ $array['ivr_menus'][$index]['ivr_menu_greet_short'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_greet_short"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('ivr_menu_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('ivr_menu_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update ivr menu option parameters
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ivr_menu/app_config.php")){
|
|
|
$sql = "select ivr_menu_option_uuid, ivr_menu_option_param from v_ivr_menu_options ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and ivr_menu_option_param like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $ivr_menu_option_uuid = $row["ivr_menu_option_uuid"];
|
|
|
- $ivr_menu_option_param = $row["ivr_menu_option_param"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $ivr_menu_option_param = str_replace($original_domain_name, $domain_name, $ivr_menu_option_param);
|
|
|
- // update db record
|
|
|
- $sql = "update v_ivr_menu_options set ";
|
|
|
- $sql .= "ivr_menu_option_param = '".$ivr_menu_option_param."' ";
|
|
|
- $sql .= "where ivr_menu_option_uuid = '".$ivr_menu_option_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and ivr_menu_option_param like :ivr_menu_option_param ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['ivr_menu_option_param'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['ivr_menu_options'][$index]['ivr_menu_option_uuid'] = $row["ivr_menu_option_uuid"];
|
|
|
+ $array['ivr_menu_options'][$index]['ivr_menu_option_param'] = str_replace($original_domain_name, $domain_name, $row["ivr_menu_option_param"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('ivr_menu_option_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('ivr_menu_option_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update call center queue record templates
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")){
|
|
|
$sql = "select call_center_queue_uuid, queue_record_template from v_call_center_queues ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and queue_record_template like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $call_center_queue_uuid = $row["call_center_queue_uuid"];
|
|
|
- $queue_record_template = $row["queue_record_template"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $queue_record_template = str_replace($original_domain_name, $domain_name, $queue_record_template);
|
|
|
- // update db record
|
|
|
- $sql = "update v_call_center_queues set ";
|
|
|
- $sql .= "queue_record_template = '".$queue_record_template."' ";
|
|
|
- $sql .= "where call_center_queue_uuid = '".$call_center_queue_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and queue_record_template like :queue_record_template ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['queue_record_template'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['call_center_queues'][$index]['call_center_queue_uuid'] = $row["call_center_queue_uuid"];
|
|
|
+ $array['call_center_queues'][$index]['queue_record_template'] = str_replace($original_domain_name, $domain_name, $row["queue_record_template"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('call_center_queue_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('call_center_queue_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update call center agent contacts
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_center/app_config.php")){
|
|
|
$sql = "select call_center_agent_uuid, agent_contact from v_call_center_agents ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and agent_contact like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $call_center_agent_uuid = $row["call_center_agent_uuid"];
|
|
|
- $agent_contact = $row["agent_contact"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $agent_contact = str_replace($original_domain_name, $domain_name, $agent_contact);
|
|
|
- // update db record
|
|
|
- $sql = "update v_call_center_agents set ";
|
|
|
- $sql .= "agent_contact = '".$agent_contact."' ";
|
|
|
- $sql .= "where call_center_agent_uuid = '".$call_center_agent_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and agent_contact like :agent_contact ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['agent_contact'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['call_center_agents'][$index]['call_center_agent_uuid'] = $row["call_center_agent_uuid"];
|
|
|
+ $array['call_center_agents'][$index]['agent_contact'] = str_replace($original_domain_name, $domain_name, $row["agent_contact"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('call_center_agent_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('call_center_agent_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update call flows data, alternate-data and contexts
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/call_flows/app_config.php")){
|
|
|
$sql = "select call_flow_uuid, call_flow_data, call_flow_alternate_data, call_flow_context from v_call_flows ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
$sql .= "and ( ";
|
|
|
- $sql .= "call_flow_data like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "call_flow_alternate_data like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "call_flow_context like '%".$original_domain_name."%' ";
|
|
|
+ $sql .= "call_flow_data like :call_flow_data or ";
|
|
|
+ $sql .= "call_flow_alternate_data like :call_flow_alternate_data or ";
|
|
|
+ $sql .= "call_flow_context like :call_flow_context ";
|
|
|
$sql .= ") ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $call_flow_uuid = $row["call_flow_uuid"];
|
|
|
- $call_flow_data = $row["call_flow_data"];
|
|
|
- $call_flow_alternate_data = $row["call_flow_alternate_data"];
|
|
|
- $call_flow_context = $row["call_flow_context"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $call_flow_data = str_replace($original_domain_name, $domain_name, $call_flow_data);
|
|
|
- $call_flow_alternate_data = str_replace($original_domain_name, $domain_name, $call_flow_alternate_data);
|
|
|
- $call_flow_context = str_replace($original_domain_name, $domain_name, $call_flow_context);
|
|
|
- // update db record
|
|
|
- $sql = "update v_call_flows set ";
|
|
|
- $sql .= "call_flow_data = '".$call_flow_data."', ";
|
|
|
- $sql .= "call_flow_alternate_data = '".$call_flow_alternate_data."', ";
|
|
|
- $sql .= "call_flow_context = '".$call_flow_context."' ";
|
|
|
- $sql .= "where call_flow_uuid = '".$call_flow_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['call_flow_data'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['call_flow_alternate_data'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['call_flow_context'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['call_flows'][$index]['call_flow_uuid'] = $row["call_flow_uuid"];
|
|
|
+ $array['call_flows'][$index]['call_flow_data'] = str_replace($original_domain_name, $domain_name, $row["call_flow_data"]);
|
|
|
+ $array['call_flows'][$index]['call_flow_alternate_data'] = str_replace($original_domain_name, $domain_name, $row["call_flow_alternate_data"]);
|
|
|
+ $array['call_flows'][$index]['call_flow_context'] = str_replace($original_domain_name, $domain_name, $row["call_flow_context"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('call_flow_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('call_flow_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update ring group context, forward destination, timeout data
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/ring_groups/app_config.php")){
|
|
|
$sql = "select ring_group_uuid, ring_group_context, ring_group_forward_destination, ring_group_timeout_data from v_ring_groups ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
$sql .= "and ( ";
|
|
|
- $sql .= "ring_group_context like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "ring_group_forward_destination like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "ring_group_timeout_data like '%".$original_domain_name."%' ";
|
|
|
+ $sql .= "ring_group_context like :ring_group_context or ";
|
|
|
+ $sql .= "ring_group_forward_destination like :ring_group_forward_destination or ";
|
|
|
+ $sql .= "ring_group_timeout_data like :ring_group_timeout_data ";
|
|
|
$sql .= ") ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $ring_group_uuid = $row["ring_group_uuid"];
|
|
|
- $ring_group_context = $row["ring_group_context"];
|
|
|
- $ring_group_forward_destination = $row["ring_group_forward_destination"];
|
|
|
- $ring_group_timeout_data = $row["ring_group_timeout_data"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $ring_group_context = str_replace($original_domain_name, $domain_name, $ring_group_context);
|
|
|
- $ring_group_forward_destination = str_replace($original_domain_name, $domain_name, $ring_group_forward_destination);
|
|
|
- $ring_group_timeout_data = str_replace($original_domain_name, $domain_name, $ring_group_timeout_data);
|
|
|
- // update db record
|
|
|
- $sql = "update v_ring_groups set ";
|
|
|
- $sql .= "ring_group_context = '".$ring_group_context."', ";
|
|
|
- $sql .= "ring_group_forward_destination = '".$ring_group_forward_destination."', ";
|
|
|
- $sql .= "ring_group_timeout_data = '".$ring_group_timeout_data."' ";
|
|
|
- $sql .= "where ring_group_uuid = '".$ring_group_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['ring_group_context'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['ring_group_forward_destination'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['ring_group_timeout_data'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) { $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['ring_groups'][$index]['ring_group_uuid'] = $row["ring_group_uuid"];
|
|
|
+ $array['ring_groups'][$index]['ring_group_context'] = str_replace($original_domain_name, $domain_name, $row["ring_group_context"]);
|
|
|
+ $array['ring_groups'][$index]['ring_group_forward_destination'] = str_replace($original_domain_name, $domain_name, $row["ring_group_forward_destination"]);
|
|
|
+ $array['ring_groups'][$index]['ring_group_timeout_data'] = str_replace($original_domain_name, $domain_name, $row["ring_group_timeout_data"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('ring_group_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('ring_group_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update device lines server address, outbound proxy
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/devices/app_config.php")){
|
|
|
$sql = "select device_line_uuid, server_address, outbound_proxy_primary, outbound_proxy_secondary from v_device_lines ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
$sql .= "and ( ";
|
|
|
- $sql .= "server_address like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "outbound_proxy_primary like '%".$original_domain_name."%' or ";
|
|
|
- $sql .= "outbound_proxy_secondary like '%".$original_domain_name."%' ";
|
|
|
+ $sql .= "server_address like :server_address or ";
|
|
|
+ $sql .= "outbound_proxy_primary like :outbound_proxy_primary or ";
|
|
|
+ $sql .= "outbound_proxy_secondary like :outbound_proxy_secondary ";
|
|
|
$sql .= ") ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $device_line_uuid = $row["device_line_uuid"];
|
|
|
- $server_address = $row["server_address"];
|
|
|
- $outbound_proxy_primary = $row["outbound_proxy_primary"];
|
|
|
- $outbound_proxy_secondary = $row["outbound_proxy_secondary"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $server_address = str_replace($original_domain_name, $domain_name, $server_address);
|
|
|
- $outbound_proxy_primary = str_replace($original_domain_name, $domain_name, $outbound_proxy_primary);
|
|
|
- $outbound_proxy_secondary = str_replace($original_domain_name, $domain_name, $outbound_proxy_secondary);
|
|
|
- // update db record
|
|
|
- $sql = "update v_device_lines set ";
|
|
|
- $sql .= "server_address = '".$server_address."', ";
|
|
|
- $sql .= "outbound_proxy_primary = '".$outbound_proxy_primary."' ";
|
|
|
- $sql .= "outbound_proxy_secondary = '".$outbound_proxy_secondary."' ";
|
|
|
- $sql .= "where device_line_uuid = '".$device_line_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['server_address'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['outbound_proxy_primary'] = '%'.$original_domain_name.'%';
|
|
|
+ $parameters['outbound_proxy_secondary'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ // update db record
|
|
|
+ $array['device_lines'][$index]['device_line_uuid'] = $row["device_line_uuid"];
|
|
|
+ $array['device_lines'][$index]['server_address'] = str_replace($original_domain_name, $domain_name, $row["server_address"]);
|
|
|
+ $array['device_lines'][$index]['outbound_proxy_primary'] = str_replace($original_domain_name, $domain_name, $row["outbound_proxy_primary"]);
|
|
|
+ $array['device_lines'][$index]['outbound_proxy_secondary'] = str_replace($original_domain_name, $domain_name, $row["outbound_proxy_secondary"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('device_line_edit', 'temp');
|
|
|
+
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->save($array);
|
|
|
+ unset($array);
|
|
|
+
|
|
|
+ $p->delete('device_line_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update dialplan, dialplan/public xml files
|
|
@@ -542,26 +654,33 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
// update dialplan details
|
|
|
if (file_exists($_SERVER["PROJECT_ROOT"]."/app/dialplans/app_config.php")){
|
|
|
$sql = "select dialplan_detail_uuid, dialplan_detail_data from v_dialplan_details ";
|
|
|
- $sql .= "where domain_uuid = '".$domain_uuid."' ";
|
|
|
- $sql .= "and dialplan_detail_data like '%".$original_domain_name."%' ";
|
|
|
- $prep_statement = $db->prepare(check_sql($sql));
|
|
|
- $prep_statement->execute();
|
|
|
- $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
|
|
- foreach ($result as &$row) {
|
|
|
- // get current values
|
|
|
- $dialplan_detail_uuid = $row["dialplan_detail_uuid"];
|
|
|
- $dialplan_detail_data = $row["dialplan_detail_data"];
|
|
|
- // replace old domain name with new domain
|
|
|
- $dialplan_detail_data = str_replace($original_domain_name, $domain_name, $dialplan_detail_data);
|
|
|
- // update db record
|
|
|
- $sql = "update v_dialplan_details set ";
|
|
|
- $sql .= "dialplan_detail_data = '".$dialplan_detail_data."' ";
|
|
|
- $sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' ";
|
|
|
- $sql .= "and domain_uuid = '".$domain_uuid."' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $sql .= "where domain_uuid = :domain_uuid ";
|
|
|
+ $sql .= "and dialplan_detail_data like :dialplan_detail_data ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $parameters['dialplan_detail_data'] = '%'.$original_domain_name.'%';
|
|
|
+ $database = new database;
|
|
|
+ $result = $database->select($sql, $parameters, 'all');
|
|
|
+ unset($sql, $parameters);
|
|
|
+
|
|
|
+ if (is_array($result) && sizeof($result) != 0) {
|
|
|
+ foreach ($result as $index => &$row) {
|
|
|
+ $array['dialplan_detail'][$index]['dialplan_detail_uuid'] = $row["dialplan_detail_uuid"];
|
|
|
+ $array['dialplan_detail'][$index]['dialplan_detail_data'] = str_replace($original_domain_name, $domain_name, $row["dialplan_detail_data"]);
|
|
|
+ }
|
|
|
+ if (is_array($array) && sizeof($array) != 0) {
|
|
|
+ $p = new permissions;
|
|
|
+ $p->add('dialplan_detail_edit', 'temp');
|
|
|
+
|
|
|
+ $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_edit', 'temp');
|
|
|
+ }
|
|
|
}
|
|
|
- unset($sql, $prep_statement, $result);
|
|
|
+ unset($result);
|
|
|
}
|
|
|
|
|
|
// update session domain name
|
|
@@ -580,10 +699,14 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
// if single-tenant and variables exist, update variables > domain value to match new domain
|
|
|
if (count($_SESSION['domains']) == 1 && file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/vars/")) {
|
|
|
$sql = "update v_vars set ";
|
|
|
- $sql .= "var_value = '".$domain_name."' ";
|
|
|
+ $sql .= "var_value = :var_value ";
|
|
|
$sql .= "where var_name = 'domain' ";
|
|
|
- $db->exec(check_sql($sql));
|
|
|
- unset($sql);
|
|
|
+ $parameters['var_value'] = $domain_name;
|
|
|
+ $database = new database;
|
|
|
+ $database->app_name = 'domain_settings';
|
|
|
+ $database->app_uuid = 'b31e723a-bf70-670c-a49b-470d2a232f71';
|
|
|
+ $database->execute($sql, $parameters);
|
|
|
+ unset($sql, $parameters);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -621,16 +744,16 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
//pre-populate the form (admin won't have domain_add permissions, but domain_uuid will already be set above)
|
|
|
if ((count($_GET) > 0 || (!permission_exists('domain_add') && $domain_uuid != '')) && $_POST["persistformvar"] != "true") {
|
|
|
$sql = "select * from v_domains ";
|
|
|
- $sql .= "where domain_uuid = '$domain_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 ";
|
|
|
+ $parameters['domain_uuid'] = $domain_uuid;
|
|
|
+ $database = new database;
|
|
|
+ $row = $database->select($sql, $parameters, 'row');
|
|
|
+ if (is_array($row) && sizeof($row) != 0) {
|
|
|
$domain_name = strtolower($row["domain_name"]);
|
|
|
$domain_enabled = $row["domain_enabled"];
|
|
|
$domain_description = $row["domain_description"];
|
|
|
}
|
|
|
- unset ($prep_statement);
|
|
|
+ unset($sql, $parameters, $row);
|
|
|
}
|
|
|
|
|
|
//show the header
|
|
@@ -778,7 +901,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
|
|
|
|
|
echo "</form>";
|
|
|
|
|
|
- if (permission_exists('domain_setting_edit') && $action == "update") {
|
|
|
+ if ($action == "update" && permission_exists('domain_setting_view')) {
|
|
|
require "domain_settings.php";
|
|
|
}
|
|
|
|