make XP-level optional for Characters

This commit is contained in:
coderkun 2014-07-31 12:49:11 +02:00
commit 955861f528
3 changed files with 48 additions and 6 deletions

View file

@ -96,13 +96,18 @@
$characters = $this->Characters->getCharactersForSeminarySorted($seminary['id'], $sortorder, $charactername, $limit, $offset);
foreach($characters as &$character)
{
$character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']);
$character['user'] = $this->Users->getUserById($character['user_id']);
$character['characterroles'] = array_map(function($r) { return $r['name']; }, $this->Characterroles->getCharacterrolesForCharacterById($character['id']));
$character['characterfields'] = array();
foreach($this->Seminarycharacterfields->getFieldsForCharacter($character['id']) as $value) {
$character['characterfields'][$value['url']] = $value;
}
try {
$character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']);
}
catch(\nre\exceptions\IdNotFoundException $e) {
// No XP-level
}
try {
$character['avatar'] = $this->Avatars->getAvatarByTypeAndLevel($seminary['id'], $character['charactertype_url'], $character['xplevel']['level']);
}
@ -146,7 +151,12 @@
// Get Character
$character = $this->Characters->getCharacterByUrl($seminary['id'], $characterUrl);
try {
$character['xplevel'] = $this->Xplevels->getXPLevelById($character['xplevel_id']);
}
catch(\nre\exceptions\IdNotFoundException $e) {
// No XP-level
}
$character['rank'] = $this->Characters->getXPRank($seminary['id'], $character['xps']);
// Get User

View file

@ -33,10 +33,12 @@
</div>
<p><small><?=_('Total progress')?>: <?=round($character['quest_xps']*100/$seminary['achievable_xps'])?>%</small></p>
</div>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<div class="cdata square">
<p class="value"><?=$character['xplevel']['level']?></p>
<p><small><?=_('Level')?></small></p>
</div>
<?php endif ?>
<div class="cdata square">
<p class="value"><?=$character['xps']?></p>
<p><small>XP</small></p>
@ -61,9 +63,11 @@
<?php endforeach ?>
</ul>
</div>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<div class="cportrait">
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" />
</div>
<?php endif ?>
</section>
<div class="cf">
@ -74,19 +78,39 @@
<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><small><?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)</small></p>
<p><small>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)
<?php else : ?>
<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>
<?php endif ?>
</small></p>
</li>
<?php endforeach ?>
<li>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<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><small><?=_('Level')?> <?=$character['xplevel']['level']?> (<?=sprintf(_('%dXPs'), $character['xps'])?>)</small></p>
<p><small>
<?php if(array_key_exists('xplevel', $character) && !is_null($character['xplevel'])) : ?>
<?=_('Level')?> <?=$character['xplevel']['level']?> (<?=sprintf(_('%dXPs'), $character['xps'])?>)
<?php else : ?>
<?=sprintf(_('%dXPs'), $character['xps'])?>
<?php endif ?>
</small></p>
</li>
<?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><small><?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)</small></p>
<p><small>
<?php if(array_key_exists('xplevel', $rankCharacter) && !is_null($rankCharacter['xplevel'])) : ?>
<?=_('Level')?> <?=$rankCharacter['xplevel']?> (<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>)
<?php else : ?>
<?=sprintf(_('%dXPs'), $rankCharacter['xps'])?>
<?php endif ?>
</small></p>
</li>
<?php endforeach ?>
</ul>

View file

@ -5,7 +5,9 @@
<img src="<?=$linker->link(array('media','avatar',$seminary['url'],$character['charactertype_url'],$character['xplevel']['level']))?>" class="char">
<?php endif ?>
<ul class="charstats">
<?php if(!is_null($character['xplevel'])) : ?>
<li><i class="fa fa-caret-right fa-fw"></i><?=('Level')?> <?=$character['xplevel']['level']?></li>
<?php endif ?>
<li><i class="fa fa-caret-right fa-fw"></i><?=sprintf(_('%dXPs'), $character['xps'])?></li>
<li><i class="fa fa-caret-right fa-fw"></i><?=$character['rank']?>. <?=_('Rank')?></li>
<li><i class="fa fa-caret-right fa-fw"></i><a href="<?=$linker->link(array('characters','character',$seminary['url'],$character['url']))?>">Zum Profil</a></li>
@ -42,7 +44,13 @@
<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><small><?=_('Level')?> <?=$member['xplevel']?> (<?=sprintf(_('%dXPs'), $member['xps'])?>)</small></p>
<p><small>
<?php if(array_key_exists('xplevel', $member) && !is_null($member['xplevel'])) : ?>
<?=_('Level')?> <?=$member['xplevel']?> (<?=sprintf(_('%dXPs'), $member['xps'])?>)
<?php else : ?>
<?=sprintf(_('%dXPs'), $member['xps'])?>
<?php endif ?>
</small></p>
</li>
<?php endforeach ?>
</ul>