]> git.mxchange.org Git - friendica.git/blobdiff - mod/dfrn_notify.php
Merge pull request #9829 from Extarys/9827-broken-navbar
[friendica.git] / mod / dfrn_notify.php
index dee6bad779538e3c540ba856befc2781a6df88e8..3f38eccd30c243b13cf3137f2a2a98e5b351e3a9 100644 (file)
@@ -1,26 +1,41 @@
 <?php
-
 /**
- * @file mod/dfrn_notify.php
- * @brief The dfrn notify endpoint
- * @see PDF with dfrn specs: https://github.com/friendica/friendica/blob/master/spec/dfrn2.pdf
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The dfrn notify endpoint
+ *
+ * @see PDF with dfrn specs: https://github.com/friendica/friendica/blob/stable/spec/dfrn2.pdf
  */
 
 use Friendica\App;
-use Friendica\Core\Config;
 use Friendica\Core\Logger;
 use Friendica\Core\System;
 use Friendica\Database\DBA;
+use Friendica\DI;
 use Friendica\Model\Contact;
+use Friendica\Model\Conversation;
 use Friendica\Model\User;
 use Friendica\Protocol\DFRN;
 use Friendica\Protocol\Diaspora;
-use Friendica\Util\Strings;
 use Friendica\Util\Network;
+use Friendica\Util\Strings;
 
 function dfrn_notify_post(App $a) {
-       Logger::log(__function__, Logger::TRACE);
-
        $postdata = Network::postdata();
 
        if (empty($_POST) || !empty($postdata)) {
@@ -128,7 +143,7 @@ function dfrn_notify_post(App $a) {
                System::xmlExit(0, 'relationship dissolved');
        }
 
-       $rino = Config::get('system', 'rino_encrypt');
+       $rino = DI::config()->get('system', 'rino_encrypt');
        $rino = intval($rino);
 
        if (strlen($key)) {
@@ -176,7 +191,7 @@ function dfrn_notify_post(App $a) {
 
        Logger::log('Importing post from ' . $importer['addr'] . ' to ' . $importer['nickname'] . ' with the RINO ' . $rino_remote . ' encryption.', Logger::DEBUG);
 
-       $ret = DFRN::import($data, $importer);
+       $ret = DFRN::import($data, $importer, Conversation::PARCEL_LEGACY_DFRN, Conversation::PUSH);
        System::xmlExit($ret, 'Processed');
 
        // NOTREACHED
@@ -184,7 +199,7 @@ function dfrn_notify_post(App $a) {
 
 function dfrn_dispatch_public($postdata)
 {
-       $msg = Diaspora::decodeRaw([], $postdata, true);
+       $msg = Diaspora::decodeRaw($postdata, '', true);
        if (!$msg) {
                // We have to fail silently to be able to hand it over to the salmon parser
                return false;
@@ -208,13 +223,13 @@ function dfrn_dispatch_public($postdata)
        Logger::log('Importing post from ' . $msg['author'] . ' with the public envelope.', Logger::DEBUG);
 
        // Now we should be able to import it
-       $ret = DFRN::import($msg['message'], $importer);
+       $ret = DFRN::import($msg['message'], $importer, Conversation::PARCEL_DIASPORA_DFRN, Conversation::RELAY);
        System::xmlExit($ret, 'Done');
 }
 
 function dfrn_dispatch_private($user, $postdata)
 {
-       $msg = Diaspora::decodeRaw($user, $postdata);
+       $msg = Diaspora::decodeRaw($postdata, $user['prvkey'] ?? '');
        if (!$msg) {
                System::xmlExit(4, 'Unable to parse message');
        }
@@ -241,7 +256,7 @@ function dfrn_dispatch_private($user, $postdata)
        Logger::log('Importing post from ' . $msg['author'] . ' to ' . $user['nickname'] . ' with the private envelope.', Logger::DEBUG);
 
        // Now we should be able to import it
-       $ret = DFRN::import($msg['message'], $importer);
+       $ret = DFRN::import($msg['message'], $importer, Conversation::PARCEL_DIASPORA_DFRN, Conversation::PUSH);
        System::xmlExit($ret, 'Done');
 }
 
@@ -343,7 +358,7 @@ function dfrn_notify_content(App $a) {
                $encrypted_id = bin2hex($encrypted_id);
 
 
-               $rino = Config::get('system', 'rino_encrypt');
+               $rino = DI::config()->get('system', 'rino_encrypt');
                $rino = intval($rino);
 
                Logger::log("Local rino version: ". $rino, Logger::DATA);