ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
ilAssQuestionPreviewGUI Class Reference
+ Collaboration diagram for ilAssQuestionPreviewGUI:

Public Member Functions

 __construct (ilCtrl $ctrl, ilTabsGUI $tabs, ilTemplate $tpl, ilLanguage $lng, ilDBInterface $db, ilObjUser $user)
 
 initQuestion ($questionId, $parentObjId)
 
 initPreviewSettings ($parentRefId)
 
 initPreviewSession ($userId, $questionId)
 
 initHintTracking ()
 
 initStyleSheets ()
 
 executeCommand ()
 
 saveQuestionSolution ()
 
 gatewayConfirmHintRequestCmd ()
 
 gatewayShowHintListCmd ()
 

Data Fields

const CMD_SHOW = 'show'
 
const CMD_RESET = 'reset'
 
const CMD_INSTANT_RESPONSE = 'instantResponse'
 
const CMD_HANDLE_QUESTION_ACTION = 'handleQuestionAction'
 
const CMD_GATEWAY_CONFIRM_HINT_REQUEST = 'gatewayConfirmHintRequest'
 
const CMD_GATEWAY_SHOW_HINT_LIST = 'gatewayShowHintList'
 
const TAB_ID_QUESTION_PREVIEW = 'preview'
 

Protected Attributes

 $ctrl
 
 $tabs
 
 $tpl
 
 $lng
 
 $db
 
 $user
 
 $questionGUI
 
 $questionOBJ
 
 $previewSettings
 
 $previewSession
 
 $hintTracking
 

Private Member Functions

 showCmd ()
 
 resetCmd ()
 
 instantResponseCmd ()
 
 handleQuestionActionCmd ()
 
 populatePreviewToolbar (ilTemplate $tpl)
 
 populateQuestionOutput (ilTemplate $tpl)
 
 populateSolutionOutput (ilTemplate $tpl)
 
 populateQuestionNavigation (ilTemplate $tpl)
 
 populateGenericQuestionFeedback (ilTemplate $tpl)
 
 populateSpecificQuestionFeedback (ilTemplate $tpl)
 
 isShowBestSolutionRequired ()
 
 isShowGenericQuestionFeedbackRequired ()
 
 isShowSpecificQuestionFeedbackRequired ()
 
 getQuestionAnswerShuffler ()
 

Detailed Description

Definition at line 18 of file class.ilAssQuestionPreviewGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilAssQuestionPreviewGUI::__construct ( ilCtrl  $ctrl,
ilTabsGUI  $tabs,
ilTemplate  $tpl,
ilLanguage  $lng,
ilDBInterface  $db,
ilObjUser  $user 
)

Definition at line 84 of file class.ilAssQuestionPreviewGUI.php.

References $ctrl, $db, $lng, $tabs, $tpl, $user, and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ executeCommand()

ilAssQuestionPreviewGUI::executeCommand ( )

Definition at line 150 of file class.ilAssQuestionPreviewGUI.php.

References $cmd, and $DIC.

151  {
152  global $DIC; /* @var \ILIAS\DI\Container $DIC */
153  $ilHelp = $DIC['ilHelp']; /* @var ilHelpGUI $ilHelp */
154  $ilHelp->setScreenIdComponent('qpl');
155 
156  $this->tabs->setTabActive(self::TAB_ID_QUESTION_PREVIEW);
157 
158  $this->lng->loadLanguageModule('content');
159 
160  $nextClass = $this->ctrl->getNextClass($this);
161 
162  switch($nextClass)
163  {
164  case 'ilassquestionhintrequestgui':
165 
166  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
167  $gui = new ilAssQuestionHintRequestGUI($this, self::CMD_SHOW, $this->questionGUI, $this->hintTracking);
168 
169  $this->ctrl->forwardCommand($gui);
170 
171  break;
172 
173  case 'ilassspecfeedbackpagegui':
174  case 'ilassgenfeedbackpagegui':
175  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackPageObjectCommandForwarder.php';
176  $forwarder = new ilAssQuestionFeedbackPageObjectCommandForwarder($this->questionOBJ, $this->ctrl, $this->tabs, $this->lng);
177  $forwarder->forward();
178  break;
179 
180  default:
181 
182  $cmd = $this->ctrl->getCmd(self::CMD_SHOW).'Cmd';
183 
184  $this->$cmd();
185  }
186  }
$cmd
Definition: sahs_server.php:35
global $DIC

