diff --git a/controllers/CharactergroupsController.inc b/controllers/CharactergroupsController.inc index 1028d28c..594cba12 100644 --- a/controllers/CharactergroupsController.inc +++ b/controllers/CharactergroupsController.inc @@ -24,7 +24,7 @@ * * @var array */ - public $models = array('seminaries', 'charactergroups', 'charactergroupsquests'); + public $models = array('seminaries', 'charactergroups', 'charactergroupsquests', 'avatars', 'media'); /** * User permissions * @@ -57,6 +57,9 @@ { // Get seminary $seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); + if(!is_null($seminary['media_id'])) { + $seminary['media'] = $this->Media->getMediaById($seminary['media_id']); + } // Get Character groups-groups $groupsgroups = $this->Charactergroups->getGroupsroupsForSeminary($seminary['id']); @@ -82,6 +85,9 @@ { // Get seminary $seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); + if(!is_null($seminary['media_id'])) { + $seminary['media'] = $this->Media->getMediaById($seminary['media_id']); + } // Get Character groups-group $groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl); @@ -116,15 +122,26 @@ { // Get seminary $seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); + if(!is_null($seminary['media_id'])) { + $seminary['media'] = $this->Media->getMediaById($seminary['media_id']); + } // Get Character groups-group $groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl); // Get Character group $group = $this->Charactergroups->getGroupByUrl($groupsgroup['id'], $groupUrl); + $group['characters'] = $this->Characters->getCharactersForGroup($group['id']); + $group['rank'] = $this->Charactergroups->getXPRank($groupsgroup['id'], $group['xps']); - // Get Characters - $characters = $this->Characters->getCharactersForGroup($group['id']); + // Get Character avatars + foreach($group['characters'] as &$character) + { + $avatar = $this->Avatars->getAvatarById($character['avatar_id']); + if(!is_null($avatar['small_avatarpicture_id'])) { + $character['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']); + } + } // Get Character groups Quests $quests = $this->Charactergroupsquests->getQuestsForGroup($group['id']); @@ -134,7 +151,6 @@ $this->set('seminary', $seminary); $this->set('groupsgroup', $groupsgroup); $this->set('group', $group); - $this->set('characters', $characters); $this->set('quests', $quests); } diff --git a/controllers/CharactergroupsquestsController.inc b/controllers/CharactergroupsquestsController.inc index fb9d18c8..478d8700 100644 --- a/controllers/CharactergroupsquestsController.inc +++ b/controllers/CharactergroupsquestsController.inc @@ -61,6 +61,9 @@ { // Get seminary $seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl); + if(!is_null($seminary['media_id'])) { + $seminary['media'] = $this->Media->getMediaById($seminary['media_id']); + } // Get Character groups-group $groupsgroup = $this->Charactergroups->getGroupsgroupByUrl($seminary['id'], $groupsgroupUrl); diff --git a/controllers/UsersController.inc b/controllers/UsersController.inc index 4ba97dab..19d0e8d0 100644 --- a/controllers/UsersController.inc +++ b/controllers/UsersController.inc @@ -88,6 +88,14 @@ { // Level $character['xplevel'] = $this->Characters->getXPLevelOfCharacters($character['id']); + + // Avatar + $avatar = $this->Avatars->getAvatarById($character['avatar_id']); + if(!is_null($avatar['small_avatarpicture_id'])) + { + //$character['seminary'] = + $character['small_avatar'] = $this->Media->getSeminaryMediaById($avatar['small_avatarpicture_id']); + } } diff --git a/models/AvatarsModel.inc b/models/AvatarsModel.inc new file mode 100644 index 00000000..115d1fb2 --- /dev/null +++ b/models/AvatarsModel.inc @@ -0,0 +1,62 @@ + + * @copyright 2014 Heinrich-Heine-Universität Düsseldorf + * @license http://www.gnu.org/licenses/gpl.html + * @link https://bitbucket.org/coderkun/the-legend-of-z + */ + + namespace hhu\z\models; + + + /** + * Model to interact with Avatars-tables. + * + * @author Oliver Hanraths + */ + class AvatarsModel extends \hhu\z\Model + { + + + + + /** + * Construct a new AvatarsModel. + */ + public function __construct() + { + parent::__construct(); + } + + + + + /** + * Get an Avatar by its ID + * + * @param int $avatarId ID of Avatar + * @return array Avatar data + */ + public function getAvatarById($avatarId) + { + $data = $this->db->query( + 'SELECT id, charactertype_id, xplevel_id, avatarpicture_id, small_avatarpicture_id '. + 'FROM avatars '. + 'WHERE id = ?', + 'i', + $avatarId + ); + if(!empty($data)) { + return $data[0]; + } + + + return null; + } + + } + +?> diff --git a/views/html/charactergroups/group.tpl b/views/html/charactergroups/group.tpl index ff53d1cf..426e9a8e 100644 --- a/views/html/charactergroups/group.tpl +++ b/views/html/charactergroups/group.tpl @@ -1,8 +1,11 @@ +
- +
+

+

@@ -12,43 +15,20 @@ Schweb wie ein Schmetterling! Stich wie eine Biene!