From 07f508c16fc78d8ab7811057ee7acb3710f31d9c Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Mon, 17 Aug 2020 10:47:17 -0600 Subject: [PATCH] Replace the old function dialplan_detail_add with the database save method. --- app/fifo/fifo_add.php | 508 ++++++++++++++++++++++++++---------------- 1 file changed, 320 insertions(+), 188 deletions(-) diff --git a/app/fifo/fifo_add.php b/app/fifo/fifo_add.php index d713a8750b..ffbe66fbf9 100644 --- a/app/fifo/fifo_add.php +++ b/app/fifo/fifo_add.php @@ -17,25 +17,28 @@ The Initial Developer of the Original Code is Mark J Crane - Copyright (C) 2010 + Copyright (C) 2010 - 2020 All Rights Reserved. Contributor(s): Mark J Crane Luis Daniel Lucio Quiroz */ -require_once "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -require_once "resources/paging.php"; -if (permission_exists('fifo_add')) { - //access granted -} -else { - echo "access denied"; - exit; -} +//includes + require_once "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + require_once "resources/paging.php"; + +//check permissions + if (permission_exists('fifo_add')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; @@ -58,9 +61,10 @@ else { if (strlen($dialplan_enabled) == 0) { $dialplan_enabled = "true"; } //set default to enabled } -if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { +//process the HTTP POST + if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { - //validate the token + //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); @@ -68,7 +72,7 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { exit; } - //check for all required data + //check for all required data if (strlen($domain_uuid) == 0) { $msg .= $text['message-required']."domain_uuid
\n"; } if (strlen($extension_name) == 0) { $msg .= $text['message-required'].$text['label-name']."
\n"; } if (strlen($queue_extension_number) == 0) { $msg .= $text['message-required'].$text['label-extension']."
\n"; } @@ -85,203 +89,331 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { return; } - if (strlen($queue_extension_number) > 0) { - //-------------------------------------------------------- - //Caller Queue [FIFO in] - // - // - // - // - // - // - // - //-------------------------------------------------------- + if (strlen($queue_extension_number) > 0) { + //-------------------------------------------------------- + //Caller Queue [FIFO in] + // + // + // + // + // + // + // + //-------------------------------------------------------- $queue_name = $extension_name."@\${domain_name}"; $app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7'; $dialplan_uuid = uuid(); $dialplan_context = $_SESSION['context']; - dialplan_add($domain_uuid, $dialplan_uuid, $extension_name, $dialplan_order, $dialplan_context, $dialplan_enabled, $dialplan_description, $app_uuid); + $domain_uuid = $_SESSION['domain_uuid']; + $dialplan_detail_order = 0; + + //start building the dialplan array + $y=0; + $array["dialplans"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplans"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplans"][$y]["app_uuid"] = $app_uuid; + $array["dialplans"][$y]["dialplan_name"] = $extension_name; + $array["dialplans"][$y]["dialplan_order"] = "$dialplan_order"; + $array["dialplans"][$y]["dialplan_context"] = $dialplan_context; + $array["dialplans"][$y]["dialplan_enabled"] = $dialplan_enabled; + $array["dialplans"][$y]["dialplan_order"] = $dialplan_order; + $array["dialplans"][$y]["dialplan_description"] = $dialplan_description; + $y++; + if (is_uuid($dialplan_uuid)) { //set the destination number - $dialplan_detail_tag = 'condition'; //condition, action, antiaction - $dialplan_detail_type = 'destination_number'; - $dialplan_detail_data = '^'.$queue_extension_number.'$'; - $dialplan_detail_order = '000'; - $dialplan_detail_group = '1'; - if ((strlen($agent_queue_extension_number) > 0) || (strlen($agent_login_logout_extension_number) > 0)) { - $dialplan_detail_break = 'on-true'; - } - else { - $dialplan_detail_break = ''; - } - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data, $dialplan_detail_break); + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$queue_extension_number.'$'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + if ((strlen($agent_queue_extension_number) > 0) || (strlen($agent_login_logout_extension_number) > 0)) { + $array["dialplan_details"][$y]["dialplan_detail_break"] = 'on-true'; + } + $array["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + //set the hold music - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'fifo_music=$${hold_music}'; - $dialplan_detail_order = '001'; - $dialplan_detail_group = '1'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_music=\$\${hold_music}"; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + //action answer - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'answer'; - $dialplan_detail_data = ''; - $dialplan_detail_order = '002'; - $dialplan_detail_group = '1'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "answer"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + //action fifo - //if (strlen($pin_number) > 0) { $pin_number = "+".$pin_number; } - //if (strlen($flags) > 0) { $flags = "+{".$flags."}"; } - //$queue_action_data = $extension_name."@\${domain_name}".$profile.$flags.$pin_number; - $queue_action_data = $queue_name." in"; - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'fifo'; - $dialplan_detail_data = $queue_action_data; - $dialplan_detail_order = '003'; - $dialplan_detail_group = '1'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); + //if (strlen($pin_number) > 0) { $pin_number = "+".$pin_number; } + //if (strlen($flags) > 0) { $flags = "+{".$flags."}"; } + //$queue_action_data = $extension_name."@\${domain_name}".$profile.$flags.$pin_number; + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "fifo"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = $queue_action_data; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $y++; } - } + } - - // Caller Queue / Agent Queue - if (strlen($agent_queue_extension_number) > 0) { - //-------------------------------------------------------- - // Agent Queue [FIFO out] - // - // - // - // - // - // - // - //-------------------------------------------------------- + // Caller Queue / Agent Queue + if (strlen($agent_queue_extension_number) > 0) { + //-------------------------------------------------------- + // Agent Queue [FIFO out] + // + // + // + // + // + // + // + //-------------------------------------------------------- $queue_name = $extension_name."_agent@\${domain_name}"; if (is_uuid($dialplan_uuid)) { - //set the destination number - $dialplan_detail_tag = 'condition'; //condition, action, antiaction - $dialplan_detail_type = 'destination_number'; - $dialplan_detail_data = '^'.$agent_queue_extension_number.'$'; - $dialplan_detail_order = '000'; - $dialplan_detail_group = '2'; - if (strlen($agent_login_logout_extension_number) > 0) { - $dialplan_detail_break = 'on-true'; - } - else { - $dialplan_detail_break = ''; - } - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data, $dialplan_detail_break); - //set the hold music - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'fifo_music=$${hold_music}'; - $dialplan_detail_order = '001'; - $dialplan_detail_group = '2'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //action answer - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'answer'; - $dialplan_detail_data = ''; - $dialplan_detail_order = '002'; - $dialplan_detail_group = '2'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //action fifo - //if (strlen($pin_number) > 0) { $pin_number = "+".$pin_number; } - //if (strlen($flags) > 0) { $flags = "+{".$flags."}"; } - //$queue_action_data = $extension_name."@\${domain_name}".$profile.$flags.$pin_number; - $queue_action_data = $queue_name." out wait"; - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'fifo'; - $dialplan_detail_data = $queue_action_data; - $dialplan_detail_order = '003'; - $dialplan_detail_group = '2'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - } - } - // agent or member login / logout - if (strlen($agent_login_logout_extension_number) > 0) { - //-------------------------------------------------------- - // Agent Queue [FIFO out] - // - // - // - // - // - // - // - //-------------------------------------------------------- + //set the dialplan detial order to zero + $dialplan_detail_order = 0; + + //set the destination number + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$agent_queue_extension_number.'$'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + if (strlen($agent_login_logout_extension_number) > 0) { + $array["dialplan_details"][$y]["dialplan_detail_break"] = $dialplan_detail_break; + } + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '2'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the hold music + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_music=\$\${hold_music}"; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '2'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //action answer + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "answer"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '2'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //action fifo + $queue_action_data = $queue_name." out wait"; + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "fifo"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = $queue_action_data; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '2'; + $y++; + } + } + + // agent or member login / logout + if (strlen($agent_login_logout_extension_number) > 0) { + //-------------------------------------------------------- + // Agent Queue [FIFO out] + // + // + // + // + // + // + // + //-------------------------------------------------------- $queue_name = $extension_name."@\${domain_name}"; if (is_uuid($dialplan_uuid)) { - //set the destination number - $dialplan_detail_tag = 'condition'; //condition, action, antiaction - $dialplan_detail_type = 'destination_number'; - $dialplan_detail_data = '^'.$agent_login_logout_extension_number.'$'; - $dialplan_detail_order = '000'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the queue_name - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'queue_name='.$queue_name; - $dialplan_detail_order = '001'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the user_name - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'user_name=${caller_id_number}@${domain_name}'; - $dialplan_detail_order = '002'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the fifo_simo - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'fifo_simo=1'; - $dialplan_detail_order = '003'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the fifo_timeout - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'fifo_timeout=10'; - $dialplan_detail_order = '004'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the fifo_lag - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'fifo_lag=10'; - $dialplan_detail_order = '005'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //set the pin_number - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'set'; - $dialplan_detail_data = 'pin_number='; - $dialplan_detail_order = '006'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - //action lua - $dialplan_detail_tag = 'action'; //condition, action, antiaction - $dialplan_detail_type = 'lua'; - $dialplan_detail_data = 'fifo_member.lua'; - $dialplan_detail_order = '007'; - $dialplan_detail_group = '3'; - dialplan_detail_add($_SESSION['domain_uuid'], $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data); - } - } - //clear the cache + //set the dialplan detial order to zero + $dialplan_detail_order = 0; + + //set the destination number + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "condition"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$agent_login_logout_extension_number.'$'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = ""; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the queue_name + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'queue_name='.$queue_name; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the user_name + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'user_name=${caller_id_number}@${domain_name}'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the fifo_simo + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_simo=1'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the fifo_timeout + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_timeout=10'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the fifo_lag + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'fifo_lag=10'; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //set the pin_number + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "set"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = 'pin_number='; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + + //increment the dialplan detial order + $dialplan_detail_order = $dialplan_detail_order + 10; + + //action lua + $array["dialplan_details"][$y]["domain_uuid"] = $domain_uuid; + $array["dialplan_details"][$y]["dialplan_uuid"] = $dialplan_uuid; + $array["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; + $array["dialplan_details"][$y]["dialplan_detail_type"] = "lua"; + $array["dialplan_details"][$y]["dialplan_detail_data"] = "fifo_member.lua"; + $array["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; + $array["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; + $array["dialplan_details"][$y]["dialplan_detail_group"] = '3'; + $y++; + } + } + + //add the dialplan permission + $p = new permissions; + $p->add("dialplan_add", "temp"); + $p->add("dialplan_edit", "temp"); + + //save to the data + $database = new database; + $database->app_name = 'fifo'; + $database->app_uuid = '16589224-c876-aeb3-f59f-523a1c0801f7'; + $database->save($array); + //$message = $database->message; + + //remove the temporary permission + $p->delete("dialplan_add", "temp"); + $p->delete("dialplan_edit", "temp"); + + //clear the cache $cache = new cache; $cache->delete("dialplan:".$_SESSION["context"]); - //redirect the user + //redirect the user message::add($text['message-add']); header("Location: ".PROJECT_PATH."/app/dialplans/dialplans.php?app_uuid=16589224-c876-aeb3-f59f-523a1c0801f7"); return; -} + } //create token $object = new token;