]> git.mxchange.org Git - friendica.git/commitdiff
Sanitize the addon author if it is not a valid URL but a handle
authorMichael <heluecht@pirati.ca>
Fri, 1 Oct 2021 13:25:00 +0000 (13:25 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 1 Oct 2021 13:25:00 +0000 (13:25 +0000)
src/Core/Addon.php

index db358db450a66f82512145a9c0e39dcf8702b686..a1b35471f8d162f23fddfe10946a3a788830337f 100644 (file)
@@ -23,6 +23,7 @@ namespace Friendica\Core;
 
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Model\Contact;
 use Friendica\Util\Strings;
 
 /**
@@ -257,6 +258,12 @@ class Addon
                                        if ($type == "author" || $type == "maintainer") {
                                                $r = preg_match("|([^<]+)<([^>]+)>|", $v, $m);
                                                if ($r) {
+                                                       if (!empty($m[2]) && empty(parse_url($m[2], PHP_URL_SCHEME))) {
+                                                               $contact = Contact::getByURL($m[2], false);
+                                                               if (!empty($contact['url'])) {
+                                                                       $m[2] = $contact['url'];
+                                                               }
+                                                       }
                                                        $info[$type][] = ['name' => $m[1], 'link' => $m[2]];
                                                } else {
                                                        $info[$type][] = ['name' => $v];