diff --git a/controllers/LibraryController.inc b/controllers/LibraryController.inc index 1fee6e2c..9cbfb24e 100644 --- a/controllers/LibraryController.inc +++ b/controllers/LibraryController.inc @@ -111,7 +111,7 @@ $quests = array(); foreach($this->Quests->getQuestsForQuesttopic($questtopic['id']) as $quest) { - if($this->Quests->hasCharacterEnteredQuest($quest['id'], $character['id'])) + if($this->Quests->hasCharacterEnteredQuest($quest['id'], $character['id']) || count(array_intersect(array('admin', 'moderator'), self::$character['characterroles'])) > 0) { // Get Questgroup $quest['questgroup'] = $this->Questgroups->getQuestgroupById($quest['questgroup_id']); diff --git a/models/QuestsModel.inc b/models/QuestsModel.inc index d4175545..f7141efc 100644 --- a/models/QuestsModel.inc +++ b/models/QuestsModel.inc @@ -355,8 +355,9 @@ return $this->db->query( '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 '. + 'INNER JOIN questsubtopics ON questsubtopics.id = quests_questsubtopics.questsubtopic_id '. 'INNER JOIN quests ON quests.id = quests_questsubtopics.quest_id '. - 'WHERE quests_questsubtopics.questsubtopic_id = ?', + 'WHERE questsubtopics.questtopic_id = ?', 'i', $questtopicId );