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
*/
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) {

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;
}
}

View file

@ -38,6 +38,13 @@
<?php if(array_key_exists('small_avatar', $character)) : ?>
<p><img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['small_avatar']['url']))?>"></p>
<?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><small><?=sprintf(_('%dXPs'), $character['xps'])?></small></p>
</li>

View file

@ -11,6 +11,9 @@
</li>
</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>
<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']) : ?>
@ -75,7 +78,13 @@
<?php foreach($ranking['superior'] as $index => &$rankCharacter) : ?>
<li>
<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>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)
@ -89,7 +98,13 @@
<?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'))?>">
<?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>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<?=_('Level')?> <?=$character['xplevel']['level']?> (<?=sprintf(_('%dXPs'), $character['xps'])?>)
@ -101,7 +116,13 @@
<?php foreach($ranking['inferior'] as $index => &$rankCharacter) : ?>
<li>
<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>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('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'])) : ?>
<img src="<?=$linker->link(array('media','avatar',$loggedSeminary['url'],$loggedCharacter['charactertype_url'],$loggedCharacter['xplevel']['level'],'portrait'))?>" />
<?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>
</a>
<?php else : ?>

View file

@ -1,5 +1,8 @@
<?php if($render) : ?>
<section class="cf">
<?php if(array_key_exists('title', $character)) : ?>
<p class="ctitle"><?=$character['title']?></p>
<?php endif ?>
<h1><?=$character['name']?></h1>
<?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">
@ -43,7 +46,12 @@
<?php foreach($group['members'] as &$member) : ?>
<li>
<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>
<?php if(array_key_exists('xplevel', $member) && !is_null($member['xplevel'])) : ?>
<?=_('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 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 **/
@ -470,7 +473,7 @@ header nav{margin:0}
header a{margin-left:40px}
#home{display:block;opacity:1}
#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 span{display:block}
#profile .lvlname{margin-top:0}