diff --git a/src/Model/Item.php b/src/Model/Item.php index a19357635b..0050f93098 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -2722,8 +2722,6 @@ class Item 'owner-id' => $owner_id, 'private' => $private, 'psid' => $psid]; self::update($fields, ['id' => $item_id]); - self::updateThread($item_id); - Worker::add(['priority' => PRIORITY_HIGH, 'dont_fork' => true], 'Notifier', Delivery::POST, $item_id); /// @todo This code should be activated by the end of the year 2020 @@ -3285,9 +3283,8 @@ class Item $fields = ['uid', 'guid', 'created', 'edited', 'commented', 'received', 'changed', 'post-type', 'wall', 'private', 'pubmail', 'moderated', 'visible', 'starred', 'contact-id', 'uri-id', 'deleted', 'origin', 'forum_mode', 'network', 'author-id', 'owner-id']; - $condition = ["`id` = ? AND (`parent` = ? OR `parent` = 0)", $itemid, $itemid]; - $item = self::selectFirst($fields, $condition); + $item = self::selectFirst($fields, ['id' => $itemid, 'gravity' => GRAVITY_PARENT]); if (!DBA::isResult($item)) { return; } diff --git a/src/Model/Profile.php b/src/Model/Profile.php index 0cff8ba287..3cd3afe6cb 100644 --- a/src/Model/Profile.php +++ b/src/Model/Profile.php @@ -166,7 +166,7 @@ class Profile } } - $profile = self::getByNickname($nickname, $user['uid']); + $profile = User::getOwnerDataById($user['uid'], false); if (empty($profile) && empty($profiledata)) { Logger::log('profile error: ' . DI::args()->getQueryString(), Logger::DEBUG); diff --git a/src/Model/User.php b/src/Model/User.php index f7c683b62b..9f3cadb376 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -97,6 +97,8 @@ class User * @} */ + private static $owner; + /** * Returns true if a user record exists with the provided id * @@ -211,8 +213,12 @@ class User * @return boolean|array * @throws Exception */ - public static function getOwnerDataById($uid, $check_valid = true) + public static function getOwnerDataById(int $uid, bool $check_valid = true) { + if (!empty(self::$owner[$uid])) { + return self::$owner[$uid]; + } + $owner = DBA::selectFirst('owner-view', [], ['uid' => $uid]); if (!DBA::isResult($owner)) { if (!DBA::exists('user', ['uid' => $uid]) || !$check_valid) { @@ -256,6 +262,7 @@ class User $owner = self::getOwnerDataById($uid, false); } + self::$owner[$uid] = $owner; return $owner; } diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php index aa1552f9c0..b040e66ee3 100755 --- a/static/dbstructure.config.php +++ b/static/dbstructure.config.php @@ -202,7 +202,7 @@ return [ "dfrn-id" => ["dfrn-id(64)"], "issued-id" => ["issued-id(64)"], "network_uid_lastupdate" => ["network", "uid", "last-update"], - "uid_lastitem" => ["uid", "last-item"], + "uid_lastitem" => ["uid", "last-item"], "gsid" => ["gsid"] ] ], @@ -729,6 +729,7 @@ return [ "resource-id" => ["resource-id"], "deleted_changed" => ["deleted", "changed"], "uid_wall_changed" => ["uid", "wall", "changed"], + "uid_unseen_wall" => ["uid", "unseen", "wall"], "mention_uid_id" => ["mention", "uid", "id"], "uid_eventid" => ["uid", "event-id"], "icid" => ["icid"], diff --git a/static/dbview.config.php b/static/dbview.config.php index 55cfd0155e..95179045c5 100755 --- a/static/dbview.config.php +++ b/static/dbview.config.php @@ -230,7 +230,7 @@ return [ "account_removed" => ["user", "account_removed"], "account_expired" => ["user", "account_expired"], "account_expires_on" => ["user", "account_expires_on"], - "expire_notification_sent" => ["user", "expire_notification_sent"], + "expire_notification_sent" => ["user", "expire_notification_sent"], "def_gid" => ["user", "def_gid"], "allow_cid" => ["user", "allow_cid"], "allow_gid" => ["user", "allow_gid"],