summaryrefslogtreecommitdiffstats
path: root/lib/private/Collaboration/Reference/LinkReferenceProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Collaboration/Reference/LinkReferenceProvider.php')
-rw-r--r--lib/private/Collaboration/Reference/LinkReferenceProvider.php18
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 '';
+ }
}