resetPage(); } public function updatingFilter(): void { $this->resetPage(); } public function updatingServerFilter(): void { $this->resetPage(); } public function updatingSort(): void { $this->resetPage(); } public function setFilter(string $f): void { $this->filter = $f; $this->resetPage(); } public function with(): array { $query = Site::query()->with('server'); if ($this->search !== '') { $query->where('domain', 'like', '%' . $this->search . '%'); } match ($this->filter) { 'updates' => $query->where('updates_pending', '>', 0), 'warnings' => $query->where('status', 'warn'), 'critical' => $query->where('status', 'bad'), default => null, }; if ($this->serverFilter !== '') { $query->where('server_id', $this->serverFilter); } $query->orderBy(match ($this->sort) { 'visitors' => 'visitors_24h', 'response' => 'response_ms', 'updates' => 'updates_pending', default => 'domain', }, $this->sort === 'name' ? 'asc' : 'desc'); return [ 'sites' => $query->paginate(15), 'servers' => Server::orderBy('name')->get(), 'totalSites' => Site::count(), 'updatesCount' => Site::where('updates_pending', '>', 0)->count(), 'warnCount' => Site::where('status', 'warn')->count(), 'criticalCount' => Site::where('status', 'bad')->count(), 'avgPagespeed' => (int) Site::avg('pagespeed_score'), 'totalVisitors' => Site::sum('visitors_24h'), ]; } }; ?>
| Site | Server | WordPress | PHP | Besucher / 24h | Response | Status | |
|---|---|---|---|---|---|---|---|
|
{{ mb_substr($site->domain, 0, 1) }}
|
{{ $site->server->name }} | WP {{ $site->wp_version }} | PHP {{ $site->php_version }} | {{ number_format($site->visitors_24h, 0, ',', '.') }} | {{ $site->response_ms }}ms | {{ match($site->status) { 'ok' => $site->updates_pending > 0 ? $site->updates_pending . ' Updates' : 'Optimal', 'warn' => 'Wartung nötig', 'bad' => 'Kritisch', default => $site->status, } }} |
|
| Keine Sites gefunden. | |||||||