ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilAssQuestionFeedbackPageObjectCommandForwarder.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionAbstractPageObjectCommandForwarder.php';
5
15{
26 {
27 parent::__construct($questionOBJ, $ctrl, $tabs, $lng);
28
29 if( !isset($_GET['feedback_id']) || !(int)$_GET['feedback_id'] || !$questionOBJ->feedbackOBJ->checkFeedbackParent((int)$_GET['feedback_id']) )
30 {
31 ilUtil::sendFailure('invalid feedback id given: '.(int)$_GET['feedback_id'], true);
32 $this->ctrl->redirectByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
33 }
34
35 if( !isset($_GET['feedback_type']) || !ilAssQuestionFeedback::isValidFeedbackPageObjectType($_GET['feedback_type']) )
36 {
37 ilUtil::sendFailure('invalid feedback type given: '.$_GET['feedback_type'], true);
38 $this->ctrl->redirectByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
39 }
40 }
41
45 public function forward()
46 {
47 //$this->ensurePageObjectExists($_GET['feedback_type'], $_GET['feedback_id']);
48
49 $pageObjectGUI = $this->getPageObjectGUI($_GET['feedback_type'], $_GET['feedback_id']);
50 $pageObjectGUI->setEnabledTabs(true);
51
52 $this->tabs->setBackTarget(
53 $this->lng->txt('tst_question_feedback_back_to_feedback_form'),
54 $this->ctrl->getLinkTargetByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW)
55 );
56
57 $this->ctrl->setParameter($pageObjectGUI, 'feedback_id', $_GET['feedback_id']);
58 $this->ctrl->setParameter($pageObjectGUI, 'feedback_type', $_GET['feedback_type']);
59
60 $this->ctrl->forwardCommand($pageObjectGUI);
61 }
62
68 function ensurePageObjectExists($pageObjectType, $pageObjectId)
69 {
70 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php");
72 {
73 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssGenFeedbackPage.php");
74 if( !ilAssGenFeedbackPage::_exists($pageObjectType, $pageObjectId) )
75 {
76 $pageObject = new ilAssGenFeedbackPage();
77 $pageObject->setParentId($this->questionOBJ->getId());
78 $pageObject->setId($pageObjectId);
79 $pageObject->createFromXML();
80 }
81 }
83 {
84 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssSpecFeedbackPage.php");
85 if( !ilAssSpecFeedbackPage::_exists($pageObjectType, $pageObjectId) )
86 {
87 $pageObject = new ilAssSpecFeedbackPage();
88 $pageObject->setParentId($this->questionOBJ->getId());
89 $pageObject->setId($pageObjectId);
90 $pageObject->createFromXML();
91 }
92 }
93 }
94
101 function getPageObjectGUI($pageObjectType, $pageObjectId)
102 {
103 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php");
105 {
106 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssGenFeedbackPageGUI.php");
107 $pageObjectGUI = new ilAssGenFeedbackPageGUI($pageObjectId);
108 $pageObjectGUI->obj->addUpdateListener(
109 $this->questionOBJ,
110 'updateTimestamp'
111 );
112 return $pageObjectGUI;
113 }
115 {
116 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssSpecFeedbackPageGUI.php");
117 $pageObjectGUI = new ilAssSpecFeedbackPageGUI($pageObjectId);
118 $pageObjectGUI->obj->addUpdateListener(
119 $this->questionOBJ,
120 'updateTimestamp'
121 );
122 return $pageObjectGUI;
123 }
124 }
125
126}
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
Abstract basic class which is to be extended by the concrete assessment question type classes.
Generic feedback page GUI class.
Generic feedback page object.
ensurePageObjectExists($pageObjectType, $pageObjectId)
ensures an existing page object with giben type/id
__construct(assQuestion $questionOBJ, ilCtrl $ctrl, ilTabsGUI $tabs, ilLanguage $lng)
Constructor.
getPageObjectGUI($pageObjectType, $pageObjectId)
instantiates, initialises and returns a page object gui class
const PAGE_OBJECT_TYPE_GENERIC_FEEDBACK
type for generic feedback page objects
static isValidFeedbackPageObjectType($feedbackPageObjectType)
returns the fact wether the given page object type relates to generic or specific feedback page objec...
const PAGE_OBJECT_TYPE_SPECIFIC_FEEDBACK
type for specific feedback page objects
Specific feedback page GUI class.
Specific feedback page object.
This class provides processing control methods.
language handling
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
Tabs GUI.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.