Remove switch_select_destination function from the remaining features that used it and replace with the destination php class.

This commit is contained in:
markjcrane 2015-08-07 15:06:07 -05:00
parent 3839f2d337
commit d2147cb133
9 changed files with 18 additions and 986 deletions

View File

@ -300,6 +300,9 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//initialize the destinations object
$destination = new destinations;
//pre-populate the form
if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
$call_center_agent_uuid = $_GET["id"];
@ -475,10 +478,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-contact']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("call_center_contact", "", "agent_contact", $agent_contact, "width: 350px;", "");
echo $destination->select('call_center_contact', 'agent_contact', $agent_contact);
echo "<br />\n";
echo $text['description-contact']."\n";
echo "</td>\n";

View File

@ -402,6 +402,9 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
} //if ($_POST["persistformvar"] != "true")
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//initialize the destinations object
$destination = new destinations;
//pre-populate the form
if (count($_GET)>0 && $_POST["persistformvar"] != "true") {
$call_center_queue_uuid = $_GET["id"];
@ -815,8 +818,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-timeout_action']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("dialplan", "", "queue_timeout_action", $queue_timeout_action, "", "");
echo $destination->select('dialplan', 'queue_timeout_action', $queue_timeout_action);
echo "<br />\n";
echo $text['description-timeout_action']."\n";
echo "</td>\n";

View File

@ -556,8 +556,6 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
$select_value = $call_flow_app.':'.$call_flow_data;
}
//show the destination list
//switch_select_destination($select_type, $select_label, $select_name, $select_value, $select_style, $action='')
//switch_select_destination("dialplan", $destination_label, "call_flow_destination", $select_value, "", $call_flow_data);
echo $destination->select('dialplan', 'call_flow_destination', $select_value);
unset($select_value);
echo "<br />\n";

View File

@ -259,6 +259,9 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
return;
} //end if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//initialize the destinations object
$destination = new destinations;
?><script type="text/javascript">
<!--
function type_onchange(dialplan_detail_type) {
@ -530,10 +533,7 @@ echo "<td class='vncellreq' valign='top' align='left' nowrap>\n";
echo " ".$text['label-action_1']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("dialplan", "", "action_1", $action_1, "", "");
echo $destination->select('dialplan', 'action_1', $action_1);
echo "</td>\n";
echo "</tr>\n";
@ -545,10 +545,7 @@ echo "<td class='vncell' valign='top' align='left' nowrap>\n";
echo " ".$text['label-action_2']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("dialplan", "", "action_2", $action_2, "", "");
echo $destination->select('dialplan', 'action_2', $action_2);
echo "</td>\n";
echo "</tr>\n";

View File

@ -743,6 +743,9 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
return;
} //end if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//initialize the destinations object
$destination = new destinations;
?>
<script type="text/javascript">
@ -1018,10 +1021,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
}
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("dialplan", "", "action_1", $action_1, "", "");
echo $destination->select('dialplan', 'action_1', $action_1);
echo "</td>\n";
echo "</tr>\n";
@ -1034,10 +1034,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo " ".$text['label-action_2']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination(select_type, select_label, select_name, select_value, select_style, action);
switch_select_destination("dialplan", "", "action_2", $action_2, "", "");
echo $destination->select('dialplan', 'action_2', $action_2);
echo "</td>\n";
echo "</tr>\n";
}

View File

