]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/Salmon.php
Log function
[friendica.git] / src / Protocol / Salmon.php
index bf349a6808a9de06364ca242620cafa7d00b4a52..29abd77d06f607890fe040276d1cc896c14cfbf1 100644 (file)
@@ -4,8 +4,10 @@
  */
 namespace Friendica\Protocol;
 
+use Friendica\Core\Logger;
 use Friendica\Network\Probe;
 use Friendica\Util\Crypto;
+use Friendica\Util\Network;
 use Friendica\Util\XML;
 
 /**
@@ -22,9 +24,9 @@ class Salmon
         */
        public static function getKey($uri, $keyhash)
        {
-               $ret = array();
+               $ret = [];
 
-               logger('Fetching salmon key for '.$uri);
+               Logger::log('Fetching salmon key for '.$uri);
 
                $arr = Probe::lrdd($uri);
 
@@ -50,13 +52,13 @@ class Salmon
                                                $ret[$x] = substr($ret[$x], 5);
                                        }
                                } elseif (normalise_link($ret[$x]) == 'http://') {
-                                       $ret[$x] = fetch_url($ret[$x]);
+                                       $ret[$x] = Network::fetchUrl($ret[$x]);
                                }
                        }
                }
 
 
-               logger('Key located: ' . print_r($ret, true));
+               Logger::log('Key located: ' . print_r($ret, true));
 
                if (count($ret) == 1) {
                        // We only found one one key so we don't care if the hash matches.
@@ -93,12 +95,12 @@ class Salmon
                }
 
                if (! $owner['sprvkey']) {
-                       logger(sprintf("user '%s' (%d) does not have a salmon private key. Send failed.",
+                       Logger::log(sprintf("user '%s' (%d) does not have a salmon private key. Send failed.",
                        $owner['username'], $owner['uid']));
                        return;
                }
 
-               logger('slapper called for '.$url.'. Data: ' . $slap);
+               Logger::log('slapper called for '.$url.'. Data: ' . $slap);
 
                // create a magic envelope
 
@@ -120,81 +122,79 @@ class Salmon
                $signature3  = base64url_encode(Crypto::rsaSign($data, $owner['sprvkey']));
 
                // At first try the non compliant method that works for GNU Social
-               $xmldata = array("me:env" => array("me:data" => $data,
-                               "@attributes" => array("type" => $data_type),
+               $xmldata = ["me:env" => ["me:data" => $data,
+                               "@attributes" => ["type" => $data_type],
                                "me:encoding" => $encoding,
                                "me:alg" => $algorithm,
                                "me:sig" => $signature,
-                               "@attributes2" => array("key_id" => $keyhash)));
+                               "@attributes2" => ["key_id" => $keyhash]]];
 
-               $namespaces = array("me" => "http://salmon-protocol.org/ns/magic-env");
+               $namespaces = ["me" => "http://salmon-protocol.org/ns/magic-env"];
 
                $salmon = XML::fromArray($xmldata, $xml, false, $namespaces);
 
                // slap them
-               post_url($url, $salmon, array(
+               $postResult = Network::post($url, $salmon, [
                        'Content-type: application/magic-envelope+xml',
                        'Content-length: ' . strlen($salmon)
-               ));
+               ]);
 
-               $a = get_app();
-               $return_code = $a->get_curl_code();
+               $return_code = $postResult->getReturnCode();
 
                // check for success, e.g. 2xx
 
                if ($return_code > 299) {
-                       logger('GNU Social salmon failed. Falling back to compliant mode');
+                       Logger::log('GNU Social salmon failed. Falling back to compliant mode');
 
                        // Now try the compliant mode that normally isn't used for GNU Social
-                       $xmldata = array("me:env" => array("me:data" => $data,
-                                       "@attributes" => array("type" => $data_type),
+                       $xmldata = ["me:env" => ["me:data" => $data,
+                                       "@attributes" => ["type" => $data_type],
                                        "me:encoding" => $encoding,
                                        "me:alg" => $algorithm,
                                        "me:sig" => $signature2,
-                                       "@attributes2" => array("key_id" => $keyhash)));
+                                       "@attributes2" => ["key_id" => $keyhash]]];
 
-                       $namespaces = array("me" => "http://salmon-protocol.org/ns/magic-env");
+                       $namespaces = ["me" => "http://salmon-protocol.org/ns/magic-env"];
 
                        $salmon = XML::fromArray($xmldata, $xml, false, $namespaces);
 
                        // slap them
-                       post_url($url, $salmon, array(
+                       $postResult = Network::post($url, $salmon, [
                                'Content-type: application/magic-envelope+xml',
                                'Content-length: ' . strlen($salmon)
-                       ));
-                       $return_code = $a->get_curl_code();
+                       ]);
+                       $return_code = $postResult->getReturnCode();
                }
 
                if ($return_code > 299) {
-                       logger('compliant salmon failed. Falling back to old status.net');
+                       Logger::log('compliant salmon failed. Falling back to old status.net');
 
                        // Last try. This will most likely fail as well.
-                       $xmldata = array("me:env" => array("me:data" => $data,
-                                       "@attributes" => array("type" => $data_type),
+                       $xmldata = ["me:env" => ["me:data" => $data,
+                                       "@attributes" => ["type" => $data_type],
                                        "me:encoding" => $encoding,
                                        "me:alg" => $algorithm,
                                        "me:sig" => $signature3,
-                                       "@attributes2" => array("key_id" => $keyhash)));
+                                       "@attributes2" => ["key_id" => $keyhash]]];
 
-                       $namespaces = array("me" => "http://salmon-protocol.org/ns/magic-env");
+                       $namespaces = ["me" => "http://salmon-protocol.org/ns/magic-env"];
 
                        $salmon = XML::fromArray($xmldata, $xml, false, $namespaces);
 
                        // slap them
-                       post_url($url, $salmon, array(
+                       $postResult = Network::post($url, $salmon, [
                                'Content-type: application/magic-envelope+xml',
-                               'Content-length: ' . strlen($salmon))
-                       );
-                       $return_code = $a->get_curl_code();
+                               'Content-length: ' . strlen($salmon)]);
+                       $return_code = $postResult->getReturnCode();
                }
 
-               logger('slapper for '.$url.' returned ' . $return_code);
+               Logger::log('slapper for '.$url.' returned ' . $return_code);
 
                if (! $return_code) {
                        return -1;
                }
 
-               if (($return_code == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) {
+               if (($return_code == 503) && (stristr($postResult->getHeader(), 'retry-after'))) {
                        return -1;
                }
 
@@ -207,7 +207,7 @@ class Salmon
         */
        public static function salmonKey($pubkey)
        {
-               self::pemToMe($pubkey, $m, $e);
+               Crypto::pemToMe($pubkey, $m, $e);
                return 'RSA' . '.' . base64url_encode($m, true) . '.' . base64url_encode($e, true);
        }
 }