move contact fetching into admin module

This commit is contained in:
Art4 2025-05-13 11:26:05 +00:00
parent 3481c3ad15
commit f97b01a69a
2 changed files with 32 additions and 9 deletions

View 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];

View 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: '),