ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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 ilUtil::sendFailure('invalid feedback id given: ' . (int) $_GET['feedback_id'], true);
31 $this->ctrl->redirectByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
32 }
33
34 if (!isset($_GET['feedback_type']) || !ilAssQuestionFeedback::isValidFeedbackPageObjectType($_GET['feedback_type'])) {
35 ilUtil::sendFailure('invalid feedback type given: ' . $_GET['feedback_type'], true);
36 $this->ctrl->redirectByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW);
37 }
38 }
39
43 public function forward()
44 {
45 //$this->ensurePageObjectExists($_GET['feedback_type'], $_GET['feedback_id']);
46
47 $pageObjectGUI = $this->getPageObjectGUI($_GET['feedback_type'], $_GET['feedback_id']);
48 $pageObjectGUI->setEnabledTabs(true);
49
50 $this->tabs->setBackTarget(
51 $this->lng->txt('tst_question_feedback_back_to_feedback_form'),
52 $this->ctrl->getLinkTargetByClass('ilAssQuestionFeedbackEditingGUI', ilAssQuestionFeedbackEditingGUI::CMD_SHOW)
53 );
54
55 $this->ctrl->setParameter($pageObjectGUI, 'feedback_id', $_GET['feedback_id']);
56 $this->ctrl->setParameter($pageObjectGUI, 'feedback_type', $_GET['feedback_type']);
57
58 $this->ctrl->forwardCommand($pageObjectGUI);
59 }
60
66 public function ensurePageObjectExists($pageObjectType, $pageObjectId)
67 {
68 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php");
70 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssGenFeedbackPage.php");
71 if (!ilAssGenFeedbackPage::_exists($pageObjectType, $pageObjectId)) {
72 $pageObject = new ilAssGenFeedbackPage();
73 $pageObject->setParentId($this->questionOBJ->getId());
74 $pageObject->setId($pageObjectId);
75 $pageObject->createFromXML();
76 }
77 }
79 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssSpecFeedbackPage.php");
80 if (!ilAssSpecFeedbackPage::_exists($pageObjectType, $pageObjectId)) {
81 $pageObject = new ilAssSpecFeedbackPage();
82 $pageObject->setParentId($this->questionOBJ->getId());
83 $pageObject->setId($pageObjectId);
84 $pageObject->createFromXML();
85 }
86 }
87 }
88
95 public function getPageObjectGUI($pageObjectType, $pageObjectId)
96 {
97 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssQuestionFeedback.php");
99 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssGenFeedbackPageGUI.php");
100 $pageObjectGUI = new ilAssGenFeedbackPageGUI($pageObjectId);
101 $pageObjectGUI->obj->addUpdateListener(
102 $this->questionOBJ,
103 'updateTimestamp'
104 );
105 return $pageObjectGUI;
106 }
108 include_once("./Modules/TestQuestionPool/classes/feedback/class.ilAssSpecFeedbackPageGUI.php");
109 $pageObjectGUI = new ilAssSpecFeedbackPageGUI($pageObjectId);
110 $pageObjectGUI->obj->addUpdateListener(
111 $this->questionOBJ,
112 'updateTimestamp'
113 );
114 return $pageObjectGUI;
115 }
116 }
117}
$_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.