diff options
Diffstat (limited to 'lib/private/Collaboration/Reference/LinkReferenceProvider.php')
-rw-r--r-- | lib/private/Collaboration/Reference/LinkReferenceProvider.php | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/private/Collaboration/Reference/LinkReferenceProvider.php b/lib/private/Collaboration/Reference/LinkReferenceProvider.php index b4c44344476..0f3ff5f6732 100644 --- a/lib/private/Collaboration/Reference/LinkReferenceProvider.php +++ b/lib/private/Collaboration/Reference/LinkReferenceProvider.php @@ -44,12 +44,16 @@ class LinkReferenceProvider implements IReferenceProvider { $this->systemConfig = $systemConfig; } - public function resolveReference(string $referenceText): ?IReference { + public function matchReference(string $referenceText): bool { if ($this->systemConfig->getValue('reference_opengraph', true) !== true) { - return null; + return false; } - if (preg_match(self::URL_PATTERN, $referenceText)) { + return (bool)preg_match(self::URL_PATTERN, $referenceText); + } + + public function resolveReference(string $referenceText): ?IReference { + if ($this->matchReference($referenceText)) { $reference = new Reference($referenceText); $this->fetchReference($reference); return $reference; @@ -87,4 +91,12 @@ class LinkReferenceProvider implements IReferenceProvider { $reference->setImageUrl($object->images[0]->url); } } + + public function isGloballyCachable(): bool { + return true; + } + + public function getCacheKey(string $referenceId): string { + return ''; + } } |