]> git.mxchange.org Git - friendica.git/commitdiff
Basepath function now uses the contact field
authorMichael <heluecht@pirati.ca>
Fri, 5 Jul 2019 06:41:48 +0000 (06:41 +0000)
committerMichael <heluecht@pirati.ca>
Fri, 5 Jul 2019 06:41:48 +0000 (06:41 +0000)
mod/redir.php
src/Model/Contact.php

index 233ec9b0079ff59a65d2b033eeda318f836ebd31..c99e1823c76c84f05de01e5a7a3adbe622909e34 100644 (file)
@@ -85,7 +85,7 @@ function redir_init(App $a) {
 
                // When the remote page does support OWA, then we enforce the use of it
                $basepath = Contact::getBasepath($contact_url);
-               if ($basepath == System::baseUrl()) {
+               if (Strings::compareLink($basepath, System::baseUrl())) {
                        $use_magic = true;
                } else {
                        $serverret = Network::curl($basepath . '/magic');
index 3f37d4ec90f2cbbe1ff2b5160fa0e1fdf3fae1cc..775cc3fdad269431a036e9dfd170209d46bf55d4 100644 (file)
@@ -176,7 +176,6 @@ class Contact extends BaseObject
 
        /**
         * @brief Get the basepath for a given contact link
-        * @todo  Add functionality to store this value in the contact table
         *
         * @param string $url The contact link
         *
@@ -186,13 +185,19 @@ class Contact extends BaseObject
         */
        public static function getBasepath($url)
        {
-               $data = Probe::uri($url);
-               if (!empty($data['baseurl'])) {
-                       return $data['baseurl'];
+               $contact = DBA::selectFirst('contact', ['baseurl'], ['uid' => 0, 'nurl' => Strings::normaliseLink($url)]);
+               if (!empty($contact['baseurl'])) {
+                       return $contact['baseurl'];
+               }
+
+               self::updateFromProbeByURL($url, true);
+
+               $contact = DBA::selectFirst('contact', ['baseurl'], ['uid' => 0, 'nurl' => Strings::normaliseLink($url)]);
+               if (!empty($contact['baseurl'])) {
+                       return $contact['baseurl'];
                }
 
-               // When we can't probe the server, we use some ugly function that does some pattern matching
-               return PortableContact::detectServer($url);
+               return '';
        }
 
        /**