]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Item/Activity.php
old boot.php functions replaced in src/module (2)
[friendica.git] / src / Module / Item / Activity.php
index f82d1b43056fe3be0fc0cc4af1f5e2f1d32971a4..ed09e8c5dddab02c7b02182f7ff79af2c5b07eee 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 namespace Friendica\Module\Item;
 
 use Friendica\BaseModule;
-use Friendica\Content\Text\BBCode;
 use Friendica\Core\Protocol;
 use Friendica\Core\System;
 use Friendica\DI;
 use Friendica\Model\Item;
 use Friendica\Core\Session;
-use Friendica\Database\DBA;
 use Friendica\Model\Post;
 use Friendica\Network\HTTPException;
+use Friendica\Protocol\Diaspora;
 
 /**
  * Performs an activity (like, dislike, announce, attendyes, attendno, attendmaybe)
@@ -52,13 +51,13 @@ class Activity extends BaseModule
                $itemId =  $this->parameters['id'];
 
                if (in_array($verb, ['announce', 'unannounce'])) {
-                       $item = Post::selectFirst(['network'], ['id' => $itemId]);
+                       $item = Post::selectFirst(['network', 'uri-id'], ['id' => $itemId, 'uid' => [Session::getLocalUser(), 0]]);
                        if ($item['network'] == Protocol::DIASPORA) {
-                               self::performDiasporaReshare($itemId);
+                               Diaspora::performReshare($item['uri-id'], Session::getLocalUser());
                        }
                }
 
-               if (!Item::performActivity($itemId, $verb, local_user())) {
+               if (!Item::performActivity($itemId, $verb, Session::getLocalUser())) {
                        throw new HTTPException\BadRequestException();
                }
 
@@ -84,32 +83,4 @@ class Activity extends BaseModule
 
                System::jsonExit($return);
        }
-
-       private static function performDiasporaReshare(int $itemId)
-       {
-               $fields = ['uri-id', 'body', 'title', 'author-name', 'author-link', 'author-avatar', 'guid', 'created', 'plink'];
-               $item = Post::selectFirst($fields, ['id' => $itemId, 'private' => [Item::PUBLIC, Item::UNLISTED]]);
-               if (!DBA::isResult($item)) {
-                       return;
-               }
-
-               if (strpos($item['body'], '[/share]') !== false) {
-                       $pos = strpos($item['body'], '[share');
-                       $post = substr($item['body'], $pos);
-               } else {
-                       $post = BBCode::getShareOpeningTag($item['author-name'], $item['author-link'], $item['author-avatar'], $item['plink'], $item['created'], $item['guid']);
-
-                       if (!empty($item['title'])) {
-                               $post .= '[h3]' . $item['title'] . "[/h3]\n";
-                       }
-
-                       $post .= $item['body'];
-                       $post .= '[/share]';
-               }
-               $_REQUEST['body'] = $post;
-               $_REQUEST['profile_uid'] = local_user();
-
-               require_once 'mod/item.php';
-               item_post(DI::app());
-       }
 }