◆ gatewayConfirmHintRequestCmd()

ilAssQuestionPreviewGUI::gatewayConfirmHintRequestCmd ( )

Definition at line 417 of file class.ilAssQuestionPreviewGUI.php.

References ilAssQuestionHintRequestGUI\CMD_CONFIRM_REQUEST, saveQuestionSolution(), and showCmd().

418  {
419  if( !$this->saveQuestionSolution() )
420  {
421  $this->previewSession->setInstantResponseActive(false);
422  $this->showCmd();
423  return;
424  }
425 
426  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
427 
428  $this->ctrl->redirectByClass(
429  'ilAssQuestionHintRequestGUI', ilAssQuestionHintRequestGUI::CMD_CONFIRM_REQUEST
430  );
431  }
+ Here is the call graph for this function:

◆ gatewayShowHintListCmd()

ilAssQuestionPreviewGUI::gatewayShowHintListCmd ( )

Definition at line 433 of file class.ilAssQuestionPreviewGUI.php.

References ilAssQuestionHintRequestGUI\CMD_SHOW_LIST, saveQuestionSolution(), and showCmd().

434  {
435  if( !$this->saveQuestionSolution() )
436  {
437  $this->previewSession->setInstantResponseActive(false);
438  $this->showCmd();
439  return;
440  }
441 
442  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
443 
444  $this->ctrl->redirectByClass(
445  'ilAssQuestionHintRequestGUI', ilAssQuestionHintRequestGUI::CMD_SHOW_LIST
446  );
447  }
+ Here is the call graph for this function:

◆ getQuestionAnswerShuffler()

ilAssQuestionPreviewGUI::getQuestionAnswerShuffler ( )
private
Returns
ilArrayElementShuffler

Definition at line 452 of file class.ilAssQuestionPreviewGUI.php.

Referenced by populateQuestionOutput().

453  {
454  require_once 'Services/Randomization/classes/class.ilArrayElementShuffler.php';
455  $shuffler = new ilArrayElementShuffler();
456 
457  if( !$this->previewSession->randomizerSeedExists() )
458  {
459  $this->previewSession->setRandomizerSeed($shuffler->buildRandomSeed());
460  }
461 
462  $shuffler->setSeed($this->previewSession->getRandomizerSeed());
463 
464  return $shuffler;
465  }
+ Here is the caller graph for this function:

◆ handleQuestionActionCmd()

ilAssQuestionPreviewGUI::handleQuestionActionCmd ( )
private

Definition at line 244 of file class.ilAssQuestionPreviewGUI.php.

245  {
246  $this->questionOBJ->persistPreviewState($this->previewSession);
247  $this->ctrl->redirect($this, self::CMD_SHOW);
248  }

◆ initHintTracking()

ilAssQuestionPreviewGUI::initHintTracking ( )

Definition at line 131 of file class.ilAssQuestionPreviewGUI.php.

132  {
133  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionPreviewHintTracking.php';
134  $this->hintTracking = new ilAssQuestionPreviewHintTracking($this->db, $this->previewSession);
135  }

◆ initPreviewSession()

ilAssQuestionPreviewGUI::initPreviewSession (   $userId,
  $questionId 
)

Definition at line 123 of file class.ilAssQuestionPreviewGUI.php.

124  {
125  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionPreviewSession.php';
126  $this->previewSession = new ilAssQuestionPreviewSession($userId, $questionId);
127 
128  $this->previewSession->init();
129  }

◆ initPreviewSettings()

ilAssQuestionPreviewGUI::initPreviewSettings (   $parentRefId)

Definition at line 115 of file class.ilAssQuestionPreviewGUI.php.

116  {
117  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionPreviewSettings.php';
118  $this->previewSettings = new ilAssQuestionPreviewSettings($parentRefId);
119 
120  $this->previewSettings->init();
121  }

◆ initQuestion()

ilAssQuestionPreviewGUI::initQuestion (   $questionId,
  $parentObjId 
)

Definition at line 94 of file class.ilAssQuestionPreviewGUI.php.

References assQuestion\instantiateQuestionGUI(), OUTPUT_JAVASCRIPT, and assQuestionGUI\RENDER_PURPOSE_DEMOPLAY.

95  {
96  require_once 'Modules/TestQuestionPool/classes/class.assQuestion.php';
97 
98  $this->questionGUI = assQuestion::instantiateQuestionGUI($questionId);
99  $this->questionOBJ = $this->questionGUI->object;
100 
101  $this->questionOBJ->setObjId($parentObjId);
102 
103  $this->questionGUI->setQuestionTabs();
104  $this->questionGUI->outAdditionalOutput();
105 
106  $this->questionGUI->populateJavascriptFilesRequiredForWorkForm($this->tpl);
107  $this->questionOBJ->setOutputType(OUTPUT_JAVASCRIPT); // TODO: remove including depending stuff
108 
109  $this->questionGUI->setTargetGui($this);
110  $this->questionGUI->setQuestionActionCmd(self::CMD_HANDLE_QUESTION_ACTION);
111 
112  $this->questionGUI->setRenderPurpose(assQuestionGUI::RENDER_PURPOSE_DEMOPLAY);
113  }
const OUTPUT_JAVASCRIPT
static instantiateQuestionGUI($a_question_id)
Creates an instance of a question gui with a given question id.
+ Here is the call graph for this function:

◆ initStyleSheets()

ilAssQuestionPreviewGUI::initStyleSheets ( )

Definition at line 137 of file class.ilAssQuestionPreviewGUI.php.

References ilObjStyleSheet\getContentStylePath(), and ilObjStyleSheet\getSyntaxStylePath().

138  {
139  include_once("./Services/Style/Content/classes/class.ilObjStyleSheet.php");
140 
141  $this->tpl->setCurrentBlock("ContentStyle");
142  $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath(0));
143  $this->tpl->parseCurrentBlock();
144 
145  $this->tpl->setCurrentBlock("SyntaxStyle");
146  $this->tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath());
147  $this->tpl->parseCurrentBlock();
148  }
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id)
get content style path
+ Here is the call graph for this function:

◆ instantResponseCmd()

ilAssQuestionPreviewGUI::instantResponseCmd ( )
private

Definition at line 230 of file class.ilAssQuestionPreviewGUI.php.

References saveQuestionSolution().

231  {
232  if( $this->saveQuestionSolution() )
233  {
234  $this->previewSession->setInstantResponseActive(true);
235  }
236  else
237  {
238  $this->previewSession->setInstantResponseActive(false);
239  }
240 
241  $this->ctrl->redirect($this, self::CMD_SHOW);
242  }
+ Here is the call graph for this function:

◆ isShowBestSolutionRequired()

ilAssQuestionPreviewGUI::isShowBestSolutionRequired ( )
private

Definition at line 382 of file class.ilAssQuestionPreviewGUI.php.

Referenced by showCmd().

383  {
384  if( !$this->previewSettings->isBestSolutionEnabled() )
385  {
386  return false;
387  }
388 
389  return $this->previewSession->isInstantResponseActive();
390  }
+ Here is the caller graph for this function:

◆ isShowGenericQuestionFeedbackRequired()

ilAssQuestionPreviewGUI::isShowGenericQuestionFeedbackRequired ( )
private

Definition at line 392 of file class.ilAssQuestionPreviewGUI.php.

Referenced by showCmd().

393  {
394  if( !$this->previewSettings->isGenericFeedbackEnabled() )
395  {
396  return false;
397  }
398 
399  return $this->previewSession->isInstantResponseActive();
400  }
+ Here is the caller graph for this function:

