Exemplo n.º 1
0
 public function testPagination()
 {
     $total_records = 1000;
     $start = 0;
     $limit = 10;
     $base_url = 'http://localhost/pagination?start=%PAGENUMBER%';
     $Pagination = new \Rundiz\Pagination\Pagination();
     $Pagination->base_url = $base_url;
     $Pagination->total_records = $total_records;
     $Pagination->page_number_value = $start;
     $pagination_data = $Pagination->getPaginationData();
     $Pagination->clear();
     unset($Pagination);
     // assert
     $this->assertArrayHasKey('total_pages', $pagination_data);
     $this->assertArrayHasKey('page_number_type', $pagination_data);
     $this->assertArrayHasKey('current_page_number_displaying', $pagination_data);
     $this->assertArrayHasKey('generated_pages', $pagination_data);
     $this->assertEquals(100, intval($pagination_data['total_pages']));
     $this->assertEquals('start_num', $pagination_data['page_number_type']);
     $this->assertEquals(1, intval($pagination_data['current_page_number_displaying']));
     $this->assertTrue(is_array($pagination_data['generated_pages']));
     $this->assertCount(10, $pagination_data['generated_pages']);
 }
$Pagination->number_tag_open = null;
$Pagination->overall_tag_close = null;
$Pagination->overall_tag_open = null;
$Pagination->page_number_type = $page_number_type;
$Pagination->previous_page_always_show = false;
$Pagination->previous_page_text = false;
//$Pagination->previous_tag_close = '</span>'."\n";// while previous_page_text is set to false this option is no need.
//$Pagination->previous_tag_open = '<span class="previous">';// while previous_page_text is set to false this option is no need.
$Pagination->unavailable_after = false;
$Pagination->unavailable_before = false;
//$Pagination->unavailable_display = true;// while both unavailable_before & unavailable_after is set to false this option is set to false by default.
//$Pagination->unavailable_tag_close = '</span>'."\n";// while [both unavailable_before & unavailable_after] or unavailable_display is set to false this option is no need.
//$Pagination->unavailable_tag_open = '<span class="unavailable">';// while [both unavailable_before & unavailable_after] or unavailable_display is set to false this option is no need.
$Pagination->unavailable_text = '..';
// create pagination links.
$pagination_data = $Pagination->getPaginationData();
// clear style.
$Pagination->clear();
if (is_array($pagination_data) && array_key_exists('generated_pages', $pagination_data)) {
    echo '<form id="pagination-method-post-form" method="post" action="' . str_replace(array('start=%PAGENUMBER%&amp;', 'start=%PAGENUMBER%'), '', $base_url) . '">' . "\n";
    echo '<input type="hidden" id="method-post-start-value" name="start" value="">' . "\n";
    foreach ($pagination_data['generated_pages'] as $page_key => $page_item) {
        if (!is_string($page_key) && is_array($page_item)) {
            if (array_key_exists('link', $page_item) && array_key_exists('page_value', $page_item) && array_key_exists('text', $page_item)) {
                echo '<button type="button" class="button btn';
                if (isset($start) && $start == $page_item['page_value']) {
                    echo ' btn-primary';
                } else {
                    echo ' btn-default';
                }
                echo '"';