From 5a73a2d3140db38cba43bf34f90831e0e26a8ffd Mon Sep 17 00:00:00 2001 From: wei <> Date: Tue, 16 May 2006 07:42:43 +0000 Subject: Remove adodb from DataAccess directory. --- framework/DataAccess/adodb/adodb-pager.inc.php | 290 ------------------------- 1 file changed, 290 deletions(-) delete mode 100644 framework/DataAccess/adodb/adodb-pager.inc.php (limited to 'framework/DataAccess/adodb/adodb-pager.inc.php') diff --git a/framework/DataAccess/adodb/adodb-pager.inc.php b/framework/DataAccess/adodb/adodb-pager.inc.php deleted file mode 100644 index 04bea98e..00000000 --- a/framework/DataAccess/adodb/adodb-pager.inc.php +++ /dev/null @@ -1,290 +0,0 @@ - implemented Render_PageLinks(). - - Please note, this class is entirely unsupported, - and no free support requests except for bug reports - will be entertained by the author. - -*/ -class ADODB_Pager { - var $id; // unique id for pager (defaults to 'adodb') - var $db; // ADODB connection object - var $sql; // sql used - var $rs; // recordset generated - var $curr_page; // current page number before Render() called, calculated in constructor - var $rows; // number of rows per page - var $linksPerPage=10; // number of links per page in navigation bar - var $showPageLinks; - - var $gridAttributes = 'width=100% border=1 bgcolor=white'; - - // Localize text strings here - var $first = '|<'; - var $prev = '<<'; - var $next = '>>'; - var $last = '>|'; - var $moreLinks = '...'; - var $startLinks = '...'; - var $gridHeader = false; - var $htmlSpecialChars = true; - var $page = 'Page'; - var $linkSelectedColor = 'red'; - var $cache = 0; #secs to cache with CachePageExecute() - - //---------------------------------------------- - // constructor - // - // $db adodb connection object - // $sql sql statement - // $id optional id to identify which pager, - // if you have multiple on 1 page. - // $id should be only be [a-z0-9]* - // - function ADODB_Pager(&$db,$sql,$id = 'adodb', $showPageLinks = false) - { - global $PHP_SELF; - - $curr_page = $id.'_curr_page'; - if (empty($PHP_SELF)) $PHP_SELF = htmlspecialchars($_SERVER['PHP_SELF']); // htmlspecialchars() to prevent XSS attacks - - $this->sql = $sql; - $this->id = $id; - $this->db = $db; - $this->showPageLinks = $showPageLinks; - - $next_page = $id.'_next_page'; - - if (isset($_GET[$next_page])) { - $_SESSION[$curr_page] = (integer) $_GET[$next_page]; - } - if (empty($_SESSION[$curr_page])) $_SESSION[$curr_page] = 1; ## at first page - - $this->curr_page = $_SESSION[$curr_page]; - - } - - //--------------------------- - // Display link to first page - function Render_First($anchor=true) - { - global $PHP_SELF; - if ($anchor) { - ?> - first;?>   - first   "; - } - } - - //-------------------------- - // Display link to next page - function render_next($anchor=true) - { - global $PHP_SELF; - - if ($anchor) { - ?> - next;?>   - next   "; - } - } - - //------------------ - // Link to last page - // - // for better performance with large recordsets, you can set - // $this->db->pageExecuteCountRows = false, which disables - // last page counting. - function render_last($anchor=true) - { - global $PHP_SELF; - - if (!$this->db->pageExecuteCountRows) return; - - if ($anchor) { - ?> - last;?>   - last   "; - } - } - - //--------------------------------------------------- - // original code by "Pablo Costa" - function render_pagelinks() - { - global $PHP_SELF; - $pages = $this->rs->LastPageNo(); - $linksperpage = $this->linksPerPage ? $this->linksPerPage : $pages; - for($i=1; $i <= $pages; $i+=$linksperpage) - { - if($this->rs->AbsolutePage() >= $i) - { - $start = $i; - } - } - $numbers = ''; - $end = $start+$linksperpage-1; - $link = $this->id . "_next_page"; - if($end > $pages) $end = $pages; - - - if ($this->startLinks && $start > 1) { - $pos = $start - 1; - $numbers .= "$this->startLinks "; - } - - for($i=$start; $i <= $end; $i++) { - if ($this->rs->AbsolutePage() == $i) - $numbers .= "linkSelectedColor>$i "; - else - $numbers .= "$i "; - - } - if ($this->moreLinks && $end < $pages) - $numbers .= "$this->moreLinks "; - print $numbers . '   '; - } - // Link to previous page - function render_prev($anchor=true) - { - global $PHP_SELF; - if ($anchor) { - ?> - prev;?>   - prev   "; - } - } - - //-------------------------------------------------------- - // Simply rendering of grid. You should override this for - // better control over the format of the grid - // - // We use output buffering to keep code clean and readable. - function RenderGrid() - { - global $gSQLBlockRows; // used by rs2html to indicate how many rows to display - include_once(ADODB_DIR.'/tohtml.inc.php'); - ob_start(); - $gSQLBlockRows = $this->rows; - rs2html($this->rs,$this->gridAttributes,$this->gridHeader,$this->htmlSpecialChars); - $s = ob_get_contents(); - ob_end_clean(); - return $s; - } - - //------------------------------------------------------- - // Navigation bar - // - // we use output buffering to keep the code easy to read. - function RenderNav() - { - ob_start(); - if (!$this->rs->AtFirstPage()) { - $this->Render_First(); - $this->Render_Prev(); - } else { - $this->Render_First(false); - $this->Render_Prev(false); - } - if ($this->showPageLinks){ - $this->Render_PageLinks(); - } - if (!$this->rs->AtLastPage()) { - $this->Render_Next(); - $this->Render_Last(); - } else { - $this->Render_Next(false); - $this->Render_Last(false); - } - $s = ob_get_contents(); - ob_end_clean(); - return $s; - } - - //------------------- - // This is the footer - function RenderPageCount() - { - if (!$this->db->pageExecuteCountRows) return ''; - $lastPage = $this->rs->LastPageNo(); - if ($lastPage == -1) $lastPage = 1; // check for empty rs. - if ($this->curr_page > $lastPage) $this->curr_page = 1; - return "$this->page ".$this->curr_page."/".$lastPage.""; - } - - //----------------------------------- - // Call this class to draw everything. - function Render($rows=10) - { - global $ADODB_COUNTRECS; - - $this->rows = $rows; - - if ($this->db->dataProvider == 'informix') $this->db->cursorType = IFX_SCROLL; - - $savec = $ADODB_COUNTRECS; - if ($this->db->pageExecuteCountRows) $ADODB_COUNTRECS = true; - if ($this->cache) - $rs = &$this->db->CachePageExecute($this->cache,$this->sql,$rows,$this->curr_page); - else - $rs = &$this->db->PageExecute($this->sql,$rows,$this->curr_page); - $ADODB_COUNTRECS = $savec; - - $this->rs = &$rs; - if (!$rs) { - print "

Query failed: $this->sql

"; - return; - } - - if (!$rs->EOF && (!$rs->AtFirstPage() || !$rs->AtLastPage())) - $header = $this->RenderNav(); - else - $header = " "; - - $grid = $this->RenderGrid(); - $footer = $this->RenderPageCount(); - - $this->RenderLayout($header,$grid,$footer); - - $rs->Close(); - $this->rs = false; - } - - //------------------------------------------------------ - // override this to control overall layout and formating - function RenderLayout($header,$grid,$footer,$attributes='border=1 bgcolor=beige') - { - echo "
", - $header, - "
", - $grid, - "
", - $footer, - "
"; - } -} - - -?> \ No newline at end of file -- cgit v1.2.3