perPage = $perPage; // Assign the page variable if (!empty($_GET['page'])) { $this->page = $_GET['page']; // using the get method } else { $this->page = 1; // if we don't have a page number then assume we are on the first page } // Take the length of the array $this->length = count($array); // Get the number of pages $this->pages = ceil($this->length / $this->perPage); // Calculate the starting point $this->start = ceil(($this->page - 1) * $this->perPage); // Return the part of the array we have requested return array_slice($array, $this->start, $this->perPage); } function links() { global $lang; // Initiate the links array $plinks = array(); $links = array(); $slinks = array(); // Concatenate the get variables to add to the page numbering string if (count($_GET)) { $queryURL = ''; foreach ($_GET as $key => $value) { if ($key != 'page') { $queryURL .= '&'.$key.'='.$value; } } } // If we have more then one pages if (($this->pages) > 1) { // Assign the 'previous page' link into the array if we are not on the first page if ($this->page != 1) { if ($this->showFirstAndLast) { $plinks[] = ' «« '.$lang["First"].' '; } $plinks[] = ' « '.$lang["Prev"].' '; } // Assign all the page numbers & links to the array for ($j = 1; $j < ($this->pages + 1); $j++) { if ($this->page == $j) { $links[] = ' '.$j.' '; // If we are on the same page as the current item } else { $links[] = ' '.$j.' '; // add the link to the array } } // Assign the 'next page' if we are not on the last page if ($this->page < $this->pages) { $slinks[] = ' '.$lang["Next"].' » '; if ($this->showFirstAndLast) { $slinks[] = ' '.$lang["Last"].' »» '; } } // Push the array into a string using any some glue return implode(' ', $plinks).implode($this->implodeBy, $links).implode(' ', $slinks); } return; } } ?>