remove field ?right_text? for Quests because it is never used and update Quest view

This commit is contained in:
coderkun 2014-04-19 23:22:19 +02:00
commit bf0a0185bc
3 changed files with 16 additions and 34 deletions

View file

@ -139,7 +139,6 @@
$questgroup['picture'] = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']); $questgroup['picture'] = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
} }
// Get Quest // Get Quest
$quest = $this->Quests->getQuestByUrl($seminary['id'], $questgroup['id'], $questUrl); $quest = $this->Quests->getQuestByUrl($seminary['id'], $questgroup['id'], $questUrl);
@ -210,7 +209,6 @@
$questtexttypeUrl = 'Prolog'; $questtexttypeUrl = 'Prolog';
} }
$questtexttypes = $this->Questtexts->getQuesttexttypes(); $questtexttypes = $this->Questtexts->getQuesttexttypes();
//$questtexttypesUrls = array_map(function($t) { return $t['url']; }, $questtexttypes);
if(($questtexttypeIndex = array_search($questtexttypeUrl, array_map(function($t) { return $t['url']; }, $questtexttypes))) === false) { if(($questtexttypeIndex = array_search($questtexttypeUrl, array_map(function($t) { return $t['url']; }, $questtexttypes))) === false) {
throw new ParamsNotValidException($questtexttypeUrl); throw new ParamsNotValidException($questtexttypeUrl);
} }
@ -227,21 +225,11 @@
$questtext['relatedQuestsgroups'] = $this->Questgroups->getRelatedQuestsgroupsOfQuesttext($questtext['id']); $questtext['relatedQuestsgroups'] = $this->Questgroups->getRelatedQuestsgroupsOfQuesttext($questtext['id']);
} }
// Has Epilog?
$hasEpilog = ($this->Questtexts->getQuesttextCountOfQuest($quest['id'], 'Epilog') > 0);
// Quest status // Quest status
$questStatus = $this->request->getGetParam('status'); $questStatus = $this->request->getGetParam('status');
$questStatusText = null;
if(!is_null($questStatus))
{
switch($questStatus)
{
case 'solved':
$questStatusText = $quest['right_text'];
break;
case 'unsolved':
$questStatusText = $quest['wrong_text'];
break;
}
}
// Quest media // Quest media
$questmedia = null; $questmedia = null;
@ -273,7 +261,7 @@
$nextQuests = null; $nextQuests = null;
$charactedHasChoosenNextQuest = false; $charactedHasChoosenNextQuest = false;
$nextQuestgroup = null; $nextQuestgroup = null;
if($questtexttypeUrl == 'Epilog' || ($solved && $this->Questtexts->getQuesttextCountOfQuest($quest['id'], 'Epilog') == 0) || count(array_intersect(array('admin','moderator'), IntermediateController::$user['seminaryroles'])) > 0) if($questtexttypeUrl == 'Epilog' || (is_null($questtype['classname']) && !$hasEpilog))
{ {
// Next Quest // Next Quest
$nextQuests = $this->Quests->getNextQuests($quest['id']); $nextQuests = $this->Quests->getNextQuests($quest['id']);
@ -310,9 +298,9 @@
$this->set('questgroup', $questgroup); $this->set('questgroup', $questgroup);
$this->set('questtexttype', $questtexttype); $this->set('questtexttype', $questtexttype);
$this->set('questtexts', $questtexts); $this->set('questtexts', $questtexts);
$this->set('hasEpilog', $hasEpilog);
$this->set('quest', $quest); $this->set('quest', $quest);
$this->set('queststatus', $questStatus); $this->set('queststatus', $questStatus);
$this->set('queststatustext', $questStatusText);
$this->set('relatedquesttext', $relatedQuesttext); $this->set('relatedquesttext', $relatedQuesttext);
$this->set('nextquests', $nextQuests); $this->set('nextquests', $nextQuests);
$this->set('charactedHasChoosenNextQuest', $charactedHasChoosenNextQuest); $this->set('charactedHasChoosenNextQuest', $charactedHasChoosenNextQuest);

View file

@ -70,7 +70,7 @@
public function getQuestByUrl($seminaryId, $questgroupId, $questUrl) public function getQuestByUrl($seminaryId, $questgroupId, $questUrl)
{ {
$data = $this->db->query( $data = $this->db->query(
'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.entry_text, quests.task, quests.right_text, quests.wrong_text, quests.questsmedia_id '. 'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.entry_text, quests.task, quests.wrong_text, quests.questsmedia_id '.
'FROM quests '. 'FROM quests '.
'LEFT JOIN questgroups ON questgroups.id = quests.questgroup_id '. 'LEFT JOIN questgroups ON questgroups.id = quests.questgroup_id '.
'WHERE questgroups.seminary_id = ? AND questgroups.id = ? AND quests.url = ?', 'WHERE questgroups.seminary_id = ? AND questgroups.id = ? AND quests.url = ?',
@ -96,7 +96,7 @@
public function getQuestById($questId) public function getQuestById($questId)
{ {
$data = $this->db->query( $data = $this->db->query(
'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.entry_text, quests.task, quests.right_text, quests.wrong_text, quests.questsmedia_id '. 'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.entry_text, quests.task, quests.wrong_text, quests.questsmedia_id '.
'FROM quests '. 'FROM quests '.
'LEFT JOIN questgroups ON questgroups.id = quests.questgroup_id '. 'LEFT JOIN questgroups ON questgroups.id = quests.questgroup_id '.
'WHERE quests.id = ?', 'WHERE quests.id = ?',
@ -306,7 +306,7 @@
public function getLastQuestForCharacter($characterId) public function getLastQuestForCharacter($characterId)
{ {
$data = $this->db->query( $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 '. 'SELECT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.task, quests.wrong_text, quests.questsmedia_id '.
'FROM quests_characters '. 'FROM quests_characters '.
'LEFT JOIN quests ON quests.id = quests_characters.quest_id '. 'LEFT JOIN quests ON quests.id = quests_characters.quest_id '.
'WHERE quests_characters.character_id = ? AND quests_characters.status IN (?, ?, ?) '. 'WHERE quests_characters.character_id = ? AND quests_characters.status IN (?, ?, ?) '.
@ -334,7 +334,7 @@
public function getQuestsForSeminary($seminaryId) public function getQuestsForSeminary($seminaryId)
{ {
return $this->db->query( return $this->db->query(
'SELECT DISTINCT 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 '. 'SELECT DISTINCT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.task, quests.wrong_text, quests.questsmedia_id '.
'FROM questgroups '. 'FROM questgroups '.
'INNER JOIN quests ON quests.questgroup_id = questgroups.id '. 'INNER JOIN quests ON quests.questgroup_id = questgroups.id '.
'WHERE questgroups.seminary_id = ?', 'WHERE questgroups.seminary_id = ?',
@ -353,7 +353,7 @@
public function getQuestsForQuesttopic($questtopicId) public function getQuestsForQuesttopic($questtopicId)
{ {
return $this->db->query( return $this->db->query(
'SELECT DISTINCT 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 '. 'SELECT DISTINCT quests.id, quests.questgroup_id, quests.questtype_id, quests.title, quests.url, quests.xps, quests.task, quests.wrong_text, quests.questsmedia_id '.
'FROM quests_questsubtopics '. 'FROM quests_questsubtopics '.
'INNER JOIN quests ON quests.id = quests_questsubtopics.quest_id '. 'INNER JOIN quests ON quests.id = quests_questsubtopics.quest_id '.
'WHERE quests_questsubtopics.questsubtopic_id = ?', 'WHERE quests_questsubtopics.questsubtopic_id = ?',

View file

@ -40,14 +40,10 @@
</section> </section>
<?php endif ?> <?php endif ?>
<?php if(!is_null($queststatustext)) : ?> <?php if(!is_null($queststatus) && $queststatus == 'unsolved') : ?>
<section> <section>
<?php if($queststatus == 'solved') : ?>
<h1><?=_('solved')?></h1>
<?php elseif($queststatus == 'unsolved') : ?>
<h1><?=_('unsolved')?></h1> <h1><?=_('unsolved')?></h1>
<?php endif ?> <p><?=\hhu\z\Utils::t($quest['wrong_text'])?></p>
<p><?=\hhu\z\Utils::t($queststatustext)?></p>
</section> </section>
<?php endif ?> <?php endif ?>
@ -61,15 +57,15 @@
<?php if($solved) : ?> <?php if($solved) : ?>
<p><?=_('Task already successfully solved')?>: <p><?=_('Task already successfully solved')?>:
<ul> <ul>
<?php if($solved) : ?>
<li><a href="<?=$linker->link(null,0,false,array('show-answer'=>'true'),true,'task')?>"><?=_('Show answer')?></a></li> <li><a href="<?=$linker->link(null,0,false,array('show-answer'=>'true'),true,'task')?>"><?=_('Show answer')?></a></li>
<li><a href="<?=$linker->link('Epilog',5)?>"><?=_('Skip Quest')?></a></l> <li><a href="<?=$linker->link('Epilog',5)?>"><?=_('Skip task')?></a></l>
<?php endif ?>
</ul> </ul>
<?php endif ?> <?php endif ?>
<?php else : ?> <?php elseif($hasEpilog) : ?>
<?php if(count($nextquests) == 0) : ?>
<p><a href="<?=$linker->link('Epilog',5)?>"><?=_('continue')?></a></p> <p><a href="<?=$linker->link('Epilog',5)?>"><?=_('continue')?></a></p>
<?php endif ?> <?php endif ?>
<?php endif ?>
</section> </section>
<?php endif ?> <?php endif ?>
@ -109,8 +105,6 @@
</ul> </ul>
<?php elseif(!is_null($nextquestgroup)) : ?> <?php elseif(!is_null($nextquestgroup)) : ?>
<a href="<?=$linker->link(array('questgroups','questgroup',$seminary['url'],$nextquestgroup['url']))?>"><?=$nextquestgroup['hierarchy']['title_singular']?> <?=$nextquestgroup['hierarchy']['questgroup_pos']?>: <?=$nextquestgroup['title']?></a> <a href="<?=$linker->link(array('questgroups','questgroup',$seminary['url'],$nextquestgroup['url']))?>"><?=$nextquestgroup['hierarchy']['title_singular']?> <?=$nextquestgroup['hierarchy']['questgroup_pos']?>: <?=$nextquestgroup['title']?></a>
<?php else : ?>
Spiel vorbei
<?php endif ?> <?php endif ?>
</section> </section>
<?php endif ?> <?php endif ?>