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

View file

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

View file

@ -5,7 +5,9 @@
<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">
<?php endif ?> <?php endif ?>
<ul class="charstats"> <ul class="charstats">
<?php if(!is_null($character['xplevel'])) : ?>
<li><i class="fa fa-caret-right fa-fw"></i><?=('Level')?> <?=$character['xplevel']['level']?></li> <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><?=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><?=$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> <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> <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><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> </li>
<?php endforeach ?> <?php endforeach ?>
</ul> </ul>