1
0
Fork 0

"selectForUser" and "" selectFirstForUser" is now moved to Post

This commit is contained in:
Michael 2021-01-16 22:37:27 +00:00
commit 2b1d0b9db8
29 changed files with 179 additions and 121 deletions

View file

@ -1584,13 +1584,13 @@ function api_search($type)
}
if (!empty($id)) {
$statuses = Item::select([], ['id' => $id]);
$statuses = Post::select([], ['id' => $id]);
}
}
$statuses = $statuses ?: Item::selectForUser(api_user(), [], $condition, $params);
$statuses = $statuses ?: Post::selectForUser(api_user(), [], $condition, $params);
$data['status'] = api_format_items(Item::inArray($statuses), $user_info);
$data['status'] = api_format_items(Post::toArray($statuses), $user_info);
bindComments($data['status']);
@ -1661,9 +1661,9 @@ function api_statuses_home_timeline($type)
}
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
$items = Item::inArray($statuses);
$items = Post::toArray($statuses);
$ret = api_format_items($items, $user_info, false, $type);
@ -1744,7 +1744,7 @@ function api_statuses_public_timeline($type)
$params = ['order' => ['iid' => true], 'limit' => [$start, $count]];
$statuses = Item::selectThreadForUser(api_user(), Item::DISPLAY_FIELDLIST, $condition, $params);
$r = Item::inArray($statuses);
$r = Item::toArray($statuses);
} else {
$condition = ["`gravity` IN (?, ?) AND `id` > ? AND `private` = ? AND `wall` AND `item`.`origin` AND NOT `author`.`hidden`",
GRAVITY_PARENT, GRAVITY_COMMENT, $since_id, Item::PUBLIC];
@ -1759,9 +1759,9 @@ function api_statuses_public_timeline($type)
}
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
$r = Item::inArray($statuses);
$r = Post::toArray($statuses);
}
$ret = api_format_items($r, $user_info, false, $type);
@ -1823,7 +1823,7 @@ function api_statuses_networkpublic_timeline($type)
$params = ['order' => ['iid' => true], 'limit' => [$start, $count]];
$statuses = Item::selectThreadForUser(api_user(), Item::DISPLAY_FIELDLIST, $condition, $params);
$ret = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$ret = api_format_items(Item::toArray($statuses), $user_info, false, $type);
bindComments($ret);
@ -1901,14 +1901,14 @@ function api_statuses_show($type)
$params = [];
}
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
/// @TODO How about copying this to above methods which don't check $r ?
if (!DBA::isResult($statuses)) {
throw new BadRequestException("There is no status with this id.");
}
$ret = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$ret = api_format_items(Post::toArray($statuses), $user_info, false, $type);
if ($conversation) {
$data = ['status' => $ret];
@ -1985,13 +1985,13 @@ function api_conversation_show($type)
}
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
if (!DBA::isResult($statuses)) {
throw new BadRequestException("There is no status with id $id.");
}
$ret = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$ret = api_format_items(Post::toArray($statuses), $user_info, false, $type);
$data = ['status' => $ret];
return api_format_data("statuses", $type, $data);
@ -2199,9 +2199,9 @@ function api_statuses_mentions($type)
DBA::close($useritems);
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], ['id' => $itemids], $params);
$statuses = Post::selectForUser(api_user(), [], ['id' => $itemids], $params);
$ret = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$ret = api_format_items(Post::toArray($statuses), $user_info, false, $type);
$data = ['status' => $ret];
switch ($type) {
@ -2276,9 +2276,9 @@ function api_statuses_user_timeline($type)
}
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
$ret = api_format_items(Item::inArray($statuses), $user_info, true, $type);
$ret = api_format_items(Post::toArray($statuses), $user_info, true, $type);
bindComments($ret);
@ -2336,7 +2336,7 @@ function api_favorites_create_destroy($type)
$itemid = intval($_REQUEST['id'] ?? 0);
}
$item = Item::selectFirstForUser(api_user(), [], ['id' => $itemid, 'uid' => api_user()]);
$item = Post::selectFirstForUser(api_user(), [], ['id' => $itemid, 'uid' => api_user()]);
if (!DBA::isResult($item)) {
throw new BadRequestException("Invalid item.");
@ -2430,9 +2430,9 @@ function api_favorites($type)
$condition[] = $max_id;
}
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
$ret = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$ret = api_format_items(Post::toArray($statuses), $user_info, false, $type);
}
bindComments($ret);
@ -2873,7 +2873,7 @@ function api_format_items_activities($item, $type = "json")
];
$condition = ['uid' => $item['uid'], 'thr-parent' => $item['uri'], 'gravity' => GRAVITY_ACTIVITY];
$ret = Item::selectForUser($item['uid'], ['author-id', 'verb'], $condition);
$ret = Post::selectForUser($item['uid'], ['author-id', 'verb'], $condition);
while ($parent_item = Item::fetch($ret)) {
// not used as result should be structured like other user data
@ -3321,9 +3321,9 @@ function api_lists_statuses($type)
}
$params = ['order' => ['id' => true], 'limit' => [$start, $count]];
$statuses = Item::selectForUser(api_user(), [], $condition, $params);
$statuses = Post::selectForUser(api_user(), [], $condition, $params);
$items = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$items = api_format_items(Post::toArray($statuses), $user_info, false, $type);
$data = ['status' => $items];
switch ($type) {
@ -4891,10 +4891,10 @@ function prepare_photo_data($type, $scale, $photo_id)
$condition = ["`parent` = ? AND `uid` = ? AND (`gravity` IN (?, ?) OR `type`='photo')",
$item['parent'], api_user(), GRAVITY_PARENT, GRAVITY_COMMENT];
$statuses = Item::selectForUser(api_user(), [], $condition);
$statuses = Post::selectForUser(api_user(), [], $condition);
// prepare output of comments
$commentData = api_format_items(Item::inArray($statuses), $user_info, false, $type);
$commentData = api_format_items(Post::toArray($statuses), $user_info, false, $type);
$comments = [];
if ($type == "xml") {
$k = 0;
@ -5007,7 +5007,7 @@ function api_get_announce($item)
$fields = ['author-id', 'author-name', 'author-link', 'author-avatar'];
$condition = ['parent-uri' => $item['uri'], 'gravity' => GRAVITY_ACTIVITY, 'uid' => [0, $item['uid']], 'vid' => Verb::getID(Activity::ANNOUNCE)];
$announce = Item::selectFirstForUser($item['uid'], $fields, $condition, ['order' => ['received' => true]]);
$announce = Post::selectFirstForUser($item['uid'], $fields, $condition, ['order' => ['received' => true]]);
if (!DBA::isResult($announce)) {
return [];
}
@ -5815,7 +5815,7 @@ function api_friendica_notification_seen($type)
DI::notify()->setSeen(true, $notify);
if ($notify->otype === Notify\ObjectType::ITEM) {
$item = Item::selectFirstForUser(api_user(), [], ['id' => $notify->iid, 'uid' => api_user()]);
$item = Post::selectFirstForUser(api_user(), [], ['id' => $notify->iid, 'uid' => api_user()]);
if (DBA::isResult($item)) {
// we found the item, return it to the user
$ret = api_format_items([$item], $user_info, false, $type);

View file

@ -718,7 +718,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
function conversation_fetch_comments($thread_items, bool $pinned, array $activity) {
$comments = [];
while ($row = Item::fetch($thread_items)) {
while ($row = Post::fetch($thread_items)) {
if (!empty($activity)) {
if (($row['gravity'] == GRAVITY_PARENT)) {
$row['post-type'] = Item::PT_ANNOUNCEMENT;
@ -827,7 +827,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid)
foreach ($parents AS $parent) {
if (!empty($parent['thr-parent-id']) && !empty($parent['gravity']) && ($parent['gravity'] == GRAVITY_ACTIVITY)) {
$condition = ["`item`.`parent-uri-id` = ? AND `item`.`uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)",
$condition = ["`parent-uri-id` = ? AND `uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)",
$parent['thr-parent-id'], $uid, Verb::getID(Activity::FOLLOW)];
if (!empty($parent['author-id'])) {
$activity = ['causer-id' => $parent['author-id']];
@ -838,7 +838,7 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid)
}
}
} else {
$condition = ["`item`.`parent-uri` = ? AND `item`.`uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)",
$condition = ["`parent-uri` = ? AND `uid` IN (0, ?) AND (`vid` != ? OR `vid` IS NULL)",
$parent['uri'], $uid, Verb::getID(Activity::FOLLOW)];
$activity = [];
}
@ -869,10 +869,10 @@ function conversation_add_children(array $parents, $block_authors, $order, $uid)
*/
function conversation_fetch_items(array $parent, array $items, array $condition, bool $block_authors, array $params, array $activity) {
if ($block_authors) {
$condition[0] .= " AND NOT `author`.`hidden`";
$condition[0] .= " AND NOT `author-hidden`";
}
$thread_items = Item::selectForUser(local_user(), array_merge(Item::DISPLAY_FIELDLIST, ['pinned', 'contact-uid', 'gravity', 'post-type']), $condition, $params);
$thread_items = Post::selectForUser(local_user(), array_merge(Item::DISPLAY_FIELDLIST, ['pinned', 'contact-uid', 'gravity', 'post-type']), $condition, $params);
$comments = conversation_fetch_comments($thread_items, $parent['pinned'] ?? false, $activity);

View file

@ -167,7 +167,7 @@ function notification($params)
// if it's a post figure out who's post it is.
$item = null;
if ($params['otype'] === Notify\ObjectType::ITEM && $parent_id) {
$item = Item::selectFirstForUser($params['uid'], Item::ITEM_FIELDLIST, ['id' => $parent_id, 'deleted' => false]);
$item = Post::selectFirstForUser($params['uid'], Item::ITEM_FIELDLIST, ['id' => $parent_id, 'deleted' => false]);
}
if (empty($item)) {
@ -619,7 +619,7 @@ function check_item_notification($itemid, $uid, $notification_type) {
'title', 'body', 'author-link', 'author-name', 'author-avatar', 'author-id',
'gravity', 'guid', 'parent-uri', 'uri', 'contact-id', 'network'];
$condition = ['id' => $itemid, 'deleted' => false];
$item = Item::selectFirstForUser($uid, $fields, $condition);
$item = Post::selectFirstForUser($uid, $fields, $condition);
if (!DBA::isResult($item)) {
return false;
}