File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/app/Controllers/Admin/AdminDashboardController.php
Back
<?php class AdminDashboardController extends Controller { public function index(): void { $db = Database::getInstance(); $totalUsers = $db->query("SELECT COUNT(*) FROM users")->fetchColumn(); $totalSellers = $db->query("SELECT COUNT(*) FROM seller_profiles WHERE status = 'approved'")->fetchColumn(); $pendingSellers = $db->query("SELECT COUNT(*) FROM seller_profiles WHERE status = 'pending'")->fetchColumn(); $totalProducts = $db->query("SELECT COUNT(*) FROM products")->fetchColumn(); $totalSales = $db->query("SELECT COALESCE(SUM(total_amount), 0) FROM orders WHERE status = 'paid'")->fetchColumn(); // Store management widget counts $suspendedStores = $db->query("SELECT COUNT(*) FROM seller_profiles WHERE status = 'suspended' AND deleted_at IS NULL")->fetchColumn(); $bannedStores = $db->query("SELECT COUNT(*) FROM seller_profiles WHERE status = 'banned' AND deleted_at IS NULL")->fetchColumn(); // Stores with avg rating < 2.5 $lowRatingStores = $db->query(" SELECT sp.id, sp.shop_name, COALESCE(AVG(r.rating), 0) AS avg_rating, COUNT(r.id) AS review_count FROM seller_profiles sp JOIN products p ON p.seller_id = sp.id JOIN reviews r ON r.product_id = p.id WHERE sp.status = 'approved' AND sp.deleted_at IS NULL GROUP BY sp.id HAVING avg_rating > 0 AND avg_rating < 2.5 ")->fetchAll(); $lowRatingCount = count($lowRatingStores); // Stores with avg rating < 2.0 (critical alert) $criticalStores = array_filter($lowRatingStores, function($s) { return (float)$s['avg_rating'] < 2.0; }); $this->render('admin/dashboard', [ 'title' => 'Admin Dashboard', 'totalUsers' => $totalUsers, 'totalSellers' => $totalSellers, 'pendingSellers' => $pendingSellers, 'totalProducts' => $totalProducts, 'totalSales' => $totalSales, 'suspendedStores' => $suspendedStores, 'bannedStores' => $bannedStores, 'lowRatingCount' => $lowRatingCount, 'lowRatingStores' => $lowRatingStores, 'criticalStores' => $criticalStores ], 'admin'); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.23 |
proxy
|
phpinfo
|
Settings