Code Duplication    Length = 112-112 lines in 2 locations

src/Pagination/PagerfantaPaginatorAdapter.php 1 location

@@ 21-132 (lines=112) @@
18
 *
19
 * @author Márk Sági-Kazár <[email protected]>
20
 */
21
class PagerfantaPaginatorAdapter implements PaginatorInterface
22
{
23
    /**
24
     * The paginator instance.
25
     *
26
     * @var \Pagerfanta\Pagerfanta
27
     */
28
    protected $paginator;
29
30
    /**
31
     * The route generator.
32
     *
33
     * @var callable
34
     */
35
    protected $routeGenerator;
36
37
    /**
38
     * Create a new pagerfanta pagination adapter.
39
     *
40
     * @param \Pagerfanta\Pagerfanta $paginator
41
     * @param callable               $routeGenerator
42
     *
43
     * @return void
44
     */
45
    public function __construct(Pagerfanta $paginator, $routeGenerator)
46
    {
47
        $this->paginator = $paginator;
48
        $this->routeGenerator = $routeGenerator;
49
    }
50
51
    /**
52
     * Get the current page.
53
     *
54
     * @return int
55
     */
56
    public function getCurrentPage()
57
    {
58
        return $this->paginator->getCurrentPage();
59
    }
60
61
    /**
62
     * Get the last page.
63
     *
64
     * @return int
65
     */
66
    public function getLastPage()
67
    {
68
        return $this->paginator->getNbPages();
69
    }
70
71
    /**
72
     * Get the total.
73
     *
74
     * @return int
75
     */
76
    public function getTotal()
77
    {
78
        return count($this->paginator);
79
    }
80
81
    /**
82
     * Get the count.
83
     *
84
     * @return int
85
     */
86
    public function getCount()
87
    {
88
        return count($this->paginator->getCurrentPageResults());
89
    }
90
91
    /**
92
     * Get the number per page.
93
     *
94
     * @return int
95
     */
96
    public function getPerPage()
97
    {
98
        return $this->paginator->getMaxPerPage();
99
    }
100
101
    /**
102
     * Get the url for the given page.
103
     *
104
     * @param int $page
105
     *
106
     * @return string
107
     */
108
    public function getUrl($page)
109
    {
110
        return call_user_func($this->routeGenerator, $page);
111
    }
112
113
    /**
114
     * Get the paginator instance.
115
     *
116
     * @return \Pagerfanta\Pagerfanta
117
     */
118
    public function getPaginator()
119
    {
120
        return $this->paginator;
121
    }
122
123
    /**
124
     * Get the the route generator.
125
     *
126
     * @return callable
127
     */
128
    public function getRouteGenerator()
129
    {
130
        return $this->routeGenerator;
131
    }
132
}
133

src/Pagination/ZendFrameworkPaginatorAdapter.php 1 location

@@ 21-132 (lines=112) @@
18
 *
19
 * @author Abdul Malik Ikhsan <[email protected]>
20
 */
21
class ZendFrameworkPaginatorAdapter implements PaginatorInterface
22
{
23
    /**
24
     * The paginator instance.
25
     *
26
     * @var \Zend\Paginator\Paginator
27
     */
28
    protected $paginator;
29
30
    /**
31
     * The route generator.
32
     *
33
     * @var callable
34
     */
35
    protected $routeGenerator;
36
37
    /**
38
     * Create a new zendframework pagination adapter.
39
     *
40
     * @param \Zend\Paginator\Paginator $paginator
41
     * @param callable                  $routeGenerator
42
     *
43
     * @return void
44
     */
45
    public function __construct(Paginator $paginator, $routeGenerator)
46
    {
47
        $this->paginator = $paginator;
48
        $this->routeGenerator = $routeGenerator;
49
    }
50
51
    /**
52
     * Get the current page.
53
     *
54
     * @return int
55
     */
56
    public function getCurrentPage()
57
    {
58
        return $this->paginator->getCurrentPageNumber();
59
    }
60
61
    /**
62
     * Get the last page.
63
     *
64
     * @return int
65
     */
66
    public function getLastPage()
67
    {
68
        return $this->paginator->count();
69
    }
70
71
    /**
72
     * Get the total.
73
     *
74
     * @return int
75
     */
76
    public function getTotal()
77
    {
78
        return $this->paginator->getTotalItemCount();
79
    }
80
81
    /**
82
     * Get the count.
83
     *
84
     * @return int
85
     */
86
    public function getCount()
87
    {
88
        return $this->paginator->getCurrentItemCount();
89
    }
90
91
    /**
92
     * Get the number per page.
93
     *
94
     * @return int
95
     */
96
    public function getPerPage()
97
    {
98
        return $this->paginator->getItemCountPerPage();
99
    }
100
101
    /**
102
     * Get the url for the given page.
103
     *
104
     * @param int $page
105
     *
106
     * @return string
107
     */
108
    public function getUrl($page)
109
    {
110
        return call_user_func($this->routeGenerator, $page);
111
    }
112
113
    /**
114
     * Get the paginator instance.
115
     *
116
     * @return \Zend\Paginator\Paginator
117
     */
118
    public function getPaginator()
119
    {
120
        return $this->paginator;
121
    }
122
123
    /**
124
     * Get the the route generator.
125
     *
126
     * @return callable
127
     */
128
    public function getRouteGenerator()
129
    {
130
        return $this->routeGenerator;
131
    }
132
}
133