@ -592,7 +592,6 @@ else {
echo " ".$text['label-timeout_destination']."\n";
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";
//switch_select_destination("dialplan", "", "ring_group_timeout_action", $ring_group_timeout_action, "", "");
echo $destination->select('dialplan', 'ring_group_timeout_action', $ring_group_timeout_action);
echo " <br />\n";
echo " ".$text['description-timeout_destination']."\n";

View File

@ -398,7 +398,6 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
echo " <input class='formfld' style='width:70px' type='text' name='voicemail_options[".$c."][voicemail_option_digits]' maxlength='255' value='".$voicemail_option_digits."'>\n";
echo "</td>\n";
echo "<td class='vtable' align='left' nowrap='nowrap'>\n";
//switch_select_destination("ivr", $voicemail_options_label, 'voicemail_options['.$c.'][voicemail_option_param]', $tmp_select_value, "width:175px", $voicemail_option_action);
echo $destination->select('ivr', 'voicemail_options['.$c.'][voicemail_option_param]', '');
echo "</td>\n";
echo "<td class='vtable' align='left'>\n";

View File

@ -187,7 +187,6 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
if (strlen($voicemail_option_action.$voicemail_option_param) > 0) {
$tmp_select_value = $voicemail_option_action.':'.$voicemail_option_param;
}
//switch_select_destination("ivr", $voicemail_options_label, "voicemail_option_param", $tmp_select_value, "width: 350px;", $voicemail_option_action);
echo $destination->select('ivr', 'voicemail_option_param', $tmp_select_value);
unset($tmp_select_value);

View File

@ -228,965 +228,6 @@ function ListFiles($dir) {
}
}
function switch_select_destination($select_type, $select_label, $select_name, $select_value, $select_style, $action='', $onchange='', $text_append=' ...') {
//select_type can be ivr, dialplan, call_center_contact or bridge
global $text, $config, $db, $domain_uuid;
//remove special characters from the name
$select_id = str_replace("]", "", $select_name);
$select_id = str_replace("[", "_", $select_id);
if (if_group("superadmin")) {
echo "<script>\n";
echo "var Objs;\n";
echo "\n";
echo "function changeToInput".$select_id."(obj){\n";
echo " tb=document.createElement('INPUT');\n";
echo " tb.type='text';\n";
echo " tb.name=obj.name;\n";
echo " tb.className='formfld';\n";
echo " tb.setAttribute('id', '".$select_id."');\n";
echo " tb.setAttribute('style', '".$select_style."');\n";
if ($onchange != '') {
echo " tb.setAttribute('onchange', \"".$onchange."\");\n";
echo " tb.setAttribute('onkeyup', \"".$onchange."\");\n";
}
echo " tb.value=obj.options[obj.selectedIndex].value;\n";
echo " document.getElementById('btn_select_to_input_".$select_id."').style.visibility = 'hidden';\n";
echo " tbb=document.createElement('INPUT');\n";
echo " tbb.setAttribute('class', 'btn');\n";
echo " tbb.setAttribute('style', 'margin-left: 4px;');\n";
echo " tbb.type='button';\n";
echo " tbb.value=$('<div />').html('&#9665;').text();\n";
echo " tbb.objs=[obj,tb,tbb];\n";
echo " tbb.onclick=function(){ Replace".$select_id."(this.objs); }\n";
echo " obj.parentNode.insertBefore(tb,obj);\n";
echo " obj.parentNode.insertBefore(tbb,obj);\n";
echo " obj.parentNode.removeChild(obj);\n";
echo " Replace".$select_id."(this.objs);\n";
echo "}\n";
echo "\n";
echo "function Replace".$select_id."(obj){\n";
echo " obj[2].parentNode.insertBefore(obj[0],obj[2]);\n";
echo " obj[0].parentNode.removeChild(obj[1]);\n";
echo " obj[0].parentNode.removeChild(obj[2]);\n";
echo " document.getElementById('btn_select_to_input_".$select_id."').style.visibility = 'visible';\n";
if ($onchange != '') {
echo " ".$onchange.";\n";
}
echo "}\n";
echo "</script>\n";
echo "\n";
}
//default selection found to false
$selection_found = false;
echo " <select name='".$select_name."' id='".$select_id."' class='formfld' style='".$select_style."' onchange=\"".$onchange."\">\n";
//display a default select label (specified explicitly or from the language file) if no selected value is passed in
if ($select_value == '' && $select_label != '' && $select_label != ' ') {
$options[] = "<option value=''>".$select_label."</option>";
$options[] = "<option value='' disabled='disabled'></option>";
}
else if ($select_value == '' && $select_label == '' && $text['label-select_destination'] != '') {
$options[] = "<option value=''>".$text['label-select_destination']."</option>";
$options[] = "<option value='' disabled='disabled'></option>";
}
else {
$options[] = "<option value=''></option>";
}
//call center queues
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_center/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_call_center_queues ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by queue_name asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Call Center'>";
$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 = (
$select_value == "transfer:".$queue_extension." XML ".$_SESSION["context"] ||
$select_value == "menu-exec-app:transfer ".$queue_extension." XML ".$_SESSION["context"]
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$queue_extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$queue_extension." ".$queue_name."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$queue_extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$queue_extension." ".$queue_name."</option>";
}
if ($selected) { $selection_found = true; }
$previous_call_center_name = $queue_name;
}
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
//call flows
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/call_flows/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_call_flows ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by call_flow_extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Call Flows'>";
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 = (
$select_value == "transfer ".$call_flow_extension." XML ".$call_flow_context ||
$select_value == "transfer:".$call_flow_extension." XML ".$call_flow_context ||
$select_value == "menu-exec-app:transfer ".$call_flow_extension." XML ".$call_flow_context
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$call_flow_extension." XML ".$call_flow_context."' ".(($selected) ? "selected='selected'" : null).">".$call_flow_extension." ".$call_flow_name."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$call_flow_extension." XML ".$call_flow_context."' ".(($selected) ? "selected='selected'" : null).">".$call_flow_extension." ".$call_flow_name."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement, $call_flow_extension);
}
}
//call groups
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/extensions/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select distinct(call_group) from v_extensions ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and call_group <> '' ";
$sql .= "order by call_group asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$x = 0;
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$previous_call_group_name = "";
$options[] = "<optgroup label='Call Group'>";
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 = (
$select_value == "bridge:group/".$call_group."@".$_SESSION['domain_name'] ||
$select_value == "menu-exec-app:bridge group/".$call_group."@".$_SESSION['domain_name']
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:bridge group/".$call_group."@".$_SESSION['domain_name']."' ".(($selected) ? "selected='selected'" : null).">".$call_group."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='bridge:group/".$call_group."@".$_SESSION['domain_name']."' ".(($selected) ? "selected='selected'" : null).">".$call_group."</option>";
}
if ($selected) { $selection_found = true; }
$previous_call_group_name = $call_group;
}
}
$x++;
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
//conference centers
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conference_centers/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_conference_centers ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by conference_center_name asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Conference Centers'>";
foreach ($result as &$row) {
$name = $row["conference_center_name"];
$extension = $row["conference_center_extension"];
$description = $row["conference_center_description"];
$selected = (
$select_value == "transfer ".$extension." XML ".$_SESSION['context'] ||
$select_value == "transfer:".$extension." XML ".$_SESSION['context'] ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$_SESSION['context']
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$_SESSION['context']."' ".(($selected) ? "selected='selected'" : null).">".$name." ".$description."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$_SESSION['context']."' ".(($selected) ? "selected='selected'" : null).">".$name." ".$description."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
unset ($prep_statement);
}
}
}
//conferences
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/conferences/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_conferences ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by conference_name asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Conferences'>";
foreach ($result as &$row) {
$name = $row["conference_name"];
$extension = $row["conference_extension"];
$description = $row["conference_description"];
$selected = (
$select_value == "transfer ".$extension." XML ".$_SESSION['context'] ||
$select_value == "transfer:".$extension." XML ".$_SESSION['context'] ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$_SESSION['context']
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$_SESSION['context']."' ".(($selected) ? "selected='selected'" : null).">".$name." ".$description."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$_SESSION['context']."' ".(($selected) ? "selected='selected'" : null).">".$name." ".$description."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
//extensions
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/extensions/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact") {
$sql = "select * from v_extensions ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and enabled = 'true' ";
$sql .= "order by extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Extensions'>";
foreach ($result as &$row) {
$extension = $row["extension"];
$context = $row["user_context"];
$description = $row["description"];
$selected = (
$select_value == "user/".$extension."@".$_SESSION['domains'][$domain_uuid]['domain_name'] ||
$select_value == "transfer:".$extension." XML ".$context ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$context
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$context."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$description."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$context."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$description."</option>";
}
if ($select_type == "call_center_contact") {
$options[] = "<option value='user/".$extension."@".$_SESSION['domains'][$domain_uuid]['domain_name']."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$description."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement, $extension);
}
}
//fax extensions
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/fax/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_fax ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by fax_extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='FAX'>";
foreach ($result as &$row) {
$fax_name = $row["fax_name"];
$extension = $row["fax_extension"];
$selected = (
$select_value == "transfer ".$extension." XML ".$_SESSION["context"] ||
$select_value == "transfer:".$extension." XML ".$_SESSION["context"] ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$fax_name."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$fax_name."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement, $extension);
}
}
//fifo queues
/*
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/fifo/app_config.php")) {
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 ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Queues (FIFO)'>";
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);
$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[] = "<option value='menu-exec-app:transfer ".$extension_number." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$option_label."</option>";
if ($selected) { $selection_found = true; }
}
if ($select_type == "dialplan") {
$selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false;
$options[] = "<option value='transfer:".$extension_number." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$option_label."</option>";
if ($selected) { $selection_found = true; }
}
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
*/
//gateways
if (if_group("superadmin")) {
$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' ";
$sql .= "order by gateway asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
$tmp_selected = '';
if (count($result) > 0) {
if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact" || $select_type == "bridge") {
$options[] = "<optgroup label='Gateways'>";
}
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[] = "<option value='".$value."' ".(($selected) ? "selected='selected'" : null).">".$row['gateway']."@".$row['domain_name']." ".$flag."</option>";
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[] = "<option value='".$value."' ".(($selected) ? "selected='selected'" : null).">".$row['gateway']."@".$row['domain_name']." ".$flag."</option>";
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[] = "<option value='".$value."' ".(($selected) ? "selected='selected'" : null).">".$row['gateway']."@".$row['domain_name']." ".$flag."</option>";
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[] = "<option value='".$value."' ".(($selected) ? "selected='selected'" : null).">".$row['gateway']."@".$row['domain_name']." ".$flag."</option>";
}
break;
}
if ($selected) { $selection_found = true; }
}
if ($select_type == "dialplan" || $select_type == "ivr" || $select_type == "call_center_contact") {
$options[] = "</optgroup>";
}
}
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") && $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' ";
$sql .= "order by profile_name asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
unset ($prep_statement, $sql);
$tmp_selected = '';
if (count($result) > 0) {
$options[] = "<optgroup label='XMPP Gateways'>";
foreach($result as $row) {
$selected = ('dingaling/'.$row['profile_name'].'/' == $select_value) ? true : false;
$options[] = "<option value='dingaling/".$row['profile_name']."/' ".(($selected) ? "selected='selected'" : null).">".$row['profile_name']."@".$row['domain_name']."</option>";
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset($sql, $result);
}
}
//hunt groups
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/hunt_groups/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_hunt_groups ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and hunt_group_enabled = 'true' ";
$sql .= "and ( ";
$sql .= "hunt_group_type = 'simultaneous' ";
$sql .= "or hunt_group_type = 'sequence' ";
$sql .= "or hunt_group_type = 'sequentially' ";
$sql .= ") ";
$sql .= "order by hunt_group_extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Hunt Groups'>";
foreach ($result as &$row) {
$extension = $row["hunt_group_extension"];
$hunt_group_name = $row["hunt_group_name"];
$selected = (
$select_value == "transfer ".$extension." XML ".$_SESSION["context"] ||
$select_value == "transfer:".$extension." XML ".$_SESSION["context"] ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$hunt_group_name."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$hunt_group_name."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement, $extension);
}
}
//ivr menus
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ivr_menu/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_ivr_menus ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and ivr_menu_enabled = 'true' ";
$sql .= "order by ivr_menu_extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='IVR Menu'>";
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 == "menu-exec-app:ivr ".$extension ||
$select_value == "transfer ".$extension." XML ".$_SESSION["context"] ||
$select_value == "transfer:".$extension." XML ".$_SESSION["context"] ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$extension_label."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$extension_label."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement, $extension);
}
}
//languages
if ($select_type == "dialplan" || $select_type == "ivr") {
$options[] = "<optgroup label='Language'>";
}
$tmp_lang_options = array(
'nl' => 'Dutch',
'en' => 'English',
'fr' => 'French',
'it' => 'Italian',
'de' => 'German',
'pt-pt' => 'Portuguese (Portugal)',
'pt-br' => 'Portuguese (Brazil)',
'es' => 'Spanish');
foreach ($tmp_lang_options as $tmp_lang_option_abbr => $tmp_lang_option_name) {
$selected = (
$select_value == "menu-exec-app:set default_language=".$tmp_lang_option_abbr ||
$select_value == "set:default_language=".$tmp_lang_option_abbr
) ? true : false;
if ($select_type == "ivr") {
$options[] = " <option value='menu-exec-app:set default_language=".$tmp_lang_option_abbr."' ".(($selected) ? "selected='selected'" : null).">".$tmp_lang_option_name."</option>";
}
if ($select_type == "dialplan") {
$options[] = " <option value='set:default_language=".$tmp_lang_option_abbr."' ".(($selected) ? "selected='selected'" : null).">".$tmp_lang_option_name."</option>";
}
if ($selected) { $selection_found = true; }
}
if ($select_type == "dialplan" || $select_type == "ivr") {
$options[] = "</optgroup>";
}
unset($tmp_lang_options);
//recordings
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/recordings/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_recordings ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "order by recording_name asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Recordings'>";
foreach ($result as &$row) {
$recording_name = $row["recording_name"];
$recording_filename = $row["recording_filename"];
$path_mod = ($_SESSION['recordings']['storage_type']['text'] != 'base64') ? $_SESSION['switch']['recordings']['dir']."/" : null;
if ($select_type == "dialplan") {
$execute_method = 'lua:';
}
else if ($select_type == "ivr") {
$execute_method = 'menu-exec-app:lua ';
}
$selected = (
$select_value == $execute_method."streamfile.lua ".$_SESSION['switch']['recordings']['dir']."/".$recording_filename ||
$select_value == $execute_method."streamfile.lua ".$recording_filename
) ? true : false;
$options[] = "<option value='".$execute_method."streamfile.lua ".$path_mod.$recording_filename."' ".(($selected) ? "selected='selected'" : null).">".$recording_name."</option>";
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
}
}
//phrases
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/phrases/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_phrases where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if (count($result) > 0) {
$options[] = "<optgroup label='Phrases'>";
foreach ($result as &$row) {
$selected = ($select_value == "phrase:".$row["phrase_name"].".".$domain_uuid) ? true : false;
$options[] = "<option value='phrase:".$row["phrase_name"].".".$domain_uuid."' ".(($selected) ? "selected='selected'" : null).">".$row["phrase_name"]."</option>";
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
//ring groups
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/ring_groups/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_ring_groups ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and ring_group_enabled = 'true' ";
$sql .= "order by ring_group_extension asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Ring Groups'>";
foreach ($result as &$row) {
$extension = $row["ring_group_extension"];
$context = $row["ring_group_context"];
$description = $row["ring_group_description"];
$selected = (
$select_value == "transfer ".$extension." XML ".$context ||
$select_value == "transfer:".$extension." XML ".$context ||
$select_value == "menu-exec-app:transfer ".$extension." XML ".$context
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ".$extension." XML ".$context."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$description."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:".$extension." XML ".$context."' ".(($selected) ? "selected='selected'" : null).">".$extension." ".$description."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
}
}
//time conditions
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/time_conditions/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_dialplan_details ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$x = 0;
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
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'];
}
}
$options[] = "<optgroup label='Time Conditions'>";
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);
$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[] = "<option value='menu-exec-app:transfer ".$extension_number." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$option_label."</option>";
if ($selected) { $selection_found = true; }
}
if ($select_type == "dialplan") {
$selected = ("transfer:".$extension_number." XML ".$_SESSION["context"] == $select_value) ? true : false;
$options[] = "<option value='transfer:".$extension_number." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$option_label."</option>";
if ($selected) { $selection_found = true; }
}
}
$options[] = "</optgroup>";
}
unset ($prep_statement);
}
}
//voicemail
if (file_exists($_SERVER['DOCUMENT_ROOT'].PROJECT_PATH."/app/voicemails/app_config.php")) {
if ($select_type == "dialplan" || $select_type == "ivr") {
$sql = "select * from v_voicemails ";
$sql .= "where domain_uuid = '".$domain_uuid."' ";
$sql .= "and voicemail_enabled = 'true' ";
$sql .= "order by voicemail_id asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
if (count($result) > 0) {
$options[] = "<optgroup label='Voicemail'>";
foreach ($result as &$row) {
$voicemail_id = $row["voicemail_id"];
$description = $row["voicemail_description"];
$selected = (
$select_value == "voicemail default \${domain_name} ".$voicemail_id ||
$select_value == "voicemail:default \${domain_name} ".$voicemail_id ||
$select_value == "transfer:*99".$voicemail_id." XML ".$_SESSION["context"] ||
$select_value == "menu-exec-app:transfer *99".$voicemail_id." XML ".$_SESSION["context"]
) ? true : false;
if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer *99".$voicemail_id." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$voicemail_id." ".$description."</option>";
}
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:*99".$voicemail_id." XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">".$voicemail_id." ".$description."</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
}
}
//other
if ($select_type == "dialplan" || $select_type == "ivr") {
$options[] = "<optgroup label='Other'>";
//set the default value
$selected = '';
//check voicemail
$selected = ($select_value == "transfer:*98 XML ".$_SESSION["context"] || $select_value == "menu-exec-app:transfer *98 XML ".$_SESSION["context"]) ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:*98 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">check voicemail</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer *98 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">check voicemail</option>";
}
if ($selected) { $selection_found = true; }
//company directory
$selected = ($select_value == "transfer:*411 XML ".$_SESSION["context"] || $select_value == "menu-exec-app:transfer *411 XML ".$_SESSION["context"]) ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:*411 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">company directory</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer *411 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">company directory</option>";
}
if ($selected) { $selection_found = true; }
//record
$selected = ($select_value == "transfer:*732 XML ".$_SESSION["context"] || $select_value == "menu-exec-app:transfer *732 XML ".$_SESSION["context"]) ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:*732 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">record</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer *732 XML ".$_SESSION["context"]."' ".(($selected) ? "selected='selected'" : null).">record</option>";
}
if ($selected) { $selection_found = true; }
//advanced
if (if_group("superadmin")) {
//answer
$selected = ($select_value == "answer" || $select_value == "menu-exec-app:answer") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='answer' ".(($selected) ? "selected='selected'" : null).">answer</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:answer' ".(($selected) ? "selected='selected'" : null).">answer</option>";
}
if ($selected) { $selection_found = true; }
//hangup
$selected = ($select_value == "hangup" || $select_value == "menu-exec-app:hangup") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='hangup' ".(($selected) ? "selected='selected'" : null).">hangup</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:hangup' ".(($selected) ? "selected='selected'" : null).">hangup</option>";
}
if ($selected) { $selection_found = true; }
//info
$selected = ($select_value == "info" || $select_value == "menu-exec-app:info") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='info' ".(($selected) ? "selected='selected'" : null).">info</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:info' ".(($selected) ? "selected='selected'" : null).">info</option>";
}
if ($selected) { $selection_found = true; }
//bridge
$selected = ($select_value == "bridge" || $select_value == "bridge:" || $select_value == "menu-exec-app:bridge") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='bridge:' ".(($selected) ? "selected='selected'" : null).">bridge</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:bridge ' ".(($selected) ? "selected='selected'" : null).">bridge</option>";
}
if ($selected) { $selection_found = true; }
//db
$selected = ($select_value == "db" || $select_value == "db:" || $select_value == "menu-exec-app:db") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='db:' ".(($selected) ? "selected='selected'" : null).">db</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:db ' ".(($selected) ? "selected='selected'" : null).">db</option>";
}
if ($selected) { $selection_found = true; }
//export
$selected = ($select_value == "export" || $select_value == "export:" || $select_value == "menu-exec-app:export") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='export:' ".(($selected) ? "selected='selected'" : null).">export</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:export ' ".(($selected) ? "selected='selected'" : null).">export</option>";
}
if ($selected) { $selection_found = true; }
//global_set
$selected = ($select_value == "global_set" || $select_value == "global_set:" || $select_value == "menu-exec-app:global_set") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='global_set:' ".(($selected) ? "selected='selected'" : null).">global_set</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:global_set ' ".(($selected) ? "selected='selected'" : null).">global_set</option>";
}
if ($selected) { $selection_found = true; }
//group
$selected = ($select_value == "group" || $select_value == "group:" || $select_value == "menu-exec-app:group") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='group:' ".(($selected) ? "selected='selected'" : null).">group</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:group ' ".(($selected) ? "selected='selected'" : null).">group</option>";
}
if ($selected) { $selection_found = true; }
//javascript
$selected = ($select_value == "javascript" || $select_value == "javascript:" || $select_value == "menu-exec-app:javascript") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='javascript:' ".(($selected) ? "selected='selected'" : null).">javascript</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:javascript ' ".(($selected) ? "selected='selected'" : null).">javascript</option>";
}
if ($selected) { $selection_found = true; }
//lua
$selected = ($select_value == "lua" || $select_value == "lua:" || $select_value == "menu-exec-app:lua") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='lua:' ".(($selected) ? "selected='selected'" : null).">lua</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:lua ' ".(($selected) ? "selected='selected'" : null).">lua</option>";
}
if ($selected) { $selection_found = true; }
//perl
$selected = ($select_value == "perl" || $select_value == "perl:" || $select_value == "menu-exec-app:perl") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='perl:' ".(($selected) ? "selected='selected'" : null).">perl</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:perl ' ".(($selected) ? "selected='selected'" : null).">perl</option>";
}
if ($selected) { $selection_found = true; }
//reject
$selected = ($select_value == "reject" || $select_value == "menu-exec-app:reject") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='reject' ".(($selected) ? "selected='selected'" : null).">reject</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:reject' ".(($selected) ? "selected='selected'" : null).">reject</option>";
}
if ($selected) { $selection_found = true; }
//set
$selected = ($select_value == "set" || $select_value == "set:" || $select_value == "menu-exec-app:set") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='set:' ".(($selected) ? "selected='selected'" : null).">set</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:set ' ".(($selected) ? "selected='selected'" : null).">set</option>";
}
if ($selected) { $selection_found = true; }
//sleep
$selected = ($select_value == "sleep" || $select_value == "sleep:" || $select_value == "menu-exec-app:sleep") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='sleep:' ".(($selected) ? "selected='selected'" : null).">sleep</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:sleep ' ".(($selected) ? "selected='selected'" : null).">sleep</option>";
}
if ($selected) { $selection_found = true; }
//transfer
$selected = ($select_value == "transfer" || $select_value == "transfer:" || $select_value == "menu-exec-app:transfer") ? true : false;
if ($select_type == "dialplan") {
$options[] = "<option value='transfer:' ".(($selected) ? "selected='selected'" : null).">transfer</option>";
}
else if ($select_type == "ivr") {
$options[] = "<option value='menu-exec-app:transfer ' ".(($selected) ? "selected='selected'" : null).">transfer</option>";
}
if ($selected) { $selection_found = true; }
}
$options[] = "</optgroup>";
}
//custom
if (!$selection_found && $select_value != '') {
array_unshift($options,
"<option value='".$select_value."' selected='selected'>".$select_value."</option>",
"<option value='' disabled='disabled'></option>"
);
}
//output options
if (sizeof($options)>0) {
echo implode("\n",$options);
}
echo " </select>\n";
if (if_group("superadmin")) {
echo "<input type='button' id='btn_select_to_input_".$select_id."' class='btn' name='' alt='back' onclick='changeToInput".$select_id."(document.getElementById(\"".$select_id."\"));this.style.visibility = \"hidden\";' value='&#9665;'>";
}
}
function save_setting_xml() {
global $db, $domain_uuid, $host, $config;