diff --git a/app/controllers/SeminaryController.inc b/app/controllers/SeminaryController.inc index 8a766b0b..37036f3c 100644 --- a/app/controllers/SeminaryController.inc +++ b/app/controllers/SeminaryController.inc @@ -31,7 +31,7 @@ * * @var array */ - public $models = array('seminaries', 'characters', 'characterroles', 'xplevels', 'avatars', 'achievements'); + public $models = array('seminaries', 'characters', 'characterroles', 'xplevels', 'avatars', 'achievements', 'charactertitles'); /** * Current Seminary * @@ -91,6 +91,11 @@ catch(\nre\exceptions\IdNotFoundException $e) { // No Avatar available } + if(!is_null(self::$character['charactertitle_id']) && !is_null(self::$character['gender'])) + { + $title = $this->Charactertitles->getTitleById(self::$character['charactertitle_id']); + self::$character['title'] = $title[(self::$character['gender']) ? 'title_male' : 'title_female']; + } } } catch(\nre\exceptions\IdNotFoundException $e) { diff --git a/controllers/CharactergroupsController.inc b/controllers/CharactergroupsController.inc index 4418248d..6809cad3 100644 --- a/controllers/CharactergroupsController.inc +++ b/controllers/CharactergroupsController.inc @@ -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 diff --git a/controllers/CharactersController.inc b/controllers/CharactersController.inc index 9d2ceb29..a208e111 100644 --- a/controllers/CharactersController.inc +++ b/controllers/CharactersController.inc @@ -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']); diff --git a/controllers/SeminarybarController.inc b/controllers/SeminarybarController.inc index 7a987c37..ba22a73d 100644 --- a/controllers/SeminarybarController.inc +++ b/controllers/SeminarybarController.inc @@ -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; } } diff --git a/views/html/charactergroups/group.tpl b/views/html/charactergroups/group.tpl index 885b6078..34f77909 100644 --- a/views/html/charactergroups/group.tpl +++ b/views/html/charactergroups/group.tpl @@ -38,6 +38,13 @@

+

+ + + +   + +

diff --git a/views/html/characters/character.tpl b/views/html/characters/character.tpl index f8510a94..e0ef53a1 100644 --- a/views/html/characters/character.tpl +++ b/views/html/characters/character.tpl @@ -11,6 +11,9 @@ + +

+