X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fdb_pager.inc;h=474fed7a1327d4726702f613cc5843caddbc4ff8;hb=348062667e6a96e9849bf25de0f2a426b4f0b9c6;hp=ce739535acad64f41e7af8c0f4aa5db418429929;hpb=ffb0ae97be5c30eeee98ad9aac45cf5077b515c7;p=fa-stable.git diff --git a/includes/db_pager.inc b/includes/db_pager.inc index ce739535..474fed7a 100644 --- a/includes/db_pager.inc +++ b/includes/db_pager.inc @@ -112,7 +112,7 @@ class db_pager { // Change sort column direction // in order asc->desc->none->asc // - function sort_table($col=null) + function sort_table($col) { $ord = $this->columns[$col]['ord']; $ord = ($ord == '') ? 'asc' : (($ord == 'asc') ? 'desc' : ''); @@ -196,7 +196,7 @@ class db_pager { $flds = array($flds); } foreach ($flds as $colnum=>$coldef) { - if (!is_numeric($colnum)) { // 'colname'=>params + if (is_string($colnum)) { // 'colname'=>params $h = $colnum; $c = $coldef; } else { // n=>params @@ -207,9 +207,8 @@ class db_pager { $h = $coldef; $c = 'text'; } - $c = ''; } - if (!is_array($c)) // params is simple column type + if (is_string($c)) // params is simple column type $c = array('type'=>$c); if (!isset($c['type'])) @@ -249,7 +248,8 @@ class db_pager { return "SELECT COUNT($group) FROM $from $where"; } - $sql = "$select FROM $from $where GROUP BY $group"; + $sql = "$select FROM $from $where"; + if($group) $sql.= " GROUP BY $group"; $ord = array(); foreach( $this->columns as $col) { @@ -297,10 +297,16 @@ class db_pager { global $Ajax; $page = find_submit($this->name.'_page_', false); - $sort = find_submit($this->name.'_sort_', false); + $sort = find_submit($this->name.'_sort_', true); if ($page) { $this->change_page($page); - } elseif ($sort) { + if ($page == 'next' && !$this->next_page || + $page == 'last' && !$this->last_page) + set_focus($this->name.'_page_prev'); + if ($page == 'prev' && !$this->prev_page || + $page == 'first' && !$this->first_page) + set_focus($this->name.'_page_next'); + } elseif ($sort != -1) { $this->sort_table($sort); } else $this->query();