getPaginate()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 28
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 3
eloc 23
nc 4
nop 5
dl 0
loc 28
ccs 0
cts 26
cp 0
crap 12
rs 9.552
c 1
b 0
f 1
1
<?php
2
/**
3
 * Created by Someshwer<[email protected]>.
4
 * User: Someshwer
5
 * Date: 06/08/2018
6
 * Time: 10:55 AM IST.
7
 */
8
9
// This method is not using since had problem with auto-loading
10
// files using composer.json file inside package root folder.
11
12
if (!function_exists('getPaginate')) {
13
14
    /**
15
     * @author Someshwer
16
     *
17
     * Makes pagination data and links
18
     *
19
     * @param $request_url
20
     * @param $page_number
21
     * @param $per_page
22
     * @param $ceil_val
23
     * @param $total_records
24
     *
25
     * @return array
26
     */
27
    function getPaginate($request_url, $page_number, $per_page, $ceil_val, $total_records)
28
    {
29
        $to = $page_number * $per_page;
30
        if ($page_number == 1) {
31
            $from = 1;
32
            $prev_page_url = null;
33
        } else {
34
            $from = ($page_number * $per_page) - $per_page;
35
            $prev_page_url = $request_url.'?page='.($page_number - 1);
36
        }
37
        if ($page_number >= $ceil_val) {
38
            $next_page_url = null;
39
        } else {
40
            $next_page_url = $request_url.'?page='.($page_number + 1);
41
        }
42
43
        return [
44
            'current_page'   => (int) $page_number,
45
            'first_page_url' => $request_url.'?page=1',
46
            'from'           => $from,
47
            'last_page'      => $ceil_val,
48
            'last_page_url'  => $request_url.'?page='.$ceil_val,
49
            'next_page_url'  => $next_page_url,
50
            'path'           => $request_url,
51
            'per_page'       => $per_page,
52
            'prev_page_url'  => $prev_page_url,
53
            'to'             => $to,
54
            'total'          => $total_records,
55
        ];
56
    }
57
}
58