diff options
Diffstat (limited to 'lib/private/User/AvailabilityCoordinator.php')
-rw-r--r-- | lib/private/User/AvailabilityCoordinator.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/User/AvailabilityCoordinator.php b/lib/private/User/AvailabilityCoordinator.php index fe0db92fd0f..8e6b73bd56d 100644 --- a/lib/private/User/AvailabilityCoordinator.php +++ b/lib/private/User/AvailabilityCoordinator.php @@ -27,10 +27,12 @@ declare(strict_types=1); namespace OC\User; use JsonException; +use OCA\DAV\AppInfo\Application; use OCA\DAV\Db\AbsenceMapper; use OCP\AppFramework\Db\DoesNotExistException; use OCP\ICache; use OCP\ICacheFactory; +use OCP\IConfig; use OCP\IUser; use OCP\User\IAvailabilityCoordinator; use OCP\User\IOutOfOfficeData; @@ -42,11 +44,20 @@ class AvailabilityCoordinator implements IAvailabilityCoordinator { public function __construct( ICacheFactory $cacheFactory, private AbsenceMapper $absenceMapper, + private IConfig $config, private LoggerInterface $logger, ) { $this->cache = $cacheFactory->createLocal('OutOfOfficeData'); } + public function isEnabled(): bool { + return $this->config->getAppValue( + Application::APP_ID, + 'hide_absence_settings', + 'no', + ) === 'no'; + } + private function getCachedOutOfOfficeData(IUser $user): ?OutOfOfficeData { $cachedString = $this->cache->get($user->getUID()); if ($cachedString === null) { |