◆ isShowSpecificQuestionFeedbackRequired()

ilAssQuestionPreviewGUI::isShowSpecificQuestionFeedbackRequired ( )
private

Definition at line 402 of file class.ilAssQuestionPreviewGUI.php.

Referenced by populateQuestionOutput(), and showCmd().

403  {
404  if( !$this->previewSettings->isSpecificFeedbackEnabled() )
405  {
406  return false;
407  }
408 
409  return $this->previewSession->isInstantResponseActive();
410  }
+ Here is the caller graph for this function:

◆ populateGenericQuestionFeedback()

ilAssQuestionPreviewGUI::populateGenericQuestionFeedback ( ilTemplate  $tpl)
private

Definition at line 353 of file class.ilAssQuestionPreviewGUI.php.

References ilAssQuestionFeedback\CSS_CLASS_FEEDBACK_CORRECT, ilAssQuestionFeedback\CSS_CLASS_FEEDBACK_WRONG, ilTemplate\parseCurrentBlock(), ilTemplate\setCurrentBlock(), and HTML_Template_IT\setVariable().

Referenced by showCmd().

354  {
355  if( $this->questionOBJ->isPreviewSolutionCorrect($this->previewSession) )
356  {
357  $feedback = $this->questionGUI->getGenericFeedbackOutputForCorrectSolution();
359  }
360  else
361  {
362  $feedback = $this->questionGUI->getGenericFeedbackOutputForIncorrectSolution();
364  }
365 
366  if( strlen($feedback) )
367  {
368  $tpl->setCurrentBlock('instant_feedback_generic');
369  $tpl->setVariable('GENERIC_FEEDBACK', $feedback);
370  $tpl->setVariable('ILC_FB_CSS_CLASS', $cssClass);
371  $tpl->parseCurrentBlock();
372  }
373  }
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
setCurrentBlock($part="DEFAULT")
Überladene Funktion, die sich hier lokal noch den aktuellen Block merkt.
parseCurrentBlock($part="DEFAULT")
Überladene Funktion, die auf den aktuelle Block vorher noch ein replace ausführt public...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populatePreviewToolbar()

ilAssQuestionPreviewGUI::populatePreviewToolbar ( ilTemplate  $tpl)
private

Definition at line 250 of file class.ilAssQuestionPreviewGUI.php.

References HTML_Template_IT\setVariable().

Referenced by showCmd().

251  {
252  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionPreviewToolbarGUI.php';
253  $toolbarGUI = new ilAssQuestionPreviewToolbarGUI($this->lng);
254 
255  $toolbarGUI->setFormAction($this->ctrl->getFormAction($this, self::CMD_SHOW));
256  $toolbarGUI->setResetPreviewCmd(self::CMD_RESET);
257 
258  $toolbarGUI->build();
259 
260  $tpl->setVariable('PREVIEW_TOOLBAR', $this->ctrl->getHTML($toolbarGUI));
261  }
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateQuestionNavigation()

ilAssQuestionPreviewGUI::populateQuestionNavigation ( ilTemplate  $tpl)
private

Definition at line 335 of file class.ilAssQuestionPreviewGUI.php.

References HTML_Template_IT\setVariable().

Referenced by showCmd().

336  {
337  require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionRelatedNavigationBarGUI.php';
338  $navGUI = new ilAssQuestionRelatedNavigationBarGUI($this->ctrl, $this->lng);
339 
340  $navGUI->setInstantResponseCmd(self::CMD_INSTANT_RESPONSE);
341  $navGUI->setHintRequestCmd(self::CMD_GATEWAY_CONFIRM_HINT_REQUEST);
342  $navGUI->setHintListCmd(self::CMD_GATEWAY_SHOW_HINT_LIST);
343 
344  $navGUI->setInstantResponseEnabled($this->previewSettings->isInstantFeedbackNavigationRequired());
345  $navGUI->setHintProvidingEnabled($this->previewSettings->isHintProvidingEnabled());
346 
347  $navGUI->setHintRequestsPossible($this->hintTracking->requestsPossible());
348  $navGUI->setHintRequestsExist($this->hintTracking->requestsExist());
349 
350  $tpl->setVariable('QUESTION_NAVIGATION', $this->ctrl->getHTML($navGUI));
351  }
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateQuestionOutput()

