From 9eee8ba612a437e07e06fbb28aa6c8991fbdba11 Mon Sep 17 00:00:00 2001 From: Marcin Kurczewski Date: Sat, 22 Feb 2014 23:51:25 +0100 Subject: [PATCH] Mass tag: friendler pagination If user is in mass tag mode and changes target tag but doesn't change the query, he now remains at the same page. (Concerns only users who have disabled endless scrolling.) --- src/Controllers/TagController.php | 16 +++++++++++----- src/Views/tag-mass-tag.phtml | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Controllers/TagController.php b/src/Controllers/TagController.php index 1b95fe34..737f64b6 100644 --- a/src/Controllers/TagController.php +++ b/src/Controllers/TagController.php @@ -103,13 +103,19 @@ class TagController PrivilegesHelper::confirmWithException(Privilege::MassTag); if (InputHelper::get('submit')) { + $suppliedOldPage = intval(InputHelper::get('old-page')); + $suppliedOldQuery = InputHelper::get('old-query'); $suppliedQuery = InputHelper::get('query'); - if (!$suppliedQuery) - $suppliedQuery = ' '; $suppliedTag = InputHelper::get('tag'); - if (!empty($suppliedTag)) - $suppliedTag = TagModel::validateTag($suppliedTag); - \Chibi\UrlHelper::forward(\Chibi\UrlHelper::route('post', 'list', ['source' => 'mass-tag', 'query' => $suppliedQuery, 'additionalInfo' => $suppliedTag])); + + $params = [ + 'source' => 'mass-tag', + 'query' => $suppliedQuery ?: ' ', + 'additionalInfo' => $suppliedTag ? TagModel::validateTag($suppliedTag) : '', + ]; + if ($suppliedOldPage != 0 and $suppliedOldQuery == $suppliedQuery) + $params['page'] = $suppliedOldPage; + \Chibi\UrlHelper::forward(\Chibi\UrlHelper::route('post', 'list', $params)); } } } diff --git a/src/Views/tag-mass-tag.phtml b/src/Views/tag-mass-tag.phtml index 70853c89..ee715a48 100644 --- a/src/Views/tag-mass-tag.phtml +++ b/src/Views/tag-mass-tag.phtml @@ -12,6 +12,8 @@
+ +