diff --git a/app/time_conditions/time_condition_edit.php b/app/time_conditions/time_condition_edit.php index a85a5a2f85..dc06cb7cdc 100644 --- a/app/time_conditions/time_condition_edit.php +++ b/app/time_conditions/time_condition_edit.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2017 + Portions created by the Initial Developer are Copyright (C) 2008-2019 the Initial Developer. All Rights Reserved. Contributor(s): @@ -74,7 +74,9 @@ $dialplan_anti_action_array = explode(":", $dialplan_anti_action); $dialplan_anti_action_app = array_shift($dialplan_anti_action_array); $dialplan_anti_action_data = join(':', $dialplan_anti_action_array); - + if (permission_exists('time_condition_context')) { + $dialplan_context = check_str($_POST["dialplan_context"]); + } $dialplan_enabled = check_str($_POST["dialplan_enabled"]); $dialplan_description = check_str($_POST["dialplan_description"]); @@ -106,6 +108,16 @@ $dialplan_name = str_replace(' ', '_', $dialplan_name); $dialplan_name = str_replace('/', '', $dialplan_name); + //set the context for users that do not have the permission + if (permission_exists('time_condition_context')) { + $dialplan_context = check_str($_POST["dialplan_context"]); + } + else { + if ($action == 'add') { + $dialplan_context = $_SESSION['domain_name']; + } + } + //start the atomic transaction $count = $db->exec("BEGIN;"); //returns affected rows @@ -141,12 +153,7 @@ $sql .= "'".$dialplan_number."', "; $sql .= "'".$dialplan_order."', "; $sql .= "'false', "; - if (strlen($domain_uuid) == 0) { - $sql .= "'\${domain_name}', "; - } - else { - $sql .= "'".$_SESSION['context']."', "; - } + $sql .= "'".$dialplan_context."', "; $sql .= "'".$dialplan_enabled."', "; $sql .= "'".$dialplan_description."' "; $sql .= ")"; @@ -168,11 +175,8 @@ $sql .= "dialplan_number = '".$dialplan_number."', "; $sql .= "dialplan_order = '".$dialplan_order."', "; $sql .= "dialplan_continue = 'true', "; - if (strlen($domain_uuid) == 0) { - $sql .= "dialplan_context = '\${domain_name}', "; - } - else { - $sql .= "dialplan_context = '".$_SESSION['context']."', "; + if (strlen($dialplan_context) > 0) { + $sql .= "dialplan_context = '".$dialplan_context."', "; } $sql .= "dialplan_enabled = '".$dialplan_enabled."', "; $sql .= "dialplan_description = '".$dialplan_description."' "; @@ -552,9 +556,9 @@ $sql .= "where dialplan_uuid = '".$dialplan_uuid."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - if (is_array($result)) { - foreach ($result as &$row) { + $dialplans = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (is_array($dialplans)) { + foreach ($dialplans as &$row) { $domain_uuid = $row["domain_uuid"]; //$app_uuid = $row["app_uuid"]; $dialplan_name = $row["dialplan_name"]; @@ -591,14 +595,13 @@ $sql .= "order by dialplan_detail_group asc, dialplan_detail_order asc"; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - $result_count = count($result); + $dialplan_details = $prep_statement->fetchAll(PDO::FETCH_NAMED); unset ($prep_statement, $sql); //load current conditions into array (combined by group), and retrieve action and anti-action $c = 0; - if (is_array($result)) { - foreach ($result as $row) { + if (is_array($dialplan_details)) { + foreach ($dialplan_details as $row) { if ($row['dialplan_detail_tag'] == 'action') { if ($row['dialplan_detail_group'] == '999') { $dialplan_anti_action = $row['dialplan_detail_type'].(($row['dialplan_detail_data'] != '') ? ':'.$row['dialplan_detail_data'] : null); @@ -1162,7 +1165,7 @@ if ($action == 'update') { echo " ".$text['label-alternate-destination']."\n"; echo "\n"; echo "\n"; - echo $destination->select('dialplan', 'dialplan_anti_action', $dialplan_anti_action); + echo " ".$destination->select('dialplan', 'dialplan_anti_action', $dialplan_anti_action); echo "\n"; echo "\n"; @@ -1210,6 +1213,19 @@ if ($action == 'update') { echo "\n"; } + if (permission_exists('time_condition_context')) { + echo "\n"; + echo "\n"; + echo " ".$text['label-context']."\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-enter-context']."\n"; + echo "\n"; + echo "\n"; + } + echo "\n"; echo "\n"; echo " ".$text['label-enabled']."\n";