Merge pull request #12643 from annando/item-origin

Fix some warnings on item creation
This commit is contained in:
Hypolite Petovan 2023-01-09 11:34:56 -05:00 committed by GitHub
commit 79a646550f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 53 additions and 26 deletions

View file

@ -859,7 +859,7 @@ class Item
$user = User::getById($post['uid'], ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']); $user = User::getById($post['uid'], ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']);
if (!$user) { if (!$user) {
throw new HTTPException\NotFoundException($this->l10n->t('Unable to locate original post.')); throw new HTTPException\NotFoundException($this->l10n->t('Unable to fetch user.'));
} }
$post['allow_cid'] = isset($request['contact_allow']) ? $this->aclFormatter->toString($request['contact_allow']) : $user['allow_cid'] ?? ''; $post['allow_cid'] = isset($request['contact_allow']) ? $this->aclFormatter->toString($request['contact_allow']) : $user['allow_cid'] ?? '';
@ -957,10 +957,30 @@ class Item
$post['origin'] = true; $post['origin'] = true;
$post['wall'] = $post['wall'] ?? true; $post['wall'] = $post['wall'] ?? true;
$post['guid'] = $post['guid'] ?? System::createUUID(); $post['guid'] = $post['guid'] ?? System::createUUID();
$post['uri'] = $post['uri'] ?? ItemModel::newURI($post['guid']);
$post['verb'] = $post['verb'] ?? Activity::POST; $post['verb'] = $post['verb'] ?? Activity::POST;
if (empty($post['uri'])) {
$post['thr-parent'] = $post['uri'] = ItemModel::newURI($post['guid']);
$post['gravity'] = ItemModel::GRAVITY_PARENT;
}
$owner = User::getOwnerDataById($post['uid']); $owner = User::getOwnerDataById($post['uid']);
if (!isset($post['allow_cid']) || !isset($post['allow_gid']) || !isset($post['deny_cid']) || !isset($post['deny_gid'])) {
$post['allow_cid'] = $owner['allow_cid'];
$post['allow_gid'] = $owner['allow_gid'];
$post['deny_cid'] = $owner['deny_cid'];
$post['deny_gid'] = $owner['deny_gid'];
}
if ($post['allow_gid'] || $post['allow_cid'] || $post['deny_gid'] || $post['deny_cid']) {
$post['private'] = ItemModel::PRIVATE;
} elseif ($this->pConfig->get($post['uid'], 'system', 'unlisted')) {
$post['private'] = ItemModel::UNLISTED;
} else {
$post['private'] = ItemModel::PUBLIC;
}
if (empty($post['contact-id'])) { if (empty($post['contact-id'])) {
$post['contact-id'] = $owner['id']; $post['contact-id'] = $owner['id'];
} }

View file

