Improved handling of boolean input values
authorMichael <heluecht@pirati.ca>
Sun, 16 Jan 2022 09:24:35 +0000 (09:24 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 16 Jan 2022 09:24:35 +0000 (09:24 +0000)
13 files changed:
src/Module/Api/Friendica/Notification/Seen.php
src/Module/Api/GNUSocial/Statusnet/Conversation.php
src/Module/Api/Twitter/Account/UpdateProfile.php
src/Module/Api/Twitter/Account/VerifyCredentials.php
src/Module/Api/Twitter/Lists/Statuses.php
src/Module/Api/Twitter/Search/Tweets.php
src/Module/Api/Twitter/Statuses/Destroy.php
src/Module/Api/Twitter/Statuses/HomeTimeline.php
src/Module/Api/Twitter/Statuses/Mentions.php
src/Module/Api/Twitter/Statuses/NetworkPublicTimeline.php
src/Module/Api/Twitter/Statuses/PublicTimeline.php
src/Module/Api/Twitter/Statuses/Show.php
src/Module/Api/Twitter/Statuses/UserTimeline.php

index 30637d78c11a9b0468938bfb8315bac04dc5ba08..7b37b7615faeb081c3accd029f3361a858670a38 100644 (file)
@@ -65,7 +65,7 @@ class Seen extends BaseApi
                        if ($Notify->otype === Notification\ObjectType::ITEM) {
                                $item = Post::selectFirstForUser($uid, [], ['id' => $Notify->iid, 'uid' => $uid]);
                                if (DBA::isResult($item)) {
-                                       $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
+                                       $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                                        // we found the item, return it to the user
                                        $ret  = [DI::twitterStatus()->createFromUriId($item['uri-id'], $item['uid'], $include_entities)->toArray()];
index 76bc9b81657e26d5c6d3b42e8849b213d754d9b0..cd70cb5022d505277fcef8de5f9d7ce30f8ed1ae 100644 (file)
@@ -41,15 +41,15 @@ class Conversation extends BaseApi
 
                // params
                $id       = $this->parameters['id'] ?? 0;
-               $since_id = $_REQUEST['since_id']   ?? 0;
-               $max_id   = $_REQUEST['max_id']     ?? 0;
-               $count    = $_REQUEST['count']      ?? 20;
-               $page     = $_REQUEST['page']       ?? 1;
+               $since_id = $request['since_id']    ?? 0;
+               $max_id   = $request['max_id']      ?? 0;
+               $count    = $request['count']       ?? 20;
+               $page     = $request['page']        ?? 1;
 
                $start = max(0, ($page - 1) * $count);
 
                if ($id == 0) {
-                       $id = $_REQUEST['id'] ?? 0;
+                       $id = $request['id'] ?? 0;
                }
 
                Logger::info(BaseApi::LOG_PREFIX . '{subaction}', ['module' => 'api', 'action' => 'conversation', 'subaction' => 'show', 'id' => $id]);
@@ -82,7 +82,7 @@ class Conversation extends BaseApi
                        throw new BadRequestException("There is no status with id $id.");
                }
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index 079d58f4bea3d901c789b50f1b711a25545aea72..70cac42a27e6d8868345cc2e21724e9006824e15 100644 (file)
@@ -56,7 +56,7 @@ class UpdateProfile extends BaseApi
 
                Profile::publishUpdate($uid);
 
-               $skip_status = $request['skip_status'] ?? false;
+               $skip_status = filter_var($request['skip_status'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $user_info = DI::twitterUser()->createFromUserId($uid, $skip_status)->toArray();
 
index 592cff4c0c76f65177ee90bf48cec5696f429a01..181c20dfb7089245a9ceab3df23f533b17c07e6d 100644 (file)
@@ -37,7 +37,7 @@ class VerifyCredentials extends BaseApi
                BaseApi::checkAllowedScope(BaseApi::SCOPE_READ);
                $uid = BaseApi::getCurrentUserID();
 
-               $skip_status = $_REQUEST['skip_status'] ?? false;
+               $skip_status = filter_var($request['skip_status'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $user_info = DI::twitterUser()->createFromUserId($uid, $skip_status)->toArray();
 
index 68afa411e43e50b9b67c8fcbe1129e8381fbfbe2..301966a6a4e0ec7ea182bbda0924ba905a1851c7 100644 (file)
@@ -95,7 +95,7 @@ class Statuses extends BaseApi
                $params   = ['order' => ['id' => true], 'limit' => [$start, $count]];
                $statuses = Post::selectForUser($uid, [], $condition, $params);
 
-               $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $items = [];
                while ($status = $this->dba->fetch($statuses)) {
index 759c797a6e446756a9774e301e26eaa855dcf893..c8ebd21db4345f3cdc880f1b5ceaf69d15c7177a 100644 (file)
@@ -115,7 +115,7 @@ class Tweets extends BaseApi
 
                $statuses = $statuses ?: Post::selectForUser($uid, [], $condition, $params);
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index 784b8ef66f880299f61552cb11ec5f579d9bf7d2..aabf6f98db71d0231a029bc068ca70cdf161bcc9 100644 (file)
@@ -50,7 +50,7 @@ class Destroy extends BaseApi
 
                $this->logger->notice('API: api_statuses_destroy: ' . $id);
 
-               $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = DI::twitterStatus()->createFromItemId($id, $uid, $include_entities)->toArray();
 
index a9ed6a832bcd71bea4712ee2ac24aa0386beddcc..8a54aeda63852843b50c305638a2196428801970 100644 (file)
@@ -71,7 +71,7 @@ class HomeTimeline extends BaseApi
                $params   = ['order' => ['id' => true], 'limit' => [$start, $count]];
                $statuses = Post::selectForUser($uid, [], $condition, $params);
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret     = [];
                $idarray = [];
index 31cde911ebc1813e73ff64be0dbd1bc926284274..cb66a49f1b5cef570f98bdfba0fb3efedd648923 100644 (file)
@@ -72,7 +72,7 @@ class Mentions extends BaseApi
                $params   = ['order' => ['id' => true], 'limit' => [$start, $count]];
                $statuses = Post::selectForUser($uid, [], $condition, $params);
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index 5fa104e88f1049cd674f084f4424d624b1f8fd86..d7612d193a42e34fa88c06b1355b6fe55ed47154 100644 (file)
@@ -58,7 +58,7 @@ class NetworkPublicTimeline extends BaseApi
                $params   = ['order' => ['id' => true], 'limit' => [$start, $count]];
                $statuses = Post::selectForUser($uid, Item::DISPLAY_FIELDLIST, $condition, $params);
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index 0015d3e08d5420995e0e1a2b5e558583912a4d25..5508d3b09f4b84ed33d2f60a1648f5b26ab104d6 100644 (file)
@@ -78,7 +78,7 @@ class PublicTimeline extends BaseApi
                        $statuses = Post::selectForUser($uid, [], $condition, $params);
                }
 
-               $include_entities = strtolower(($_REQUEST['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index d0376975180df7b142e35b9b84c4268ec295cf15..f698997094b9d4085c63f5ee48a28cb458edee3f 100644 (file)
@@ -79,7 +79,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 = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {
index 2c884a6b6cb0063d8fc2f2a850bceeb4b63de81f..2255287c77ed17d73a7766f5f71fe2a8d84ab4af 100644 (file)
@@ -74,7 +74,7 @@ class UserTimeline extends BaseApi
                $params   = ['order' => ['id' => true], 'limit' => [$start, $count]];
                $statuses = Post::selectForUser($uid, [], $condition, $params);
 
-               $include_entities = strtolower(($request['include_entities'] ?? 'false') == 'true');
+               $include_entities = filter_var($request['include_entities'] ?? false, FILTER_VALIDATE_BOOLEAN);
 
                $ret = [];
                while ($status = DBA::fetch($statuses)) {