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
*/
public $models = array('seminaries', 'users', 'questgroupshierarchy', 'questgroups');
public $models = array('seminaries', 'users', 'questgroupshierarchy', 'questgroups', 'media');
/**
* User permissions
*
@ -101,22 +101,31 @@
$hierarchy['questgroups'] = $this->Questgroups->getQuestgroupsForHierarchy($hierarchy['id']);
// 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
$text = $this->Questgroups->getFirstQuestgroupText($hierarchy['questgroups'][$i]['id']);
$text = $this->Questgroups->getFirstQuestgroupText($questgroup['id']);
if(!empty($text))
{
$text = \hhu\z\Utils::shortenString($text['text'], 100, 120).' …';
$hierarchy['questgroups'][$i]['text'] = $text;
$questgroup['text'] = $text;
}
// 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
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))
{
$questgroups = $this->db->query(
'SELECT id, questgroupshierarchy_id, pos, title, url '.
'SELECT id, questgroupshierarchy_id, pos, title, url, questgroupspicture_id '.
'FROM questgroups '.
'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id IS NULL '.
'ORDER BY questgroups.pos ASC',
@ -65,7 +65,7 @@
else
{
$questgroups = $this->db->query(
'SELECT id, questgroupshierarchy_id, pos, title, url '.
'SELECT id, questgroupshierarchy_id, pos, title, url, questgroupspicture_id '.
'FROM questgroups '.
'WHERE questgroups.questgroupshierarchy_id = ? AND parent_questgroup_id = ? '.
'ORDER BY questgroups.pos ASC',