From 03cebda07dd9f445ae45f2ddff7a72f63f444fcd Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 4 Oct 2016 02:38:36 -0600 Subject: [PATCH] Update call_flows.php --- app/call_flows/call_flows.php | 207 ++++++++++++++++++++++------------ 1 file changed, 133 insertions(+), 74 deletions(-) diff --git a/app/call_flows/call_flows.php b/app/call_flows/call_flows.php index 557252ea57..db3a5fa96d 100644 --- a/app/call_flows/call_flows.php +++ b/app/call_flows/call_flows.php @@ -23,35 +23,109 @@ Contributor(s): Mark J Crane */ -require_once "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('call_flow_view')) { - //access granted -} -else { - echo "access denied"; - exit; -} + +//includes + require_once "root.php"; + require_once "resources/require.php"; + +//check permissions + require_once "resources/check_auth.php"; + if (permission_exists('call_flow_view')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; $text = $language->get(); -require_once "resources/header.php"; +//set the page title $document['title'] = $text['title-call_flows']; -require_once "resources/paging.php"; - //get variables used to control the order - $order_by = $_GET["order_by"]; - $order = $_GET["order"]; + $order_by = check_str($_GET["order_by"]); + $order = check_str($_GET["order"]); + +//add the search term + $search = strtolower(check_str($_GET["search"])); + if (strlen($search) > 0) { + $sql_search = "and ("; + $sql_search .= "lower(call_flow_name) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_extension) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_feature_code) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_context) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_status) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_pin_number) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_label) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_sound) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_app) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_data) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_alternate_label) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_alternate_sound) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_alternate_app) like '%".$search."%' "; + //$sql_search .= "or lower(call_flow_alternate_data) like '%".$search."%' "; + $sql_search .= "or lower(call_flow_description) like '%".$search."%' "; + $sql_search .= ") "; + } + +//additional includes + require_once "resources/header.php"; + require_once "resources/paging.php"; + +//prepare to page the results + $sql = "select count(call_flow_uuid) as num_rows from v_call_flows "; + $sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' "; + $sql .= $sql_search; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; + } + else { + $num_rows = '0'; + } + } + +//prepare to page the results + $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; + $param = ""; + $page = $_GET['page']; + if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } + list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $page; + +//get the list + $sql = "select * from v_call_flows "; + $sql .= "where domain_uuid = '".$_SESSION["domain_uuid"]."' "; + $sql .= $sql_search; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $sql .= "limit $rows_per_page offset $offset "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + unset ($prep_statement, $sql); + +//alternate the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; //show the content - echo "\n"; + echo "
\n"; echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
".$text['header-call_flows']." ".$text['title-call_flows']."
\n"; + echo " \n"; + echo " \n"; + echo "
\n"; @@ -60,64 +134,38 @@ require_once "resources/paging.php"; echo "
\n"; - //prepare to page the results - $sql = "select count(*) as num_rows from v_call_flows "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } - $prep_statement = $db->prepare($sql); - if ($prep_statement) { - $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); - if ($row['num_rows'] > 0) { - $num_rows = $row['num_rows']; - } - else { - $num_rows = '0'; - } - } - - //prepare to page the results - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; - $param = ""; - $page = $_GET['page']; - if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } - list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); - $offset = $rows_per_page * $page; - - //get the list - $sql = "select * from v_call_flows "; - $sql .= "where domain_uuid = '$domain_uuid' "; - if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } - $sql .= "limit $rows_per_page offset $offset "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(); - $result_count = count($result); - unset ($prep_statement, $sql); - - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - echo "\n"; echo "\n"; - echo th_order_by('call_flow_status', $text['label-status'], $order_by, $order); - //echo th_order_by('call_flow_name', $text['label-name'], $order_by, $order); - echo th_order_by('call_flow_extension', $text['label-extension'], $order_by, $order); - echo th_order_by('call_flow_feature_code', $text['label-feature_code'], $order_by, $order); - //echo "\n"; - //echo "\n"; - echo th_order_by('call_flow_description', $text['label-description'], $order_by, $order); + echo th_order_by('call_flow_status', $text['label-call_flow_status'], $order_by, $order); + //echo th_order_by('call_flow_name', $text['label-call_flow_name'], $order_by, $order); + echo th_order_by('call_flow_extension', $text['label-call_flow_extension'], $order_by, $order); + echo th_order_by('call_flow_feature_code', $text['label-call_flow_feature_code'], $order_by, $order); + //echo th_order_by('call_flow_context', $text['label-call_flow_context'], $order_by, $order); + //echo th_order_by('call_flow_pin_number', $text['label-call_flow_pin_number'], $order_by, $order); + //echo th_order_by('call_flow_label', $text['label-call_flow_label'], $order_by, $order); + //echo th_order_by('call_flow_sound', $text['label-call_flow_sound'], $order_by, $order); + //echo th_order_by('call_flow_app', $text['label-call_flow_app'], $order_by, $order); + //echo th_order_by('call_flow_data', $text['label-call_flow_data'], $order_by, $order); + //echo th_order_by('call_flow_alternate_label', $text['label-call_flow_alternate_label'], $order_by, $order); + //echo th_order_by('call_flow_alternate_sound', $text['label-call_flow_alternate_sound'], $order_by, $order); + //echo th_order_by('call_flow_alternate_app', $text['label-call_flow_alternate_app'], $order_by, $order); + //echo th_order_by('call_flow_alternate_data', $text['label-call_flow_alternate_data'], $order_by, $order); + echo th_order_by('call_flow_description', $text['label-call_flow_description'], $order_by, $order); echo "\n"; - echo "\n"; + echo "\n"; - if ($result_count > 0) { + if (is_array($result)) { foreach($result as $row) { - $tr_link = (permission_exists('call_flow_edit')) ? "href='call_flow_edit.php?id=".$row['call_flow_uuid']."'" : null; + if (permission_exists('call_flow_edit')) { + $tr_link = "href='call_flow_edit.php?id=".$row['call_flow_uuid']."'"; + } echo "\n"; echo " \n"; echo " \n"; echo " \n"; - //echo " \n"; - //echo " \n"; - echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + //echo " \n"; + echo " \n"; echo " \n"; - echo "\n"; echo "\n"; - echo "
".$text['label-destination']."".$text['label-alternate_destination'].""; if (permission_exists('call_flow_add')) { echo "$v_link_label_add"; } + else { + echo " \n"; + } echo "
"; if ($row['call_flow_status'] != "false") { @@ -131,9 +179,17 @@ require_once "resources/paging.php"; //echo " ".$row['call_flow_name']." ".$row['call_flow_extension']." ".$row['call_flow_feature_code']." ".$row['call_flow_app']." ".$row['call_flow_data']." ".$row['call_flow_alternate_app']." ".$row['call_flow_alternate_data']." ".$row['call_flow_description']." ".$row['call_flow_context']." ".$row['call_flow_pin_number']." ".$row['call_flow_label']." ".$row['call_flow_sound']." ".$row['call_flow_app']." ".$row['call_flow_data']." ".$row['call_flow_alternate_label']." ".$row['call_flow_alternate_sound']." ".$row['call_flow_alternate_app']." ".$row['call_flow_alternate_data']." ".$row['call_flow_description']." "; if (permission_exists('call_flow_edit')) { echo "$v_link_label_edit"; @@ -149,24 +205,27 @@ require_once "resources/paging.php"; } //end if results echo "
\n"; + echo "\n"; echo " \n"; echo " \n"; - echo " \n"; - echo " \n"; + echo " \n"; + echo " \n"; echo " \n"; echo " \n"; echo "
 $paging_controls $paging_controls"; if (permission_exists('call_flow_add')) { echo "$v_link_label_add"; } + else { + echo " "; + } echo "
\n"; echo "
"; echo "

"; //include the footer require_once "resources/footer.php"; + ?>