]> BookStack Code Mirror - bookstack/blob - app/Http/Controllers/UserSearchController.php
a0dfbd8d06696ec8dc8be83ef4ac9747730af998
[bookstack] / app / Http / Controllers / UserSearchController.php
1 <?php
2
3 namespace BookStack\Http\Controllers;
4
5 use BookStack\Auth\User;
6 use Illuminate\Database\Eloquent\Builder;
7 use Illuminate\Http\Request;
8
9 class UserSearchController extends Controller
10 {
11     /**
12      * Search users in the system, with the response formatted
13      * for use in a select-style list.
14      */
15     public function forSelect(Request $request)
16     {
17         $search = $request->get('search', '');
18         $query = User::query()->orderBy('name', 'desc')
19             ->take(20);
20
21         if (!empty($search)) {
22             $query->where(function (Builder $query) use ($search) {
23                 $query->where('email', 'like', '%' . $search . '%')
24                     ->orWhere('name', 'like', '%' . $search . '%');
25             });
26         }
27
28         $users = $query->get();
29         return view('components.user-select-list', compact('users'));
30     }
31 }