3 * Bacula® - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2014 Marcin Haba
8 * The main author of Baculum is Marcin Haba.
9 * The main author of Bacula is Kern Sibbald, with contributions from many
10 * others, a complete list can be found in the file AUTHORS.
12 * You may use this file and others of this release according to the
13 * license defined in the LICENSE file, which includes the Affero General
14 * Public License, v3.0 ("AGPLv3") and some additional permissions and
15 * terms pursuant to its AGPLv3 Section 7.
17 * Bacula® is a registered trademark of Kern Sibbald.
20 class Portlets extends TTemplateControl {
22 const SORT_ASC = 'asc';
23 const SORT_DESC = 'desc';
25 protected function getUrlParams($section, $id) {
26 $limit = $this->Session['limit' . $id];
27 if(is_numeric($limit)) {
28 if(is_array($section)) {
29 array_push($section, 'limit', $limit);
32 $params = array($section, 'limit', $limit);
35 $params = (is_array($section)) ? $section : array($section);
40 protected function getSortOrder($id) {
41 $order = self::SORT_ASC;
42 if(@$this->Request->Cookies['sort']->Value == $id) {
43 $this->Response->Cookies[] = new THttpCookie('sort', null);
44 $order = self::SORT_DESC;
46 $this->Response->Cookies[] = new THttpCookie('sort', $id);
47 $order = self::SORT_ASC;
52 protected function sortData($data, $key, $id) {
53 if($this->getSortOrder($id) == self::SORT_DESC) {
54 $compare = create_function('$a,$b','if ($a["'.$key.'"] == $b["'.$key.'"]) {return 0;}else {return ($a["'.$key.'"] < $b["'.$key.'"]) ? 1 : -1;}');
56 $compare = create_function('$a,$b','if ($a["'.$key.'"] == $b["'.$key.'"]) {return 0;}else {return ($a["'.$key.'"] > $b["'.$key.'"]) ? 1 : -1;}');
58 usort($data,$compare);