prepare("UPDATE users SET status = 'active' WHERE id = ? AND role = 'truck_owner'")->execute([$userId]); $flash = 'Truck Owner approved successfully.'; } elseif ($action === 'reject') { db()->prepare("UPDATE users SET status = 'rejected' WHERE id = ? AND role = 'truck_owner'")->execute([$userId]); $flash = 'Truck Owner rejected.'; } elseif ($action === 'delete') { db()->prepare("DELETE FROM truck_owner_profiles WHERE user_id = ?")->execute([$userId]); db()->prepare("DELETE FROM users WHERE id = ? AND role = 'truck_owner'")->execute([$userId]); $flash = 'Truck Owner deleted.'; } } // Search and Pagination parameters $q = trim($_GET['q'] ?? ''); $page = max(1, (int)($_GET['page'] ?? 1)); $limit = 10; $offset = ($page - 1) * $limit; $whereClause = "u.role = 'truck_owner'"; $params = []; if ($q !== '') { $whereClause .= " AND (u.full_name LIKE ? OR u.email LIKE ? OR p.plate_no LIKE ? OR p.truck_type LIKE ?)"; $likeQ = "%$q%"; $params = [$likeQ, $likeQ, $likeQ, $likeQ]; } // Total count $countSql = " SELECT COUNT(*) FROM users u LEFT JOIN truck_owner_profiles p ON u.id = p.user_id WHERE $whereClause "; $stmt = db()->prepare($countSql); $stmt->execute($params); $total = (int)$stmt->fetchColumn(); $totalPages = (int)ceil($total / $limit); // Fetch truck owners $sql = " SELECT u.id, u.email, u.full_name, u.status, u.created_at, p.phone, p.truck_type, p.load_capacity, p.plate_no, p.id_card_path, p.truck_pic_path, p.registration_path, c.name_en AS country_name, ci.name_en AS city_name FROM users u LEFT JOIN truck_owner_profiles p ON u.id = p.user_id LEFT JOIN countries c ON p.country_id = c.id LEFT JOIN cities ci ON p.city_id = ci.id WHERE $whereClause ORDER BY u.created_at DESC LIMIT $limit OFFSET $offset "; $stmt = db()->prepare($sql); $stmt->execute($params); $owners = $stmt->fetchAll(); render_header('Manage Truck Owners', 'admin'); ?>
Review registrations and approve truck owners.
No truck owners found matching your search.
No truck owners registered yet.
| ID | Name / Email | Truck Info | Documents | Status | Action |
|---|---|---|---|---|---|
| = e((string)$owner['id']) ?> |
= e($owner['full_name']) ?>
= e((string)$owner['phone']) ?>
|
Type: = e((string)$owner['truck_type']) ?>
Cap: = e((string)$owner['load_capacity']) ?>t
Plate: = e((string)$owner['plate_no']) ?>
|
Active Pending = e(ucfirst($owner['status'] ?? 'unknown')) ?> |