]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Network.php
Merge pull request #8901 from annando/failed
[friendica.git] / src / Util / Network.php
index 6b73369d32a72dba3187741dcc0c97869aa0da8f..ddec3599073c9d33d54f9d21521e6d5c7401005a 100644 (file)
@@ -625,6 +625,26 @@ class Network
                return $url;
        }
 
+       /**
+        * Add a missing base path (scheme and host) to a given url
+        *
+        * @param string $url
+        * @param string $basepath
+        * @return string url
+        */
+       public static function addBasePath(string $url, string $basepath)
+       {
+               if (!empty(parse_url($url, PHP_URL_SCHEME)) || empty(parse_url($basepath, PHP_URL_SCHEME)) || empty($url) || empty(parse_url($url))) {
+                       return $url;
+               }
+
+               $base = ['scheme' => parse_url($basepath, PHP_URL_SCHEME),
+                       'host' => parse_url($basepath, PHP_URL_HOST)];
+
+               $parts = array_merge($base, parse_url('/' . ltrim($url, '/')));
+               return self::unparseURL($parts);
+       }
+
        /**
         * Returns the original URL of the provided URL
         *