diff --git a/app/devices/device_edit.php b/app/devices/device_edit.php index 37ca9d119..5309aeb7c 100644 --- a/app/devices/device_edit.php +++ b/app/devices/device_edit.php @@ -36,6 +36,12 @@ $language = new text; $text = $language->get(); +//get order and order by, page + $order_by = preg_replace('#[^a-zA-Z0-9_\-]#', '', ($_REQUEST["order_by"] ?? '')); + $order = $_REQUEST["order"] ?? 'asc'; + $page = isset($_REQUEST['page']) && is_numeric($_REQUEST['page']) ? $_REQUEST['page'] : 0; + $search = $_REQUEST['search'] ?? null; + //set the defaults $device_model = ''; $device_firmware_version = ''; @@ -65,7 +71,7 @@ $total_devices = $database->select($sql, $parameters, 'column'); if ($total_devices >= $settings->get('limit', 'devices', '')) { message::add($text['message-maximum_devices'].' '.$settings->get('limit', 'devices', ''), 'negative'); - header('Location: devices.php'); + header('Location: devices.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)); exit; } unset($sql, $parameters, $total_devices); @@ -88,7 +94,7 @@ break; } - header('Location: devices.php'); + header('Location: devices.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)); exit; } @@ -179,7 +185,7 @@ $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); - header('Location: devices.php'); + header('Location: devices.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)); exit; } @@ -226,7 +232,7 @@ if ($device_domain_name != '') { $message = $text['message-duplicate'].($device_domain_name != $domain_name ? ": ".$device_domain_name : null); message::add($message,'negative'); - header('Location: devices.php'); + header('Location: devices.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)); exit; } unset($sql, $parameters, $device_domain_name); @@ -493,7 +499,7 @@ message::add($text['message-update']); } //redirect the browser - header("Location: device_edit.php?id=".urlencode($device_uuid)); + header("Location: device_edit.php?id=".urlencode($device_uuid).(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)); exit; } @@ -917,15 +923,15 @@ //build content for linphone if ($device_template == "linphone/default") { $auth_string = ''; - + $http_auth_password = $settings->get('provision', 'http_auth_password', ''); - + if (is_array($http_auth_password)) { $http_auth_password = $http_auth_password[0]; } - + $http_auth_username = $settings->get('provision', 'http_auth_username', ''); - + if ($settings->get('provision', 'http_auth_enabled', true) && !empty($http_auth_username) && !empty($http_auth_password)) { $auth_string = $http_auth_username.':'.$http_auth_password.'@'; } @@ -1015,11 +1021,12 @@ //show the content echo "
\n"; echo "\n"; + echo "\n"; echo "
\n"; echo "
".$text['header-device']."
\n"; echo "
\n"; - echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back', ''),'id'=>'btn_back','link'=>'devices.php']); + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$settings->get('theme', 'button_icon_back', ''),'id'=>'btn_back','link'=>'devices.php?'.(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(isset($page) && is_numeric($page) ? '&page='.$page : null).(!empty($search) ? '&search='.urlencode($search) : null)]); if ($action == 'update') { $button_margin = 'margin-left: 15px;'; if (permission_exists("device_line_password") && $qr_code_enabled) { diff --git a/app/devices/devices.php b/app/devices/devices.php index c63676875..26c571936 100644 --- a/app/devices/devices.php +++ b/app/devices/devices.php @@ -71,7 +71,7 @@ break; } - header('Location: devices.php'.($search != '' ? '?search='.urlencode($search).'&fields='.urlencode($fields) : null)); + header('Location: devices.php'.(!empty($search) ? '?search='.urlencode($search).'&fields='.urlencode($fields) : null)); exit; } @@ -435,7 +435,7 @@ $list_row_url = ''; if (permission_exists('device_edit')) { - $list_row_url = "device_edit.php?id=".urlencode($row['device_uuid']); + $list_row_url = "device_edit.php?id=".urlencode($row['device_uuid']).(!empty($order_by) ? '&order_by='.$order_by.'&order='.$order : null).(is_numeric($page) ? '&page='.urlencode($page) : null).(!empty($search) ? '&search='.$search : null); if ($row['domain_uuid'] != $_SESSION['domain_uuid'] && permission_exists('domain_select')) { $list_row_url .= '&domain_uuid='.urlencode($row['domain_uuid']).'&domain_change=true'; }