From 63c4e7c016f64efd681b2bbc852511d6b89fb9d9 Mon Sep 17 00:00:00 2001 From: coderkun Date: Thu, 5 Jun 2014 13:46:37 +0200 Subject: [PATCH] use database to sort Characters for managing them --- controllers/CharactersController.inc | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/controllers/CharactersController.inc b/controllers/CharactersController.inc index df12d9ad..af6d6570 100644 --- a/controllers/CharactersController.inc +++ b/controllers/CharactersController.inc @@ -351,19 +351,15 @@ // Get seminary $seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); - // Set default properties to show - $properties = array( - 'username', - 'xps', - 'roles' - ); + // Set sort order and page $selectedCharacters = array(); - global $sortorder; + $sortorder = 'name'; if($this->request->getRequestMethod() == 'POST') { // Set sortorder $sortorder = $this->request->getPostParam('sortorder'); + $sortorder = !empty($sortorder) ? $sortorder : 'name'; // Do action $selectedCharacters = $this->request->getPostParam('characters'); @@ -425,7 +421,7 @@ $characterfields = $this->Seminarycharacterfields->getFieldsForSeminary($seminary['id']); // Get registered Characters - $characters = $this->Characters->getCharactersForSeminary($seminary['id']); + $characters = $this->Characters->getCharactersForSeminarySorted($seminary['id'], $sortorder); foreach($characters as &$character) { $character['xplevel'] = $this->Characters->getXPLevelOfCharacters($character['id']); @@ -437,22 +433,6 @@ } } - // Sort Characters - $sortorder = (!is_null($sortorder)) ? $sortorder : 'xps'; - $sortMethod = 'sortCharactersBy'.ucfirst(strtolower($sortorder)); - if(method_exists($this, $sortMethod)) { - usort($characters, array($this, $sortMethod)); - } - elseif(in_array($sortorder, array_map(function($f) { return $f['title']; }, $characterfields))) { - usort($characters, function($a, $b) { - global $sortorder; - return $this->sortCharactersByField($a, $b, $sortorder); - }); - } - else { - throw new \nre\exceptions\ParamsNotValidException($sortorder); - } - // Set titile $this->addTitleLocalized('Manage Characters');