Domain name edit only perform the actions if the features are installed.

This commit is contained in:
markjcrane 2015-07-24 14:05:02 -06:00
parent 089f270957
commit a0bf30e2c6
1 changed files with 295 additions and 272 deletions

View File

@ -17,7 +17,7 @@
The Initial Developer of the Original Code is The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com> Mark J Crane <markjcrane@fusionpbx.com>
Portions created by the Initial Developer are Copyright (C) 2008-2012 Portions created by the Initial Developer are Copyright (C) 2008-2015
the Initial Developer. All Rights Reserved. the Initial Developer. All Rights Reserved.
Contributor(s): Contributor(s):
@ -139,49 +139,55 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
if ($original_domain_name != $domain_name) { if ($original_domain_name != $domain_name) {
// update dialplans // update dialplans
$sql = "update v_dialplans set "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/dialplan/app_config.php")){
$sql .= "dialplan_context = '".$domain_name."' "; $sql = "update v_dialplans set ";
$sql .= "where dialplan_context = '".$original_domain_name."' "; $sql .= "dialplan_context = '".$domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where dialplan_context = '".$original_domain_name."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
// update extensions (accountcode, user_context, dial_domain) // update extensions (accountcode, user_context, dial_domain)
$sql = "update v_extensions set "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/extensions/app_config.php")){
$sql .= "accountcode = '".$domain_name."' "; $sql = "update v_extensions set ";
$sql .= "where accountcode = '".$original_domain_name."' "; $sql .= "accountcode = '".$domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where accountcode = '".$original_domain_name."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
$sql = "update v_extensions set "; $sql = "update v_extensions set ";
$sql .= "user_context = '".$domain_name."' "; $sql .= "user_context = '".$domain_name."' ";
$sql .= "where user_context = '".$original_domain_name."' "; $sql .= "where user_context = '".$original_domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "and domain_uuid = '".$domain_uuid."' ";
$db->exec(check_sql($sql)); $db->exec(check_sql($sql));
unset($sql); unset($sql);
$sql = "update v_extensions set "; $sql = "update v_extensions set ";
$sql .= "dial_domain = '".$domain_name."' "; $sql .= "dial_domain = '".$domain_name."' ";
$sql .= "where dial_domain = '".$original_domain_name."' "; $sql .= "where dial_domain = '".$original_domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "and domain_uuid = '".$domain_uuid."' ";
$db->exec(check_sql($sql)); $db->exec(check_sql($sql));
unset($sql); unset($sql);
}
// update cdr records (domain_name, context) // update cdr records (domain_name, context)
$sql = "update v_xml_cdr set "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/xml_cdr/app_config.php")){
$sql .= "domain_name = '".$domain_name."' "; $sql = "update v_xml_cdr set ";
$sql .= "where domain_name = '".$original_domain_name."' "; $sql .= "domain_name = '".$domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where domain_name = '".$original_domain_name."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
$sql = "update v_xml_cdr set "; $sql = "update v_xml_cdr set ";
$sql .= "context = '".$domain_name."' "; $sql .= "context = '".$domain_name."' ";
$sql .= "where context = '".$original_domain_name."' "; $sql .= "where context = '".$original_domain_name."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "and domain_uuid = '".$domain_uuid."' ";
$db->exec(check_sql($sql)); $db->exec(check_sql($sql));
unset($sql); unset($sql);
}
// update billing, if installed // update billing, if installed
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){ if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/billing/app_config.php")){
@ -242,243 +248,261 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
} }
// update conference session recording paths // update conference session recording paths
$sql = "select conference_session_uuid, recording from v_conference_sessions "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conference_centers/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select conference_session_uuid, recording from v_conference_sessions ";
$sql .= "and recording like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and recording like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$conference_session_uuid = $row["conference_session_uuid"]; // get current values
$recording = $row["recording"]; $conference_session_uuid = $row["conference_session_uuid"];
// replace old domain name with new domain $recording = $row["recording"];
$recording = str_replace($original_domain_name, $domain_name, $recording); // replace old domain name with new domain
// update db record $recording = str_replace($original_domain_name, $domain_name, $recording);
$sql = "update v_conference_sessions set "; // update db record
$sql .= "recording = '".$recording."' "; $sql = "update v_conference_sessions set ";
$sql .= "where conference_session_uuid = '".$conference_session_uuid."' "; $sql .= "recording = '".$recording."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where conference_session_uuid = '".$conference_session_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update conference center greetings // update conference center greetings
$sql = "select conference_center_uuid, conference_center_greeting from v_conference_centers "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conference_centers/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select conference_center_uuid, conference_center_greeting from v_conference_centers ";
$sql .= "and conference_center_greeting like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and conference_center_greeting like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$conference_center_uuid = $row["conference_center_uuid"]; // get current values
$conference_center_greeting = $row["conference_center_greeting"]; $conference_center_uuid = $row["conference_center_uuid"];
// replace old domain name with new domain $conference_center_greeting = $row["conference_center_greeting"];
$conference_center_greeting = str_replace($original_domain_name, $domain_name, $conference_center_greeting); // replace old domain name with new domain
// update db record $conference_center_greeting = str_replace($original_domain_name, $domain_name, $conference_center_greeting);
$sql = "update v_conference_centers set "; // update db record
$sql .= "conference_center_greeting = '".$conference_center_greeting."' "; $sql = "update v_conference_centers set ";
$sql .= "where conference_center_uuid = '".$conference_center_uuid."' "; $sql .= "conference_center_greeting = '".$conference_center_greeting."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where conference_center_uuid = '".$conference_center_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update ivr menu greetings // update ivr menu greetings
$sql = "select ivr_menu_uuid, ivr_menu_greet_long, ivr_menu_greet_short from v_ivr_menus "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ivr_menu/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select ivr_menu_uuid, ivr_menu_greet_long, ivr_menu_greet_short from v_ivr_menus ";
$sql .= "and ( "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "ivr_menu_greet_long like '%".$original_domain_name."%' or "; $sql .= "and ( ";
$sql .= "ivr_menu_greet_short like '%".$original_domain_name."%' "; $sql .= "ivr_menu_greet_long like '%".$original_domain_name."%' or ";
$sql .= ") "; $sql .= "ivr_menu_greet_short like '%".$original_domain_name."%' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= ") ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$ivr_menu_uuid = $row["ivr_menu_uuid"]; // get current values
$ivr_menu_greet_long = $row["ivr_menu_greet_long"]; $ivr_menu_uuid = $row["ivr_menu_uuid"];
$ivr_menu_greet_short = $row["ivr_menu_greet_short"]; $ivr_menu_greet_long = $row["ivr_menu_greet_long"];
// replace old domain name with new domain $ivr_menu_greet_short = $row["ivr_menu_greet_short"];
$ivr_menu_greet_long = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_long); // replace old domain name with new domain
$ivr_menu_greet_short = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_short); $ivr_menu_greet_long = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_long);
// update db record $ivr_menu_greet_short = str_replace($original_domain_name, $domain_name, $ivr_menu_greet_short);
$sql = "update v_ivr_menus set "; // update db record
$sql .= "ivr_menu_greet_long = '".$ivr_menu_greet_long."', "; $sql = "update v_ivr_menus set ";
$sql .= "ivr_menu_greet_short = '".$ivr_menu_greet_short."' "; $sql .= "ivr_menu_greet_long = '".$ivr_menu_greet_long."', ";
$sql .= "where ivr_menu_uuid = '".$ivr_menu_uuid."' "; $sql .= "ivr_menu_greet_short = '".$ivr_menu_greet_short."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where ivr_menu_uuid = '".$ivr_menu_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update ivr menu option parameters // update ivr menu option parameters
$sql = "select ivr_menu_option_uuid, ivr_menu_option_param from v_ivr_menu_options "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ivr_menu/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select ivr_menu_option_uuid, ivr_menu_option_param from v_ivr_menu_options ";
$sql .= "and ivr_menu_option_param like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and ivr_menu_option_param like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$ivr_menu_option_uuid = $row["ivr_menu_option_uuid"]; // get current values
$ivr_menu_option_param = $row["ivr_menu_option_param"]; $ivr_menu_option_uuid = $row["ivr_menu_option_uuid"];
// replace old domain name with new domain $ivr_menu_option_param = $row["ivr_menu_option_param"];
$ivr_menu_option_param = str_replace($original_domain_name, $domain_name, $ivr_menu_option_param); // replace old domain name with new domain
// update db record $ivr_menu_option_param = str_replace($original_domain_name, $domain_name, $ivr_menu_option_param);
$sql = "update v_ivr_menu_options set "; // update db record
$sql .= "ivr_menu_option_param = '".$ivr_menu_option_param."' "; $sql = "update v_ivr_menu_options set ";
$sql .= "where ivr_menu_option_uuid = '".$ivr_menu_option_uuid."' "; $sql .= "ivr_menu_option_param = '".$ivr_menu_option_param."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where ivr_menu_option_uuid = '".$ivr_menu_option_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update call center queue record templates // update call center queue record templates
$sql = "select call_center_queue_uuid, queue_record_template from v_call_center_queues "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_center/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select call_center_queue_uuid, queue_record_template from v_call_center_queues ";
$sql .= "and queue_record_template like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and queue_record_template like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$call_center_queue_uuid = $row["call_center_queue_uuid"]; // get current values
$queue_record_template = $row["queue_record_template"]; $call_center_queue_uuid = $row["call_center_queue_uuid"];
// replace old domain name with new domain $queue_record_template = $row["queue_record_template"];
$queue_record_template = str_replace($original_domain_name, $domain_name, $queue_record_template); // replace old domain name with new domain
// update db record $queue_record_template = str_replace($original_domain_name, $domain_name, $queue_record_template);
$sql = "update v_call_center_queues set "; // update db record
$sql .= "queue_record_template = '".$queue_record_template."' "; $sql = "update v_call_center_queues set ";
$sql .= "where call_center_queue_uuid = '".$call_center_queue_uuid."' "; $sql .= "queue_record_template = '".$queue_record_template."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where call_center_queue_uuid = '".$call_center_queue_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update call center agent contacts // update call center agent contacts
$sql = "select call_center_agent_uuid, agent_contact from v_call_center_agents "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_center/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select call_center_agent_uuid, agent_contact from v_call_center_agents ";
$sql .= "and agent_contact like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and agent_contact like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$call_center_agent_uuid = $row["call_center_agent_uuid"]; // get current values
$agent_contact = $row["agent_contact"]; $call_center_agent_uuid = $row["call_center_agent_uuid"];
// replace old domain name with new domain $agent_contact = $row["agent_contact"];
$agent_contact = str_replace($original_domain_name, $domain_name, $agent_contact); // replace old domain name with new domain
// update db record $agent_contact = str_replace($original_domain_name, $domain_name, $agent_contact);
$sql = "update v_call_center_agents set "; // update db record
$sql .= "agent_contact = '".$agent_contact."' "; $sql = "update v_call_center_agents set ";
$sql .= "where call_center_agent_uuid = '".$call_center_agent_uuid."' "; $sql .= "agent_contact = '".$agent_contact."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where call_center_agent_uuid = '".$call_center_agent_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update call flows data, anti-data and contexts // update call flows data, anti-data and contexts
$sql = "select call_flow_uuid, call_flow_data, call_flow_anti_data, call_flow_context from v_call_flows "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_flows/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select call_flow_uuid, call_flow_data, call_flow_anti_data, call_flow_context from v_call_flows ";
$sql .= "and ( "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "call_flow_data like '%".$original_domain_name."%' or "; $sql .= "and ( ";
$sql .= "call_flow_anti_data like '%".$original_domain_name."%' or "; $sql .= "call_flow_data like '%".$original_domain_name."%' or ";
$sql .= "call_flow_context like '%".$original_domain_name."%' "; $sql .= "call_flow_anti_data like '%".$original_domain_name."%' or ";
$sql .= ") "; $sql .= "call_flow_context like '%".$original_domain_name."%' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= ") ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$call_flow_uuid = $row["call_flow_uuid"]; // get current values
$call_flow_data = $row["call_flow_data"]; $call_flow_uuid = $row["call_flow_uuid"];
$call_flow_anti_data = $row["call_flow_anti_data"]; $call_flow_data = $row["call_flow_data"];
$call_flow_context = $row["call_flow_context"]; $call_flow_anti_data = $row["call_flow_anti_data"];
// replace old domain name with new domain $call_flow_context = $row["call_flow_context"];
$call_flow_data = str_replace($original_domain_name, $domain_name, $call_flow_data); // replace old domain name with new domain
$call_flow_anti_data = str_replace($original_domain_name, $domain_name, $call_flow_anti_data); $call_flow_data = str_replace($original_domain_name, $domain_name, $call_flow_data);
$call_flow_context = str_replace($original_domain_name, $domain_name, $call_flow_context); $call_flow_anti_data = str_replace($original_domain_name, $domain_name, $call_flow_anti_data);
// update db record $call_flow_context = str_replace($original_domain_name, $domain_name, $call_flow_context);
$sql = "update v_call_flows set "; // update db record
$sql .= "call_flow_data = '".$call_flow_data."', "; $sql = "update v_call_flows set ";
$sql .= "call_flow_anti_data = '".$call_flow_anti_data."', "; $sql .= "call_flow_data = '".$call_flow_data."', ";
$sql .= "call_flow_context = '".$call_flow_context."' "; $sql .= "call_flow_anti_data = '".$call_flow_anti_data."', ";
$sql .= "where call_flow_uuid = '".$call_flow_uuid."' "; $sql .= "call_flow_context = '".$call_flow_context."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where call_flow_uuid = '".$call_flow_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update ring group context, forward destination, timeout data // update ring group context, forward destination, timeout data
$sql = "select ring_group_uuid, ring_group_context, ring_group_forward_destination, ring_group_timeout_data from v_ring_groups "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ring_groups/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select ring_group_uuid, ring_group_context, ring_group_forward_destination, ring_group_timeout_data from v_ring_groups ";
$sql .= "and ( "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "ring_group_context like '%".$original_domain_name."%' or "; $sql .= "and ( ";
$sql .= "ring_group_forward_destination like '%".$original_domain_name."%' or "; $sql .= "ring_group_context like '%".$original_domain_name."%' or ";
$sql .= "ring_group_timeout_data like '%".$original_domain_name."%' "; $sql .= "ring_group_forward_destination like '%".$original_domain_name."%' or ";
$sql .= ") "; $sql .= "ring_group_timeout_data like '%".$original_domain_name."%' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= ") ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$ring_group_uuid = $row["ring_group_uuid"]; // get current values
$ring_group_context = $row["ring_group_context"]; $ring_group_uuid = $row["ring_group_uuid"];
$ring_group_forward_destination = $row["ring_group_forward_destination"]; $ring_group_context = $row["ring_group_context"];
$ring_group_timeout_data = $row["ring_group_timeout_data"]; $ring_group_forward_destination = $row["ring_group_forward_destination"];
// replace old domain name with new domain $ring_group_timeout_data = $row["ring_group_timeout_data"];
$ring_group_context = str_replace($original_domain_name, $domain_name, $ring_group_context); // replace old domain name with new domain
$ring_group_forward_destination = str_replace($original_domain_name, $domain_name, $ring_group_forward_destination); $ring_group_context = str_replace($original_domain_name, $domain_name, $ring_group_context);
$ring_group_timeout_data = str_replace($original_domain_name, $domain_name, $ring_group_timeout_data); $ring_group_forward_destination = str_replace($original_domain_name, $domain_name, $ring_group_forward_destination);
// update db record $ring_group_timeout_data = str_replace($original_domain_name, $domain_name, $ring_group_timeout_data);
$sql = "update v_ring_groups set "; // update db record
$sql .= "ring_group_context = '".$ring_group_context."', "; $sql = "update v_ring_groups set ";
$sql .= "ring_group_forward_destination = '".$ring_group_forward_destination."', "; $sql .= "ring_group_context = '".$ring_group_context."', ";
$sql .= "ring_group_timeout_data = '".$ring_group_timeout_data."' "; $sql .= "ring_group_forward_destination = '".$ring_group_forward_destination."', ";
$sql .= "where ring_group_uuid = '".$ring_group_uuid."' "; $sql .= "ring_group_timeout_data = '".$ring_group_timeout_data."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where ring_group_uuid = '".$ring_group_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update device lines server address, outbound proxy // update device lines server address, outbound proxy
$sql = "select device_line_uuid, server_address, outbound_proxy from v_device_lines "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/devices/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select device_line_uuid, server_address, outbound_proxy from v_device_lines ";
$sql .= "and ( "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "server_address like '%".$original_domain_name."%' or "; $sql .= "and ( ";
$sql .= "outbound_proxy like '%".$original_domain_name."%' "; $sql .= "server_address like '%".$original_domain_name."%' or ";
$sql .= ") "; $sql .= "outbound_proxy like '%".$original_domain_name."%' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= ") ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$device_line_uuid = $row["device_line_uuid"]; // get current values
$server_address = $row["server_address"]; $device_line_uuid = $row["device_line_uuid"];
$outbound_proxy = $row["outbound_proxy"]; $server_address = $row["server_address"];
// replace old domain name with new domain $outbound_proxy = $row["outbound_proxy"];
$server_address = str_replace($original_domain_name, $domain_name, $server_address); // replace old domain name with new domain
$outbound_proxy = str_replace($original_domain_name, $domain_name, $outbound_proxy); $server_address = str_replace($original_domain_name, $domain_name, $server_address);
// update db record $outbound_proxy = str_replace($original_domain_name, $domain_name, $outbound_proxy);
$sql = "update v_device_lines set "; // update db record
$sql .= "server_address = '".$server_address."', "; $sql = "update v_device_lines set ";
$sql .= "outbound_proxy = '".$outbound_proxy."' "; $sql .= "server_address = '".$server_address."', ";
$sql .= "where device_line_uuid = '".$device_line_uuid."' "; $sql .= "outbound_proxy = '".$outbound_proxy."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where device_line_uuid = '".$device_line_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update dialplan, dialplan/public xml files // update dialplan, dialplan/public xml files
$dialplan_xml = file_get_contents($_SESSION['switch']['dialplan']['dir']."/".$domain_name.".xml"); $dialplan_xml = file_get_contents($_SESSION['switch']['dialplan']['dir']."/".$domain_name.".xml");
@ -492,27 +516,29 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
unset($dialplan_public_xml); unset($dialplan_public_xml);
// update dialplan details // update dialplan details
$sql = "select dialplan_detail_uuid, dialplan_detail_data from v_dialplan_details "; if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/dialplan/app_config.php")){
$sql .= "where domain_uuid = '".$domain_uuid."' "; $sql = "select dialplan_detail_uuid, dialplan_detail_data from v_dialplan_details ";
$sql .= "and dialplan_detail_data like '%".$original_domain_name."%' "; $sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql)); $sql .= "and dialplan_detail_data like '%".$original_domain_name."%' ";
$prep_statement->execute(); $prep_statement = $db->prepare(check_sql($sql));
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $prep_statement->execute();
foreach ($result as &$row) { $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
// get current values foreach ($result as &$row) {
$dialplan_detail_uuid = $row["dialplan_detail_uuid"]; // get current values
$dialplan_detail_data = $row["dialplan_detail_data"]; $dialplan_detail_uuid = $row["dialplan_detail_uuid"];
// replace old domain name with new domain $dialplan_detail_data = $row["dialplan_detail_data"];
$dialplan_detail_data = str_replace($original_domain_name, $domain_name, $dialplan_detail_data); // replace old domain name with new domain
// update db record $dialplan_detail_data = str_replace($original_domain_name, $domain_name, $dialplan_detail_data);
$sql = "update v_dialplan_details set "; // update db record
$sql .= "dialplan_detail_data = '".$dialplan_detail_data."' "; $sql = "update v_dialplan_details set ";
$sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' "; $sql .= "dialplan_detail_data = '".$dialplan_detail_data."' ";
$sql .= "and domain_uuid = '".$domain_uuid."' "; $sql .= "where dialplan_detail_uuid = '".$dialplan_detail_uuid."' ";
$db->exec(check_sql($sql)); $sql .= "and domain_uuid = '".$domain_uuid."' ";
unset($sql); $db->exec(check_sql($sql));
unset($sql);
}
unset($sql, $prep_statement, $result);
} }
unset($sql, $prep_statement, $result);
// update session domain name // update session domain name
$_SESSION['domains'][$domain_uuid]['domain_name'] = $domain_name; $_SESSION['domains'][$domain_uuid]['domain_name'] = $domain_name;
@ -535,9 +561,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$db->exec(check_sql($sql)); $db->exec(check_sql($sql));
unset($sql); unset($sql);
} }
} }
} }
//upgrade the domains //upgrade the domains
@ -710,7 +734,6 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
require "domain_settings.php"; require "domain_settings.php";
} }
//include the footer //include the footer
require_once "resources/footer.php"; require_once "resources/footer.php";
?> ?>