use Friendica\Content\PageInfo;
use Friendica\Content\Text\BBCode;
use Friendica\Core\Protocol;
+use Friendica\Core\System;
use Friendica\Database\Database;
use Friendica\Database\DBA;
use Friendica\DI;
private static function isFederatedServer(string $url): bool
{
- $baseurl = Network::getBaseUrl(new Uri($url));
- if (empty($baseurl)) {
- return false;
- }
+ try {
+ $baseurl = Network::getBaseUrl(new Uri($url));
+ if (empty($baseurl)) {
+ return false;
+ }
- if (Strings::compareLink($baseurl, ATProtocol::WEB)) {
- return true;
- }
+ if (Strings::compareLink($baseurl, ATProtocol::WEB)) {
+ return true;
+ }
- return DBA::exists('gserver', ['nurl' => Strings::normaliseLink($baseurl), 'network' => Protocol::FEDERATED]);
+ return DBA::exists('gserver', ['nurl' => Strings::normaliseLink($baseurl), 'network' => Protocol::FEDERATED]);
+ } catch(\Throwable $e) {
+ DI::logger()->notice('Invalid URL provided', ['url' => $url, 'exception' => $e, 'callstack' => System::callstack(10)]);
+ return false;
+ }
}
private static function addPreviewData(array $media): array