set values for Seminarybar
This commit is contained in:
parent
f4c1771d11
commit
96c15c04e1
4 changed files with 73 additions and 26 deletions
|
|
@ -20,25 +20,14 @@
|
|||
*/
|
||||
class SeminarybarController extends \hhu\z\Controller
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Prefilter.
|
||||
* Required models
|
||||
*
|
||||
* @param Request $request Current request
|
||||
* @param Response $response Current response
|
||||
* @var array
|
||||
*/
|
||||
public function preFilter(\nre\core\Request $request, \nre\core\Response $response)
|
||||
{
|
||||
parent::preFilter($request, $response);
|
||||
public $models = array('characters', 'quests', 'questgroups');
|
||||
|
||||
|
||||
// Set userdata
|
||||
$this->set('loggedUser', IntermediateController::$user);
|
||||
$this->set('loggedSeminary', IntermediateController::$seminary);
|
||||
$this->set('loggedCharacter', IntermediateController::$character);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -46,6 +35,29 @@
|
|||
*/
|
||||
public function index()
|
||||
{
|
||||
if(is_null(IntermediateController::$seminary)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get Seminary
|
||||
$seminary = IntermediateController::$seminary;
|
||||
|
||||
// Get Character
|
||||
$character = IntermediateController::$character;
|
||||
$character['xplevel'] = $this->Characters->getXPLevelOfCharacters($character['id']);
|
||||
$character['rank'] = $this->Characters->getXPRank($seminary['id'], $character['xps']);
|
||||
|
||||
// Get “last” Quest
|
||||
$lastQuest = $this->Quests->getLastQuestForCharacter($character['id']);
|
||||
if(!is_null($lastQuest)) {
|
||||
$lastQuest['questgroup'] = $this->Questgroups->getQuestgroupById($lastQuest['questgroup_id']);
|
||||
}
|
||||
|
||||
|
||||
// Pass data to view
|
||||
$this->set('seminary', $seminary);
|
||||
$this->set('character', $character);
|
||||
$this->set('lastQuest', $lastQuest);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,9 +105,12 @@
|
|||
public function getCharacterForUserAndSeminary($userId, $seminaryId)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url '.
|
||||
'SELECT characters.id, characters.created, characters.charactertype_id, characters.name, characters.url, characters.user_id, characters.xps, characters.xplevel, characters.avatar_id, charactertypes.name AS charactertype_name, charactertypes.url AS charactertypes_url, seminarymedia.url AS avatar_url, seminarymedia.description AS avatar_description '.
|
||||
'FROM v_characters AS characters '.
|
||||
'LEFT JOIN charactertypes ON charactertypes.id = characters.charactertype_id '.
|
||||
'LEFT JOIN avatars ON avatars.id = characters.avatar_id '.
|
||||
'LEFT JOIN avatarpictures ON avatarpictures.seminarymedia_id = avatars.avatarpicture_id '.
|
||||
'LEFT JOIN seminarymedia ON seminarymedia.id = avatarpictures.seminarymedia_id '.
|
||||
'WHERE characters.user_id = ? AND charactertypes.seminary_id = ?',
|
||||
'ii',
|
||||
$userId, $seminaryId
|
||||
|
|
|
|||
|
|
@ -297,6 +297,34 @@
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the last Quests for a Character.
|
||||
*
|
||||
* @param int $characterId ID of Character
|
||||
* @retrun array Quest data
|
||||
*/
|
||||
public function getLastQuestForCharacter($characterId)
|
||||
{
|
||||
$data = $this->db->query(
|
||||
'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.task, quests.right_text, quests.wrong_text, quests.questsmedia_id '.
|
||||
'FROM quests_characters '.
|
||||
'LEFT JOIN quests ON quests.id = quests_characters.quest_id '.
|
||||
'WHERE quests_characters.character_id = ? AND quests_characters.status IN (?, ?, ?) '.
|
||||
'ORDER BY quests_characters.created desc '.
|
||||
'LIMIT 1',
|
||||
'iiii',
|
||||
$characterId,
|
||||
self::QUEST_STATUS_ENTERED, self::QUEST_STATUS_SUBMITTED, self::QUEST_STATUS_SOLVED
|
||||
);
|
||||
if(!empty($data)) {
|
||||
return $data[0];
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,19 +1,23 @@
|
|||
<section class="cf">
|
||||
<h1>Zyrendaniel</h1>
|
||||
<img src="http://legende-von-zyren.de/img/avatars/Goblin7.png" class="char">
|
||||
<h1><?=$character['name']?></h1>
|
||||
<img src="<?=$linker->link(array('media','seminary',$seminary['url'],$character['avatar_url']))?>" class="char">
|
||||
<ul class="charstats">
|
||||
<li><i class="fa fa-caret-right fa-fw"></i>Level 1</li>
|
||||
<li><i class="fa fa-caret-right fa-fw"></i>1500 XP</li>
|
||||
<li><i class="fa fa-caret-right fa-fw"></i>11. Platz</li>
|
||||
<li><i class="fa fa-caret-right fa-fw"></i><a href="#">Zum Profil</a></li>
|
||||
<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><?=$character['xps']?> 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>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<?php if(!is_null($lastQuest)) : ?>
|
||||
<section>
|
||||
<h1>Letzter Speicherpunkt</h1>
|
||||
<p><i class="fa fa-pencil-square-o fa-fw"></i><a href="#">Die verwunschene Stadt</a></p>
|
||||
<h1><?=_('Last Quest')?></h1>
|
||||
<p><i class="fa fa-pencil-square-o fa-fw"></i><a href="<?=$linker->link(array('quests','quest',$seminary['url'],$lastQuest['questgroup']['url'],$lastQuest['url']))?>"><?=$lastQuest['title']?></a></p>
|
||||
</section>
|
||||
<?php endif ?>
|
||||
|
||||
<section>
|
||||
<h1>Letzte Errungenschaft</h1>
|
||||
<h1><?=('Last Achievement')?></h1>
|
||||
<ul class="cranks">
|
||||
<li>
|
||||
<a href="#" title="Achievement-Titel"><img src="http://legende-von-zyren.de/img/achieve/1b.jpg"></a>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue