| @@ -87,10 +87,20 @@ | ||
| 87 | 87 | $validSortFields = ['last_activity', 'display_name', 'created_at']; |
| 88 | 88 | |
| 89 | 89 | $sortColumn = in_array($sortBy, $validSortFields, true) ? $sortBy : 'last_activity'; |
| 90 | 90 | |
| 91 | - $sortDirection = ($sortColumn === 'last_activity') ? 'DESC' : 'ASC'; | |
| 91 | + $defaultDirections = [ | |
| 92 | + 'last_activity' => 'DESC', | |
| 93 | + 'display_name' => 'ASC', | |
| 94 | + 'created_at' => 'DESC', | |
| 95 | + ]; | |
| 92 | 96 | |
| 97 | + $sortDir = strtoupper($request->getSafe('sort_dir', 'sanitize_text_field', '')); | |
| 98 | + | |
| 99 | + $sortDirection = in_array($sortDir, ['ASC', 'DESC'], true) | |
| 100 | + ? $sortDir | |
| 101 | + : $defaultDirections[$sortColumn]; | |
| 102 | + | |
| 93 | 103 | $members = $members->orderBy($sortColumn, $sortDirection); |
| 94 | 104 | |
| 95 | 105 | $members = $members |
| 96 | 106 | ->searchBy($request->getSafe('search', 'sanitize_text_field')); |
| @@ -96,10 +106,12 @@ | ||
| 96 | 106 | ->searchBy($request->getSafe('search', 'sanitize_text_field')); |
| 97 | 107 | |
| 98 | 108 | if($isMod) { |
| 99 | 109 | $statuses = $request->getSafe('status', 'sanitize_text_field', 'active'); |
| 100 | - if ($statuses == 'in_active') { | |
| 101 | - $statuses = ['pending', 'blocked']; | |
| 110 | + if ($statuses == 'pending') { | |
| 111 | + $statuses = ['pending']; | |
| 112 | + } else if ($statuses == 'blocked') { | |
| 113 | + $statuses = ['blocked']; | |
| 102 | 114 | } else if($statuses == 'deactivated') { |
| 103 | 115 | $statuses = ['']; |
| 104 | 116 | } else { |
| 105 | 117 | $statuses = ['active']; |