diff --git a/controllers/CharactersController.inc b/controllers/CharactersController.inc index 27c4edcb..4e65ed40 100644 --- a/controllers/CharactersController.inc +++ b/controllers/CharactersController.inc @@ -33,7 +33,7 @@ * * @var array */ - public $models = array('seminaries', 'characters', 'users', 'charactergroups'); + public $models = array('seminaries', 'characters', 'users', 'charactergroups', 'seminarycharacterfields'); @@ -78,6 +78,9 @@ // Get Character $character = $this->Characters->getCharacterByUrl($seminary['id'], $characterUrl); + // Get Seminarycharacterfields + $characterfields = $this->Seminarycharacterfields->getFieldsForCharacter($character['id']); + // Get User $user = $this->Users->getUserById($character['user_id']); @@ -88,6 +91,7 @@ // Pass data to view $this->set('seminary', $seminary); $this->set('character', $character); + $this->set('characterfields', $characterfields); $this->set('user', $user); $this->set('groups', $groups); } diff --git a/models/SeminarycharacterfieldsModel.inc b/models/SeminarycharacterfieldsModel.inc new file mode 100644 index 00000000..c881df2c --- /dev/null +++ b/models/SeminarycharacterfieldsModel.inc @@ -0,0 +1,58 @@ + + * @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 the Seminarycharacterfields-tables. + * + * @author Oliver Hanraths + */ + class SeminarycharacterfieldsModel extends \hhu\z\Model + { + + + + + /** + * Construct a new SeminarycharacterfieldsModel. + */ + public function __construct() + { + parent::__construct(); + } + + + + + /** + * Get Seminary Character fields of a Character. + * + * @param int $characterId ID of the Character + * @return array Seminary Character fields + */ + public function getFieldsForCharacter($characterId) + { + return $this->db->query( + 'SELECT seminarycharacterfields.title, characters_seminarycharacterfields.value '. + 'FROM characters_seminarycharacterfields '. + 'LEFT JOIN seminarycharacterfields ON seminarycharacterfields.id = characters_seminarycharacterfields.seminarycharacterfield_id '. + 'LEFT JOIN seminarycharacterfieldtypes ON seminarycharacterfieldtypes.id = seminarycharacterfields.seminarycharacterfieldtype_id '. + 'WHERE characters_seminarycharacterfields.character_id = ?', + 'i', + $characterId + ); + } + + } + +?> diff --git a/views/html/characters/character.tpl b/views/html/characters/character.tpl index aa8bdd78..dcc9cea3 100644 --- a/views/html/characters/character.tpl +++ b/views/html/characters/character.tpl @@ -6,6 +6,9 @@

XPs:
:
+ + :
+