X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FItem.php;h=bdb85af44141e28f5bad05507af81338283ce1a0;hb=8cabfdde768cf22dffbd2f1d140ff850824ed19a;hp=d6257d99a17f566a1f414ed49234100e9f7f677b;hpb=e96bcb851289594ccae5a09a46248d0d3e3ef768;p=friendica.git diff --git a/src/Model/Item.php b/src/Model/Item.php index d6257d99a1..bdb85af441 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -22,13 +22,13 @@ use Friendica\Object\Image; use Friendica\Protocol\Diaspora; use Friendica\Protocol\OStatus; use Friendica\Util\DateTimeFormat; +use Friendica\Util\XML; use dba; use Text_LanguageDetect; require_once 'boot.php'; require_once 'include/items.php'; require_once 'include/text.php'; -require_once 'include/event.php'; class Item extends BaseObject { @@ -97,7 +97,7 @@ class Item extends BaseObject * @param integer $item_id Item ID that should be delete * @param integer $priority Priority for the notification * - * @return $boolean success + * @return boolean success */ public static function deleteById($item_id, $priority = PRIORITY_HIGH) { @@ -152,7 +152,7 @@ class Item extends BaseObject // If item is a link to an event, delete the event. if (intval($item['event-id'])) { - event_delete($item['event-id']); + Event::delete($item['event-id']); } // If item has attachments, drop them @@ -355,6 +355,10 @@ class Item extends BaseObject } } + if (!empty($item['thr-parent'])) { + $item['parent-uri'] = $item['thr-parent']; + } + if (x($item, 'gravity')) { $item['gravity'] = intval($item['gravity']); } elseif ($item['parent-uri'] === $item['uri']) { @@ -897,7 +901,11 @@ class Item extends BaseObject $item['uid'] = 0; $item['origin'] = 0; $item['wall'] = 0; - $item['contact-id'] = Contact::getIdForURL($item['author-link']); + if ($item['uri'] == $item['parent-uri']) { + $item['contact-id'] = Contact::getIdForURL($item['owner-link']); + } else { + $item['contact-id'] = Contact::getIdForURL($item['author-link']); + } if (in_array($item['type'], ["net-comment", "wall-comment"])) { $item['type'] = 'remote-comment'; @@ -1264,21 +1272,23 @@ class Item extends BaseObject } // now change this copy of the post to a forum head message and deliver to all the tgroup members - $self = dba::selectFirst('contact', ['name', 'url', 'thumb'], ['uid' => $uid, 'self' => true]); + $self = dba::selectFirst('contact', ['id', 'name', 'url', 'thumb'], ['uid' => $uid, 'self' => true]); if (!DBM::is_result($self)) { return; } + $owner_id = Contact::getIdForURL($self['url']); + // also reset all the privacy bits to the forum default permissions $private = ($user['allow_cid'] || $user['allow_gid'] || $user['deny_cid'] || $user['deny_gid']) ? 1 : 0; $forum_mode = ($prvgroup ? 2 : 1); - $fields = ['wall' => true, 'origin' => true, 'forum_mode' => $forum_mode, - 'owner-name' => $self['name'], 'owner-link' => $self['url'], 'owner-avatar' => $self['thumb'], - 'private' => $private, 'allow_cid' => $user['allow_cid'], 'allow_gid' => $user['allow_gid'], - 'deny_cid' => $user['deny_cid'], 'deny_gid' => $user['deny_gid']]; + $fields = ['wall' => true, 'origin' => true, 'forum_mode' => $forum_mode, 'contact-id' => $self['id'], + 'owner-id' => $owner_id, 'owner-name' => $self['name'], 'owner-link' => $self['url'], + 'owner-avatar' => $self['thumb'], 'private' => $private, 'allow_cid' => $user['allow_cid'], + 'allow_gid' => $user['allow_gid'], 'deny_cid' => $user['deny_cid'], 'deny_gid' => $user['deny_gid']]; dba::update('item', $fields, ['id' => $item_id]); self::updateThread($item_id);