diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php
index 3b69ca9..af38d60 100644
--- a/app/Controllers/DashboardController.php
+++ b/app/Controllers/DashboardController.php
@@ -43,9 +43,13 @@ class DashboardController extends Controller
// Format domains for display
$formattedRecentDomains = \App\Helpers\DomainHelper::formatMultiple($recentDomains);
$formattedExpiringDomains = \App\Helpers\DomainHelper::formatMultiple($expiringThisMonth);
+
+ // Get global stats for dashboard cards
+ $globalStats = \App\Helpers\LayoutHelper::getGlobalStats();
$this->view('dashboard/index', [
'stats' => $stats,
+ 'globalStats' => $globalStats,
'recentDomains' => $formattedRecentDomains,
'expiringThisMonth' => $formattedExpiringDomains,
'expiringCount' => count($allExpiringDomains),
diff --git a/app/Models/Domain.php b/app/Models/Domain.php
index 8d90b09..e99edf5 100644
--- a/app/Models/Domain.php
+++ b/app/Models/Domain.php
@@ -127,6 +127,7 @@ class Domain extends Model
'inactive' => 0,
];
+ // Get status counts for active domains only
$sql = "SELECT status, COUNT(*) as count FROM domains WHERE is_active = 1 GROUP BY status";
$stmt = $this->db->query($sql);
$results = $stmt->fetchAll();
@@ -137,6 +138,14 @@ class Domain extends Model
$stats[strtolower($row['status'])] = $row['count'];
}
+ // Get count of inactive domains (is_active = 0)
+ $inactiveStmt = $this->db->query("SELECT COUNT(*) as count FROM domains WHERE is_active = 0");
+ $inactiveResult = $inactiveStmt->fetch();
+ $stats['inactive'] = $inactiveResult['count'] ?? 0;
+
+ // Add inactive count to total
+ $stats['total'] += $stats['inactive'];
+
return $stats;
}
@@ -167,6 +176,14 @@ class Domain extends Model
}
return false;
}
+ // Handle inactive filter (based on is_active field)
+ if ($filters['status'] === 'inactive') {
+ return $domain['is_active'] == 0;
+ }
+ // Handle available and error status filters
+ if ($filters['status'] === 'available' || $filters['status'] === 'error') {
+ return $domain['status'] === $filters['status'];
+ }
return $domain['status'] === $filters['status'];
});
}
diff --git a/app/Views/domains/index.php b/app/Views/domains/index.php
index bc8e4be..a8d6867 100644
--- a/app/Views/domains/index.php
+++ b/app/Views/domains/index.php
@@ -68,6 +68,8 @@ $currentFilters = $filters ?? ['search' => '', 'status' => '', 'group' => '', 's
+
+