]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/Network.php
Merge pull request #13648 from annando/picture-upload
[friendica.git] / src / Util / Network.php
index f9f32d42229fcf88392202960adbb26e84a10059..495510189f1a2a849f61d69ce9aacbc283750b3d 100644 (file)
@@ -79,11 +79,19 @@ class Network
 
                if (in_array(parse_url($url, PHP_URL_SCHEME), ['https', 'http'])) {
                        $options = [HttpClientOptions::VERIFY => true, HttpClientOptions::TIMEOUT => $xrd_timeout];
-                       $curlResult = DI::httpClient()->head($url, $options);
+                       try {
+                               $curlResult = DI::httpClient()->head($url, $options);
+                       } catch (\Exception $e) {
+                               return false;
+                       }
 
                        // Workaround for systems that can't handle a HEAD request. Don't retry on timeouts.
                        if (!$curlResult->isSuccess() && ($curlResult->getReturnCode() >= 400) && !in_array($curlResult->getReturnCode(), [408, 504])) {
-                               $curlResult = DI::httpClient()->get($url, HttpClientAccept::DEFAULT, $options);
+                               try {
+                                       $curlResult = DI::httpClient()->get($url, HttpClientAccept::DEFAULT, $options);
+                               } catch (\Exception $e) {
+                                       return false;
+                               }
                        }
 
                        if (!$curlResult->isSuccess()) {
@@ -349,7 +357,7 @@ class Network
                                                $pair = $param . '=' . str_replace(' ', '+', $value);
                                                $url = str_replace($pair, '', $url);
 
-                                               // Third try: Maybey the url isn't encoded at all
+                                               // Third try: Maybe the url isn't encoded at all
                                                $pair = $param . '=' . $value;
                                                $url = str_replace($pair, '', $url);
 
@@ -376,6 +384,7 @@ class Network
         */
        public static function addBasePath(string $url, string $basepath): string
        {
+               $url = trim($url);
                if (!empty(parse_url($url, PHP_URL_SCHEME)) || empty(parse_url($basepath, PHP_URL_SCHEME)) || empty($url) || empty(parse_url($url))) {
                        return $url;
                }
@@ -631,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);
        }
 
        /**