@ -1224,6 +1224,8 @@ class Item
Post\Content::insert($item['uri-id'], $item); Post\Content::insert($item['uri-id'], $item);
} }
$item['parent'] = $parent_id;
// Create Diaspora signature // Create Diaspora signature
if ($item['origin'] && empty($item['diaspora_signed_text']) && ($item['gravity'] != self::GRAVITY_PARENT)) { if ($item['origin'] && empty($item['diaspora_signed_text']) && ($item['gravity'] != self::GRAVITY_PARENT)) {
$signed = Diaspora::createCommentSignature($item); $signed = Diaspora::createCommentSignature($item);
@ -1741,16 +1743,16 @@ class Item
$item['origin'] = 0; $item['origin'] = 0;
$item['wall'] = 0; $item['wall'] = 0;
$item['contact-id'] = self::contactId($item);
$notify = false; $notify = false;
if ($item['gravity'] == self::GRAVITY_PARENT) { if ($item['gravity'] == self::GRAVITY_PARENT) {
$contact = DBA::selectFirst('contact', [], ['id' => $item['contact-id'], 'self' => false]); $contact = DBA::selectFirst('contact', [], ['id' => $item['contact-id'], 'self' => false]);
if (DBA::isResult($contact)) { if (DBA::isResult($contact)) {
$notify = self::isRemoteSelf($contact, $item); $notify = self::isRemoteSelf($contact, $item);
$item['wall'] = (bool)$notify;
} }
} }
$item['contact-id'] = self::contactId($item);
$distributed = self::insert($item, $notify); $distributed = self::insert($item, $notify);
if (!$distributed) { if (!$distributed) {

View file

@ -2079,6 +2079,7 @@ class DFRN
// This is my contact on another system, but it's really me. // This is my contact on another system, but it's really me.
// Turn this into a wall post. // Turn this into a wall post.
$notify = Item::isRemoteSelf($importer, $item); $notify = Item::isRemoteSelf($importer, $item);
$item['wall'] = (bool)$notify;
$posted_id = Item::insert($item, $notify); $posted_id = Item::insert($item, $notify);

View file

@ -624,6 +624,7 @@ class Feed
Logger::info('Stored feed', ['item' => $item]); Logger::info('Stored feed', ['item' => $item]);
$notify = Item::isRemoteSelf($contact, $item); $notify = Item::isRemoteSelf($contact, $item);
$item['wall'] = (bool)$notify;
// Distributed items should have a well-formatted URI. // Distributed items should have a well-formatted URI.
// Additionally, we have to avoid conflicts with identical URI between imported feeds and these items. // Additionally, we have to avoid conflicts with identical URI between imported feeds and these items.

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2023.03-dev\n" "Project-Id-Version: 2023.03-dev\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-08 23:25+0000\n" "POT-Creation-Date: 2023-01-09 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -19,7 +19,6 @@ msgstr ""
#: mod/item.php:101 mod/item.php:104 mod/item.php:170 mod/item.php:173 #: mod/item.php:101 mod/item.php:104 mod/item.php:170 mod/item.php:173
#: src/Content/Item.php:862
msgid "Unable to locate original post." msgid "Unable to locate original post."
msgstr "" msgstr ""
@ -1517,7 +1516,7 @@ msgstr ""
msgid "show more" msgid "show more"
msgstr "" msgstr ""
#: src/Content/Item.php:326 src/Model/Item.php:2893 #: src/Content/Item.php:326 src/Model/Item.php:2895
msgid "event" msgid "event"
msgstr "" msgstr ""
@ -1526,7 +1525,7 @@ msgstr ""
msgid "status" msgid "status"
msgstr "" msgstr ""
#: src/Content/Item.php:335 src/Model/Item.php:2895 #: src/Content/Item.php:335 src/Model/Item.php:2897
#: src/Module/Post/Tag/Add.php:123 #: src/Module/Post/Tag/Add.php:123
msgid "photo" msgid "photo"
msgstr "" msgstr ""
@ -1599,6 +1598,10 @@ msgstr ""
msgid "Connect/Follow" msgid "Connect/Follow"
msgstr "" msgstr ""
#: src/Content/Item.php:862
msgid "Unable to fetch user."
msgstr ""
#: src/Content/Nav.php:90 #: src/Content/Nav.php:90
msgid "Nothing new here" msgid "Nothing new here"
msgstr "" msgstr ""
@ -1926,8 +1929,8 @@ msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s" "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3562 #: src/Content/Text/BBCode.php:1257 src/Model/Item.php:3564
#: src/Model/Item.php:3568 src/Model/Item.php:3569 #: src/Model/Item.php:3570 src/Model/Item.php:3571
msgid "Link to source" msgid "Link to source"
msgstr "" msgstr ""
@ -3096,71 +3099,71 @@ msgstr ""
msgid "Edit groups" msgid "Edit groups"
msgstr "" msgstr ""
#: src/Model/Item.php:1994 #: src/Model/Item.php:1996
#, php-format #, php-format
msgid "Detected languages in this post:\\n%s" msgid "Detected languages in this post:\\n%s"
msgstr "" msgstr ""
#: src/Model/Item.php:2897 #: src/Model/Item.php:2899
msgid "activity" msgid "activity"
msgstr "" msgstr ""
#: src/Model/Item.php:2899 #: src/Model/Item.php:2901
msgid "comment" msgid "comment"
msgstr "" msgstr ""
#: src/Model/Item.php:2902 #: src/Model/Item.php:2904
msgid "post" msgid "post"
msgstr "" msgstr ""
#: src/Model/Item.php:3052 #: src/Model/Item.php:3054
#, php-format #, php-format
msgid "Content from %s is collapsed" msgid "Content from %s is collapsed"
msgstr "" msgstr ""
#: src/Model/Item.php:3056 #: src/Model/Item.php:3058
#, php-format #, php-format
msgid "Content warning: %s" msgid "Content warning: %s"
msgstr "" msgstr ""
#: src/Model/Item.php:3474 #: src/Model/Item.php:3476
msgid "bytes" msgid "bytes"
msgstr "" msgstr ""
#: src/Model/Item.php:3505 #: src/Model/Item.php:3507
#, php-format #, php-format
msgid "%2$s (%3$d%%, %1$d vote)" msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)" msgid_plural "%2$s (%3$d%%, %1$d votes)"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3507 #: src/Model/Item.php:3509
#, php-format #, php-format
msgid "%2$s (%1$d vote)" msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)" msgid_plural "%2$s (%1$d votes)"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3512 #: src/Model/Item.php:3514
#, php-format #, php-format
msgid "%d voter. Poll end: %s" msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s" msgid_plural "%d voters. Poll end: %s"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3514 #: src/Model/Item.php:3516
#, php-format #, php-format
msgid "%d voter." msgid "%d voter."
msgid_plural "%d voters." msgid_plural "%d voters."
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Model/Item.php:3516 #: src/Model/Item.php:3518
#, php-format #, php-format
msgid "Poll end: %s" msgid "Poll end: %s"
msgstr "" msgstr ""
#: src/Model/Item.php:3550 src/Model/Item.php:3551 #: src/Model/Item.php:3552 src/Model/Item.php:3553
msgid "View on separate page" msgid "View on separate page"
msgstr "" msgstr ""
@ -8313,19 +8316,19 @@ msgstr ""
#: src/Module/Profile/Profile.php:351 src/Module/Profile/Profile.php:354 #: src/Module/Profile/Profile.php:351 src/Module/Profile/Profile.php:354
#: src/Module/Profile/Status.php:106 src/Module/Profile/Status.php:109 #: src/Module/Profile/Status.php:106 src/Module/Profile/Status.php:109
#: src/Protocol/Feed.php:1024 src/Protocol/OStatus.php:1045 #: src/Protocol/Feed.php:1025 src/Protocol/OStatus.php:1045
#, php-format #, php-format
msgid "%s's timeline" msgid "%s's timeline"
msgstr "" msgstr ""
#: src/Module/Profile/Profile.php:352 src/Module/Profile/Status.php:107 #: src/Module/Profile/Profile.php:352 src/Module/Profile/Status.php:107
#: src/Protocol/Feed.php:1028 src/Protocol/OStatus.php:1050 #: src/Protocol/Feed.php:1029 src/Protocol/OStatus.php:1050
#, php-format #, php-format
msgid "%s's posts" msgid "%s's posts"
msgstr "" msgstr ""
#: src/Module/Profile/Profile.php:353 src/Module/Profile/Status.php:108 #: src/Module/Profile/Profile.php:353 src/Module/Profile/Status.php:108
#: src/Protocol/Feed.php:1031 src/Protocol/OStatus.php:1054 #: src/Protocol/Feed.php:1032 src/Protocol/OStatus.php:1054
#, php-format #, php-format
msgid "%s's comments" msgid "%s's comments"
msgstr "" msgstr ""