From efc7efc279fffd54f2bdf7bd410d5110f651667b Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 30 Jul 2024 15:00:35 +0000 Subject: [PATCH] Fixes "Incorrect integer value: 'true'" --- src/Module/Api/Mastodon/PushSubscription.php | 22 +++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Module/Api/Mastodon/PushSubscription.php b/src/Module/Api/Mastodon/PushSubscription.php index 8e997e0758..b2fd102f29 100644 --- a/src/Module/Api/Mastodon/PushSubscription.php +++ b/src/Module/Api/Mastodon/PushSubscription.php @@ -98,13 +98,13 @@ class PushSubscription extends BaseApi } $fields = [ - Notification::TYPE_FOLLOW => $request['data']['alerts'][Notification::TYPE_FOLLOW] ?? false, - Notification::TYPE_LIKE => $request['data']['alerts'][Notification::TYPE_LIKE] ?? false, - Notification::TYPE_RESHARE => $request['data']['alerts'][Notification::TYPE_RESHARE] ?? false, - Notification::TYPE_MENTION => $request['data']['alerts'][Notification::TYPE_MENTION] ?? false, - Notification::TYPE_POLL => $request['data']['alerts'][Notification::TYPE_POLL] ?? false, - Notification::TYPE_INTRODUCTION => $request['data']['alerts'][Notification::TYPE_INTRODUCTION] ?? false, - Notification::TYPE_POST => $request['data']['alerts'][Notification::TYPE_POST] ?? false, + Notification::TYPE_FOLLOW => $this->setBoolean($request['data']['alerts'][Notification::TYPE_FOLLOW] ?? false), + Notification::TYPE_LIKE => $this->setBoolean($request['data']['alerts'][Notification::TYPE_LIKE] ?? false), + Notification::TYPE_RESHARE => $this->setBoolean($request['data']['alerts'][Notification::TYPE_RESHARE] ?? false), + Notification::TYPE_MENTION => $this->setBoolean($request['data']['alerts'][Notification::TYPE_MENTION] ?? false), + Notification::TYPE_POLL => $this->setBoolean($request['data']['alerts'][Notification::TYPE_POLL] ?? false), + Notification::TYPE_INTRODUCTION => $this->setBoolean($request['data']['alerts'][Notification::TYPE_INTRODUCTION] ?? false), + Notification::TYPE_POST => $this->setBoolean($request['data']['alerts'][Notification::TYPE_POST] ?? false), ]; $ret = Subscription::update($application['id'], $uid, $fields); @@ -120,6 +120,14 @@ class PushSubscription extends BaseApi $this->response->addJsonContent($subscriptionObj->toArray()); } + private function setBoolean($input): bool + { + if (is_bool($input)) { + return $input; + } + return strtolower($input) == 'true'; + } + protected function delete(array $request = []): void { $this->checkAllowedScope(self::SCOPE_PUSH);