show title of Characters whereever their names appear

This commit is contained in:
oliver 2016-03-26 18:40:45 +01:00
commit 56bcf81b4b
9 changed files with 98 additions and 9 deletions

View file

@ -24,7 +24,7 @@
*
* @var array
*/
public $models = array('seminaries', 'charactergroups', 'charactergroupsquests', 'charactergroupsachievements', 'characters', 'avatars', 'media');
public $models = array('seminaries', 'charactergroups', 'charactergroupsquests', 'charactergroupsachievements', 'characters', 'avatars', 'charactertitles', 'media');
/**
* Required components
*
@ -347,13 +347,21 @@
$group['characters'] = $this->Characters->getCharactersForGroup($group['id']);
$group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']);
// Get Character avatars
// Get Character avatars and titles
foreach($group['characters'] as &$character)
{
// Avatar
$avatar = $this->Avatars->getAvatarById($character['avatar_id']);
if(!is_null($avatar['small_avatarpicture_id'])) {
$character['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']);
}
// Title
if(!is_null($character['charactertitle_id']) && !is_null($character['gender']))
{
$title = $this->Charactertitles->getTitleById($character['charactertitle_id']);
$character['title'] = $title[($character['gender']) ? 'title_male' : 'title_female'];
}
}
// Get Character groups Quests

View file

@ -162,6 +162,11 @@
if(!is_null($character['avatar_id'])) {
$character['avatar'] = $this->Avatars->getAvatarById($character['avatar_id']);
}
if(!is_null($character['charactertitle_id']) && !is_null($character['gender']))
{
$title = $this->Charactertitles->getTitleById($character['charactertitle_id']);
$character['title'] = $title[($character['gender']) ? 'title_male' : 'title_female'];
}
// Get User
$user = $this->Users->getUserById($character['user_id']);
@ -186,6 +191,22 @@
'superior' => $this->Characters->getSuperiorCharacters($seminary['id'], $character['xps'], \nre\configs\AppConfig::$misc['ranking_range']),
'inferior' => $this->Characters->getInferiorCharacters($seminary['id'], $character['id'], $character['xps'], \nre\configs\AppConfig::$misc['ranking_range'])
);
foreach($ranking['superior'] as &$c)
{
if(!is_null($c['charactertitle_id']) && !is_null($c['gender']))
{
$title = $this->Charactertitles->getTitleById($c['charactertitle_id']);
$c['title'] = $title[($c['gender']) ? 'title_male' : 'title_female'];
}
}
foreach($ranking['inferior'] as &$c)
{
if(!is_null($c['charactertitle_id']) && !is_null($c['gender']))
{
$title = $this->Charactertitles->getTitleById($c['charactertitle_id']);
$c['title'] = $title[($c['gender']) ? 'title_male' : 'title_female'];
}
}
// Get Quest topics
$questtopics = $this->Questtopics->getQuesttopicsForSeminary($seminary['id']);

View file

@ -25,7 +25,7 @@
*
* @var array
*/
public $models = array('characters', 'quests', 'questgroups', 'achievements', 'charactergroups', 'avatars', 'media', 'xplevels');
public $models = array('characters', 'quests', 'questgroups', 'achievements', 'charactertitles', 'charactergroups', 'avatars', 'media', 'xplevels');
@ -50,6 +50,11 @@
return;
}
$character['rank'] = $this->Characters->getXPRank($seminary['id'], $character['xps']);
if(!is_null($character['charactertitle_id']) && !is_null($character['gender']))
{
$title = $this->Charactertitles->getTitleById($character['charactertitle_id']);
$character['title'] = $title[($character['gender']) ? 'title_male' : 'title_female'];
}
// Get “last” Quest
$lastQuest = $this->Quests->getLastQuestForCharacter($character['id']);
@ -69,6 +74,14 @@
if($groupsgroup['preferred'])
{
$group['members'] = $this->Characters->getCharactersForGroup($group['id']);
foreach($group['members'] as &$member)
{
if(!is_null($member['charactertitle_id']) && !is_null($member['gender']))
{
$title = $this->Charactertitles->getTitleById($member['charactertitle_id']);
$member['title'] = $title[($member['gender']) ? 'title_male' : 'title_female'];
}
}
$characterGroups[] = $group;
}
}