]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Api/Twitter/Statuses/Destroy.php
Update src/Module/Api/Twitter/Statuses/Update.php
[friendica.git] / src / Module / Api / Twitter / Statuses / Destroy.php
index aabf6f98db71d0231a029bc068ca70cdf161bcc9..e54166b990b3182a7faf501990e5d06422a4ea2a 100644 (file)
 
 namespace Friendica\Module\Api\Twitter\Statuses;
 
-use Friendica\Core\Logger;
 use Friendica\Module\BaseApi;
 use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Item;
+use Friendica\Model\Post;
 use Friendica\Network\HTTPException\BadRequestException;
 
 /**
@@ -40,21 +40,24 @@ class Destroy extends BaseApi
                BaseApi::checkAllowedScope(BaseApi::SCOPE_READ);
                $uid = BaseApi::getCurrentUserID();
 
-               if (!empty($this->parameters['id'])) {
-                       $id = (int)$this->parameters['id'];
-               } elseif (!empty($request['id'])) {
-                       $id = (int)$request['id'];
-               } else {
+               $id = $this->getRequestValue($request, 'id', 0);
+               $id = $this->getRequestValue($this->parameters, 'id', $id);
+               if (empty($id)) {
                        throw new BadRequestException('An id is missing.');
                }
 
+               $post = Post::selectFirst(['id'], ['uri-id' => $request['id'], 'uid' => [0, $uid]], ['order' => ['uid' => true]]);
+               if (empty($post['id'])) {
+                       throw new BadRequestException('Item id not found');
+               }
+
                $this->logger->notice('API: api_statuses_destroy: ' . $id);
 
-               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
+               $include_entities = $this->getRequestValue($request, 'include_entities', false);
 
-               $ret = DI::twitterStatus()->createFromItemId($id, $uid, $include_entities)->toArray();
+               $ret = DI::twitterStatus()->createFromUriId($id, $uid, $include_entities)->toArray();
 
-               Item::deleteForUser(['id' => $id], $uid);
+               Item::deleteForUser(['id' => $post['id']], $uid);
 
                $this->response->exit('status', ['status' => $ret], $this->parameters['extension'] ?? null, Contact::getPublicIdByUserId($uid));
        }