]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Network.php
Changes:
[friendica.git] / src / Util / Network.php
index f7ceab5433b217bbc33c2ccb98770cbaf40020f1..415a20c763b7bfc4bf7389fefc49134389d47950 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2023, the Friendica project
+ * @copyright Copyright (C) 2010-2024, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -640,10 +640,11 @@ class Network
         * @param string $url
         *
         * @return bool
+        * @deprecated since 2023.09, please use BaseUrl->isLocalUrl or BaseUrl->isLocalUri instead.
         */
        public static function isLocalLink(string $url): bool
        {
-               return (strpos(Strings::normaliseLink($url), Strings::normaliseLink(DI::baseUrl())) !== false);
+               return DI::baseUrl()->isLocalUrl($url);
        }
 
        /**
@@ -657,4 +658,24 @@ class Network
                $scheme = parse_url($url, PHP_URL_SCHEME);
                return !empty($scheme) && in_array($scheme, ['http', 'https']) && parse_url($url, PHP_URL_HOST);
        }
+
+       /**
+        * Creates an Uri object out of a given Uri string
+        *
+        * @param string|null $uri
+        * @return UriInterface|null
+        */
+       public static function createUriFromString(string $uri = null): ?UriInterface
+       {
+               if (empty($uri)) {
+                       return null;
+               }
+
+               try {
+                       return new Uri($uri);
+               } catch (\Exception $e) {
+                       Logger::debug('Invalid URI', ['code' => $e->getCode(), 'message' => $e->getMessage(), 'uri' => $uri]);
+                       return null;
+               }
+       }
 }