From b3bcd49a6c9ccc0d527aeeaebe5b0c7550373215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Tue, 28 Apr 2026 08:48:53 +0200 Subject: [PATCH 1/3] refactor: Replace OC::$server->getL10N by Util::getL10N MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the code more consistent with stable33 and later. Signed-off-by: Daniel Calviño Sánchez --- apps/dav/lib/CardDAV/UserAddressBooks.php | 3 ++- build/psalm-baseline.xml | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dav/lib/CardDAV/UserAddressBooks.php b/apps/dav/lib/CardDAV/UserAddressBooks.php index e29e52e77df..4c640af554e 100644 --- a/apps/dav/lib/CardDAV/UserAddressBooks.php +++ b/apps/dav/lib/CardDAV/UserAddressBooks.php @@ -21,6 +21,7 @@ use OCP\IRequest; use OCP\IUser; use OCP\IUserSession; use OCP\Server; +use OCP\Util; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Sabre\CardDAV\Backend; @@ -53,7 +54,7 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { */ public function getChildren() { if ($this->l10n === null) { - $this->l10n = \OC::$server->getL10N('dav'); + $this->l10n = Util::getL10N('dav'); } if ($this->config === null) { $this->config = Server::get(IConfig::class); diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index b44e18ea114..d7871fe16af 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -594,7 +594,6 @@ - principalUri]]> From f47db8ca3da2f333f68c8495d78d457b944d03cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Tue, 28 Apr 2026 08:50:06 +0200 Subject: [PATCH 2/3] refactor: Move initialization of attributes to constructor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes the code more consistent with stable33 and later. Signed-off-by: Daniel Calviño Sánchez --- apps/dav/lib/CardDAV/UserAddressBooks.php | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/apps/dav/lib/CardDAV/UserAddressBooks.php b/apps/dav/lib/CardDAV/UserAddressBooks.php index 4c640af554e..79476c7c168 100644 --- a/apps/dav/lib/CardDAV/UserAddressBooks.php +++ b/apps/dav/lib/CardDAV/UserAddressBooks.php @@ -45,6 +45,9 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { private ?IGroupManager $groupManager, ) { parent::__construct($carddavBackend, $principalUri); + + $this->l10n = Util::getL10N('dav'); + $this->config = Server::get(IConfig::class); } /** @@ -53,13 +56,6 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { * @return IAddressBook[] */ public function getChildren() { - if ($this->l10n === null) { - $this->l10n = Util::getL10N('dav'); - } - if ($this->config === null) { - $this->config = Server::get(IConfig::class); - } - /** @var string|array $principal */ $principal = $this->principalUri; $addressBooks = $this->carddavBackend->getAddressBooksForUser($this->principalUri); From b26329e0d405dbb6bacc839fd432aafff7234738 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Tue, 28 Apr 2026 08:50:51 +0200 Subject: [PATCH 3/3] fix: Fix re-enabling the system address book MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When "system_addressbook_exposed" is set through the administration settings it is set as a boolean value in IAppConfig which, in the end, stores it as "0" or "1". However, when read from IConfig in UserAddressBooks it was strictly compared against "yes", so even if explicitly enabled the comparison always failed and the system address book was always seen as disabled. To solve that now the comparison is made against a boolean value in IAppConfig, which is also consistent with other places where the value is got (like ContactsManager). Signed-off-by: Daniel Calviño Sánchez --- apps/dav/lib/CardDAV/UserAddressBooks.php | 7 ++++++- build/psalm-baseline.xml | 3 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/dav/lib/CardDAV/UserAddressBooks.php b/apps/dav/lib/CardDAV/UserAddressBooks.php index 79476c7c168..f78afff7cbb 100644 --- a/apps/dav/lib/CardDAV/UserAddressBooks.php +++ b/apps/dav/lib/CardDAV/UserAddressBooks.php @@ -14,6 +14,7 @@ use OCA\DAV\CardDAV\Integration\ExternalAddressBook; use OCA\DAV\CardDAV\Integration\IAddressBookProvider; use OCA\Federation\TrustedServers; use OCP\AppFramework\QueryException; +use OCP\IAppConfig; use OCP\IConfig; use OCP\IGroupManager; use OCP\IL10N; @@ -37,6 +38,9 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { /** @var IConfig */ protected $config; + /** @var IAppConfig */ + protected $appConfig; + public function __construct( Backend\BackendInterface $carddavBackend, string $principalUri, @@ -48,6 +52,7 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { $this->l10n = Util::getL10N('dav'); $this->config = Server::get(IConfig::class); + $this->appConfig = Server::get(IAppConfig::class); } /** @@ -61,7 +66,7 @@ class UserAddressBooks extends \Sabre\CardDAV\AddressBookHome { $addressBooks = $this->carddavBackend->getAddressBooksForUser($this->principalUri); // add the system address book $systemAddressBook = null; - $systemAddressBookExposed = $this->config->getAppValue('dav', 'system_addressbook_exposed', 'yes') === 'yes'; + $systemAddressBookExposed = $this->appConfig->getValueBool('dav', 'system_addressbook_exposed', true); if ($systemAddressBookExposed && is_string($principal) && $principal !== 'principals/system/system' && $this->carddavBackend instanceof CardDavBackend) { $systemAddressBook = $this->carddavBackend->getAddressBooksByUri('principals/system/system', 'system'); if ($systemAddressBook !== null) { diff --git a/build/psalm-baseline.xml b/build/psalm-baseline.xml index d7871fe16af..b92298da7d1 100644 --- a/build/psalm-baseline.xml +++ b/build/psalm-baseline.xml @@ -592,9 +592,6 @@ - - - principalUri]]> principalUri]]>