ilAssQuestionPreviewGUI::populateQuestionOutput ( ilTemplate  $tpl)
private

Definition at line 263 of file class.ilAssQuestionPreviewGUI.php.

References $_POST, array, getQuestionAnswerShuffler(), isShowSpecificQuestionFeedbackRequired(), ilPageObjectGUI\setRenderPageContainer(), and HTML_Template_IT\setVariable().

Referenced by showCmd().

264  {
265  // FOR WHAT EXACTLY IS THIS USEFUL?
266  $this->ctrl->setReturnByClass('ilAssQuestionPageGUI', 'view');
267  $this->ctrl->setReturnByClass('ilObjQuestionPoolGUI', 'questions');
268 
269  include_once("./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php");
270  $pageGUI = new ilAssQuestionPageGUI($this->questionOBJ->getId());
271  $pageGUI->setRenderPageContainer(false);
272  $pageGUI->setEditPreview(true);
273  $pageGUI->setEnabledTabs(false);
274 
275  // FOR WHICH SITUATION IS THIS WORKAROUND NECCESSARY? (sure .. imagemaps, but where this can be done?)
276  if (strlen($this->ctrl->getCmd()) == 0 && !isset($_POST['editImagemapForward_x'])) // workaround for page edit imagemaps, keep in mind
277  {
278  $this->ctrl->setCmdClass(get_class($pageGUI));
279  $this->ctrl->setCmd('preview');
280  }
281 
282  $this->questionGUI->setPreviewSession($this->previewSession);
283  $this->questionGUI->object->setShuffler($this->getQuestionAnswerShuffler());
284 
285  $questionHtml = $this->questionGUI->getPreview(true, $this->isShowSpecificQuestionFeedbackRequired());
286  $this->questionGUI->magicAfterTestOutput();
287 
288  $pageGUI->setQuestionHTML(array($this->questionOBJ->getId() => $questionHtml));
289 
290  //$pageGUI->setHeader($this->questionOBJ->getTitle()); // NO ADDITIONAL HEADER
291  $pageGUI->setPresentationTitle($this->questionOBJ->getTitle());
292 
293  //$pageGUI->setTemplateTargetVar("ADM_CONTENT"); // NOT REQUIRED, OR IS?
294 
295  $tpl->setVariable('QUESTION_OUTPUT', $pageGUI->preview());
296  }
Question page GUI class.
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
setRenderPageContainer($a_val)
Set render page container.
Create styles array
The data for the language used.
$_POST["username"]
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateSolutionOutput()

ilAssQuestionPreviewGUI::populateSolutionOutput ( ilTemplate  $tpl)
private

Definition at line 298 of file class.ilAssQuestionPreviewGUI.php.

References $_POST, array, ilTemplate\parseCurrentBlock(), ilTemplate\setCurrentBlock(), ilPageObjectGUI\setEditPreview(), and HTML_Template_IT\setVariable().

Referenced by showCmd().

