Fix custom emoji admin dashboard bug

This commit is contained in:
Daniel Supernault 2022-01-21 03:19:09 -07:00
parent 46d5f12590
commit 1e00c431a8
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -369,9 +369,15 @@ class AdminController extends Controller
return redirect(route('admin.custom-emoji'));
}
$emojis = CustomEmoji::when($sort, function($query, $sort) use($request) {
$pg = config('database.default') == 'pgsql';
$emojis = CustomEmoji::when($sort, function($query, $sort) use($request, $pg) {
if($sort == 'all') {
return $query->groupBy('shortcode')->latest();
if($pg) {
return $query->latest();
} else {
return $query->groupBy('shortcode')->latest();
}
} else if($sort == 'local') {
return $query->latest()->where('domain', '=', config('pixelfed.domain.app'));
} else if($sort == 'remote') {
@ -394,13 +400,20 @@ class AdminController extends Controller
->simplePaginate(10)
->withQueryString();
$stats = Cache::remember('pf:admin:custom_emoji:stats', 43200, function() {
return [
$stats = Cache::remember('pf:admin:custom_emoji:stats', 43200, function() use($pg) {
$res = [
'total' => CustomEmoji::count(),
'active' => CustomEmoji::whereDisabled(false)->count(),
'remote' => CustomEmoji::where('domain', '!=', config('pixelfed.domain.app'))->count(),
'duplicate' => CustomEmoji::groupBy('shortcode')->havingRaw('count(*) > 1')->count()
];
if($pg) {
$res['duplicate'] = CustomEmoji::select('shortcode')->groupBy('shortcode')->havingRaw('count(*) > 1')->count();
} else {
$res['duplicate'] = CustomEmoji::groupBy('shortcode')->havingRaw('count(*) > 1')->count();
}
return $res;
});
return view('admin.custom-emoji.home', compact('emojis', 'sort', 'stats'));