determine Media (image) for Questgroups on Seminary page

This commit is contained in:
coderkun 2014-03-21 15:55:28 +01:00
commit 81180076d6
2 changed files with 17 additions and 8 deletions

View file

@ -24,7 +24,7 @@
* *
* @var array * @var array
*/ */
public $models = array('seminaries', 'users', 'questgroupshierarchy', 'questgroups'); public $models = array('seminaries', 'users', 'questgroupshierarchy', 'questgroups', 'media');
/** /**
* User permissions * User permissions
* *
@ -101,22 +101,31 @@
$hierarchy['questgroups'] = $this->Questgroups->getQuestgroupsForHierarchy($hierarchy['id']); $hierarchy['questgroups'] = $this->Questgroups->getQuestgroupsForHierarchy($hierarchy['id']);
// Get additional data // Get additional data
for($i=0; $i<count($hierarchy['questgroups']); $i++) //for($i=0; $i<count($hierarchy['questgroups']); $i++)
foreach($hierarchy['questgroups'] as $i => &$questgroup)
{ {
// Get first Questgroup text // Get first Questgroup text
$text = $this->Questgroups->getFirstQuestgroupText($hierarchy['questgroups'][$i]['id']); $text = $this->Questgroups->getFirstQuestgroupText($questgroup['id']);
if(!empty($text)) if(!empty($text))
{ {
$text = \hhu\z\Utils::shortenString($text['text'], 100, 120).' …'; $text = \hhu\z\Utils::shortenString($text['text'], 100, 120).' …';
$hierarchy['questgroups'][$i]['text'] = $text; $questgroup['text'] = $text;
} }
// Get Character XPs // Get Character XPs
$hierarchy['questgroups'][$i]['character_xps'] = $this->Questgroups->getAchievedXPsForQuestgroup($hierarchy['questgroups'][$i]['id'], $character['id']); $hierarchy['questgroups'][$i]['character_xps'] = $this->Questgroups->getAchievedXPsForQuestgroup($questgroup['id'], $character['id']);
// Check permission of Questgroups // Check permission of Questgroups
if($i >= 1) { if($i >= 1) {
$hierarchy['questgroups'][$i]['access'] = $this->Questgroups->hasCharacterSolvedQuestgroup($hierarchy['questgroups'][$i-1]['id'], $character['id']); $questgroup['access'] = $this->Questgroups->hasCharacterSolvedQuestgroup($hierarchy['questgroups'][$i-1]['id'], $character['id']);
}
// Get Media
$questgroup['picture'] = null;
try {
$questgroup['picture'] = $this->Media->getMediaById($questgroup['questgroupspicture_id']);
}
catch(\nre\exceptions\IdNotFoundException $e) {
} }
} }
} }

View file

@ -54,7 +54,7 @@
if(is_null($parentQuestgroupId)) if(is_null($parentQuestgroupId))
{ {
$questgroups = $this->db->query( $questgroups = $this->db->query(
'SELECT id, questgroupshierarchy_id, pos, title, url '. 'SELECT id, questgroupshierarchy_id, pos, title, url, questgroupspicture_id '.
'FROM questgroups '. 'FROM questgroups '.
'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id IS NULL '. 'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id IS NULL '.
'ORDER BY questgroups.pos ASC', 'ORDER BY questgroups.pos ASC',
@ -65,7 +65,7 @@
else else
{ {
$questgroups = $this->db->query( $questgroups = $this->db->query(
'SELECT id, questgroupshierarchy_id, pos, title, url '. 'SELECT id, questgroupshierarchy_id, pos, title, url, questgroupspicture_id '.
'FROM questgroups '. 'FROM questgroups '.
'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id = ? '. 'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id = ? '.
'ORDER BY questgroups.pos ASC', 'ORDER BY questgroups.pos ASC',