use database to sort Characters for managing them
This commit is contained in:
parent
eda4d363e2
commit
63c4e7c016
1 changed files with 4 additions and 24 deletions
|
|
@ -351,19 +351,15 @@
|
||||||
// Get seminary
|
// Get seminary
|
||||||
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
|
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
|
||||||
|
|
||||||
// Set default properties to show
|
// Set sort order and page
|
||||||
$properties = array(
|
|
||||||
'username',
|
|
||||||
'xps',
|
|
||||||
'roles'
|
|
||||||
);
|
|
||||||
|
|
||||||
$selectedCharacters = array();
|
$selectedCharacters = array();
|
||||||
global $sortorder;
|
$sortorder = 'name';
|
||||||
if($this->request->getRequestMethod() == 'POST')
|
if($this->request->getRequestMethod() == 'POST')
|
||||||
{
|
{
|
||||||
// Set sortorder
|
// Set sortorder
|
||||||
$sortorder = $this->request->getPostParam('sortorder');
|
$sortorder = $this->request->getPostParam('sortorder');
|
||||||
|
$sortorder = !empty($sortorder) ? $sortorder : 'name';
|
||||||
|
|
||||||
// Do action
|
// Do action
|
||||||
$selectedCharacters = $this->request->getPostParam('characters');
|
$selectedCharacters = $this->request->getPostParam('characters');
|
||||||
|
|
@ -425,7 +421,7 @@
|
||||||
$characterfields = $this->Seminarycharacterfields->getFieldsForSeminary($seminary['id']);
|
$characterfields = $this->Seminarycharacterfields->getFieldsForSeminary($seminary['id']);
|
||||||
|
|
||||||
// Get registered Characters
|
// Get registered Characters
|
||||||
$characters = $this->Characters->getCharactersForSeminary($seminary['id']);
|
$characters = $this->Characters->getCharactersForSeminarySorted($seminary['id'], $sortorder);
|
||||||
foreach($characters as &$character)
|
foreach($characters as &$character)
|
||||||
{
|
{
|
||||||
$character['xplevel'] = $this->Characters->getXPLevelOfCharacters($character['id']);
|
$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
|
// Set titile
|
||||||
$this->addTitleLocalized('Manage Characters');
|
$this->addTitleLocalized('Manage Characters');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue