From 6a0fe98ad8895f625500a89a3661e1fd96f20f33 Mon Sep 17 00:00:00 2001 From: Riccardo Granchi Date: Tue, 21 Oct 2014 15:17:03 +0000 Subject: [PATCH] Fixed queue creation --- app/fifo/fifo_add.php | 31 ++++++++++++++++++++++++------- resources/switch.php | 13 ++++++++++--- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/app/fifo/fifo_add.php b/app/fifo/fifo_add.php index 294447eeab..40acf2955f 100644 --- a/app/fifo/fifo_add.php +++ b/app/fifo/fifo_add.php @@ -103,7 +103,12 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $dialplan_detail_data = '^'.$queue_extension_number.'$'; $dialplan_detail_order = '000'; $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($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); //set the hold music //if (strlen($hold_music) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction @@ -155,7 +160,12 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $dialplan_detail_data = '^'.$agent_queue_extension_number.'$'; $dialplan_detail_order = '000'; $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); + 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 //if (strlen($hold_music) > 0) { $dialplan_detail_tag = 'action'; //condition, action, antiaction @@ -214,39 +224,46 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { $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 = '002'; + $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 = '003'; + $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 = '004'; + $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 = '005'; + $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 = '006'; + $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); } diff --git a/resources/switch.php b/resources/switch.php index e9eb1a68e3..bad82c3e6f 100644 --- a/resources/switch.php +++ b/resources/switch.php @@ -2158,7 +2158,7 @@ function dialplan_add($domain_uuid, $dialplan_uuid, $dialplan_name, $dialplan_or unset($sql); } -function dialplan_detail_add($domain_uuid, $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data) { +function dialplan_detail_add($domain_uuid, $dialplan_uuid, $dialplan_detail_tag, $dialplan_detail_order, $dialplan_detail_group, $dialplan_detail_type, $dialplan_detail_data, $dialplan_detail_break) { global $db; $dialplan_detail_uuid = uuid(); $sql = "insert into v_dialplan_details "; @@ -2170,7 +2170,8 @@ function dialplan_detail_add($domain_uuid, $dialplan_uuid, $dialplan_detail_tag, $sql .= "dialplan_detail_group, "; $sql .= "dialplan_detail_order, "; $sql .= "dialplan_detail_type, "; - $sql .= "dialplan_detail_data "; + $sql .= "dialplan_detail_data, "; + $sql .= "dialplan_detail_break "; $sql .= ") "; $sql .= "values "; $sql .= "("; @@ -2186,7 +2187,13 @@ function dialplan_detail_add($domain_uuid, $dialplan_uuid, $dialplan_detail_tag, } $sql .= "'".check_str($dialplan_detail_order)."', "; $sql .= "'".check_str($dialplan_detail_type)."', "; - $sql .= "'".check_str($dialplan_detail_data)."' "; + $sql .= "'".check_str($dialplan_detail_data)."', "; + if (strlen($dialplan_detail_break) == 0) { + $sql .= "null "; + } + else { + $sql .= "'".check_str($dialplan_detail_break)."' "; + } $sql .= ")"; $db->exec(check_sql($sql)); unset($sql);