diff --git a/app/Controllers/DashboardController.php b/app/Controllers/DashboardController.php index 1c9d32d..624b52f 100644 --- a/app/Controllers/DashboardController.php +++ b/app/Controllers/DashboardController.php @@ -27,17 +27,27 @@ class DashboardController extends Controller $settingModel = new \App\Models\Setting(); $isolationMode = $settingModel->getValue('user_isolation_mode', 'shared'); - // Get user-specific statistics (always user-specific) - $stats = $this->domainModel->getStatistics($userId); - $recentDomains = $this->domainModel->getRecent(5, $userId); - $groups = $this->groupModel->getAllWithChannelCount($userId); + // Get statistics based on isolation mode + if ($isolationMode === 'isolated') { + $stats = $this->domainModel->getStatistics($userId); + $recentDomains = $this->domainModel->getRecent(5, $userId); + $groups = $this->groupModel->getAllWithChannelCount($userId); + } else { + $stats = $this->domainModel->getStatistics(); + $recentDomains = $this->domainModel->getRecent(5); + $groups = $this->groupModel->getAllWithChannelCount(); + } // Get expiring threshold from settings $notificationDays = $settingModel->getNotificationDays(); $expiringThreshold = !empty($notificationDays) ? max($notificationDays) : 30; // Get expiring domains limited to top 5 - $allExpiringDomains = $this->domainModel->getExpiringDomains($expiringThreshold, $userId); + if ($isolationMode === 'isolated') { + $allExpiringDomains = $this->domainModel->getExpiringDomains($expiringThreshold, $userId); + } else { + $allExpiringDomains = $this->domainModel->getExpiringDomains($expiringThreshold); + } $expiringThisMonth = array_slice($allExpiringDomains, 0, 5); $recentLogs = $this->logModel->getRecent(10); diff --git a/app/Controllers/DomainController.php b/app/Controllers/DomainController.php index 7b3c73b..cb8be91 100644 --- a/app/Controllers/DomainController.php +++ b/app/Controllers/DomainController.php @@ -50,11 +50,16 @@ class DomainController extends Controller ]; // Get filtered and paginated domains using model - $result = $this->domainModel->getFilteredPaginated($filters, $sortBy, $sortOrder, $page, $perPage, $expiringThreshold, $userId); + $result = $this->domainModel->getFilteredPaginated($filters, $sortBy, $sortOrder, $page, $perPage, $expiringThreshold, $isolationMode === 'isolated' ? $userId : null); - // Get groups and tags (always user-specific) - $groups = $this->groupModel->getAllWithChannelCount($userId); - $allTags = $this->domainModel->getAllTags($userId); + // Get groups and tags based on isolation mode + if ($isolationMode === 'isolated') { + $groups = $this->groupModel->getAllWithChannelCount($userId); + $allTags = $this->domainModel->getAllTags($userId); + } else { + $groups = $this->groupModel->getAllWithChannelCount(); + $allTags = $this->domainModel->getAllTags(); + } // Format domains for display $formattedDomains = \App\Helpers\DomainHelper::formatMultiple($result['domains']); diff --git a/app/Controllers/NotificationGroupController.php b/app/Controllers/NotificationGroupController.php index 5f5f684..5d379f4 100644 --- a/app/Controllers/NotificationGroupController.php +++ b/app/Controllers/NotificationGroupController.php @@ -24,8 +24,12 @@ class NotificationGroupController extends Controller $settingModel = new \App\Models\Setting(); $isolationMode = $settingModel->getValue('user_isolation_mode', 'shared'); - // Get groups (always user-specific) - $groups = $this->groupModel->getAllWithChannelCount($userId); + // Get groups based on isolation mode + if ($isolationMode === 'isolated') { + $groups = $this->groupModel->getAllWithChannelCount($userId); + } else { + $groups = $this->groupModel->getAllWithChannelCount(); + } // Get users for transfer functionality (admin only) $users = [];