Changeset 804:f10e7e0dffe0 for inc
- Timestamp:
- 03/16/12 09:13:56 (13 years ago)
- Branch:
- formfilters
- Location:
- inc/admin
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
inc/admin/class.dc.filter.php
r783 r804 236 236 if ($this->eextra != null) { 237 237 $this->eextra->save(); 238 $this->eextra->updateRequestParams($data);239 238 } 240 239 http::redirect($this->action.'?'.http_build_query($data,'','&')); … … 260 259 } 261 260 if ($load_from_settings) { 262 $get = new ArrayObject($this->loadFilters()); 263 if ($this->eextra != null) { 264 $this->eextra->load(); 265 $this->eextra->updateRequestParams($get); 266 } 261 $get = new ArrayObject(array_merge($this->loadFilters(),$get)); 267 262 } 268 263 $this->initializeFromData($this->efilters, $this->eextra, $get); 269 264 $this->initializeFromData($this->lfilters, $this->lextra, $get); 265 270 266 } 271 267 } -
inc/admin/class.dc.list.php
r782 r804 319 319 { 320 320 if (!is_null($this->sortby) && !is_null($this->order)) { 321 foreach ($this->columns as $k => $c) { 322 if ( 323 $this->sortby === $c->getInfo('alias') && 324 in_array($this->order,array('asc','desc')) 325 ) { 326 $params['order'] = $this->sortby.' '.$this->order; 327 break; 328 } 321 if ( 322 isset($this->columns[$this->sortby]) && 323 in_array($this->order,array('asc','desc')) 324 ) { 325 $params['order'] = $this->columns[$this->sortby]->getInfo('alias').' '.$this->order; 329 326 } 330 327 } … … 359 356 360 357 $list = array(); 361 358 $sortby_combo = array(); 362 359 foreach ($this->columns as $k => $v) { 363 360 $col_id = $this->form_prefix.$k; … … 368 365 array_push($list,$col_html); 369 366 } 370 } 367 $sortby_combo[$v->getInfo('title')] = $k; 368 } 369 $order_combo = array( 370 __('Descending') => 'desc', 371 __('Ascending') => 'asc' 372 ); 371 373 372 374 $nb_per_page = !is_null($this->nb_per_page) ? $this->nb_per_page : 10; … … 376 378 '<p><label for="nb_per_page">'.__('Items per page:'). 377 379 '</label> '.form::field('nb_per_page',3,3,$nb_per_page). 380 '</p>'. 381 '<p><label for="sortby">'.__('Sort by:'). 382 '</label> '.form::combo('sortby',$sortby_combo,$this->sortby). 383 '</p>'. 384 '<p><label for="order">'.__('Order:'). 385 '</label> '.form::combo('order',$order_combo,$this->order). 378 386 '</p>'; 379 387 } 380 388 381 389 public function updateRequestParams($params) { 382 if (!is_null($this->sortby) ) {383 $params['sortby'] = $this-> sortby;390 if (!is_null($this->sortby) && isset($this->columns[$this->sortby])) { 391 $params['sortby'] = $this->columns[$this->sortby]->getInfo('alias'); 384 392 } 385 393 if (!is_null($this->order)) { … … 562 570 $v->setVisibility($visibility); 563 571 } 572 if (!isset($this->columns[$this->sortby])) { 573 // No alias found 574 $this->sortby=''; 575 } 576 564 577 } 565 578 … … 604 617 $this->sortby = array_key_exists('sortby',$data) ? $data['sortby'] : $this->sortby; 605 618 $this->order = array_key_exists('order',$data) ? $data['order'] : $this->order; 606 $this->nb_per_page = array_key_exists('nb_per_page',$data) ? $data['nb_per_page'] : $this->nb_per_page;619 $this->nb_per_page = array_key_exists('nb_per_page',$data) ? (integer) $data['nb_per_page'] : $this->nb_per_page; 607 620 # Page 608 $this->page = array_key_exists('page',$data) ? $data['page'] : 1;621 $this->page = array_key_exists('page',$data) ? (integer) $data['page'] : 1; 609 622 if ($load_from_settings) 610 623 return; 611 612 624 foreach ($this->columns as $k => $v) { 613 625 $key = $this->form_prefix.$k; … … 667 679 { 668 680 $order = 'desc'; 669 if (!is_null($this->sortby) && $this->sortby === $c->getInfo(' alias')) {681 if (!is_null($this->sortby) && $this->sortby === $c->getInfo('id')) { 670 682 if (!is_null($this->order) && $this->order === $order) { 671 683 $order = 'asc'; … … 674 686 675 687 $args = $_GET; 676 $args['sortby'] = $c->getInfo(' alias');688 $args['sortby'] = $c->getInfo('id'); 677 689 $args['order'] = $order; 678 690
Note: See TracChangeset
for help on using the changeset viewer.