add support for moodpic sources and revamp moodpic integration a little bit

This commit is contained in:
oliver 2015-08-20 13:20:49 +02:00
commit 5cb60679e0
37 changed files with 271 additions and 292 deletions

View file

@ -24,25 +24,101 @@
*
* @var array
*/
public $models = array();
public $models = array('seminaries', 'questgroups', 'media');
/**
* Action: index.
*
* Show the moodpic of a Seminary Agent.
*
* @param string $agentName Name of the Seminary Agent to show moodpic of
*/
public function index($agentName)
{
// Seminary moodpic
$seminary = SeminaryController::$seminary;
}
/**
* Action: seminary.
*
* Show moodpic of a Seminary.
*
* @param string $seminaryUrl URL of Seminary to show moodpic of
*/
public function seminary($seminaryUrl, $agentName=null)
{
// Get Seminary
if(property_exists('\hhu\z\controllers\SeminaryController', 'seminary') && !empty(SeminaryController::$seminary) && SeminaryController::$seminary['url'] == $seminaryUrl) {
$seminary = SeminaryController::$seminary;
}
else {
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
}
// Get medium
$medium = null;
// Agent medium
$seminaryMoodpicIndex = sprintf('%s_seminarymedia_id', $agentName);
if(array_key_exists($seminaryMoodpicIndex, $seminary) && !is_null($seminary[$seminaryMoodpicIndex]))
{
$medium = $this->Media->getSeminaryMediaById($seminary[$seminaryMoodpicIndex]);
$medium['url'] = $this->linker->link(array('media', 'seminarymoodpic', $seminary['url'], $agentName));
}
// Seminary medium
elseif(!is_null($seminary['seminarymedia_id']))
{
$medium = $this->Media->getSeminaryMediaById($seminary['seminarymedia_id']);
$medium['url'] = $this->linker->link(array('media', 'seminarymoodpic', $seminary['url']));
}
// Pass data to view
$this->set('seminary', $seminary);
$this->set('seminaryMoodpicIndex', $seminaryMoodpicIndex);
$this->set('agentName', $agentName);
$this->set('medium', $medium);
}
/**
* Action: questgroup.
*
* Show moodpic of a Questgroup.
*
* @param string $seminaryUrl URL of Seminary
* @param string $quesgroupUrl URL of Questgroup to show moodpic of
*/
public function questgroup($seminaryUrl, $questgroupUrl)
{
// Get Seminary
if(property_exists('\hhu\z\controllers\SeminaryController', 'seminary') && !empty(SeminaryController::$seminary) && SeminaryController::$seminary['url'] == $seminaryUrl) {
$seminary = SeminaryController::$seminary;
}
else {
$seminary = $this->Seminaries->getSeminaryByUrl($seminaryUrl);
}
// Get Questgroup
$questgroup = $this->Questgroups->getQuestgroupByUrl($seminary['id'], $questgroupUrl);
// Get medium
$medium = null;
// Questgroup medium
if(!is_null($questgroup['questgroupspicture_id']))
{
$medium = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
$medium['url'] = $this->linker->link(array('media', 'seminary', $seminary['url'], $medium['url']));
}
// Seminary medium
elseif(!is_null($seminary['seminarymedia_id']))
{
$medium = $this->Media->getSeminaryMediaById($seminary['seminarymedia_id']);
$medium['url'] = $this->linker->link(array('media', 'seminarymoodpic', $seminary['url']));
}
// Pass data to view
$this->set('medium', $medium);
}
}

View file

