From e7b0a503d0a25b02b448712ee30ee0119dbcc8e4 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 21 Dec 2017 01:35:35 -0700 Subject: [PATCH] Update destinations.php --- app/destinations/destinations.php | 234 ++++++++++++++++++------------ 1 file changed, 145 insertions(+), 89 deletions(-) diff --git a/app/destinations/destinations.php b/app/destinations/destinations.php index 91c9e0b8e9..67237b0ced 100644 --- a/app/destinations/destinations.php +++ b/app/destinations/destinations.php @@ -42,8 +42,29 @@ $language = new text; $text = $language->get(); -//get the http values and set them as variables - $search = check_str($_GET["search"]); +//get the action + if (is_array($_POST["destinations"])) { + $destinations = $_POST["destinations"]; + foreach($destinations as $row) { + if ($row['action'] == 'delete') { + $action = 'delete'; + break; + } + } + } + +//delete the destinations + if (permission_exists('destination_delete')) { + if ($action == "delete") { + //download + $obj = new destinations; + $obj->delete($destinations); + //delete message + messages::add($text['message-delete']); + } + } + +//get variables used to control the order $order_by = check_str($_GET["order_by"]); $order = check_str($_GET["order"]); @@ -55,35 +76,43 @@ $destination_type = 'inbound'; } -//includes and title +//add the search term + $search = strtolower(check_str($_GET["search"])); + if (strlen($search) > 0) { + $sql_search = " ("; + $sql_search .= "lower(destination_type) like '%".$search."%' "; + $sql_search .= "or lower(destination_number) like '%".$search."%' "; + $sql_search .= "or lower(destination_context) like '%".$search."%' "; + $sql_search .= "or lower(destination_accountcode) like '%".$search."%' "; + $sql_search .= ") "; + } + +//additional includes require_once "resources/header.php"; - $document['title'] = $text['title-destinations']; require_once "resources/paging.php"; -//get total destination count from the database - $sql = "select count(*) as num_rows from v_destinations "; +//prepare to page the results + $sql = "select count(destination_uuid) as num_rows from v_destinations "; $sql .= "where destination_type = '".$destination_type."' "; if ($_GET['show'] == "all" && permission_exists('destination_all')) { //show all } else { $sql .= "and (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; } - if (strlen($search) > 0) { - $sql .= "and ("; - $sql .= " destination_number like '%".$search."%' "; - $sql .= " or lower(destination_context) like '%".strtolower($search)."%' "; - $sql .= " or destination_enabled like '%".$search."%' "; - $sql .= " or lower(destination_description) like '%".strtolower($search)."%' "; - $sql .= ") "; + if (isset($sql_search)) { + $sql .= "and ".$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); - $num_rows = $row['num_rows']; - } - else { - $num_rows = 0; + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; + } + else { + $num_rows = '0'; + } } //prepare to page the results @@ -105,37 +134,45 @@ } else { $sql .= "and (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; } - if (strlen($search) > 0) { - $sql .= " and ("; - $sql .= " destination_number like '%".$search."%' "; - $sql .= " or lower(destination_context) like '%".strtolower($search)."%' "; - $sql .= " or destination_enabled like '%".$search."%' "; - $sql .= " or lower(destination_description) like '%".strtolower($search)."%' "; - $sql .= ") "; - } - if (strlen($order_by) > 0) { - if ($order_by == 'destination_type') { - $sql .= "order by destination_type ".$order.", destination_number asc "; - } - else { - $sql .= "order by ".$order_by." ".$order." "; - } - } - else { - $sql .= "order by destination_type asc, destination_number asc "; + if (isset($sql_search)) { + $sql .= "and ".$sql_search; } + $sql .= "and destination_type = '".$destination_type."' "; + 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(); - $destinations = $prep_statement->fetchAll(); + $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"; + +//define the checkbox_toggle function + echo "\n"; + //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 " \n"; echo "
".$text['header-destinations']." (".$num_rows.")
\n"; + echo " ".$text['title-destinations']." (".$num_rows.")\n"; if ($_GET['type'] == 'outbound') { echo " \n"; @@ -143,6 +180,10 @@ echo " \n"; } + if (permission_exists('destination_imports') && file_exists($_SERVER["PROJECT_ROOT"]."/app/destination_imports/destination_imports.php")) { + echo "\n"; + } + if (permission_exists('destination_all')) { if ($_GET['show'] == 'all') { echo " "; @@ -152,14 +193,10 @@ } } - if (permission_exists('destination_imports') && file_exists($_SERVER["PROJECT_ROOT"]."/app/destination_imports/destination_imports.php")) { - echo "\n"; - } - - echo " "; - echo " "; + echo " \n"; + echo " \n"; echo "
\n"; @@ -168,73 +205,92 @@ echo "
\n"; - $c = 0; - $row_style["0"] = "row_style0"; - $row_style["1"] = "row_style1"; - + echo "
\n"; echo "\n"; echo "\n"; - if ($_GET['show'] == "all" && permission_exists('destination_all')) { - echo th_order_by('domain_name', $text['label-domain-name'], $order_by, $order, '', '', $param); - } - echo th_order_by('destination_type', $text['label-destination_type'], $order_by, $order, '', '', $param); - echo th_order_by('destination_number', $text['label-destination_number'], $order_by, $order, '', '', $param); - echo th_order_by('destination_context', $text['label-destination_context'], $order_by, $order, '', '', $param); - echo th_order_by('destination_enabled', $text['label-destination_enabled'], $order_by, $order, '', '', $param); - echo th_order_by('destination_description', $text['label-destination_description'], $order_by, $order, '', '', $param); - echo "\n"; + echo th_order_by('destination_type', $text['label-destination_type'], $order_by, $order); + echo th_order_by('destination_number', $text['label-destination_number'], $order_by, $order); + echo th_order_by('destination_context', $text['label-destination_context'], $order_by, $order); + echo th_order_by('destination_caller_id_name', $text['label-destination_caller_id_name'], $order_by, $order); + echo th_order_by('destination_caller_id_number', $text['label-destination_caller_id_number'], $order_by, $order); + echo th_order_by('destination_enabled', $text['label-destination_enabled'], $order_by, $order); + echo th_order_by('destination_description', $text['label-destination_description'], $order_by, $order); + echo " \n"; - echo "\n"; + else { + echo " \n"; + } + echo " \n"; + echo "\n"; - if ($num_rows > 0) { - foreach($destinations as $row) { - $tr_link = "href='destination_edit.php?id=".$row['destination_uuid']."'"; - echo "\n"; - if ($_GET['show'] == "all" && permission_exists('destination_all')) { - echo " \n"; + if (is_array($result)) { + $x = 0; + foreach($result as $row) { + if (permission_exists('destination_edit')) { + $tr_link = "href='destination_edit.php?id=".$row['destination_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 " \n"; echo " \n"; echo " \n"; echo "\n"; + $x++; if ($c==0) { $c=1; } else { $c=0; } } //end foreach - unset($sql, $destinations, $row_count); + unset($sql, $result, $row_count); } //end if results echo "\n"; - if ($_GET['show'] == "all" && permission_exists('destination_all')) { - echo "\n"; echo "\n"; - echo "
"; + echo " \n"; + echo " \n"; + echo " "; if (permission_exists('destination_add')) { - if ($_SESSION['limit']['destinations']['numeric'] == '' || ($_SESSION['limit']['destinations']['numeric'] != '' && $num_rows < $_SESSION['limit']['destinations']['numeric'])) { - echo "".$v_link_label_add.""; - } + echo " $v_link_label_add"; } - echo "
".$_SESSION['domains'][$row['domain_uuid']]['domain_name']."".ucwords($row['destination_type'])."".format_phone($row['destination_number'])."".$row['destination_context']."".$text['label-'.$row['destination_enabled']]."
".$row['domain_uuid']." ".$row['destination_uuid']." ".$row['dialplan_uuid']." ".$row['destination_type']." ".$row['destination_number']." ".$row['destination_number_regex']." ".$row['destination_context']." ".$row['fax_uuid']." ".$row['destination_caller_id_name']." ".$row['destination_caller_id_number']." ".$row['destination_cid_name_prefix']." ".$row['destination_app']." ".$row['destination_data']." ".$row['destination_record']." ".$row['destination_accountcode']." ".$row['destination_enabled']." ".$row['destination_description']." "; if (permission_exists('destination_edit')) { - echo "".$v_link_label_edit.""; + echo "$v_link_label_edit"; } if (permission_exists('destination_delete')) { - echo "".$v_link_label_delete.""; + echo ""; } echo "
\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
 $paging_controls"; + if (permission_exists('destination_add')) { + echo "$v_link_label_add"; } else { - echo "\n"; - } - if (permission_exists('destination_add')) { - if ($_SESSION['limit']['destinations']['numeric'] == '' || ($_SESSION['limit']['destinations']['numeric'] != '' && $num_rows < $_SESSION['limit']['destinations']['numeric'])) { - echo "".$v_link_label_add.""; - } + echo " "; } + echo "
\n"; echo "
"; - - echo "
".$paging_controls."
\n"; + echo "
\n"; echo "

"; //include the footer