show title of Characters whereever their names appear

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

View file

@ -31,7 +31,7 @@
* *
* @var array * @var array
*/ */
public $models = array('seminaries', 'characters', 'characterroles', 'xplevels', 'avatars', 'achievements'); public $models = array('seminaries', 'characters', 'characterroles', 'xplevels', 'avatars', 'achievements', 'charactertitles');
/** /**
* Current Seminary * Current Seminary
* *
@ -91,6 +91,11 @@
catch(\nre\exceptions\IdNotFoundException $e) { catch(\nre\exceptions\IdNotFoundException $e) {
// No Avatar available // 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) { catch(\nre\exceptions\IdNotFoundException $e) {

View file

@ -24,7 +24,7 @@
* *
* @var array * @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 * Required components
* *
@ -347,13 +347,21 @@
$group['characters'] = $this->Characters->getCharactersForGroup($group['id']); $group['characters'] = $this->Characters->getCharactersForGroup($group['id']);
$group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']); $group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']);
// Get Character avatars // Get Character avatars and titles
foreach($group['characters'] as &$character) foreach($group['characters'] as &$character)
{ {
// Avatar
$avatar = $this->Avatars->getAvatarById($character['avatar_id']); $avatar = $this->Avatars->getAvatarById($character['avatar_id']);
if(!is_null($avatar['small_avatarpicture_id'])) { if(!is_null($avatar['small_avatarpicture_id'])) {
$character['small_avatar'] = $this->Media->getSeminaryMediaById($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 // Get Character groups Quests

View file

@ -162,6 +162,11 @@
if(!is_null($character['avatar_id'])) { if(!is_null($character['avatar_id'])) {
$character['avatar'] = $this->Avatars->getAvatarById($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 // Get User
$user = $this->Users->getUserById($character['user_id']); $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']), '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']) '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 // Get Quest topics
$questtopics = $this->Questtopics->getQuesttopicsForSeminary($seminary['id']); $questtopics = $this->Questtopics->getQuesttopicsForSeminary($seminary['id']);

View file

@ -25,7 +25,7 @@
* *
* @var array * @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; return;
} }
$character['rank'] = $this->Characters->getXPRank($seminary['id'], $character['xps']); $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 // Get “last” Quest
$lastQuest = $this->Quests->getLastQuestForCharacter($character['id']); $lastQuest = $this->Quests->getLastQuestForCharacter($character['id']);
@ -69,6 +74,14 @@
if($groupsgroup['preferred']) if($groupsgroup['preferred'])
{ {
$group['members'] = $this->Characters->getCharactersForGroup($group['id']); $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; $characterGroups[] = $group;
} }
} }

View file

@ -38,6 +38,13 @@
<?php if(array_key_exists('small_avatar', $character)) : ?> <?php if(array_key_exists('small_avatar', $character)) : ?>
<p><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['small_avatar']['url']))?>"></p> <p><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['small_avatar']['url']))?>"></p>
<?php endif ?> <?php endif ?>
<p class="ctitle">
<?php if(array_key_exists('title', $character)) : ?>
<?=$character['title']?>
<?php else : ?>
&nbsp;
<?php endif ?>
</p>
<p><a href="<?=$linker->link(array('characters','character',$seminary['url'],$character['url']))?>"><?=$character['name']?></a></p> <p><a href="<?=$linker->link(array('characters','character',$seminary['url'],$character['url']))?>"><?=$character['name']?></a></p>
<p><small><?=sprintf(_('%dXPs'), $character['xps'])?></small></p> <p><small><?=sprintf(_('%dXPs'), $character['xps'])?></small></p>
</li> </li>

View file

@ -11,6 +11,9 @@
</li> </li>
</ul> </ul>
<?php if(array_key_exists('title', $character)) : ?>
<p class="ctitle"><?=$character['title']?></p>
<?php endif ?>
<h1><i class="fa fa-user fa-fw"></i><?=$character['name']?></h1> <h1><i class="fa fa-user fa-fw"></i><?=$character['name']?></h1>
<nav class="admin"> <nav class="admin">
<?php if(count(array_intersect(array('admin','moderator'), \hhu\z\controllers\SeminaryController::$character['characterroles'])) > 0 || $character['id'] == \hhu\z\controllers\SeminaryController::$character['id']) : ?> <?php if(count(array_intersect(array('admin','moderator'), \hhu\z\controllers\SeminaryController::$character['characterroles'])) > 0 || $character['id'] == \hhu\z\controllers\SeminaryController::$character['id']) : ?>
@ -75,7 +78,13 @@
<?php foreach($ranking['superior'] as $index => &$rankCharacter) : ?> <?php foreach($ranking['superior'] as $index => &$rankCharacter) : ?>
<li> <li>
<a href="<?=$linker->link($rankCharacter['url'],3)?>"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a> <a href="<?=$linker->link($rankCharacter['url'],3)?>"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a>
<p><?=$character['rank']-count($ranking['superior'])+$index?>. <a href="<?=$linker->link($rankCharacter['url'],3)?>"><?=$rankCharacter['name']?></a></p> <p>
<?=$character['rank']-count($ranking['superior'])+$index?>.
<?php if(array_key_exists('title', $rankCharacter)) : ?>
<span class="ctitle"><?=$rankCharacter['title']?></span>
<?php endif ?>
<a href="<?=$linker->link($rankCharacter['url'],3)?>"><?=$rankCharacter['name']?></a>
</p>
<p><small> <p><small>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?> <?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>) <?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)
@ -89,7 +98,13 @@
<?php if(array_key_exists('avatar', $character) && !is_null($character['avatar']['avatarpicture_id'])) : ?> <?php if(array_key_exists('avatar', $character) && !is_null($character['avatar']['avatarpicture_id'])) : ?>
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level'],'portrait'))?>"> <img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level'],'portrait'))?>">
<?php endif ?> <?php endif ?>
<p class="fwb"><?=$character['rank']?>. <?=$character['name']?></p> <p class="fwb">
<?=$character['rank']?>.
<?php if(array_key_exists('title', $character)) : ?>
<span class="ctitle"><?=$character['title']?></span>
<?php endif ?>
<?=$character['name']?>
</p>
<p><small> <p><small>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?> <?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<?=_('Level')?> <?=$character['xplevel']['level']?> (<?=sprintf(_('%dXPs'), $character['xps'])?>) <?=_('Level')?> <?=$character['xplevel']['level']?> (<?=sprintf(_('%dXPs'), $character['xps'])?>)
@ -101,7 +116,13 @@
<?php foreach($ranking['inferior'] as $index => &$rankCharacter) : ?> <?php foreach($ranking['inferior'] as $index => &$rankCharacter) : ?>
<li> <li>
<a href="<?=$linker->link($rankCharacter['url'],3)?>"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a> <a href="<?=$linker->link($rankCharacter['url'],3)?>"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$rankCharacter['charactertype_url'],$rankCharacter['xplevel'],'portrait'))?>"></a>
<p><?=$character['rank']+$index+1?>. <a href="<?=$linker->link($rankCharacter['url'],3)?>"><?=$rankCharacter['name']?></a></p> <p>
<?=$character['rank']+$index+1?>.
<?php if(array_key_exists('title', $rankCharacter)) : ?>
<span class="ctitle"><?=$rankCharacter['title']?></span>
<?php endif ?>
<a href="<?=$linker->link($rankCharacter['url'],3)?>"><?=$rankCharacter['name']?></a>
</p>
<p><small> <p><small>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?> <?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>) <?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)

View file

@ -46,6 +46,9 @@
<?php if(array_key_exists('avatar', $loggedCharacter) && !is_null($loggedCharacter['avatar']['small_avatarpicture_id'])) : ?> <?php if(array_key_exists('avatar', $loggedCharacter) && !is_null($loggedCharacter['avatar']['small_avatarpicture_id'])) : ?>
<img src="<?=$linker->link(array('media','avatar',$loggedSeminary['url'],$loggedCharacter['charactertype_url'],$loggedCharacter['xplevel']['level'],'portrait'))?>" /> <img src="<?=$linker->link(array('media','avatar',$loggedSeminary['url'],$loggedCharacter['charactertype_url'],$loggedCharacter['xplevel']['level'],'portrait'))?>" />
<?php endif ?> <?php endif ?>
<?php if(array_key_exists('title', $loggedCharacter)) : ?>
<span class="ctitle"><?=$loggedCharacter['title']?></span>
<?php endif ?>
<span><?=$loggedCharacter['name']?></span><span class="lvlname">Level <?=$loggedCharacter['xplevel']['level']?></span> <span><?=$loggedCharacter['name']?></span><span class="lvlname">Level <?=$loggedCharacter['xplevel']['level']?></span>
</a> </a>
<?php else : ?> <?php else : ?>

View file

@ -1,5 +1,8 @@
<?php if($render) : ?> <?php if($render) : ?>
<section class="cf"> <section class="cf">
<?php if(array_key_exists('title', $character)) : ?>
<p class="ctitle"><?=$character['title']?></p>
<?php endif ?>
<h1><?=$character['name']?></h1> <h1><?=$character['name']?></h1>
<?php if(array_key_exists('avatar', $character) && !is_null($character['avatar']['avatarpicture_id'])) : ?> <?php if(array_key_exists('avatar', $character) && !is_null($character['avatar']['avatarpicture_id'])) : ?>
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" class="char"> <img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" class="char">
@ -43,7 +46,12 @@
<?php foreach($group['members'] as &$member) : ?> <?php foreach($group['members'] as &$member) : ?>
<li> <li>
<a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$member['charactertype_url'],$member['xplevel'],'portrait'))?>"></a> <a href="#" title="Achievement-Titel"><img src="<?=$linker->link(array('media','avatar',$seminary['url'],$member['charactertype_url'],$member['xplevel'],'portrait'))?>"></a>
<p><a href="<?=$linker->link(array('characters','character',$seminary['url'],$member['url']))?>"><?=$member['name']?></a></p> <p>
<?php if(array_key_exists('title', $member)) : ?>
<span class="ctitle"><?=$member['title']?></span>
<?php endif ?>
<a href="<?=$linker->link(array('characters','character',$seminary['url'],$member['url']))?>"><?=$member['name']?></a>
</p>
<p><small> <p><small>
<?php if(array_key_exists('xplevel', $member) && !is_null($member['xplevel'])) : ?> <?php if(array_key_exists('xplevel', $member) && !is_null($member['xplevel'])) : ?>
<?=_('Level')?> <?=$member['xplevel']?> (<?=sprintf(_('%dXPs'), $member['xps'])?>) <?=_('Level')?> <?=$member['xplevel']?> (<?=sprintf(_('%dXPs'), $member['xps'])?>)

View file

@ -259,6 +259,9 @@ input[type="submit"][disabled]{text-shadow:1px 2px #d48c4e;background:#f9ac69;bo
.ctopics .xpbar,.ltopics .xpbar{background:#e4e1dd} .ctopics .xpbar,.ltopics .xpbar{background:#e4e1dd}
.ctopics .xpbar span{background:#50a4ab} .ctopics .xpbar span{background:#50a4ab}
p.ctitle{font-size:.875em;padding:0;margin:0 0 -20px}
span.ctitle{font-size:.75em;padding:0;margin:0}
/** Charactergroup List **/ /** Charactergroup List **/
@ -470,7 +473,7 @@ header nav{margin:0}
header a{margin-left:40px} header a{margin-left:40px}
#home{display:block;opacity:1} #home{display:block;opacity:1}
#profile{float:none;height:94px;margin-bottom:28px;background:#0c2e32} #profile{float:none;height:94px;margin-bottom:28px;background:#0c2e32}
#profile a{margin-top:15px;margin-left:40px} #profile a{margin-top:8px;margin-left:40px}
#profile img{width:44px;height:44px;border-radius:22px} #profile img{width:44px;height:44px;border-radius:22px}
#profile span{display:block} #profile span{display:block}
#profile .lvlname{margin-top:0} #profile .lvlname{margin-top:0}