|
@@ -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 [
|