3 * Bacula(R) - The Network Backup Solution
4 * Baculum - Bacula web interface
6 * Copyright (C) 2013-2015 Marcin Haba
8 * The main author of Baculum is Marcin Haba.
9 * The original author of Bacula is Kern Sibbald, with contributions
10 * from many 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 * This notice must be preserved when any source code is
18 * conveyed and/or propagated.
20 * Bacula(R) is a registered trademark of Kern Sibbald.
23 class Portlets extends TTemplateControl {
25 const SORT_ASC = 'asc';
26 const SORT_DESC = 'desc';
28 protected function getUrlParams($section, $id) {
29 $limit = $_SESSION['limit' . $id];
30 if(is_numeric($limit)) {
31 if(is_array($section)) {
32 array_push($section, 'limit', $limit);
35 $params = array($section, 'limit', $limit);
38 $params = (is_array($section)) ? $section : array($section);
43 protected function getSortOrder($id) {
44 $order = self::SORT_ASC;
45 if(@$this->Request->Cookies['sort']->Value == $id) {
46 $this->Response->Cookies[] = new THttpCookie('sort', null);
47 $order = self::SORT_DESC;
49 $this->Response->Cookies[] = new THttpCookie('sort', $id);
50 $order = self::SORT_ASC;
55 protected function sortData($data, $key, $id) {
56 if($this->getSortOrder($id) == self::SORT_DESC) {
57 $compare = create_function('$a,$b','if ($a["'.$key.'"] == $b["'.$key.'"]) {return 0;}else {return ($a["'.$key.'"] < $b["'.$key.'"]) ? 1 : -1;}');
59 $compare = create_function('$a,$b','if ($a["'.$key.'"] == $b["'.$key.'"]) {return 0;}else {return ($a["'.$key.'"] > $b["'.$key.'"]) ? 1 : -1;}');
61 usort($data,$compare);