]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Api/Twitter/Statuses/Show.php
Update src/Module/Api/Twitter/Statuses/Update.php
[friendica.git] / src / Module / Api / Twitter / Statuses / Show.php
index d0376975180df7b142e35b9b84c4268ec295cf15..7f5340c5bb6e94b4bcf604fa171fa62e69e47a05 100644 (file)
@@ -26,6 +26,7 @@ use Friendica\Database\DBA;
 use Friendica\Module\BaseApi;
 use Friendica\DI;
 use Friendica\Model\Contact;
+use Friendica\Model\Item;
 use Friendica\Model\Post;
 use Friendica\Network\HTTPException\BadRequestException;
 
@@ -41,10 +42,10 @@ class Show extends BaseApi
                BaseApi::checkAllowedScope(BaseApi::SCOPE_READ);
                $uid = BaseApi::getCurrentUserID();
 
-               if (empty($this->parameters['id'])) {
-                       $id = intval($request['id'] ?? 0);
-               } else {
-                       $id = (int)$this->parameters['id'];
+               $id = $this->getRequestValue($request, 'id', 0);
+               $id = $this->getRequestValue($this->parameters, 'id', $id);
+               if (empty($id)) {
+                       throw new BadRequestException('An id is missing.');
                }
 
                Logger::notice('API: api_statuses_show: ' . $id);
@@ -52,23 +53,18 @@ class Show extends BaseApi
                $conversation = !empty($request['conversation']);
 
                // try to fetch the item for the local user - or the public item, if there is no local one
-               $uri_item = Post::selectFirst(['uri-id'], ['id' => $id]);
-               if (!DBA::isResult($uri_item)) {
-                       throw new BadRequestException(sprintf("There is no status with the id %d", $id));
-               }
-
-               $item = Post::selectFirst(['id'], ['uri-id' => $uri_item['uri-id'], 'uid' => [0, $uid]], ['order' => ['uid' => true]]);
+               $item = Post::selectFirst(['id'], ['uri-id' => $id, 'uid' => [0, $uid]], ['order' => ['uid' => true]]);
                if (!DBA::isResult($item)) {
-                       throw new BadRequestException(sprintf("There is no status with the uri-id %d for the given user.", $uri_item['uri-id']));
+                       throw new BadRequestException(sprintf("There is no status with the uri-id %d for the given user.", $id));
                }
 
-               $id = $item['id'];
+               $item_id = $item['id'];
 
                if ($conversation) {
-                       $condition = ['parent' => $id, 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT]];
-                       $params    = ['order' => ['id' => true]];
+                       $condition = ['parent' => $item_id, 'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT]];
+                       $params    = ['order' => ['uri-id' => true]];
                } else {
-                       $condition = ['id' => $id, 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT]];
+                       $condition = ['id' => $item_id, 'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT]];
                        $params    = [];
                }
 
@@ -79,7 +75,7 @@ class Show extends BaseApi
                        throw new BadRequestException(sprintf("There is no status or conversation with the id %d.", $id));
                }
 
-               $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
+               $include_entities = $this->getRequestValue($request, 'include_entities', false);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {