Skip to content

Commit 240fd7b

Browse files
committed
Moved pagination classes under Grav\Plugin\Pagination namespace, phpstan level 1
1 parent d6f8961 commit 240fd7b

17 files changed

+686
-12
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# v1.4.3
2+
## mm/dd/2019
3+
4+
1. [](#new)
5+
* Pass phpstan level 1 tests
6+
* Require Grav v1.6
7+
* Moved pagination classes under `Grav\Plugin\Pagination` namespace
8+
19
# v1.4.2
210
## 05/09/2019
311

blueprints.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ homepage: https://github.com/getgrav/grav-plugin-pagination
1010
keywords: pagination, plugin, pages, navigation
1111
bugs: https://github.com/getgrav/grav-plugin-pagination/issues
1212
license: MIT
13+
dependencies:
14+
- { name: grav, version: '>=1.6.0' }
1315

1416
form:
1517
validation: strict

classes/paginationhelper.php renamed to classes/plugin/PaginationHelper.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Grav\Plugin;
2+
namespace Grav\Plugin\Pagination;
33

44
use Grav\Common\Grav;
55
use Grav\Common\Iterator;
@@ -23,8 +23,6 @@ public function __construct(Collection $collection)
2323
{
2424
parent::__construct();
2525

26-
require_once __DIR__ . '/paginationpage.php';
27-
2826
$grav = Grav::instance();
2927

3028
/** @var Uri $uri */

classes/paginationpage.php renamed to classes/plugin/PaginationPage.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?php
2-
namespace Grav\Plugin;
2+
namespace Grav\Plugin\Pagination;
33

44
use Grav\Common\Grav;
55

twig/PaginationTwigExtension.php renamed to classes/plugin/PaginationTwigExtension.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<?php
2-
namespace Grav\Plugin;
2+
namespace Grav\Plugin\Pagination;
33

44
use \Grav\Common\Grav;
5+
use Grav\Plugin\PaginationPlugin;
56

67
class PaginationTwigExtension extends \Twig_Extension
78
{
@@ -35,7 +36,8 @@ public function getFunctions()
3536
];
3637
}
3738

38-
public function paginateFunc($collection, $limit, $ignore_url_param_array = []) {
39+
public function paginateFunc($collection, $limit, $ignore_url_param_array = [])
40+
{
3941
$pag = new PaginationPlugin($this, Grav::instance(), $this->config);
4042
$pag->paginateCollection($collection, $limit, $ignore_url_param_array);
4143
}

composer.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"name": "grav-plugin-pagination",
3+
"type": "grav-plugin",
4+
"description": "Pagination plugin for Grav CMS",
5+
"keywords": ["pagination"],
6+
"homepage": "https://github.com/getgrav/grav-plugin-pagination/",
7+
"license": "MIT",
8+
"authors": [
9+
{
10+
"name": "Team Grav",
11+
"email": "devs@getgrav.org",
12+
"homepage": "http://getgrav.org",
13+
"role": "Developer"
14+
}
15+
],
16+
"require": {
17+
"php": ">=7.1.3",
18+
"ext-json": "*",
19+
"ext-mbstring": "*"
20+
},
21+
"autoload": {
22+
"psr-4": {
23+
"Grav\\Plugin\\Pagination\\": "classes/plugin"
24+
},
25+
"classmap": ["pagination.php"]
26+
},
27+
"config": {
28+
"platform": {
29+
"php": "7.1.3"
30+
}
31+
}
32+
}

composer.lock

Lines changed: 24 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pagination.php

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
<?php
22
namespace Grav\Plugin;
33

4+
use Composer\Autoload\ClassLoader;
45
use Grav\Common\Page\Collection;
56
use Grav\Common\Page\Interfaces\PageInterface;
67
use Grav\Common\Plugin;
8+
use Grav\Plugin\Pagination\PaginationHelper;
9+
use Grav\Plugin\Pagination\PaginationPage;
10+
use Grav\Plugin\Pagination\PaginationTwigExtension;
711
use RocketTheme\Toolbox\Event\Event;
812

913
class PaginationPlugin extends Plugin
@@ -19,10 +23,23 @@ class PaginationPlugin extends Plugin
1923
public static function getSubscribedEvents()
2024
{
2125
return [
22-
'onPluginsInitialized' => ['onPluginsInitialized', 0]
26+
'onPluginsInitialized' => [
27+
['autoload', 100001],
28+
['onPluginsInitialized', 0]
29+
]
2330
];
2431
}
2532

33+
/**
34+
* [onPluginsInitialized:100000] Composer autoload.
35+
*
36+
* @return ClassLoader
37+
*/
38+
public function autoload()
39+
{
40+
return require __DIR__ . '/vendor/autoload.php';
41+
}
42+
2643
/**
2744
* Initialize configuration
2845
*/
@@ -33,6 +50,10 @@ public function onPluginsInitialized()
3350
return;
3451
}
3552

53+
class_alias(PaginationHelper::class, 'Grav\\Plugin\\PaginationHelper');
54+
class_alias(PaginationPage::class, 'Grav\\Plugin\\PaginationPage');
55+
class_alias(PaginationTwigExtension::class, 'Grav\\Plugin\\PaginationTwigExtension');
56+
3657
$this->enable([
3758
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0],
3859
'onPageInitialized' => ['onPageInitialized', 0],
@@ -53,8 +74,6 @@ public function onTwigTemplatePaths()
5374
*/
5475
public function onTwigExtensions()
5576
{
56-
require_once(__DIR__.'/twig/PaginationTwigExtension.php');
57-
5877
$this->grav['twig']->twig->addExtension(new PaginationTwigExtension());
5978
}
6079

@@ -96,7 +115,6 @@ public function onCollectionProcessed(Event $event)
96115
}
97116

98117
if (!empty($params['limit']) && $collection->count() > $params['limit']) {
99-
require_once __DIR__ . '/classes/paginationhelper.php';
100118
$this->pagination = new PaginationHelper($collection);
101119
$collection->setParams(['pagination' => $this->pagination]);
102120
}
@@ -119,14 +137,13 @@ public function onTwigSiteVariables()
119137
* @param int $limit
120138
* @param array $ignore_param_array url parameters to be ignored in page links
121139
*/
122-
public function paginateCollection( $collection, $limit, $ignore_param_array = [])
140+
public function paginateCollection($collection, $limit, $ignore_param_array = [])
123141
{
124142
$collection->setParams(['pagination' => 'true']);
125143
$collection->setParams(['limit' => $limit]);
126144
$collection->setParams(['ignore_params' => $ignore_param_array]);
127145

128146
if ($collection->count() > $limit) {
129-
require_once __DIR__ . '/classes/paginationhelper.php';
130147
$this->pagination = new PaginationHelper($collection);
131148
$collection->setParams(['pagination' => $this->pagination]);
132149

vendor/autoload.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
// autoload.php @generated by Composer
4+
5+
require_once __DIR__ . '/composer/autoload_real.php';
6+
7+
return ComposerAutoloaderInitea591f86e2ec72c59666a51291247f87::getLoader();

0 commit comments

Comments
 (0)