]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Deprecate page_info functions to new PageInfo class
[friendica.git] / include / api.php
index 6f8c9524759414fa479ccc0e5b32383695fe89ed..808e34065b35c2894a899aa8c73b02f262c2c7bf 100644 (file)
@@ -624,7 +624,7 @@ function api_get_user(App $a, $contact_id = null)
                                'name' => $contact["name"],
                                'screen_name' => (($contact['nick']) ? $contact['nick'] : $contact['name']),
                                'location' => ($contact["location"] != "") ? $contact["location"] : ContactSelector::networkToName($contact['network'], $contact['url'], $contact['protocol']),
-                               'description' => BBCode::toPlaintext($contact["about"]),
+                               'description' => BBCode::toPlaintext($contact["about"] ?? ''),
                                'profile_image_url' => $contact["micro"],
                                'profile_image_url_https' => $contact["micro"],
                                'profile_image_url_profile_size' => $contact["thumb"],
@@ -698,7 +698,7 @@ function api_get_user(App $a, $contact_id = null)
                'name' => (($uinfo[0]['name']) ? $uinfo[0]['name'] : $uinfo[0]['nick']),
                'screen_name' => (($uinfo[0]['nick']) ? $uinfo[0]['nick'] : $uinfo[0]['name']),
                'location' => $location,
-               'description' => BBCode::toPlaintext($description),
+               'description' => BBCode::toPlaintext($description ?? ''),
                'profile_image_url' => $uinfo[0]['micro'],
                'profile_image_url_https' => $uinfo[0]['micro'],
                'profile_image_url_profile_size' => $uinfo[0]["thumb"],
@@ -1559,7 +1559,7 @@ function api_search($type)
                $params['group_by'] = ['uri-id'];
        } else {
                $condition = ["`id` > ?
-                       " . ($exclude_replies ? " AND `id` = `parent` " : ' ') . "
+                       " . ($exclude_replies ? " AND `gravity` = " . GRAVITY_PARENT : ' ') . "
                        AND (`uid` = 0 OR (`uid` = ? AND NOT `global`))
                        AND `body` LIKE CONCAT('%',?,'%')",
                        $since_id, api_user(), $_REQUEST['q']];
@@ -1647,7 +1647,8 @@ function api_statuses_home_timeline($type)
                $condition[] = $max_id;
        }
        if ($exclude_replies) {
-               $condition[0] .= ' AND `item`.`parent` = `item`.`id`';
+               $condition[0] .= ' AND `item`.`gravity` = ?';
+               $condition[] = GRAVITY_PARENT;
        }
        if ($conversation_id > 0) {
                $condition[0] .= " AND `item`.`parent` = ?";
@@ -2255,7 +2256,8 @@ function api_statuses_user_timeline($type)
        }
 
        if ($exclude_replies) {
-               $condition[0] .= ' AND `item`.`parent` = `item`.`id`';
+               $condition[0] .= ' AND `item`.`gravity` = ?';
+               $condition[] = GRAVITY_PARENT;
        }
 
        if ($conversation_id > 0) {
@@ -3028,7 +3030,7 @@ function api_format_item($item, $type = "json", $status_user = null, $author_use
        $retweeted_item = [];
        $quoted_item = [];
 
-       if ($item["id"] == $item["parent"]) {
+       if ($item['gravity'] == GRAVITY_PARENT) {
                $body = $item['body'];
                $retweeted_item = api_share_as_retweet($item);
                if ($body != $item['body']) {
@@ -3305,7 +3307,8 @@ function api_lists_statuses($type)
                $condition[] = $max_id;
        }
        if ($exclude_replies > 0) {
-               $condition[0] .= ' AND `item`.`parent` = `item`.`id`';
+               $condition[0] .= ' AND `item`.`gravity` = ?';
+               $condition[] = GRAVITY_PARENT;
        }
        if ($conversation_id > 0) {
                $condition[0] .= " AND `item`.`parent` = ?";
@@ -3577,96 +3580,6 @@ function api_statusnet_version($type)
 api_register_func('api/gnusocial/version', 'api_statusnet_version', false);
 api_register_func('api/statusnet/version', 'api_statusnet_version', false);
 
-/**
- *
- * @param string $type Return type (atom, rss, xml, json)
- *
- * @param int $rel A contact relationship constant
- * @return array|string|void
- * @throws BadRequestException
- * @throws ForbiddenException
- * @throws ImagickException
- * @throws InternalServerErrorException
- * @throws UnauthorizedException
- * @todo use api_format_data() to return data
- */
-function api_ff_ids($type, int $rel)
-{
-       if (!api_user()) {
-               throw new ForbiddenException();
-       }
-
-       $a = DI::app();
-
-       api_get_user($a);
-
-       $stringify_ids = $_REQUEST['stringify_ids'] ?? false;
-
-       $contacts = DBA::p("SELECT `pcontact`.`id`
-               FROM `contact`
-               INNER JOIN `contact` AS `pcontact`
-                   ON `contact`.`nurl` = `pcontact`.`nurl`
-                   AND `pcontact`.`uid` = 0
-               WHERE `contact`.`uid` = ?
-               AND NOT `contact`.`self`
-               AND `contact`.`rel` IN (?, ?)",
-               api_user(),
-               $rel,
-               Contact::FRIEND
-       );
-
-       $ids = [];
-       foreach (DBA::toArray($contacts) as $contact) {
-               if ($stringify_ids) {
-                       $ids[] = $contact['id'];
-               } else {
-                       $ids[] = intval($contact['id']);
-               }
-       }
-
-       return api_format_data('ids', $type, ['id' => $ids]);
-}
-
-/**
- * Returns the ID of every user the user is following.
- *
- * @param string $type Return type (atom, rss, xml, json)
- *
- * @return array|string
- * @throws BadRequestException
- * @throws ForbiddenException
- * @throws ImagickException
- * @throws InternalServerErrorException
- * @throws UnauthorizedException
- * @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-friends-ids
- */
-function api_friends_ids($type)
-{
-       return api_ff_ids($type, Contact::SHARING);
-}
-
-/**
- * Returns the ID of every user following the user.
- *
- * @param string $type Return type (atom, rss, xml, json)
- *
- * @return array|string
- * @throws BadRequestException
- * @throws ForbiddenException
- * @throws ImagickException
- * @throws InternalServerErrorException
- * @throws UnauthorizedException
- * @see https://developer.twitter.com/en/docs/accounts-and-users/follow-search-get-users/api-reference/get-followers-ids
- */
-function api_followers_ids($type)
-{
-       return api_ff_ids($type, Contact::FOLLOWER);
-}
-
-/// @TODO move to top of file or somewhere better
-api_register_func('api/friends/ids', 'api_friends_ids', true);
-api_register_func('api/followers/ids', 'api_followers_ids', true);
-
 /**
  * Sends a new direct message.
  *
@@ -5199,7 +5112,7 @@ function api_in_reply_to($item)
        $in_reply_to['user_id_str'] = null;
        $in_reply_to['screen_name'] = null;
 
-       if (($item['thr-parent'] != $item['uri']) && (intval($item['parent']) != intval($item['id']))) {
+       if (($item['thr-parent'] != $item['uri']) && ($item['gravity'] != GRAVITY_PARENT)) {
                $parent = Item::selectFirst(['id'], ['uid' => $item['uid'], 'uri' => $item['thr-parent']]);
                if (DBA::isResult($parent)) {
                        $in_reply_to['status_id'] = intval($parent['id']);