299  {
300  // FOR WHAT EXACTLY IS THIS USEFUL?
301  $this->ctrl->setReturnByClass('ilAssQuestionPageGUI', 'view');
302  $this->ctrl->setReturnByClass('ilObjQuestionPoolGUI', 'questions');
303 
304  include_once("./Modules/TestQuestionPool/classes/class.ilAssQuestionPageGUI.php");
305  $pageGUI = new ilAssQuestionPageGUI($this->questionOBJ->getId());
306 
307  $pageGUI->setEditPreview(true);
308  $pageGUI->setEnabledTabs(false);
309 
310  // FOR WHICH SITUATION IS THIS WORKAROUND NECCESSARY? (sure .. imagemaps, but where this can be done?)
311  if (strlen($this->ctrl->getCmd()) == 0 && !isset($_POST['editImagemapForward_x'])) // workaround for page edit imagemaps, keep in mind
312  {
313  $this->ctrl->setCmdClass(get_class($pageGUI));
314  $this->ctrl->setCmd('preview');
315  }
316 
317  $this->questionGUI->setPreviewSession($this->previewSession);
318 
319  $pageGUI->setQuestionHTML(array($this->questionOBJ->getId() => $this->questionGUI->getSolutionOutput(
320  0, null, false, false, true, false,
321  true, false, false
322  )));
323 
324  //$pageGUI->setHeader($this->questionOBJ->getTitle()); // NO ADDITIONAL HEADER
325  //$pageGUI->setPresentationTitle($this->questionOBJ->getTitle());
326 
327  //$pageGUI->setTemplateTargetVar("ADM_CONTENT"); // NOT REQUIRED, OR IS?
328 
329  $tpl->setCurrentBlock('solution_output');
330  $tpl->setVariable('TXT_CORRECT_SOLUTION', $this->lng->txt('tst_best_solution_is'));
331  $tpl->setVariable('SOLUTION_OUTPUT', $pageGUI->preview());
332  $tpl->parseCurrentBlock();
333  }
setEditPreview($a_editpreview)
Set Display first Edit tab, then Preview tab, instead of Page and Edit.
Question page GUI class.
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
Create styles array
The data for the language used.
setCurrentBlock($part="DEFAULT")
Überladene Funktion, die sich hier lokal noch den aktuellen Block merkt.
$_POST["username"]
parseCurrentBlock($part="DEFAULT")
Überladene Funktion, die auf den aktuelle Block vorher noch ein replace ausführt public...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateSpecificQuestionFeedback()

ilAssQuestionPreviewGUI::populateSpecificQuestionFeedback ( ilTemplate  $tpl)
private

Definition at line 375 of file class.ilAssQuestionPreviewGUI.php.

References ilTemplate\parseCurrentBlock(), ilTemplate\setCurrentBlock(), and HTML_Template_IT\setVariable().

Referenced by showCmd().

376  {
377  $tpl->setCurrentBlock('instant_feedback_specific');
378  $tpl->setVariable('ANSWER_FEEDBACK', $this->questionGUI->getSpecificFeedbackOutput(0, -1));
379  $tpl->parseCurrentBlock();
380  }
setVariable($variable, $value='')
Sets a variable value.
Definition: IT.php:613
setCurrentBlock($part="DEFAULT")
Überladene Funktion, die sich hier lokal noch den aktuellen Block merkt.
parseCurrentBlock($part="DEFAULT")
Überladene Funktion, die auf den aktuelle Block vorher noch ein replace ausführt public...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetCmd()

ilAssQuestionPreviewGUI::resetCmd ( )
private

Definition at line 218 of file class.ilAssQuestionPreviewGUI.php.

References ilUtil\sendInfo().

219  {
220  $this->previewSession->setRandomizerSeed(null);
221  $this->previewSession->setParticipantsSolution(null);
222  $this->previewSession->resetRequestedHints();
223  $this->previewSession->setInstantResponseActive(false);
224 
225  ilUtil::sendInfo($this->lng->txt('qst_preview_reset_msg'), true);
226 
227  $this->ctrl->redirect($this, self::CMD_SHOW);
228  }
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ saveQuestionSolution()

ilAssQuestionPreviewGUI::saveQuestionSolution ( )

Definition at line 412 of file class.ilAssQuestionPreviewGUI.php.

Referenced by gatewayConfirmHintRequestCmd(), gatewayShowHintListCmd(), and instantResponseCmd().

413  {
414  return $this->questionOBJ->persistPreviewState($this->previewSession);
415  }
+ Here is the caller graph for this function:

◆ showCmd()

ilAssQuestionPreviewGUI::showCmd ( )
private

Definition at line 188 of file class.ilAssQuestionPreviewGUI.php.