@ -164,14 +164,6 @@
// Get texts
$questgroupTexts = $this->Questgrouptexts->getQuestgroupTexts($questgroup['id']);
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id']))
{
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Get Quests
$quests = array();
if(count($childQuestgroupshierarchy) == 0)
@ -231,7 +223,6 @@
$this->set('questgroup', $questgroup);
$this->set('childquestgroupshierarchy', $childQuestgroupshierarchy);
$this->set('texts', $questgroupTexts);
$this->set('picture', $picture);
$this->set('quests', $quests);
}
@ -471,12 +462,6 @@
}
}
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id'])) {
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Get validation settings
$validationSettings = array();
foreach($fields as &$field) {
@ -491,7 +476,6 @@
// Pass data to view
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('picture', $picture);
$this->set('title', $title);
$this->set('mimetypes', $mimetypes);
$this->set('validation', $validation);
@ -557,12 +541,6 @@
$this->redirect($this->linker->link(array('questgroup', $seminary['url'], $questgroup['url']), 1));
}
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id'])) {
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Set titile
$this->addTitleLocalized('Edit Questgroup texts');
@ -572,7 +550,6 @@
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('questgrouptexts', $questgroupTexts);
$this->set('picture', $picture);
$this->set('mimetypes', $mimetypes);
}
@ -619,12 +596,6 @@
$this->redirect($this->linker->link(array('seminaries', 'seminary', $seminary['url'])));
}
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id'])) {
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Set titile
$this->addTitleLocalized('Move Questgroup');
@ -632,7 +603,6 @@
// Show confirmation
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('picture', $picture);
}
@ -678,12 +648,6 @@
$this->redirect($this->linker->link(array('seminaries', 'seminary', $seminary['url'])));
}
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id'])) {
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Set titile
$this->addTitleLocalized('Move Questgroup');
@ -691,7 +655,6 @@
// Show confirmation
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('picture', $picture);
}
@ -752,12 +715,6 @@
$this->redirect($this->linker->link(array('questgroup', $seminary['url'], $questgroup['url']), 1));
}
// Media
$picture = null;
if(!is_null($questgroup['questgroupspicture_id'])) {
$picture = $this->Media->getSeminaryMediaById($questgroup['questgroupspicture_id']);
}
// Set titile
$this->addTitleLocalized('Delete Questgroup');
@ -765,7 +722,6 @@
// Show confirmation
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('picture', $picture);
}
}

View file

@ -383,12 +383,6 @@
// Get Quest
$quest = $this->Quests->getQuestByUrl($seminary['id'], $questgroup['id'], $questUrl);
// Media
$questmedia = null;
if(!is_null($quest['questsmedia_id'])) {
$questmedia = $this->Media->getSeminaryMediaById($quest['questsmedia_id']);
}
// Get submitted Character submissions waiting for approval
$submittedSubmissionCharacters = $this->Characters->getCharactersSubmittedQuest($quest['id']);
@ -408,7 +402,6 @@
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('quest', $quest);
$this->set('media', $questmedia);
$this->set('submittedSubmissionCharacters', $submittedSubmissionCharacters);
$this->set('unsolvedSubmissionCharacters', $unsolvedSubmissionCharacters);
$this->set('solvedSubmissionCharacters', $solvedSubmissionCharacters);
@ -442,12 +435,6 @@
// Character
$character = $this->Characters->getCharacterByUrl($seminary['id'], $characterUrl);
// Media
$questmedia = null;
if(!is_null($quest['questsmedia_id'])) {
$questmedia = $this->Media->getSeminaryMediaById($quest['questsmedia_id']);
}
// Questtype
$questtype = $this->Questtypes->getQuesttypeById($quest['questtype_id']);
@ -465,7 +452,6 @@
$this->set('questgroup', $questgroup);
$this->set('quest', $quest);
$this->set('character', $character);
$this->set('media', $questmedia);
$this->set('output', $output);
}
@ -821,12 +807,6 @@
// Get Quest
$quest = $this->Quests->getQuestByUrl($seminary['id'], $questgroup['id'], $questUrl);
// Get Quest media
$questmedia = null;
if(!is_null($quest['questsmedia_id'])) {
$questmedia = $this->Media->getSeminaryMediaById($quest['questsmedia_id']);
}
// Render editing task
$task = null;
$questtype = $this->Questtypes->getQuesttypeById($quest['questtype_id']);
@ -843,7 +823,6 @@
$this->set('seminary', $seminary);
$this->set('questgroup', $questgroup);
$this->set('quest', $quest);
$this->set('media', $questmedia);
$this->set('task', $task);
}