diff options
author | Christoph Wurst <ChristophWurst@users.noreply.github.com> | 2018-09-05 18:07:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-05 18:07:40 +0200 |
commit | cfb2098e5cdf9d6c31136179122fa58b2e21a73d (patch) | |
tree | 2f4cd6659d011608eb778500be8e5327fec60d38 /apps | |
parent | d2803aeb5c43ad077bba7e496fa9a4c6d4a4d7a0 (diff) | |
parent | 83639a9898581919a84f1e2b05e64b236c8268e2 (diff) | |
download | nextcloud-server-cfb2098e5cdf9d6c31136179122fa58b2e21a73d.tar.gz nextcloud-server-cfb2098e5cdf9d6c31136179122fa58b2e21a73d.zip |
Merge pull request #10958 from nextcloud/bugfix/10727/fix_caldav_logic_exception
remove LogicException, because it's also triggered with legitimate parameters
Diffstat (limited to 'apps')
-rw-r--r-- | apps/dav/lib/CalDAV/Plugin.php | 14 | ||||
-rw-r--r-- | apps/dav/lib/CardDAV/Plugin.php | 5 | ||||
-rw-r--r-- | apps/dav/tests/unit/CalDAV/PluginTest.php | 6 |
3 files changed, 11 insertions, 14 deletions
diff --git a/apps/dav/lib/CalDAV/Plugin.php b/apps/dav/lib/CalDAV/Plugin.php index f37d9c571a0..174930b2923 100644 --- a/apps/dav/lib/CalDAV/Plugin.php +++ b/apps/dav/lib/CalDAV/Plugin.php @@ -28,10 +28,16 @@ class Plugin extends \Sabre\CalDAV\Plugin { const SYSTEM_CALENDAR_ROOT = 'system-calendars'; /** - * @inheritdoc + * Returns the path to a principal's calendar home. + * + * The return url must not end with a slash. + * This function should return null in case a principal did not have + * a calendar home. + * + * @param string $principalUrl + * @return string|null */ - function getCalendarHomeForPrincipal($principalUrl):string { - + function getCalendarHomeForPrincipal($principalUrl) { if (strrpos($principalUrl, 'principals/users', -strlen($principalUrl)) !== false) { list(, $principalId) = \Sabre\Uri\split($principalUrl); return self::CALENDAR_ROOT . '/' . $principalId; @@ -44,8 +50,6 @@ class Plugin extends \Sabre\CalDAV\Plugin { list(, $principalId) = \Sabre\Uri\split($principalUrl); return self::SYSTEM_CALENDAR_ROOT . '/calendar-rooms/' . $principalId; } - - throw new \LogicException('This is not supposed to happen'); } } diff --git a/apps/dav/lib/CardDAV/Plugin.php b/apps/dav/lib/CardDAV/Plugin.php index cd303a394ed..59b9212ef07 100644 --- a/apps/dav/lib/CardDAV/Plugin.php +++ b/apps/dav/lib/CardDAV/Plugin.php @@ -39,10 +39,9 @@ class Plugin extends \Sabre\CardDAV\Plugin { * Returns the addressbook home for a given principal * * @param string $principal - * @return string + * @return string|null */ protected function getAddressbookHomeForPrincipal($principal) { - if (strrpos($principal, 'principals/users', -strlen($principal)) !== false) { list(, $principalId) = \Sabre\Uri\split($principal); return self::ADDRESSBOOK_ROOT . '/users/' . $principalId; @@ -55,8 +54,6 @@ class Plugin extends \Sabre\CardDAV\Plugin { list(, $principalId) = \Sabre\Uri\split($principal); return self::ADDRESSBOOK_ROOT . '/system/' . $principalId; } - - throw new \LogicException('This is not supposed to happen'); } /** diff --git a/apps/dav/tests/unit/CalDAV/PluginTest.php b/apps/dav/tests/unit/CalDAV/PluginTest.php index 47190d583f0..87bf69c2805 100644 --- a/apps/dav/tests/unit/CalDAV/PluginTest.php +++ b/apps/dav/tests/unit/CalDAV/PluginTest.php @@ -63,11 +63,7 @@ class PluginTest extends TestCase { $this->assertSame($expected, $this->plugin->getCalendarHomeForPrincipal($input)); } - /** - * @expectedException \LogicException - * @expectedExceptionMessage This is not supposed to happen - */ public function testGetCalendarHomeForUnknownPrincipal() { - $this->plugin->getCalendarHomeForPrincipal('FOO/BAR/BLUB'); + $this->assertNull($this->plugin->getCalendarHomeForPrincipal('FOO/BAR/BLUB')); } } |