References $tpl, isShowBestSolutionRequired(), isShowGenericQuestionFeedbackRequired(), isShowSpecificQuestionFeedbackRequired(), populateGenericQuestionFeedback(), populatePreviewToolbar(), populateQuestionNavigation(), populateQuestionOutput(), populateSolutionOutput(), and populateSpecificQuestionFeedback().

Referenced by gatewayConfirmHintRequestCmd(), and gatewayShowHintListCmd().

189  {
190  $tpl = new ilTemplate('tpl.qpl_question_preview.html', true, true, 'Modules/TestQuestionPool');
191 
192  $tpl->setVariable('PREVIEW_FORMACTION', $this->ctrl->getFormAction($this, self::CMD_SHOW));
193 
195 
197 
199 
201  {
203  }
204 
206  {
208  }
209 
210  if( $this->isShowBestSolutionRequired() )
211  {
213  }
214 
215  $this->tpl->setContent($tpl->get());
216  }
special template class to simplify handling of ITX/PEAR
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilAssQuestionPreviewGUI::$ctrl
protected

Definition at line 32 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct().

◆ $db

ilAssQuestionPreviewGUI::$db
protected

Definition at line 52 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct().

◆ $hintTracking

ilAssQuestionPreviewGUI::$hintTracking
protected

Definition at line 82 of file class.ilAssQuestionPreviewGUI.php.

◆ $lng

ilAssQuestionPreviewGUI::$lng
protected

Definition at line 47 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct().

◆ $previewSession

ilAssQuestionPreviewGUI::$previewSession
protected

Definition at line 77 of file class.ilAssQuestionPreviewGUI.php.

◆ $previewSettings

ilAssQuestionPreviewGUI::$previewSettings
protected

Definition at line 72 of file class.ilAssQuestionPreviewGUI.php.

◆ $questionGUI

ilAssQuestionPreviewGUI::$questionGUI
protected

Definition at line 62 of file class.ilAssQuestionPreviewGUI.php.

◆ $questionOBJ

ilAssQuestionPreviewGUI::$questionOBJ
protected

Definition at line 67 of file class.ilAssQuestionPreviewGUI.php.

◆ $tabs

ilAssQuestionPreviewGUI::$tabs
protected

Definition at line 37 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct().

◆ $tpl

ilAssQuestionPreviewGUI::$tpl
protected

Definition at line 42 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct(), and showCmd().

◆ $user

ilAssQuestionPreviewGUI::$user
protected

Definition at line 57 of file class.ilAssQuestionPreviewGUI.php.

Referenced by __construct().

◆ CMD_GATEWAY_CONFIRM_HINT_REQUEST

const ilAssQuestionPreviewGUI::CMD_GATEWAY_CONFIRM_HINT_REQUEST = 'gatewayConfirmHintRequest'

Definition at line 24 of file class.ilAssQuestionPreviewGUI.php.

◆ CMD_GATEWAY_SHOW_HINT_LIST

const ilAssQuestionPreviewGUI::CMD_GATEWAY_SHOW_HINT_LIST = 'gatewayShowHintList'

Definition at line 25 of file class.ilAssQuestionPreviewGUI.php.

◆ CMD_HANDLE_QUESTION_ACTION

const ilAssQuestionPreviewGUI::CMD_HANDLE_QUESTION_ACTION = 'handleQuestionAction'

Definition at line 23 of file class.ilAssQuestionPreviewGUI.php.

◆ CMD_INSTANT_RESPONSE

const ilAssQuestionPreviewGUI::CMD_INSTANT_RESPONSE = 'instantResponse'

Definition at line 22 of file class.ilAssQuestionPreviewGUI.php.

◆ CMD_RESET

const ilAssQuestionPreviewGUI::CMD_RESET = 'reset'

Definition at line 21 of file class.ilAssQuestionPreviewGUI.php.

◆ CMD_SHOW

const ilAssQuestionPreviewGUI::CMD_SHOW = 'show'

◆ TAB_ID_QUESTION_PREVIEW

const ilAssQuestionPreviewGUI::TAB_ID_QUESTION_PREVIEW = 'preview'

The documentation for this class was generated from the following file: