diff --git a/app/gateways/gateways.php b/app/gateways/gateways.php index 5024331df6..0641e00a06 100644 --- a/app/gateways/gateways.php +++ b/app/gateways/gateways.php @@ -47,14 +47,14 @@ $text = $language->get(); //get posted data - if (is_array($_POST['gateways'])) { - $action = $_POST['action']; - $search = $_POST['search']; - $gateways = $_POST['gateways']; + if (!empty($_POST['gateways'])) { + $action = $_POST['action'] ?? ''; + $search = $_POST['search'] ?? ''; + $gateways = $_POST['gateways'] ?? ''; } //process the http post data by action - if ($action != '' && is_array($gateways) && @sizeof($gateways) != 0) { + if (!empty($action) && !empty($gateways)) { switch ($action) { case 'copy': if (permission_exists('gateway_add')) { @@ -89,7 +89,7 @@ break; } - header('Location: gateways.php'.($search != '' ? '?search='.urlencode($search) : null)); + header('Location: gateways.php'.(!empty($search) ? '?search='.urlencode($search) : null)); exit; } @@ -114,58 +114,77 @@ } //get order and order by - $order_by = $_GET["order_by"]; - $order = $_GET["order"]; + $order_by = $_GET["order_by"] ?? ''; + $order = $_GET["order"] ?? ''; -//add the search term - $search = strtolower($_GET["search"]); - if (!empty($search)) { - $sql_search = "and ("; - $sql_search .= "lower(gateway) like :search "; - $sql_search .= "or lower(username) like :search "; - $sql_search .= "or lower(auth_username) like :search "; - $sql_search .= "or lower(from_user) like :search "; - $sql_search .= "or lower(from_domain) like :search "; - $sql_search .= "or lower(proxy) like :search "; - $sql_search .= "or lower(register_proxy) like :search "; - $sql_search .= "or lower(outbound_proxy) like :search "; - $sql_search .= "or lower(description) like :search "; - $sql_search .= ") "; - $parameters['search'] = '%'.$search.'%'; - } +//set additional variables + $search = !empty($_GET["search"]) ? $_GET["search"] : ''; + $show = !empty($_GET["show"]) ? $_GET["show"] : ''; + +//set from session variables + $list_row_edit_button = !empty($_SESSION['theme']['list_row_edit_button']['boolean']) ? $_SESSION['theme']['list_row_edit_button']['boolean'] : 'false'; //get total gateway count from the database $sql = "select count(*) from v_gateways where true "; - if (!($_GET['show'] == "all" && permission_exists('gateway_all'))) { + if (!($show == "all" && permission_exists('gateway_all'))) { $sql .= "and (domain_uuid = :domain_uuid ".(permission_exists('gateway_domain') ? " or domain_uuid is null " : null).") "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } + if (!empty($search)) { + $search = strtolower($_GET["search"]); + $sql .= "and ("; + $sql .= "lower(gateway) like :search "; + $sql .= "or lower(username) like :search "; + $sql .= "or lower(auth_username) like :search "; + $sql .= "or lower(from_user) like :search "; + $sql .= "or lower(from_domain) like :search "; + $sql .= "or lower(proxy) like :search "; + $sql .= "or lower(register_proxy) like :search "; + $sql .= "or lower(outbound_proxy) like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $database = new database; - $total_gateways = $database->select($sql, $parameters, 'column'); + $total_gateways = $database->select($sql, $parameters ?? '', 'column'); $num_rows = $total_gateways; //prepare to page the results - if ($sql_search) { - $sql .= $sql_search; - $database = new database; - $num_rows = $database->select($sql, $parameters, 'column'); - } - -//prepare to page the results - $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; + $rows_per_page = (!empty($_SESSION['domain']['paging']['numeric'])) ? $_SESSION['domain']['paging']['numeric'] : 50; $param = "&search=".$search; $param .= $order_by ? "&order_by=".$order_by."&order=".$order : null; - $page = is_numeric($_GET['page']) ? $_GET['page'] : 0; + $page = !empty($_GET['page']) ? $_GET['page'] : 0; list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page); list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true); - $offset = $rows_per_page * $_GET['page']; + $offset = $rows_per_page * $page; //get the list - $sql = str_replace('count(*)', '*', $sql); + $sql = "select * from "; + $sql .= "from v_gateways "; + $sql .= "where true "; + if (!($show == "all" && permission_exists('gateway_all'))) { + $sql .= "and (domain_uuid = :domain_uuid ".(permission_exists('gateway_domain') ? " or domain_uuid is null " : null).") "; + $parameters['domain_uuid'] = $_SESSION['domain_uuid']; + } + if (!empty($search)) { + $search = strtolower($_GET["search"]); + $sql .= "and ("; + $sql .= "lower(gateway) like :search "; + $sql .= "or lower(username) like :search "; + $sql .= "or lower(auth_username) like :search "; + $sql .= "or lower(from_user) like :search "; + $sql .= "or lower(from_domain) like :search "; + $sql .= "or lower(proxy) like :search "; + $sql .= "or lower(register_proxy) like :search "; + $sql .= "or lower(outbound_proxy) like :search "; + $sql .= "or lower(description) like :search "; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } $sql .= order_by($order_by, $order, 'gateway', 'asc'); $sql .= limit_offset($rows_per_page, $offset); $database = new database; - $gateways = $database->select($sql, $parameters, 'all'); + $gateways = $database->select($sql, $parameters ?? '', 'all'); unset($sql, $parameters); //create token @@ -199,7 +218,7 @@ } echo "\n"; @@ -245,7 +264,7 @@ echo " \n"; echo " \n"; } - if ($_GET['show'] == "all" && permission_exists('gateway_all')) { + if ($show == "all" && permission_exists('gateway_all')) { echo th_order_by('domain_name', $text['label-domain'], $order_by, $order, $param); } echo th_order_by('gateway', $text['label-gateway'], $order_by, $order); @@ -262,12 +281,12 @@ echo th_order_by('hostname', $text['label-hostname'], $order_by, $order, null, "class='hide-sm-dn'"); echo th_order_by('enabled', $text['label-enabled'], $order_by, $order, null, "class='center'"); echo th_order_by('description', $text['label-description'], $order_by, $order, null, "class='hide-sm-dn'"); - if (permission_exists('gateway_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + if (permission_exists('gateway_edit') && $list_row_edit_button == 'true') { echo "  \n"; } echo "\n"; - if (is_array($gateways) && @sizeof($gateways) != 0) { + if (!empty($gateways)) { $x = 0; foreach($gateways as $row) { if (permission_exists('gateway_edit')) { @@ -280,7 +299,7 @@ echo " \n"; echo " \n"; } - if ($_GET['show'] == "all" && permission_exists('gateway_all')) { + if ($show == "all" && permission_exists('gateway_all')) { echo " "; if (is_uuid($row['domain_uuid'])) { echo escape($_SESSION['domains'][$row['domain_uuid']]['domain_name']); @@ -351,9 +370,9 @@ } echo " \n"; echo " ".escape($row["description"])." \n"; - if (permission_exists('gateway_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + if (permission_exists('gateway_edit') && $list_row_edit_button == 'true') { echo " "; - echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); + echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$list_row_edit_button,'link'=>$list_row_url]); echo " \n"; } echo "\n";