From 7d4ed44ff9b5a1c77bbf1b79d9b1a7aa7c06f137 Mon Sep 17 00:00:00 2001 From: Hannes Mannerheim Date: Thu, 28 Jan 2016 23:15:32 +0100 Subject: [PATCH] return empty array instead of 404 for twitter v1.1 APIs that twidere use. maybe makes twidere work better? --- QvitterPlugin.php | 6 +++ actions/apiactivityaboutmeunread.php | 79 ++++++++++++++++++++++++++++ actions/apisavedsearcheslist.php | 79 ++++++++++++++++++++++++++++ actions/apitrendsplace.php | 79 ++++++++++++++++++++++++++++ 4 files changed, 243 insertions(+) create mode 100644 actions/apiactivityaboutmeunread.php create mode 100644 actions/apisavedsearcheslist.php create mode 100644 actions/apitrendsplace.php diff --git a/QvitterPlugin.php b/QvitterPlugin.php index 89b930e..1b768d4 100644 --- a/QvitterPlugin.php +++ b/QvitterPlugin.php @@ -197,6 +197,12 @@ class QvitterPlugin extends Plugin { 'id' => Nickname::INPUT_FMT)); $m->connect('api/account/update_profile_banner.json', array('action' => 'ApiAccountUpdateProfileBanner')); + $m->connect('api/saved_searches/list.json', + array('action' => 'ApiSavedSearchesList')); + $m->connect('api/trends/place.json', + array('action' => 'ApiTrendsPlace')); + $m->connect('api/activity/about_me/unread.json', + array('action' => 'ApiActivityAboutMeUnread')); $m->connect('api/qvitter/update_background_image.json', array('action' => 'ApiUpdateBackgroundImage')); $m->connect('api/qvitter/update_avatar.json', diff --git a/actions/apiactivityaboutmeunread.php b/actions/apiactivityaboutmeunread.php new file mode 100644 index 0000000..a0ec65f --- /dev/null +++ b/actions/apiactivityaboutmeunread.php @@ -0,0 +1,79 @@ + \\\\_\ · + · \\) \____) · + · · + · · + · · + · Qvitter is free software: you can redistribute it and / or modify it · + · under the terms of the GNU Affero General Public License as published by · + · the Free Software Foundation, either version three of the License or (at · + · your option) any later version. · + · · + · Qvitter is distributed in hope that it will be useful but WITHOUT ANY · + · WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS · + · FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for · + · more details. · + · · + · You should have received a copy of the GNU Affero General Public License · + · along with Qvitter. If not, see . · + · · + · Contact h@nnesmannerhe.im if you have any questions. · + · · + · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */ + + +if (!defined('GNUSOCIAL')) { exit(1); } + +class ApiActivityAboutMeUnreadAction extends ApiAuthAction +{ + + + /** + * Take arguments for running + * + * @param array $args $_REQUEST args + * + * @return boolean success flag + */ + protected function prepare(array $args=array()) + { + parent::prepare($args); + + return true; + } + + /** + * Handle the request + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + protected function handle() + { + parent::handle(); + + $json_obects = array(); + + $this->initDocument('json'); + $this->showJsonObjects($json_obects); + $this->endDocument('json'); + } +} diff --git a/actions/apisavedsearcheslist.php b/actions/apisavedsearcheslist.php new file mode 100644 index 0000000..ecd9e5d --- /dev/null +++ b/actions/apisavedsearcheslist.php @@ -0,0 +1,79 @@ + \\\\_\ · + · \\) \____) · + · · + · · + · · + · Qvitter is free software: you can redistribute it and / or modify it · + · under the terms of the GNU Affero General Public License as published by · + · the Free Software Foundation, either version three of the License or (at · + · your option) any later version. · + · · + · Qvitter is distributed in hope that it will be useful but WITHOUT ANY · + · WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS · + · FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for · + · more details. · + · · + · You should have received a copy of the GNU Affero General Public License · + · along with Qvitter. If not, see . · + · · + · Contact h@nnesmannerhe.im if you have any questions. · + · · + · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */ + + +if (!defined('GNUSOCIAL')) { exit(1); } + +class ApiSavedSearchesListAction extends ApiAuthAction +{ + + + /** + * Take arguments for running + * + * @param array $args $_REQUEST args + * + * @return boolean success flag + */ + protected function prepare(array $args=array()) + { + parent::prepare($args); + + return true; + } + + /** + * Handle the request + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + protected function handle() + { + parent::handle(); + + $json_obects = array(); + + $this->initDocument('json'); + $this->showJsonObjects($json_obects); + $this->endDocument('json'); + } +} diff --git a/actions/apitrendsplace.php b/actions/apitrendsplace.php new file mode 100644 index 0000000..115e32f --- /dev/null +++ b/actions/apitrendsplace.php @@ -0,0 +1,79 @@ + \\\\_\ · + · \\) \____) · + · · + · · + · · + · Qvitter is free software: you can redistribute it and / or modify it · + · under the terms of the GNU Affero General Public License as published by · + · the Free Software Foundation, either version three of the License or (at · + · your option) any later version. · + · · + · Qvitter is distributed in hope that it will be useful but WITHOUT ANY · + · WARRANTY; without even the implied warranty of MERCHANTABILTY or FITNESS · + · FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for · + · more details. · + · · + · You should have received a copy of the GNU Affero General Public License · + · along with Qvitter. If not, see . · + · · + · Contact h@nnesmannerhe.im if you have any questions. · + · · + · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · */ + + +if (!defined('GNUSOCIAL')) { exit(1); } + +class ApiTrendsPlaceAction extends ApiAuthAction +{ + + + /** + * Take arguments for running + * + * @param array $args $_REQUEST args + * + * @return boolean success flag + */ + protected function prepare(array $args=array()) + { + parent::prepare($args); + + return true; + } + + /** + * Handle the request + * + * @param array $args $_REQUEST data (unused) + * + * @return void + */ + protected function handle() + { + parent::handle(); + + $json_obects = array(); + + $this->initDocument('json'); + $this->showJsonObjects($json_obects); + $this->endDocument('json'); + } +}