use Friendica\Core\Session;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Model\Contact;
use Friendica\Model\Item;
use Friendica\Model\Post;
use Friendica\Model\Post\Category;
$commvisitor = $commpage && $remote_contact;
DI::page()['aside'] .= Widget::postedByYear(DI::baseUrl() . '/profile/' . $profile['nickname'] . '/status', $profile['profile_uid'] ?? 0, true);
- DI::page()['aside'] .= Widget::categories(DI::baseUrl() . '/profile/' . $profile['nickname'] . '/status', XML::escape($category));
+ DI::page()['aside'] .= Widget::categories($profile['uid'], DI::baseUrl() . '/profile/' . $profile['nickname'] . '/status', $category);
DI::page()['aside'] .= Widget::tagCloud($profile['uid']);
if (Security::canWriteToUserWall($profile['uid'])) {
// Does the profile page belong to a forum?
// If not then we can improve the performance with an additional condition
- $condition2 = ['uid' => $profile['uid'], 'page-flags' => [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]];
+ $condition2 = ['uid' => $profile['uid'], 'account-type' => User::ACCOUNT_TYPE_COMMUNITY];
if (!DBA::exists('user', $condition2)) {
$condition = DBA::mergeConditions($condition, ['contact-id' => $profile['id']]);
}
$items = Post::toArray($items_stmt);
if ($pager->getStart() == 0 && !empty($profile['uid'])) {
- $condition = ['private' => [Item::PUBLIC, Item::UNLISTED]];
- $remote_user = Session::getRemoteContactID($profile['uid']);
- if (!empty($remote_user)) {
- $permissionSets = DI::permissionSet()->selectByContactId($remote_user, $profile['uid']);
- if (!empty($permissionSets)) {
- $condition = ['psid' => array_merge($permissionSets->column('id'),
- [DI::permissionSet()->selectPublicForUser($profile['uid'])->id])];
- }
- } elseif ($profile['uid'] == local_user()) {
- $condition = [];
- }
-
- $pinned_items = Post::selectPinned($profile['uid'], ['uri-id', 'pinned'], $condition);
- $pinned = Post::toArray($pinned_items);
+ $pcid = Contact::getPublicIdByUserId($profile['uid']);
+ $pinned = Post\Collection::selectToArrayForContact($pcid, Post\Collection::FEATURED);
$items = array_merge($items, $pinned);
}