4 |
## $Id$ |
## $Id$ |
5 |
## ------------------------------------------------------------------ |
## ------------------------------------------------------------------ |
6 |
## $Log$ |
## $Log$ |
7 |
|
## Revision 1.4 2004/11/20 18:33:33 jonen |
8 |
|
## + enabled session register of table_state |
9 |
|
## (it seems like it DOES support more TB at session..or?..) |
10 |
|
## + fixed paging |
11 |
|
## |
12 |
|
## Revision 1.3 2002/12/23 11:29:49 jonen |
13 |
|
## + disabled save state to session var, cause this doesn't support |
14 |
|
## more than one TB paging settings |
15 |
|
## |
16 |
|
## Revision 1.2 2002/12/18 22:38:49 jonen |
17 |
|
## + added (semi-, needs rework!) paging of case 'list' |
18 |
|
## |
19 |
## Revision 1.1 2002/12/06 04:11:58 joko |
## Revision 1.1 2002/12/06 04:11:58 joko |
20 |
## + initial check-in - moved here from core-lib |
## + initial check-in - moved here from core-lib |
21 |
## |
## |
72 |
|
|
73 |
// register session-var, if not yet done |
// register session-var, if not yet done |
74 |
global $table_state; |
global $table_state; |
75 |
|
// TODO: if save state in session, each TableBrowser 'MUST' have |
76 |
|
// its own session-var to support more than one TB at session |
77 |
if (!session_is_registered('table_state')) { |
if (!session_is_registered('table_state')) { |
78 |
session_register('table_state'); |
session_register('table_state'); |
79 |
} |
} |
80 |
|
|
81 |
|
//print "table_state: " . Dumper($table_state) . "<br>"; |
82 |
|
|
83 |
// store ident to object-variable |
// store ident to object-variable |
84 |
$this->ident = $ident; |
$this->ident = $ident; |
233 |
return; |
return; |
234 |
} |
} |
235 |
reset($this->handle); |
reset($this->handle); |
236 |
|
|
237 |
|
// modify sql (paging) |
238 |
|
if ($paging[enabled]) { |
239 |
|
// get count of rows |
240 |
|
// store maxpages |
241 |
|
//$table_state[$this->ident][paging][pagemax] = (mysql_num_rows($res) / $this->paging[pagesize]) - 1; |
242 |
|
//$table_state[$this->ident][paging][pagemax] = round(count($this->handle) / $this->paging[pagesize]) - 1; |
243 |
|
if(round(count($this->handle) / $this->paging[pagesize]) > count($this->handle) / $this->paging[pagesize]) { |
244 |
|
$table_state[$this->ident][paging][pagemax] = round(count($this->handle) / $this->paging[pagesize]) -1; |
245 |
|
} else { |
246 |
|
$table_state[$this->ident][paging][pagemax] = round(count($this->handle) / $this->paging[pagesize]); |
247 |
|
} |
248 |
|
$idx_start = $paging[page] * $paging[pagesize]; |
249 |
|
for ($i = $idx_start; $i > 0; $i--) { |
250 |
|
next($this->handle); |
251 |
|
} |
252 |
|
} |
253 |
|
|
254 |
|
$counter = 0; |
255 |
while($row = current($this->handle)) { |
while($row = current($this->handle)) { |
256 |
if (!$this->filters[keys] || in_array($row[title], $this->filters[keys])) { |
if (!$this->filters[keys] || in_array($row[title], $this->filters[keys])) { |
257 |
$this->buffer .= $callback_row($row) . "\n"; |
$this->buffer .= $callback_row($row) . "\n"; |
258 |
} |
} |
259 |
next($this->handle); |
next($this->handle); |
260 |
|
$counter++; |
261 |
|
if ($paging[pagesize] == $counter) { |
262 |
|
break; |
263 |
|
} |
264 |
} |
} |
265 |
break; |
break; |
266 |
|
|