]> git.mxchange.org Git - friendica.git/commitdiff
move contact fetching into admin module
authorArt4 <art4@wlabs.de>
Tue, 13 May 2025 11:26:05 +0000 (11:26 +0000)
committerArt4 <art4@wlabs.de>
Tue, 13 May 2025 11:26:05 +0000 (11:26 +0000)
src/Core/Addon.php
src/Module/Admin/Addons/Details.php

index 39a1737946e7a6d06d3e5fb9f96fcff9fecb0e40..f79802125298443d08acd1a1db7a86270d8c9939 100644 (file)
@@ -8,7 +8,6 @@
 namespace Friendica\Core;
 
 use Friendica\DI;
-use Friendica\Model\Contact;
 use Friendica\Util\Strings;
 
 /**
@@ -267,12 +266,6 @@ 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];
index a102f4d26934034e6a1802b5ea8f3283c89ea714..671d23c19938fc1f0ba27ce6f52d08118fe137b0 100644 (file)
@@ -10,6 +10,7 @@ namespace Friendica\Module\Admin\Addons;
 use Friendica\Content\Text\Markdown;
 use Friendica\Core\Renderer;
 use Friendica\DI;
+use Friendica\Model\Contact;
 use Friendica\Module\BaseAdmin;
 use Friendica\Util\Strings;
 
@@ -92,6 +93,35 @@ class Details extends BaseAdmin
 
                $addonInfo = $addonHelper->getAddonInfo($addon);
 
+               $addonAuthors = [];
+
+               foreach ($addonInfo->getAuthors() as $addonAuthor) {
+                       $addonAuthor['link'] = 'foo@bar.com';
+                       if (array_key_exists('link', $addonAuthor) && empty(parse_url($addonAuthor['link'], PHP_URL_SCHEME))) {
+                               $contact = Contact::getByURL($addonAuthor['link'], false);
+
+                               if (!empty($contact['url'])) {
+                                       $addonAuthor['link'] = $contact['url'];
+                               }
+                       }
+
+                       $addonAuthors[] = $addonAuthor;
+               }
+
+               $addonMaintainers = [];
+
+               foreach ($addonInfo->getMaintainers() as $addonMaintainer) {
+                       if (array_key_exists('link', $addonMaintainer) && empty(parse_url($addonMaintainer['link'], PHP_URL_SCHEME))) {
+                               $contact = Contact::getByURL($addonMaintainer['link'], false);
+
+                               if (!empty($contact['url'])) {
+                                       $addonMaintainer['link'] = $contact['url'];
+                               }
+                       }
+
+                       $addonMaintainers[] = $addonMaintainer;
+               }
+
                $t = Renderer::getMarkupTemplate('admin/addons/details.tpl');
 
                return Renderer::replaceMacros($t, [
@@ -107,8 +137,8 @@ class Details extends BaseAdmin
                                'name'        => $addonInfo->getName(),
                                'version'     => $addonInfo->getVersion(),
                                'description' => $addonInfo->getDescription(),
-                               'author'      => $addonInfo->getAuthors(),
-                               'maintainer'  => $addonInfo->getMaintainers(),
+                               'author'      => $addonAuthors,
+                               'maintainer'  => $addonMaintainers,
                        ],
                        '$str_author'     => DI::l10n()->t('Author: '),
                        '$str_maintainer' => DI::l10n()->t('Maintainer: '),