]> git.mxchange.org Git - friendica.git/blobdiff - mod/item.php
Issue 8605: "show less" now displays "show less"
[friendica.git] / mod / item.php
index 2e5560f5c457652c84d1b130ecb790ac09403261..6864dabacd6c367385791f087a1a654e39810c52 100644 (file)
@@ -45,6 +45,7 @@ use Friendica\Model\Contact;
 use Friendica\Model\Conversation;
 use Friendica\Model\FileTag;
 use Friendica\Model\Item;
+use Friendica\Model\Notify;
 use Friendica\Model\Notify\Type;
 use Friendica\Model\Photo;
 use Friendica\Model\Post;
@@ -80,8 +81,6 @@ function item_post(App $a) {
 
        $api_source = $_REQUEST['api_source'] ?? false;
 
-       $message_id = ((!empty($_REQUEST['message_id']) && $api_source) ? strip_tags($_REQUEST['message_id']) : '');
-
        $return_path = $_REQUEST['return'] ?? '';
        $preview = intval($_REQUEST['preview'] ?? 0);
 
@@ -175,14 +174,6 @@ function item_post(App $a) {
                $profile_uid = $toplevel_user_id;
        }
 
-       // Check for multiple posts with the same message id (when the post was created via API)
-       if (($message_id != '') && ($profile_uid != 0)) {
-               if (Item::exists(['uri' => $message_id, 'uid' => $profile_uid])) {
-                       Logger::info('Message already exists for user', ['uri' => $message_id, 'uid' => $profile_uid]);
-                       return 0;
-               }
-       }
-
        // Allow commenting if it is an answer to a public post
        $allow_comment = local_user() && ($profile_uid == 0) && $toplevel_item_id && in_array($toplevel_item['network'], Protocol::FEDERATED);
 
@@ -561,7 +552,7 @@ function item_post(App $a) {
                $origin = $_REQUEST['origin'];
        }
 
-       $uri = ($message_id ? $message_id : Item::newURI($api_source ? $profile_uid : $uid, $guid));
+       $uri = Item::newURI($api_source ? $profile_uid : $uid, $guid);
 
        // Fallback so that we alway have a parent uri
        if (!$thr_parent_uri || !$toplevel_item_id) {
@@ -627,7 +618,7 @@ function item_post(App $a) {
        $datarray['api_source'] = $api_source;
 
        // This field is for storing the raw conversation data
-       $datarray['protocol'] = Conversation::PARCEL_DFRN;
+       $datarray['protocol'] = Conversation::PARCEL_DIRECT;
 
        $conversation = DBA::selectFirst('conversation', ['conversation-uri', 'conversation-href'], ['item-uri' => $datarray['thr-parent']]);
        if (DBA::isResult($conversation)) {
@@ -756,37 +747,23 @@ function item_post(App $a) {
        if ($contact_record != $author) {
                if ($toplevel_item_id) {
                        notification([
-                               'type'         => Type::COMMENT,
-                               'notify_flags' => $user['notify-flags'],
-                               'language'     => $user['language'],
-                               'to_name'      => $user['username'],
-                               'to_email'     => $user['email'],
-                               'uid'          => $user['uid'],
-                               'item'         => $datarray,
-                               'link'         => DI::baseUrl().'/display/'.urlencode($datarray['guid']),
-                               'source_name'  => $datarray['author-name'],
-                               'source_link'  => $datarray['author-link'],
-                               'source_photo' => $datarray['author-avatar'],
-                               'verb'         => Activity::POST,
-                               'otype'        => 'item',
-                               'parent'       => $toplevel_item_id,
-                               'parent_uri'   => $toplevel_item['uri']
+                               'type'  => Type::COMMENT,
+                               'otype' => Notify\ObjectType::ITEM,
+                               'verb'  => Activity::POST,
+                               'uid'   => $user['uid'],
+                               'cid'   => $datarray['author-id'],
+                               'item'  => $datarray,
+                               'link'  => DI::baseUrl() . '/display/' . urlencode($datarray['guid']),
                        ]);
                } elseif (empty($forum_contact)) {
                        notification([
-                               'type'         => Type::WALL,
-                               'notify_flags' => $user['notify-flags'],
-                               'language'     => $user['language'],
-                               'to_name'      => $user['username'],
-                               'to_email'     => $user['email'],
-                               'uid'          => $user['uid'],
-                               'item'         => $datarray,
-                               'link'         => DI::baseUrl().'/display/'.urlencode($datarray['guid']),
-                               'source_name'  => $datarray['author-name'],
-                               'source_link'  => $datarray['author-link'],
-                               'source_photo' => $datarray['author-avatar'],
-                               'verb'         => Activity::POST,
-                               'otype'        => 'item'
+                               'type'  => Type::WALL,
+                               'otype' => Notify\ObjectType::ITEM,
+                               'verb'  => Activity::POST,
+                               'uid'   => $user['uid'],
+                               'cid'   => $datarray['author-id'],
+                               'item'  => $datarray,
+                               'link'  => DI::baseUrl() . '/display/' . urlencode($datarray['guid']),
                        ]);
                }
        }