--- lib/Pager.class.php.orig 2007-06-14 19:00:15 UTC
+++ lib/Pager.class.php
@@ -1,629 +1,629 @@
-
-* @version 02-02-05
-* @package Pager
-*
-* Copyright (C) 2003 - 2005 phpScheduleIt
-* License: GPL, see LICENSE
-* /
-/**
-* To actually print out page links, call printPages() function
-*
-* In order for this object to work correctly, total records
-* must be set in either the constructor or by calling
-* setTotRecords()
-*
-* + Warning - The printPages() function cannot be called
-* from within a form
-*
-* === EXAMPLE OF HOW TO USE PAGER ===
-* // Initialize new Pager object with default values
-* $pager = new Pager();
-*
-* // Get total # of pages
-* $query = "SELECT COUNT(*) as num FROM table";
-* $result = $db->query($query);
-* $rs = $result->fetchRow();
-* $num = $rs['num']; // # of records
-*
-* $pager->setTotRecords($num);
-* $recordset_offset = $pager->getOffset();
-* $limit = $pager->getLimit();
-*
-* // Execute Query (using $offset and $limit values) //
-*
-* $pager->printPages();
-* ==========================================
-*
-*/
-
-// Should we use the Link class?
-$use_link = true;
-
-if ($use_link) {
- //include_once('Link.class.php');
- $link = new Link();
-}
-
-class Pager {
- // Application set variables
- var $cur_page;
- var $query_string;
- var $tot_pages;
- var $page_var;
- var $limit_var;
-
- // Application variables with user modify option
- var $limit;
- var $tot_records;
- var $print_limit_select = true;
-
- // User modifiable variables
- var $prev_link = '«';
- var $next_link = '»';
- var $limits = array(10, 25, 50, 100);
- var $view_pages = 3;
- var $table_width = '100%';
- var $table_align = 'center';
- var $link_class;
- var $tb_class;
- var $tb_style;
- var $text_class;
- var $text_style;
-
-
- /**
- * Pager Constructor
- * Sets up Pager variables and initializes values
- *
- * - All parameters are optional and have default values of:
- * $tot_records = 0
- * $limit = 25
- * $page_var = "page"
- * $limit_var = "limit"
- *
- * @param int $tot_records optional total number of records
- * @param int $limit optional limit of recordset
- * @param string $page_var optional name of var to use in querystring for page value
- * @param string $limit_var optional name of var to use in querystring for limit value
- */
- function Pager($tot_records=0, $limit=25, $page_var='page', $limit_var='limit') {
- $this->tot_records = $tot_records;
- $this->limit = $limit;
- $this->page_var = $page_var;
- $this->limit_var = $limit_var;
-
- // Call all system setter functions
- $this->initCurPage();
- $this->initLimit();
- $this->initTotPages();
- $this->initQueryString();
- }
-
-
- /**
- * Print out the pages as links
- * Prints out a table of all the pages as links
- * and a jump menu to change the number of records
- * per page
- *
- * setCurPage() and setTotPages() must be called
- * before this function can be called
- *
- * @param none
- * @see printPrev()
- * @see printLink()
- * @see printPage()
- * @see printNext()
- * @see printTotal()
- * @see startTable()
- * @see startPagesCell()
- * @see endPagesCell()
- * @see printLimitCell()
- * @see endTable()
- */
- function printPages() {
- $p = $this->view_pages; // How many pages to view
- $cur_page = $this->cur_page; // Current page
- $tot_pages = $this->tot_pages; // Total pages
-
- // Open up the HTML table
- $this->startTable();
- // Open up cell for page links
- $this->startPagesCell();
-
- // Page to start printing bulk of links
- $start = ($cur_page > $p) ? $cur_page - $p : 1;
- // Page to end printing bulk of links
- $end = ($cur_page + $p) < $tot_pages ? $cur_page + $p : $tot_pages;
-
- // Print 'prev' link
- $this->printPrev();
-
- // Print link to first page, if not already there
- if ($start != 1) {
- $this->printPage(1);
- }
-
- // Print '...' if necessary (with link to center page)
- if ($cur_page > $p+2) {
- $this->printLink(ceil( ($start+1)/2 ), '...');
- }
-
- // Print links to pages before current page (up to first page)
- // Print current page
- // Print links to pages after current page (up to last page)
- for ($pg = $start; $pg <= $end; $pg++) {
- $this->printPage($pg);
- }
-
- // Print '...' if necessary (with link to center page)
- if ( $cur_page < ($tot_pages - ($p+1)) ) {
- $this->printLink(ceil( ($tot_pages+$end)/2 ), '...' );
- }
-
- // Print link to last page, if not already there
- if ($end != $tot_pages) {
- $this->printPage($tot_pages);
- }
-
- // Print 'next' link
- $this->printNext();
-
- // Print total records
- $this->printTotal();
-
- // Close page links cell
- $this->endPagesCell();
- // Print out cell with limit jump menu
- if ($this->print_limit_select) { $this->printLimitCell(); }
- // Close table
- $this->endTable();
- }
-
- //-----------------------------------------
- // Application setter functions
- //-----------------------------------------
- /**
- * Sets current page variable
- * @param none
- */
- function initCurPage() {
- $this->cur_page = isset($_GET[$this->page_var]) ? intval($_GET[$this->page_var]) : 1;
- }
-
- /**
- * Sets the limit variable if it is passed from querystring
- * @param none
- */
- function initLimit() {
- if (isset($_GET[$this->limit_var]))
- $this->limit = intval($_GET[$this->limit_var]);
- if (isset($_POST[$this->limit_var]))
- $this->limit = intval($_POST[$this->limit_var]);
- }
-
- /**
- * Pull page information from query string and set $query_string
- *
- * setLimit() must be called before this function for it to work correctly
- * @param none
- */
- function initQueryString() {
- if (isset($_SERVER['QUERY_STRING'])) {
- // Remove page from query string and convert all "&" to "&"
- $this->query_string = str_replace('&', '&', preg_replace("/(&|&)?$this->page_var=\d*/",'',$_SERVER['QUERY_STRING']));
-
- // Insert limit into querystring, if it's not there
- if ( !strstr($this->query_string, "$this->limit_var=") )
- $this->query_string .= "&$this->limit_var=" . $this->limit;
- }
- else {
- $this->query_string = '';
- }
-
- }
-
- /**
- * Sets the tot_pages variable
- *
- * tot_records must be set and setLimit() must be called before
- * this function can be called
- *
- * @param none
- */
- function initTotPages() {
- $this->tot_pages = ceil($this->tot_records/$this->limit);
- }
- //===========================================
-
- //-------------------------------------------
- // Output functions
- //-------------------------------------------
- /**
- * Print out link to a page
- * @param int $p page number to print
- */
- function printPage($p) {
- if ($p == $this->cur_page) {
- echo " [$p] ";
- }
- else {
- $this->printLink($p, $p);
- }
- }
-
- /**
- * Print 'prev' link, if necessary
- * @param none
- */
- function printPrev() {
- $cur_page = $this->cur_page;
- if ($cur_page > 1)
- $this->printLink($cur_page-1, $this->prev_link);
- }
-
- /**
- * Print 'next' link, if necessary
- * @param none
- */
- function printNext() {
- $cur_page = $this->cur_page;
- if ($cur_page < $this->tot_pages && $this->tot_records > 0)
- $this->printLink($cur_page+1, $this->next_link);
- }
-
- /**
- * Print out link to a certain page
- * @param int $page page to link to
- * @param string $text link text
- */
- function printLink($page, $text) {
- global $link;
- global $use_link;
-
- if ($use_link) {
- $link->doLink(
- $_SERVER['PHP_SELF'] . "?$this->page_var=$page&" . $this->query_string . '"',
- $text,
- $this->link_class,
- '',
- 'Page ' . $page
- );
- }
- else {
- echo ' page_var=$page&" . $this->query_string . '"'
- . ' class="$this->class"'
- . '>'
- . $text . ' ';
- }
- }
-
- /**
- * Prints out opening table tag
- * @param none
- */
- function startTable() {
- echo "
table_align\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"$this->table_width\">\n"
- . "text_class\" style=\"$this->text_style\">\n";
- }
-
- /**
- * Begins cell containing page links
- * @param none
- */
- function startPagesCell() {
- echo '' . translate('Page') . ' ';
- }
-
- /**
- * Closes cell containing page links
- * @param none
- */
- function endPagesCell() {
- echo ' | ';
- }
-
- /**
- * Prints out cell containing limit jump menu
- * @param none
- */
- function printLimitCell() {
- $limits = $this->limits;
- echo "\n"
- . "\n"
- . " | \n";
- }
-
- /**
- * Prints out the closing row and table HTML tags
- * @param none
- */
- function endTable() {
- echo "
\n
\n";
- }
-
- /**
- * Prints out total number of records returned
- * @param none
- */
- function printTotal() {
- echo '(' . $this->tot_records . ')';
- }
- //============================================
-
- //--------------------------------------------
- // User-Modified Setter Functions
- //--------------------------------------------
- /**
- * Sets the total records for this recordset
- *
- * - Default setting is 0 (in constructor)
- *
- * @param int $tot total number of records
- */
- function setTotRecords($tot) {
- $this->tot_records = intval($tot);
- // Call initTotPages again to reset paging
- $this->initTotPages();
- }
-
- /**
- * Sets the default recordset limit
- * Note: A limit value set in the querystring
- * or in a post value will override this
- *
- * - Default setting is 25 (in constructor)
- *
- * @param int $limit new limit value
- */
- function setLimit($limit) {
- $this->limit = intval($limit);
- // Call initLimit() to reinitialzie limit
- $this->initLimit();
- }
-
- /**
- * Sets the text for 'prev' link
- *
- * - Default setting is "«"
- *
- * @param string $text link text
- */
- function setPrevLink($text) {
- $this->prev_link = trim($text);
- }
-
- /**
- * Sets the text for 'next' link
- *
- * - Default setting is "»"
- *
- * @param string $text link text
- */
- function setNextLink($text) {
- $this->next_link = trim($text);
- }
-
- /**
- * Sets the value of view_pages
- * How many pages to print on either side of
- * the currently viewed page number
- *
- * - Default setting is 3
- *
- * @param int $view_page how many pages to view
- */
- function setViewPages($view_page) {
- $this->view_pages = intval($view_page);
- }
-
- /**
- * Sets the array of limits
- * Pass in an array of ints to use
- * for the limit pull down menu
- *
- * - Default setting is (10, 25, 50, 100)
- *
- * @param int $new_limits array of limits
- */
- function setLimits($new_limits) {
- $this->limits = $new_limits;
- }
-
- /**
- * Sets the name of the class to be used for the links
- *
- * - Default setting is null
- *
- * @param string $link_class name of class
- */
- function setLinkClass($link_class) {
- $this->link_class = $link_class;
- }
-
- /**
- * Sets the name of the class to be used for the pull down box
- *
- * - Default setting is null
- *
- * @param string $tb_class name of class
- */
- function setTbClass($tb_class) {
- $this->tb_class = $tb_class;
- }
-
- /**
- * Sets the inline style of the limit jump menu
- * This setting overrides the tb_class value
- *
- * - Default setting is null
- * @param string $tb_style style of limit jump menu box
- */
- function setTbStyle($tb_style) {
- $this->tb_style = $tb_style;
- }
-
- /**
- * Sets the name of the class to be used for the text
- * ie) "Page:" and "Per page:"
- * Should be used to modify all paging text font -amily, size, etc
- *
- * - Default setting is null
- *
- * @param string $text_class name of class
- */
- function setTextClass($text_class) {
- $this->text_class = $text_class;
- }
-
- /**
- * Sets the inline style to be used for the text
- * Should be used to modifiy all paging text font-family, size, etc
- * This will override the text_class setting
- *
- * - Default setting is null
- *
- * @param string $text_style style to use for the text
- */
- function setTextStyle($text_style) {
- $this->text_style = $text_style;
- }
-
- /**
- * Sets the width of the table bounding the pages/jump box
- *
- * - Default setting is "100%"
- *
- * @param string $table_width width of table
- */
- function setTableWidth($table_width) {
- $this->table_width = $table_width;
- }
-
- /**
- * Sets the horizontial alignment of the table bounding the paging
- *
- * - Default setting is "center"
- *
- * @param string $table_align alignment value for table align
- */
- function setTableAlign($table_align) {
- $this->table_align = $table_align;
- }
-
- /**
- * Sets the page variable name for the querystring
- * @param string $page_var page variable name
- */
- function setPageVar($page_var) {
- $this->page_var = $page_var;
- }
-
- /**
- * Sets the limit variable name for the querystring
- * @param string $limit_var limit variable name
- */
- function setLimitVar($limit_var) {
- $this->limit_var = $limit_var;
- }
-
- /**
- * Sets the print_limit_select variable to decide if we should show the limit select pulldown
- * @param bool $view_limit_select if we should show the select pulldown or not
- */
- function setViewLimitSelect($view_limit_select) {
- $this->print_limit_select = $view_limit_select;
- }
- //============================================
-
- //--------------------------------------------
- // Getter methods
- //--------------------------------------------
- /**
- * Returns the recordset offset
- * @param none
- * @return integer recorset offset
- */
- function getOffset() {
- return $this->limit * $this->cur_page - $this->limit;
- }
-
- /**
- * Returns the total number of pages
- * @param none
- * @return integer number of pages total
- */
- function getTotPages() {
- return $this->tot_pages;
- }
-
- /**
- * Returns the current page number
- * @param none
- * @return integer current page number
- */
- function getPageNum() {
- return $this->cur_page;
- }
-
- /**
- * Returns the current recordset limit
- * @param none
- * @return integer recordset limit
- */
- function getLimit() {
- return $this->limit;
- }
-
- /**
- * Returns value of previous link text
- * @param none
- * @return string previous link text
- */
- function getPrevLink() {
- return $this->prev_link;
- }
-
- /**
- * Returns value of next link text
- * @param none
- * @return string next link text
- */
- function getNextLink() {
- return $this->next_link;
- }
-
- /**
- * Returns the name used for the page querystring variable
- * @param none
- * @return string page variable name
- */
- function getPageVar() {
- return $this->page_var;
- }
-
- /**
- * Returns the name used for the limit querystring variable
- * @param none
- * @return string limit variable name
- */
- function getLimitVar() {
- return $this->limit_var;
- }
- //===========================================
-
-// End class
-}
-?>
\ No newline at end of file
+
+* @version 02-02-05
+* @package Pager
+*
+* Copyright (C) 2003 - 2005 phpScheduleIt
+* License: GPL, see LICENSE
+* /
+/**
+* To actually print out page links, call printPages() function
+*
+* In order for this object to work correctly, total records
+* must be set in either the constructor or by calling
+* setTotRecords()
+*
+* + Warning - The printPages() function cannot be called
+* from within a form
+*
+* === EXAMPLE OF HOW TO USE PAGER ===
+* // Initialize new Pager object with default values
+* $pager = new Pager();
+*
+* // Get total # of pages
+* $query = "SELECT COUNT(*) as num FROM table";
+* $result = $db->query($query);
+* $rs = $result->fetchRow();
+* $num = $rs['num']; // # of records
+*
+* $pager->setTotRecords($num);
+* $recordset_offset = $pager->getOffset();
+* $limit = $pager->getLimit();
+*
+* // Execute Query (using $offset and $limit values) //
+*
+* $pager->printPages();
+* ==========================================
+*
+*/
+
+// Should we use the Link class?
+$use_link = true;
+
+if ($use_link) {
+ //include_once('Link.class.php');
+ $link = new Link();
+}
+
+class Pager {
+ // Application set variables
+ var $cur_page;
+ var $query_string;
+ var $tot_pages;
+ var $page_var;
+ var $limit_var;
+
+ // Application variables with user modify option
+ var $limit;
+ var $tot_records;
+ var $print_limit_select = true;
+
+ // User modifiable variables
+ var $prev_link = '«';
+ var $next_link = '»';
+ var $limits = array(10, 25, 50, 100);
+ var $view_pages = 3;
+ var $table_width = '100%';
+ var $table_align = 'center';
+ var $link_class;
+ var $tb_class;
+ var $tb_style;
+ var $text_class;
+ var $text_style;
+
+
+ /**
+ * Pager Constructor
+ * Sets up Pager variables and initializes values
+ *
+ * - All parameters are optional and have default values of:
+ * $tot_records = 0
+ * $limit = 25
+ * $page_var = "page"
+ * $limit_var = "limit"
+ *
+ * @param int $tot_records optional total number of records
+ * @param int $limit optional limit of recordset
+ * @param string $page_var optional name of var to use in querystring for page value
+ * @param string $limit_var optional name of var to use in querystring for limit value
+ */
+ function __construct($tot_records=0, $limit=25, $page_var='page', $limit_var='limit') {
+ $this->tot_records = $tot_records;
+ $this->limit = $limit;
+ $this->page_var = $page_var;
+ $this->limit_var = $limit_var;
+
+ // Call all system setter functions
+ $this->initCurPage();
+ $this->initLimit();
+ $this->initTotPages();
+ $this->initQueryString();
+ }
+
+
+ /**
+ * Print out the pages as links
+ * Prints out a table of all the pages as links
+ * and a jump menu to change the number of records
+ * per page
+ *
+ * setCurPage() and setTotPages() must be called
+ * before this function can be called
+ *
+ * @param none
+ * @see printPrev()
+ * @see printLink()
+ * @see printPage()
+ * @see printNext()
+ * @see printTotal()
+ * @see startTable()
+ * @see startPagesCell()
+ * @see endPagesCell()
+ * @see printLimitCell()
+ * @see endTable()
+ */
+ function printPages() {
+ $p = $this->view_pages; // How many pages to view
+ $cur_page = $this->cur_page; // Current page
+ $tot_pages = $this->tot_pages; // Total pages
+
+ // Open up the HTML table
+ $this->startTable();
+ // Open up cell for page links
+ $this->startPagesCell();
+
+ // Page to start printing bulk of links
+ $start = ($cur_page > $p) ? $cur_page - $p : 1;
+ // Page to end printing bulk of links
+ $end = ($cur_page + $p) < $tot_pages ? $cur_page + $p : $tot_pages;
+
+ // Print 'prev' link
+ $this->printPrev();
+
+ // Print link to first page, if not already there
+ if ($start != 1) {
+ $this->printPage(1);
+ }
+
+ // Print '...' if necessary (with link to center page)
+ if ($cur_page > $p+2) {
+ $this->printLink(ceil( ($start+1)/2 ), '...');
+ }
+
+ // Print links to pages before current page (up to first page)
+ // Print current page
+ // Print links to pages after current page (up to last page)
+ for ($pg = $start; $pg <= $end; $pg++) {
+ $this->printPage($pg);
+ }
+
+ // Print '...' if necessary (with link to center page)
+ if ( $cur_page < ($tot_pages - ($p+1)) ) {
+ $this->printLink(ceil( ($tot_pages+$end)/2 ), '...' );
+ }
+
+ // Print link to last page, if not already there
+ if ($end != $tot_pages) {
+ $this->printPage($tot_pages);
+ }
+
+ // Print 'next' link
+ $this->printNext();
+
+ // Print total records
+ $this->printTotal();
+
+ // Close page links cell
+ $this->endPagesCell();
+ // Print out cell with limit jump menu
+ if ($this->print_limit_select) { $this->printLimitCell(); }
+ // Close table
+ $this->endTable();
+ }
+
+ //-----------------------------------------
+ // Application setter functions
+ //-----------------------------------------
+ /**
+ * Sets current page variable
+ * @param none
+ */
+ function initCurPage() {
+ $this->cur_page = isset($_GET[$this->page_var]) ? intval($_GET[$this->page_var]) : 1;
+ }
+
+ /**
+ * Sets the limit variable if it is passed from querystring
+ * @param none
+ */
+ function initLimit() {
+ if (isset($_GET[$this->limit_var]))
+ $this->limit = intval($_GET[$this->limit_var]);
+ if (isset($_POST[$this->limit_var]))
+ $this->limit = intval($_POST[$this->limit_var]);
+ }
+
+ /**
+ * Pull page information from query string and set $query_string
+ *
+ * setLimit() must be called before this function for it to work correctly
+ * @param none
+ */
+ function initQueryString() {
+ if (isset($_SERVER['QUERY_STRING'])) {
+ // Remove page from query string and convert all "&" to "&"
+ $this->query_string = str_replace('&', '&', preg_replace("/(&|&)?$this->page_var=\d*/",'',$_SERVER['QUERY_STRING']));
+
+ // Insert limit into querystring, if it's not there
+ if ( !strstr($this->query_string, "$this->limit_var=") )
+ $this->query_string .= "&$this->limit_var=" . $this->limit;
+ }
+ else {
+ $this->query_string = '';
+ }
+
+ }
+
+ /**
+ * Sets the tot_pages variable
+ *
+ * tot_records must be set and setLimit() must be called before
+ * this function can be called
+ *
+ * @param none
+ */
+ function initTotPages() {
+ $this->tot_pages = ceil($this->tot_records/$this->limit);
+ }
+ //===========================================
+
+ //-------------------------------------------
+ // Output functions
+ //-------------------------------------------
+ /**
+ * Print out link to a page
+ * @param int $p page number to print
+ */
+ function printPage($p) {
+ if ($p == $this->cur_page) {
+ echo " [$p] ";
+ }
+ else {
+ $this->printLink($p, $p);
+ }
+ }
+
+ /**
+ * Print 'prev' link, if necessary
+ * @param none
+ */
+ function printPrev() {
+ $cur_page = $this->cur_page;
+ if ($cur_page > 1)
+ $this->printLink($cur_page-1, $this->prev_link);
+ }
+
+ /**
+ * Print 'next' link, if necessary
+ * @param none
+ */
+ function printNext() {
+ $cur_page = $this->cur_page;
+ if ($cur_page < $this->tot_pages && $this->tot_records > 0)
+ $this->printLink($cur_page+1, $this->next_link);
+ }
+
+ /**
+ * Print out link to a certain page
+ * @param int $page page to link to
+ * @param string $text link text
+ */
+ function printLink($page, $text) {
+ global $link;
+ global $use_link;
+
+ if ($use_link) {
+ $link->doLink(
+ $_SERVER['PHP_SELF'] . "?$this->page_var=$page&" . $this->query_string . '"',
+ $text,
+ $this->link_class,
+ '',
+ 'Page ' . $page
+ );
+ }
+ else {
+ echo ' page_var=$page&" . $this->query_string . '"'
+ . ' class="$this->class"'
+ . '>'
+ . $text . ' ';
+ }
+ }
+
+ /**
+ * Prints out opening table tag
+ * @param none
+ */
+ function startTable() {
+ echo "table_align\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"$this->table_width\">\n"
+ . "text_class\" style=\"$this->text_style\">\n";
+ }
+
+ /**
+ * Begins cell containing page links
+ * @param none
+ */
+ function startPagesCell() {
+ echo '' . translate('Page') . ' ';
+ }
+
+ /**
+ * Closes cell containing page links
+ * @param none
+ */
+ function endPagesCell() {
+ echo ' | ';
+ }
+
+ /**
+ * Prints out cell containing limit jump menu
+ * @param none
+ */
+ function printLimitCell() {
+ $limits = $this->limits;
+ echo "\n"
+ . "\n"
+ . " | \n";
+ }
+
+ /**
+ * Prints out the closing row and table HTML tags
+ * @param none
+ */
+ function endTable() {
+ echo "
\n
\n";
+ }
+
+ /**
+ * Prints out total number of records returned
+ * @param none
+ */
+ function printTotal() {
+ echo '(' . $this->tot_records . ')';
+ }
+ //============================================
+
+ //--------------------------------------------
+ // User-Modified Setter Functions
+ //--------------------------------------------
+ /**
+ * Sets the total records for this recordset
+ *
+ * - Default setting is 0 (in constructor)
+ *
+ * @param int $tot total number of records
+ */
+ function setTotRecords($tot) {
+ $this->tot_records = intval($tot);
+ // Call initTotPages again to reset paging
+ $this->initTotPages();
+ }
+
+ /**
+ * Sets the default recordset limit
+ * Note: A limit value set in the querystring
+ * or in a post value will override this
+ *
+ * - Default setting is 25 (in constructor)
+ *
+ * @param int $limit new limit value
+ */
+ function setLimit($limit) {
+ $this->limit = intval($limit);
+ // Call initLimit() to reinitialzie limit
+ $this->initLimit();
+ }
+
+ /**
+ * Sets the text for 'prev' link
+ *
+ * - Default setting is "«"
+ *
+ * @param string $text link text
+ */
+ function setPrevLink($text) {
+ $this->prev_link = trim($text);
+ }
+
+ /**
+ * Sets the text for 'next' link
+ *
+ * - Default setting is "»"
+ *
+ * @param string $text link text
+ */
+ function setNextLink($text) {
+ $this->next_link = trim($text);
+ }
+
+ /**
+ * Sets the value of view_pages
+ * How many pages to print on either side of
+ * the currently viewed page number
+ *
+ * - Default setting is 3
+ *
+ * @param int $view_page how many pages to view
+ */
+ function setViewPages($view_page) {
+ $this->view_pages = intval($view_page);
+ }
+
+ /**
+ * Sets the array of limits
+ * Pass in an array of ints to use
+ * for the limit pull down menu
+ *
+ * - Default setting is (10, 25, 50, 100)
+ *
+ * @param int $new_limits array of limits
+ */
+ function setLimits($new_limits) {
+ $this->limits = $new_limits;
+ }
+
+ /**
+ * Sets the name of the class to be used for the links
+ *
+ * - Default setting is null
+ *
+ * @param string $link_class name of class
+ */
+ function setLinkClass($link_class) {
+ $this->link_class = $link_class;
+ }
+
+ /**
+ * Sets the name of the class to be used for the pull down box
+ *
+ * - Default setting is null
+ *
+ * @param string $tb_class name of class
+ */
+ function setTbClass($tb_class) {
+ $this->tb_class = $tb_class;
+ }
+
+ /**
+ * Sets the inline style of the limit jump menu
+ * This setting overrides the tb_class value
+ *
+ * - Default setting is null
+ * @param string $tb_style style of limit jump menu box
+ */
+ function setTbStyle($tb_style) {
+ $this->tb_style = $tb_style;
+ }
+
+ /**
+ * Sets the name of the class to be used for the text
+ * ie) "Page:" and "Per page:"
+ * Should be used to modify all paging text font -amily, size, etc
+ *
+ * - Default setting is null
+ *
+ * @param string $text_class name of class
+ */
+ function setTextClass($text_class) {
+ $this->text_class = $text_class;
+ }
+
+ /**
+ * Sets the inline style to be used for the text
+ * Should be used to modifiy all paging text font-family, size, etc
+ * This will override the text_class setting
+ *
+ * - Default setting is null
+ *
+ * @param string $text_style style to use for the text
+ */
+ function setTextStyle($text_style) {
+ $this->text_style = $text_style;
+ }
+
+ /**
+ * Sets the width of the table bounding the pages/jump box
+ *
+ * - Default setting is "100%"
+ *
+ * @param string $table_width width of table
+ */
+ function setTableWidth($table_width) {
+ $this->table_width = $table_width;
+ }
+
+ /**
+ * Sets the horizontial alignment of the table bounding the paging
+ *
+ * - Default setting is "center"
+ *
+ * @param string $table_align alignment value for table align
+ */
+ function setTableAlign($table_align) {
+ $this->table_align = $table_align;
+ }
+
+ /**
+ * Sets the page variable name for the querystring
+ * @param string $page_var page variable name
+ */
+ function setPageVar($page_var) {
+ $this->page_var = $page_var;
+ }
+
+ /**
+ * Sets the limit variable name for the querystring
+ * @param string $limit_var limit variable name
+ */
+ function setLimitVar($limit_var) {
+ $this->limit_var = $limit_var;
+ }
+
+ /**
+ * Sets the print_limit_select variable to decide if we should show the limit select pulldown
+ * @param bool $view_limit_select if we should show the select pulldown or not
+ */
+ function setViewLimitSelect($view_limit_select) {
+ $this->print_limit_select = $view_limit_select;
+ }
+ //============================================
+
+ //--------------------------------------------
+ // Getter methods
+ //--------------------------------------------
+ /**
+ * Returns the recordset offset
+ * @param none
+ * @return integer recorset offset
+ */
+ function getOffset() {
+ return $this->limit * $this->cur_page - $this->limit;
+ }
+
+ /**
+ * Returns the total number of pages
+ * @param none
+ * @return integer number of pages total
+ */
+ function getTotPages() {
+ return $this->tot_pages;
+ }
+
+ /**
+ * Returns the current page number
+ * @param none
+ * @return integer current page number
+ */
+ function getPageNum() {
+ return $this->cur_page;
+ }
+
+ /**
+ * Returns the current recordset limit
+ * @param none
+ * @return integer recordset limit
+ */
+ function getLimit() {
+ return $this->limit;
+ }
+
+ /**
+ * Returns value of previous link text
+ * @param none
+ * @return string previous link text
+ */
+ function getPrevLink() {
+ return $this->prev_link;
+ }
+
+ /**
+ * Returns value of next link text
+ * @param none
+ * @return string next link text
+ */
+ function getNextLink() {
+ return $this->next_link;
+ }
+
+ /**
+ * Returns the name used for the page querystring variable
+ * @param none
+ * @return string page variable name
+ */
+ function getPageVar() {
+ return $this->page_var;
+ }
+
+ /**
+ * Returns the name used for the limit querystring variable
+ * @param none
+ * @return string limit variable name
+ */
+ function getLimitVar() {
+ return $this->limit_var;
+ }
+ //===========================================
+
+// End class
+}
+?>