diff --git a/resources/switch.php b/resources/switch.php index 59159c4347..4a16bb6d08 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -493,27 +493,25 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - if ($select_type == "dialplan" || $select_type == "ivr") { + if (count($result) > 0) { $options[] = ""; - } - $previous_call_center_name = ""; - foreach ($result as &$row) { - $queue_name = $row["queue_name"]; - $queue_name = str_replace('_${domain_name}@default', '', $queue_name); - $queue_extension = $row["queue_extension"]; - if ($previous_call_center_name != $queue_name) { - $selected = ("menu-exec-app:transfer ".$queue_extension." XML ".$_SESSION["context"] == $select_value || "transfer:".$queue_extension." XML ".$_SESSION["context"] == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + $previous_call_center_name = ""; + foreach ($result as &$row) { + $queue_name = $row["queue_name"]; + $queue_name = str_replace('_${domain_name}@default', '', $queue_name); + $queue_extension = $row["queue_extension"]; + if ($previous_call_center_name != $queue_name) { + $selected = ("menu-exec-app:transfer ".$queue_extension." XML ".$_SESSION["context"] == $select_value || "transfer:".$queue_extension." XML ".$_SESSION["context"] == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } + $previous_call_center_name = $queue_name; } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } - $previous_call_center_name = $queue_name; } - } - if ($select_type == "dialplan" || $select_type == "ivr") { $options[] = ""; } unset ($prep_statement); @@ -529,21 +527,23 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $call_flow_name = $row["call_flow_name"]; - $call_flow_extension = $row["call_flow_extension"]; - $call_flow_context = $row["call_flow_context"]; - $selected = ("transfer $call_flow_extension XML ".$call_flow_context == $select_value || "transfer:".$call_flow_extension." XML ".$call_flow_context == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $call_flow_name = $row["call_flow_name"]; + $call_flow_extension = $row["call_flow_extension"]; + $call_flow_context = $row["call_flow_context"]; + $selected = ("transfer $call_flow_extension XML ".$call_flow_context == $select_value || "transfer:".$call_flow_extension." XML ".$call_flow_context == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; unset ($prep_statement, $call_flow_extension); } } @@ -559,28 +559,30 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement->execute(); $x = 0; $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $previous_call_group_name = ""; - $options[] = ""; - foreach ($result as &$row) { - $call_groups = $row["call_group"]; - $call_group_array = explode(",", $call_groups); - foreach ($call_group_array as $call_group) { - $call_group = trim($call_group); - if ($previous_call_group_name != $call_group) { - $selected = ("menu-exec-app:bridge group/".$call_group."@".$_SESSION['domain_name'] == $select_value || "bridge:group/".$call_group."@".$_SESSION['domain_name'] == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $previous_call_group_name = ""; + $options[] = ""; + foreach ($result as &$row) { + $call_groups = $row["call_group"]; + $call_group_array = explode(",", $call_groups); + foreach ($call_group_array as $call_group) { + $call_group = trim($call_group); + if ($previous_call_group_name != $call_group) { + $selected = ("menu-exec-app:bridge group/".$call_group."@".$_SESSION['domain_name'] == $select_value || "bridge:group/".$call_group."@".$_SESSION['domain_name'] == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } + $previous_call_group_name = $call_group; } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } - $previous_call_group_name = $call_group; } + $x++; } - $x++; + $options[] = ""; } - $options[] = ""; unset ($prep_statement); } } @@ -640,8 +642,8 @@ function switch_select_destination($select_type, $select_label, $select_name, $s if ($selected) { $selection_found = true; } } $options[] = ""; - unset ($prep_statement); } + unset ($prep_statement); } } @@ -700,24 +702,26 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $extension = $row["extension"]; - $context = $row["user_context"]; - $description = $row["description"]; - $selected = ("menu-exec-app:transfer ".$extension." XML ".$context == $select_value || "transfer:".$extension." XML ".$context == $select_value || "user/".$extension."@".$_SESSION['domains'][$domain_uuid]['domain_name'] == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $extension = $row["extension"]; + $context = $row["user_context"]; + $description = $row["description"]; + $selected = ("menu-exec-app:transfer ".$extension." XML ".$context == $select_value || "transfer:".$extension." XML ".$context == $select_value || "user/".$extension."@".$_SESSION['domains'][$domain_uuid]['domain_name'] == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($select_type == "call_center_contact") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($select_type == "call_center_contact") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; unset ($prep_statement, $extension); } } @@ -731,20 +735,22 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $fax_name = $row["fax_name"]; - $extension = $row["fax_extension"]; - $selected = ("transfer $extension XML ".$_SESSION["context"] == $select_value || "transfer:".$extension." XML ".$_SESSION["context"] == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $fax_name = $row["fax_name"]; + $extension = $row["fax_extension"]; + $selected = ("transfer $extension XML ".$_SESSION["context"] == $select_value || "transfer:".$extension." XML ".$_SESSION["context"] == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; unset ($prep_statement, $extension); } } @@ -754,65 +760,62 @@ function switch_select_destination($select_type, $select_label, $select_name, $s if ($select_type == "dialplan" || $select_type == "ivr") { $sql = "select * from v_dialplan_details "; $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and dialplan_detail_type = 'fifo' "; + $sql .= "and dialplan_detail_data not like '%@${domain_name} in%' "; $sql .= "order by dialplan_detail_data asc "; + echo $sql; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - //$dialplan_detail_tag = $row["dialplan_detail_tag"]; - if ($row["dialplan_detail_type"] == "fifo") { - if (strpos($row["dialplan_detail_data"], '@${domain_name} in') !== false) { - $dialplan_uuid = $row["dialplan_uuid"]; - //get the extension number using the dialplan_uuid - $sql = "select dialplan_detail_data as extension_number "; - $sql .= "from v_dialplan_details "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; - $sql .= "and dialplan_detail_type = 'destination_number' "; - $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); - $extension_number = $tmp['extension_number']; - $extension_number = ltrim($extension_number, "^"); - $extension_number = ltrim($extension_number, "\\"); - $extension_number = rtrim($extension_number, "$"); - unset($tmp); + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $dialplan_uuid = $row["dialplan_uuid"]; + //get the extension number using the dialplan_uuid + $sql = "select dialplan_detail_data as extension_number "; + $sql .= "from v_dialplan_details "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; + $sql .= "and dialplan_detail_type = 'destination_number' "; + $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); + $extension_number = $tmp['extension_number']; + $extension_number = ltrim($extension_number, "^"); + $extension_number = ltrim($extension_number, "\\"); + $extension_number = rtrim($extension_number, "$"); + unset($tmp); - //get the extension number using the dialplan_uuid - $sql = "select * "; - $sql .= "from v_dialplans "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; - $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); - $dialplan_name = $tmp['dialplan_name']; - $dialplan_name = str_replace("_", " ", $dialplan_name); - unset($tmp); + //get the extension number using the dialplan_uuid + $sql = "select * "; + $sql .= "from v_dialplans "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; + $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); + $dialplan_name = $tmp['dialplan_name']; + $dialplan_name = str_replace("_", " ", $dialplan_name); + unset($tmp); - $fifo_name = $row["dialplan_detail_data"]; - $fifo_name = str_replace('@${domain_name} in', '', $fifo_name); - $option_label = $extension_number.' '.$dialplan_name; - if ($select_type == "ivr") { - $selected = ("menu-exec-app:transfer ".$row["dialplan_detail_data"] == $select_value) ? true : false; - $options[] = ""; - if ($selected) { $selection_found = true; } - } - if ($select_type == "dialplan") { - $selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; - $options[] = ""; - if ($selected) { $selection_found = true; } - } + $fifo_name = $row["dialplan_detail_data"]; + $fifo_name = str_replace('@${domain_name} in', '', $fifo_name); + $option_label = $extension_number.' '.$dialplan_name; + if ($select_type == "ivr") { + $selected = ("menu-exec-app:transfer ".$row["dialplan_detail_data"] == $select_value) ? true : false; + $options[] = ""; + if ($selected) { $selection_found = true; } + } + if ($select_type == "dialplan") { + $selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; + $options[] = ""; + if ($selected) { $selection_found = true; } } } + $options[] = ""; } - $options[] = ""; unset ($prep_statement); } } //gateways if (if_group("superadmin")) { - if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact" || $select_type == "bridge") { - $options[] = ""; - } $sql = "select v_gateways.gateway_uuid, v_gateways.gateway, v_domains.domain_name from v_gateways "; $sql .= "inner join v_domains on v_gateways.domain_uuid=v_domains.domain_uuid "; $sql .= "where enabled = 'true' "; @@ -820,54 +823,57 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $result_count = count($result); - unset ($prep_statement, $sql); $tmp_selected = ''; - foreach($result as $row) { - switch ($select_type) { - case "dialplan": - $default_value = 'bridge:sofia/gateway/'.$row['gateway_uuid'].'/'; - $selected = (strpos($select_value, $default_value) === 0) ? true : false; - $value = ($selected) ? $select_value : $default_value.$text_append; - $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; - $options[] = ""; - break; - case "bridge": - $default_value = 'sofia/gateway/'.$row['gateway_uuid'].'/'; - $selected = (strpos($select_value, $default_value) === 0) ? true : false; - $value = ($selected) ? $select_value : $default_value.$text_append; - $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; - $options[] = ""; - break; - case "ivr": - $default_value = 'menu-exec-app:bridge sofia/gateway/'.$row['gateway_uuid'].'/'; - $selected = (strpos($select_value, $default_value) === 0) ? true : false; - $value = ($selected) ? $select_value : $default_value.$text_append; - $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; - $options[] = ""; - break; - case "call_center_contact": - if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conference_centers/app_config.php")) { + if (count($result) > 0) { + if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact" || $select_type == "bridge") { + $options[] = ""; + } + foreach($result as $row) { + switch ($select_type) { + case "dialplan": + $default_value = 'bridge:sofia/gateway/'.$row['gateway_uuid'].'/'; + $selected = (strpos($select_value, $default_value) === 0) ? true : false; + $value = ($selected) ? $select_value : $default_value.$text_append; + $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; + $options[] = ""; + break; + case "bridge": $default_value = 'sofia/gateway/'.$row['gateway_uuid'].'/'; $selected = (strpos($select_value, $default_value) === 0) ? true : false; $value = ($selected) ? $select_value : $default_value.$text_append; $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; $options[] = ""; - } - break; + break; + case "ivr": + $default_value = 'menu-exec-app:bridge sofia/gateway/'.$row['gateway_uuid'].'/'; + $selected = (strpos($select_value, $default_value) === 0) ? true : false; + $value = ($selected) ? $select_value : $default_value.$text_append; + $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; + $options[] = ""; + break; + case "call_center_contact": + if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conference_centers/app_config.php")) { + $default_value = 'sofia/gateway/'.$row['gateway_uuid'].'/'; + $selected = (strpos($select_value, $default_value) === 0) ? true : false; + $value = ($selected) ? $select_value : $default_value.$text_append; + $flag = ($selected && $select_value != $default_value.$text_append) ? "*" : null; + $options[] = ""; + } + break; + } + if ($selected) { $selection_found = true; } + } + if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact") { + $options[] = ""; } - if ($selected) { $selection_found = true; } - } - unset($sql, $result, $value, $default_value, $flag); - if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact") { - $options[] = ""; } + unset($prep_statement, $sql, $result, $value, $default_value, $flag); } //xmpp if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/xmpp/app_config.php")) { - if (if_group("superadmin")) { + if (if_group("superadmin") && $select_type == "bridge") { $sql = "select v_xmpp.xmpp_profile_uuid, v_xmpp.profile_name, v_domains.domain_name from v_xmpp "; $sql .= "inner join v_domains on v_xmpp.domain_uuid=v_domains.domain_uuid "; $sql .= "where enabled = 'true' "; @@ -875,20 +881,15 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $result_count = count($result); unset ($prep_statement, $sql); $tmp_selected = ''; - if (sizeof($result) > 0 && ($select_type == "bridge" || $select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact")) { + if (count($result) > 0) { $options[] = ""; - } - foreach($result as $row) { - $selected = ('dingaling/'.$row['profile_name'].'/' == $select_value) ? true : false; - if ($select_type == "bridge") { + foreach($result as $row) { + $selected = ('dingaling/'.$row['profile_name'].'/' == $select_value) ? true : false; $options[] = ""; + if ($selected) { $selection_found = true; } } - if ($selected) { $selection_found = true; } - } - if (sizeof($result) > 0 && ($select_type == "bridge" || $select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact")) { $options[] = ""; } unset($sql, $result); @@ -910,20 +911,22 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $extension = $row["hunt_group_extension"]; - $hunt_group_name = $row["hunt_group_name"]; - $selected = ("transfer ".$extension." XML ".$_SESSION["context"] == $select_value || "transfer:".$extension." XML ".$_SESSION["context"] == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $extension = $row["hunt_group_extension"]; + $hunt_group_name = $row["hunt_group_name"]; + $selected = ("transfer ".$extension." XML ".$_SESSION["context"] == $select_value || "transfer:".$extension." XML ".$_SESSION["context"] == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; unset ($prep_statement, $extension); } } @@ -938,30 +941,32 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $extension = $row["ivr_menu_extension"]; - $extension_name = $row["ivr_menu_name"]; - $extension_label = $row["ivr_menu_name"]; - $extension_name = str_replace(" ", "_", $extension_name); - if (count($_SESSION["domains"]) > 1) { - $extension_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name'].'-'.$extension_name; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $extension = $row["ivr_menu_extension"]; + $extension_name = $row["ivr_menu_name"]; + $extension_label = $row["ivr_menu_name"]; + $extension_name = str_replace(" ", "_", $extension_name); + if (count($_SESSION["domains"]) > 1) { + $extension_name = $_SESSION['domains'][$row['domain_uuid']]['domain_name'].'-'.$extension_name; + } + $selected = ( + $select_value == "ivr ".$extension_name || + $select_value == "ivr:".$extension_name || + $select_value == "transfer ".$extension." XML ".$_SESSION["context"] || + $select_value == "transfer:".$extension." XML ".$_SESSION["context"] + ) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - $selected = ( - $select_value == "ivr ".$extension_name || - $select_value == "ivr:".$extension_name || - $select_value == "transfer ".$extension." XML ".$_SESSION["context"] || - $select_value == "transfer:".$extension." XML ".$_SESSION["context"] - ) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; - } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; unset ($prep_statement, $extension); } } @@ -1003,7 +1008,7 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - if (sizeof($result) > 0) { + if (count($result) > 0) { $options[] = ""; foreach ($result as &$row) { $name = $row["recording_name"]; @@ -1033,23 +1038,21 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - if ($select_type == "dialplan" || $select_type == "ivr") { + if (count($result) > 0) { $options[] = ""; - } - foreach ($result as &$row) { - $extension = $row["ring_group_extension"]; - $context = $row["ring_group_context"]; - $description = $row["ring_group_description"]; - $selected = ("transfer ".$extension." XML ".$context == $select_value || "transfer:".$extension." XML ".$context == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + foreach ($result as &$row) { + $extension = $row["ring_group_extension"]; + $context = $row["ring_group_context"]; + $description = $row["ring_group_description"]; + $selected = ("transfer ".$extension." XML ".$context == $select_value || "transfer:".$extension." XML ".$context == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } - } - if ($select_type == "dialplan" || $select_type == "ivr") { $options[] = ""; } } @@ -1064,64 +1067,62 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement->execute(); $x = 0; $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - foreach ($result as &$row) { - switch ($row['dialplan_detail_type']) { - case "hour": - case "minute": - case "minute-of-day": - case "time-of-day": - case "mday": - case "mweek": - case "mon": - case "yday": - case "year": - case "wday": - case "week": - $time_array[$row['dialplan_uuid']] = $row['dialplan_detail_type']; + if (count($result) > 0) { + foreach ($result as &$row) { + switch ($row['dialplan_detail_type']) { + case "hour": + case "minute": + case "minute-of-day": + case "time-of-day": + case "mday": + case "mweek": + case "mon": + case "yday": + case "year": + case "wday": + case "week": + $time_array[$row['dialplan_uuid']] = $row['dialplan_detail_type']; + } } - } - if ($select_type == "dialplan" || $select_type == "ivr") { $options[] = ""; - } - foreach($time_array as $key=>$val) { - $dialplan_uuid = $key; - //get the extension number using the dialplan_uuid - $sql = "select dialplan_detail_data as extension_number "; - $sql .= "from v_dialplan_details "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; - $sql .= "and dialplan_detail_type = 'destination_number' "; - $sql .= "order by extension_number asc "; - $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); - $extension_number = $tmp['extension_number']; - $extension_number = ltrim($extension_number, "^"); - $extension_number = ltrim($extension_number, "\\"); - $extension_number = rtrim($extension_number, "$"); - unset($tmp); + foreach($time_array as $key=>$val) { + $dialplan_uuid = $key; + //get the extension number using the dialplan_uuid + $sql = "select dialplan_detail_data as extension_number "; + $sql .= "from v_dialplan_details "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; + $sql .= "and dialplan_detail_type = 'destination_number' "; + $sql .= "order by extension_number asc "; + $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); + $extension_number = $tmp['extension_number']; + $extension_number = ltrim($extension_number, "^"); + $extension_number = ltrim($extension_number, "\\"); + $extension_number = rtrim($extension_number, "$"); + unset($tmp); - //get the extension number using the dialplan_uuid - $sql = "select * "; - $sql .= "from v_dialplans "; - $sql .= "where domain_uuid = '".$domain_uuid."' "; - $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; - $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); - $dialplan_name = $tmp['dialplan_name']; - $dialplan_name = str_replace("_", " ", $dialplan_name); - unset($tmp); + //get the extension number using the dialplan_uuid + $sql = "select * "; + $sql .= "from v_dialplans "; + $sql .= "where domain_uuid = '".$domain_uuid."' "; + $sql .= "and dialplan_uuid = '".$dialplan_uuid."' "; + $tmp = $db->query($sql)->fetch(PDO::FETCH_ASSOC); + $dialplan_name = $tmp['dialplan_name']; + $dialplan_name = str_replace("_", " ", $dialplan_name); + unset($tmp); - $option_label = $extension_number.' '.$dialplan_name; - if ($select_type == "ivr") { - $selected = ("menu-exec-app:transfer ".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; - $options[] = ""; - if ($selected) { $selection_found = true; } - } - if ($select_type == "dialplan") { - $selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; - $options[] = ""; - if ($selected) { $selection_found = true; } - } - } - if ($select_type == "dialplan" || $select_type == "ivr") { + $option_label = $extension_number.' '.$dialplan_name; + if ($select_type == "ivr") { + $selected = ("menu-exec-app:transfer ".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; + $options[] = ""; + if ($selected) { $selection_found = true; } + } + if ($select_type == "dialplan") { + $selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false; + $options[] = ""; + if ($selected) { $selection_found = true; } + } + } $options[] = ""; } unset ($prep_statement); @@ -1138,20 +1139,22 @@ function switch_select_destination($select_type, $select_label, $select_name, $s $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); - $options[] = ""; - foreach ($result as &$row) { - $voicemail_id = $row["voicemail_id"]; - $description = $row["voicemail_description"]; - $selected = ("voicemail default \${domain_name} ".$voicemail_id == $select_value || "transfer:*99".$voicemail_id." XML ".$_SESSION["context"] == $select_value || "voicemail:default \${domain_name} ".$voicemail_id == $select_value) ? true : false; - if ($select_type == "ivr") { - $options[] = ""; + if (count($result) > 0) { + $options[] = ""; + foreach ($result as &$row) { + $voicemail_id = $row["voicemail_id"]; + $description = $row["voicemail_description"]; + $selected = ("voicemail default \${domain_name} ".$voicemail_id == $select_value || "transfer:*99".$voicemail_id." XML ".$_SESSION["context"] == $select_value || "voicemail:default \${domain_name} ".$voicemail_id == $select_value) ? true : false; + if ($select_type == "ivr") { + $options[] = ""; + } + if ($select_type == "dialplan") { + $options[] = ""; + } + if ($selected) { $selection_found = true; } } - if ($select_type == "dialplan") { - $options[] = ""; - } - if ($selected) { $selection_found = true; } + $options[] = ""; } - $options[] = ""; } }