Add shortcode & domain search

This commit is contained in:
Daniel Supernault 2022-01-21 01:12:56 -07:00
parent efeaf427e1
commit dc7962d898
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
2 changed files with 36 additions and 5 deletions

View file

@ -355,7 +355,7 @@ class AdminController extends Controller
return view('admin.custom-emoji.not-enabled');
}
$this->validate($request, [
'sort' => 'sometimes|in:all,local,remote,duplicates,disabled'
'sort' => 'sometimes|in:all,local,remote,duplicates,disabled,search'
]);
if($request->has('cc')) {
@ -364,7 +364,12 @@ class AdminController extends Controller
}
$sort = $request->input('sort') ?? 'all';
$emojis = CustomEmoji::when($sort, function($query, $sort) {
if($sort == 'search' && empty($request->input('q'))) {
return redirect(route('admin.custom-emoji'));
}
$emojis = CustomEmoji::when($sort, function($query, $sort) use($request) {
if($sort == 'all') {
return $query->groupBy('shortcode')->latest();
} else if($sort == 'local') {
@ -375,8 +380,19 @@ class AdminController extends Controller
return $query->latest()->groupBy('shortcode')->havingRaw('count(*) > 1');
} else if($sort == 'disabled') {
return $query->latest()->whereDisabled(true);
} else if($sort == 'search') {
$q = $query
->latest()
->where('shortcode', 'like', '%' . $request->input('q') . '%')
->orWhere('domain', 'like', '%' . $request->input('q') . '%');
if(!$request->has('dups')) {
$q = $q->groupBy('shortcode');
}
return $q;
}
})->cursorPaginate(10);
})
->simplePaginate(10)
->withQueryString();
$stats = Cache::remember('pf:admin:custom_emoji:stats', 43200, function() {
return [