diff --git a/app/ring_groups/app_config.php b/app/ring_groups/app_config.php index 0306391fa8..cffbffe1f1 100644 --- a/app/ring_groups/app_config.php +++ b/app/ring_groups/app_config.php @@ -150,4 +150,12 @@ $apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = 'char(36)'; $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Select the extension.'; $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'extension_delay'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'numeric'; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; + $z++; + $apps[$x]['db'][$y]['fields'][$z]['name'] = 'extension_timeout'; + $apps[$x]['db'][$y]['fields'][$z]['type'] = 'numeric'; + $apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = ''; + $z++; ?> \ No newline at end of file diff --git a/app/ring_groups/app_languages.php b/app/ring_groups/app_languages.php index 30e36c531c..4bfd41ad4f 100644 --- a/app/ring_groups/app_languages.php +++ b/app/ring_groups/app_languages.php @@ -71,9 +71,11 @@ $text['label-strategy']['en-us'] = 'Strategy'; - $text['dropdown-sequence']['en-us'] = 'sequence'; + $text['select-sequence']['en-us'] = 'sequence'; - $text['dropdown-simultaneous']['en-us'] = 'simultaneous'; + $text['select-simultaneous']['en-us'] = 'simultaneous'; + + $text['select-enterprise']['en-us'] = 'enterprise'; $text['label-sequence']['en-us'] = 'Select the strategy.'; @@ -115,4 +117,10 @@ $text['label-extensions']['en-us'] = 'Extensions'; + $text['label-delay']['en-us'] = 'Delay'; + $text['label-delay']['pt-pt'] = ''; + + $text['label-timeout']['en-us'] = 'Timeout'; + $text['label-timeout']['pt-pt'] = ''; + ?> \ No newline at end of file diff --git a/app/ring_groups/ring_groups_edit.php b/app/ring_groups/ring_groups_edit.php index 844bd5d407..d062fed6f9 100644 --- a/app/ring_groups/ring_groups_edit.php +++ b/app/ring_groups/ring_groups_edit.php @@ -69,6 +69,25 @@ else { $action = "add"; } +//define the destination_select function + function destination_select($select_name, $select_value, $select_default) { + if (strlen($select_value) == 0) { $select_value = $select_default; } + echo " \n"; + } + //get http post variables and set them to php variables if (count($_POST)>0) { //set variables from http values @@ -88,6 +107,8 @@ else { $ring_group_timeout_app = array_shift($ring_group_timeout_array); $ring_group_timeout_data = join(':', $ring_group_timeout_array); $extension_uuid = check_str($_POST["extension_uuid"]); + $extension_delay = check_str($_POST["extension_delay"]); + $extension_timeout = check_str($_POST["extension_timeout"]); //set the context for users that are not in the superadmin group if (!if_group("superadmin")) { @@ -207,6 +228,10 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "domain_uuid, "; $sql .= "ring_group_uuid, "; $sql .= "ring_group_extension_uuid, "; + $sql .= "extension_delay, "; + if (strlen($extension_timeout) > 0) { + $sql .= "extension_timeout, "; + } $sql .= "extension_uuid "; $sql .= ")"; $sql .= "values "; @@ -214,6 +239,10 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $sql .= "'".$_SESSION['domain_uuid']."', "; $sql .= "'$ring_group_uuid', "; $sql .= "'$ring_group_extension_uuid', "; + $sql .= "'$extension_delay', "; + if (strlen($extension_timeout) > 0) { + $sql .= "'$extension_timeout', "; + } $sql .= "'$extension_uuid' "; $sql .= ")"; $db->exec(check_sql($sql)); @@ -355,7 +384,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo "\n"; echo "\n"; echo "\n"; - echo "\n"; echo "\n"; echo "\n"; @@ -407,16 +435,22 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo " \n"; echo "
\n"; @@ -428,21 +462,37 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo " "; echo "
".$text['label-ring-group']."
".$text['label-extensions'].":"; if ($action == "update") { - echo " \n"; - $sql = "SELECT g.ring_group_extension_uuid, e.extension_uuid, e.extension "; + echo "
\n"; + $sql = "SELECT g.ring_group_extension_uuid, e.extension_uuid, g.extension_delay, g.extension_timeout, e.extension "; $sql .= "FROM v_ring_groups as r, v_ring_group_extensions as g, v_extensions as e "; - $sql .= "where g.ring_group_uuid = r.ring_group_uuid "; + $sql .= "where g.ring_group_uuid = r.ring_group_uuid "; $sql .= "and g.domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and g.ring_group_uuid = '".$ring_group_uuid."' "; $sql .= "and e.extension_uuid = g.extension_uuid "; - $sql .= "order by e.extension asc "; + $sql .= "order by g.extension_delay asc, e.extension asc "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); $result_count = count($result); + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; foreach($result as $field) { + if (strlen($field['extension_delay']) == 0) { $field['extension_delay'] = "0"; } + if (strlen($field['extension_timeout']) == 0) { $field['extension_timeout'] = "30"; } echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; @@ -463,6 +513,12 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { echo " \n"; } echo " "; + echo "  \n"; + + echo " ".$text['label-delay']." "; + destination_select('extension_delay', $extension_delay, '0'); + echo "  ".$text['label-timeout']." \n"; + destination_select('extension_timeout', $extension_timeout, '30'); if ($action == "update") { echo " \n"; }
".$text['label-extension']."".$text['label-delay']."".$text['label-timeout']."
".$field['extension']."\n"; + echo " ".$field['extension']; + echo " \n"; + echo " ".$field['extension_delay']." \n"; + echo " \n"; + echo " ".$field['extension_timeout']." \n"; + echo " \n"; echo " $v_link_label_delete\n"; echo "