From 1ab47ca03ab018b6c496c7f04b45ef281fc02b0c Mon Sep 17 00:00:00 2001 From: Timothy J Warren Date: Wed, 15 Aug 2018 08:51:37 -0400 Subject: [PATCH 01/88] More prep for Anilist integration --- app/appConf/routes.php | 10 +- app/bootstrap.php | 14 ++ app/views/main-menu.php | 4 +- console | 2 +- index.php | 3 + src/API/Anilist/AnilistRequestBuilder.php | 10 +- src/API/Anilist/AnilistTrait.php | 31 +--- src/API/Anilist/ListItem.php | 48 +---- src/API/Anilist/Model.php | 210 +++++++++++++++++++++- src/Controller/Index.php | 26 ++- 10 files changed, 277 insertions(+), 81 deletions(-) diff --git a/app/appConf/routes.php b/app/appConf/routes.php index f2157a8a..07d1d1af 100644 --- a/app/appConf/routes.php +++ b/app/appConf/routes.php @@ -186,12 +186,12 @@ return [ 'anilist-redirect' => [ 'path' => '/anilist-redirect', 'action' => 'anilistRedirect', - 'controller' => DEFAULT_CONTROLLER, + 'controller' => DEFAULT_CONTROLLER, ], 'anilist-oauth' => [ 'path' => '/anilist-oauth', 'action' => 'anilistCallback', - 'controller' => DEFAULT_CONTROLLER, + 'controller' => DEFAULT_CONTROLLER, ], 'image_proxy' => [ 'path' => '/public/images/{type}/{file}', @@ -209,6 +209,12 @@ return [ 'controller' => DEFAULT_CONTROLLER, 'verb' => 'get', ], + 'settings' => [ + 'path' => '/settings', + 'action' => 'settings', + 'controller' => DEFAULT_CONTROLLER, + 'verb' => 'get', + ], 'login' => [ 'path' => '/login', 'action' => 'login', diff --git a/app/bootstrap.php b/app/bootstrap.php index e216fbb3..3e60bde8 100644 --- a/app/bootstrap.php +++ b/app/bootstrap.php @@ -144,6 +144,20 @@ return function (array $configArray = []) { $model->setRequestBuilder($requestBuilder); return $model; }); + $container->set('anilist-model', function($container) { + $requestBuilder = new Anilist\AnilistRequestBuilder(); + $requestBuilder->setLogger($container->getLogger('anilist-request')); + + $listItem = new Anilist\ListItem(); + $listItem->setContainer($container); + $listItem->setRequestBuilder($requestBuilder); + + $model = new Anilist\Model($listItem); + $model->setContainer($container); + $model->setRequestBuilder($requestBuilder); + + return $model; + }); $container->set('api-model', function($container) { return new Model\API($container); diff --git a/app/views/main-menu.php b/app/views/main-menu.php index f27ca846..647076f0 100644 --- a/app/views/main-menu.php +++ b/app/views/main-menu.php @@ -5,6 +5,8 @@ namespace Aviat\AnimeClient; $whose = $config->get('whose_list') . "'s "; $lastSegment = $urlGenerator->lastSegment(); $extraSegment = $lastSegment === 'list' ? '/list' : ''; +$hasAnime = stripos($_SERVER['REQUEST_URI'], 'anime') !== FALSE; +$hasManga = stripos($_SERVER['REQUEST_URI'], 'manga') !== FALSE; ?>