ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilTestExpressPageObjectGUI Class Reference

@ilCtrl_Calls ilTestExpressPageObjectGUI: assMultipleChoiceGUI, assClozeTestGUI, assMatchingQuestionGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: assOrderingQuestionGUI, assImagemapQuestionGUI, assJavaAppletGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: assNumericGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: assTextSubsetGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: assSingleChoiceGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: assTextQuestionGUI, assFormulaQuestionGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: ilPageEditorGUI, ilEditClipboardGUI, ilMediaPoolTargetSelector @ilCtrl_Calls ilTestExpressPageObjectGUI: ilRatingGUI, ilPublicUserProfileGUI, ilAssQuestionPageGUI, ilNoteGUI @ilCtrl_Calls ilTestExpressPageObjectGUI: ilObjQuestionPoolGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assMultipleChoiceGUI, assClozeTestGUI, assMatchingQuestionGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assOrderingQuestionGUI, assImagemapQuestionGUI, assJavaAppletGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assNumericGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assTextSubsetGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assSingleChoiceGUI @ilCtrl_IsCalledBy ilTestExpressPageObjectGUI: assTextQuestionGUI, assFormulaQuestionGUI More...

+ Inheritance diagram for ilTestExpressPageObjectGUI:
+ Collaboration diagram for ilTestExpressPageObjectGUI:

Public Member Functions

 nextQuestion ()
 
 prevQuestion ()
 
 __construct ($a_id=0, $a_old_nr=0)
 Constructor. More...
 
 executeCommand ()
 execute command More...
 
 addPageOfQuestions ($type='')
 
 handleToolbarCommand ()
 
 addQuestion ()
 
 questions ()
 
 insertQuestions ()
 
- Public Member Functions inherited from ilAssQuestionPageGUI
 __construct ($a_id=0, $a_old_nr=0)
 Constructor. More...
 
 getOriginalPresentationTitle ()
 
 setOriginalPresentationTitle ($originalPresentationTitle)
 
 showPage ()
 display content of page More...
 
 postOutputProcessing ($output)
 Finalizing output processing. More...
 
 setQuestionInfoHTML ($a_html)
 Set the HTML of a question info block below the title (number, status, ...) More...
 
 setQuestionActionsHTML ($a_html)
 Set the HTML of a question actions block below the title. More...
 
 insertPageToc ($a_output)
 Replace page toc placeholder with question info and actions. More...
 
- Public Member Functions inherited from ilPageObjectGUI
 __construct ( $a_parent_type, $a_id, $a_old_nr=0, $a_prevent_get_id=false, $a_lang="")
 Constructor. More...
 
 afterConstructor ()
 After constructor. More...
 
 setParentType ($a_val)
 Set parent type. More...
 
 getParentType ()
 Get parent type. More...
 
 setId ($a_val)
 Set ID. More...
 
 getId ()
 Get ID. More...
 
 setOldNr ($a_val)
 Set old nr (historic page) More...
 
 getOldNr ()
 Get old nr (historic page) More...
 
 setLanguage ($a_val)
 Set language. More...
 
 getLanguage ()
 Get language. More...
 
 setEnablePCType ($a_pc_type, $a_val)
 Set enable pc type. More...
 
 getEnablePCType ($a_pc_type)
 Get enable pc type. More...
 
 setPageConfig ($a_val)
 Set page config object. More...
 
 getPageConfig ()
 Get page config object. More...
 
 setPageObject (ilPageObject $a_pg_obj)
 Set Page Object. More...
 
 getPageObject ()
 Get Page Object. More...
 
 setOutputMode ($a_mode=IL_PAGE_PRESENTATION)
 Set Output Mode. More...
 
 getOutputMode ()
 
 setTemplateOutput ($a_output=true)
 
 outputToTemplate ()
 
 setPresentationTitle ($a_title="")
 
 getPresentationTitle ()
 
 setHeader ($a_title="")
 
 getHeader ()
 
 setLinkParams ($l_params="")
 
 getLinkParams ()
 
 setLinkFrame ($l_frame="")
 
 getLinkFrame ()
 
 setLinkXML ($link_xml)
 
 getLinkXML ()
 
 setQuestionXML ($question_xml)
 
 setQuestionHTML ($question_html)
 
 getQuestionXML ()
 
 getQuestionHTML ()
 
 setTemplateTargetVar ($a_variable)
 
 getTemplateTargetVar ()
 
 setTemplateOutputVar ($a_value)
 
 getTemplateOutputVar ()
 
 setSourcecodeDownloadScript ($script_name)
 Set sourcecode download script. More...
 
 getSourcecodeDownloadScript ()
 Get sourcecode download script. More...
 
 setLocator (&$a_locator)
 
 setTabs ($a_tabs)
 
 setPageBackTitle ($a_title)
 
 setFileDownloadLink ($a_download_link)
 Set file download link. More...
 
 getFileDownloadLink ()
 Get file download link. More...
 
 setFullscreenLink ($a_fullscreen_link)
 Set fullscreen link. More...
 
 getFullscreenLink ()
 Get fullscreen link. More...
 
 setIntLinkReturn ($a_return)
 
 enableChangeComments ($a_enabled)
 
 isEnabledChangeComments ()
 
 enableNotes ($a_enabled, $a_parent_id)
 
 isEnabledNotes ()
 
 setOfflineDirectory ($offdir)
 set offline directory to offdir More...
 
 getOfflineDirectory ()
 get offline directory More...
 
 setViewPageLink ($a_link, $a_target="")
 set link for "view page" button More...
 
 getViewPageLink ()
 get view page link More...
 
 getViewPageTarget ()
 get view page target frame More...
 
 getViewPageText ()
 get view page text More...
 
 setActivationListener (&$a_obj, $a_meth)
 
 setEnabledNews ($a_enabled, $a_news_obj_id=0, $a_news_obj_type=0)
 Set enabled news. More...
 
 getEnabledNews ()
 Get enabled news. More...
 
 setTabHook ($a_object, $a_function)
 Set tab hook. More...
 
 setEditPreview ($a_editpreview)
 Set Display first Edit tab, then Preview tab, instead of Page and Edit. More...
 
 getEditPreview ()
 Get Display first Edit tab, then Preview tab, instead of Page and Edit. More...
 
 setEnabledTabs ($a_enabledtabs)
 Set Output tabs. More...
 
 getEnabledTabs ()
 Get Output tabs. More...
 
 setEnabledPageFocus ($a_enabledpagefocus)
 Set Enable page focus. More...
 
 getEnabledPageFocus ()
 Get Enable page focus. More...
 
 setExplorerUpdater ($a_exp_frame, $a_exp_id, $a_exp_target_script)
 Set Explorer Updater. More...
 
 setPrependingHtml ($a_prependinghtml)
 Set Prepending HTML. More...
 
 getPrependingHtml ()
 Get Prepending HTML. More...
 
 setEnableEditing ($a_enableediting)
 Set Enable Editing. More...
 
 getEnableEditing ()
 Get Enable Editing. More...
 
 setRawPageContent ($a_rawpagecontent)
 Set Get raw page content only. More...
 
 getRawPageContent ()
 Get Get raw page content only. More...
 
 setStyleId ($a_styleid)
 Set Style Id. More...
 
 getStyleId ()
 Get Style Id. More...
 
 setCompareMode ($a_val)
 Set compare mode. More...
 
 getCompareMode ()
 Get compare mode. More...
 
 setAbstractOnly ($a_val)
 Set abstract only. More...
 
 getAbstractOnly ()
 Get abstract only. More...
 
 setRenderPageContainer ($a_val)
 Set render page container. More...
 
 getRenderPageContainer ()
 Get render page container. More...
 
 getDisabledText ()
 Get disabled text. More...
 
 activateMetaDataEditor ( $a_rep_obj, $a_type, $a_sub_obj_id, $a_observer_obj=null, $a_observer_func="")
 Activate meda data editor. More...
 
 determineFileDownloadLink ()
 Determine file download link. More...
 
 determineFullscreenLink ()
 Determine fullscreen link. More...
 
 determineSourcecodeDownloadScript ()
 Determine source code download script. More...
 
 getComponentPluginsXML ()
 Put information about activated plugins into XML. More...
 
 executeCommand ()
 execute command More...
 
 setQEditTabs ($a_active)
 Set question editing tabs. More...
 
 onFeedbackEditingForwarding ()
 On feedback editing forwarding. More...
 
 deactivatePage ()
 
 activatePage ()
 
 showPage ()
 display content of page More...
 
 replaceCurlyBrackets ($output)
 Replace curly brackets. More...
 
 addActionsMenu ($a_tpl, $sel_media_mode, $sel_html_mode, $sel_js_mode)
 Add actions menu. More...
 
 addMultiLangActionsAndInfo ($a_list, $a_tpl)
 Add multi-language actions to menu. More...
 
 setEditMode ()
 Set edit mode. More...
 
 setDefaultLinkXml ()
 Set standard link xml. More...
 
 getProfileBackUrl ()
 Get profile back url. More...
 
 downloadFile ()
 Download file of file lists. More...
 
 displayMediaFullscreen ()
 Show media in fullscreen mode. More...
 
 displayMedia ($a_fullscreen=false)
 Display media. More...
 
 download_paragraph ()
 download source code paragraph More...
 
 insertPageToc ($a_output)
 Insert page toc. More...
 
 insertResources ($a_output)
 Insert resources. More...
 
 insertAdvTrigger ($a_output)
 Insert adv content trigger. More...
 
 postOutputProcessing ($a_output)
 Finalizing output processing. More...
 
 insertHelp ($a_tpl)
 Insert help texts. More...
 
 previewHistory ()
 Preview history. More...
 
 preview ()
 preview More...
 
 edit ()
 edit ("view" before) More...
 
 insertJSAtPlaceholder ()
 InsertJS at placeholder. More...
 
 initCaptchaForm ()
 Init captcha form. More...
 
 presentation ($a_mode=IL_PAGE_PRESENTATION)
 
 getHTML ()
 
 showMediaFullscreen ($a_style_id=0)
 show fullscreen view of media object More...
 
 displayValidationError ($a_error)
 display validation error More...
 
 history ()
 Get history table as HTML. More...
 
 rollbackConfirmation ()
 Rollback confirmation. More...
 
 rollback ()
 Rollback to a previous version. More...
 
 setScreenIdComponent ()
 Set screen id component. More...
 
 getTabs ($a_activate="")
 adds tabs to tab gui object More...
 
 compareVersion ()
 Compares two revisions of the page. More...
 
 replaceDiffTags ($a_html)
 
 editActivation ()
 Edit activation (only, if scheduled page activation is activated in administration) More...
 
 initActivationForm ()
 Init activation form. More...
 
 getActivationFormValues ()
 Get values for activation form. More...
 
 saveActivation ()
 Save Activation. More...
 
 getNotesHTML ($a_content_object=null, $a_enable_private_notes=true, $a_enable_public_notes=false, $a_enable_notes_deletion=false, $a_callback=null)
 Get html for public and/or private notes. More...
 
 processAnswer ()
 Process answer. More...
 
 initialOpenedContent ()
 Initially opened content. More...
 
 initOpenedContentForm ()
 Init form for initially opened content. More...
 
 saveInitialOpenedContent ()
 Save initial opened content. More...
 
 switchToLanguage ()
 Switch to language. More...
 
 confirmPageTranslationCreation ()
 Confirm page translation creation. More...
 
 editMasterLanguage ()
 Edit master language. More...
 
 createPageTranslation ()
 Create page translation. More...
 
 releasePageLock ()
 Release page lock. More...
 
 getPagePermaLink ()
 Get page perma link. More...
 

Private Member Functions

 redirectToQuestionEditPage ($questionType, $qid, $prev_qid)
 
 redirectToQuestionPoolSelectionPage ($questionType, $qid, $prev_qid)
 

Additional Inherited Members

- Static Public Member Functions inherited from ilPageObjectGUI
static getTinyMenu ( $a_par_type, $a_int_links=false, $a_wiki_links=false, $a_keywords=false, $a_style_id=0, $a_paragraph_styles=true, $a_save_return=true, $a_anchors=false, $a_save_new=true, $a_user_links=false)
 Get Tiny Menu. More...
 
- Data Fields inherited from ilAssQuestionPageGUI
const TEMP_PRESENTATION_TITLE_PLACEHOLDER = '___TEMP_PRESENTATION_TITLE_PLACEHOLDER___'
 
- Data Fields inherited from ilPageObjectGUI
 $obj
 
 $presentation_title
 
 $target_script
 
 $return_location
 
 $target_var
 
 $template_output_var
 
 $output2template
 
 $link_params
 
 $sourcecode_download_script
 
 $change_comments
 
 $question_html
 
 $activation = false
 
 $activated = true
 
 $editpreview = false
 
 $use_meta_data = false
 
 $link_xml_set = false
 
 $enableediting = true
 
 $rawpagecontent = false
 
 $enabledcontentincludes = false
 
 $compare_mode = false
 
 $page_config = null
 
 $tabs_enabled = true
 
 $render_page_container = false
 
 $pl_start = "{{{{{"
 
 $pl_end = "}}}}}"
 
- Protected Member Functions inherited from ilAssQuestionPageGUI
 isPageContainerToBeRendered ()
 
- Protected Member Functions inherited from ilPageObjectGUI
 initPageObject ()
 Init page object. More...
 
 getActivationCaptions ()
 Get captions for activation action menu entries. More...
 
 getBlockingInfoMessage ()
 Get block info message. More...
 
 isPageContainerToBeRendered ()
 
- Protected Attributes inherited from ilPageObjectGUI
 $tpl
 
 $lng
 
 $ctrl
 
 $tabs_gui
 
 $access
 
 $plugin_admin
 
 $log
 
 $user
 
 $help
 
 $output_mode
 
 $parent_type = ""
 
 $ui
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestExpressPageObjectGUI::__construct (   $a_id = 0,
  $a_old_nr = 0 
)

Constructor.

Parameters
int$a_id
int$a_old_nr
Returns
\ilAssQuestionPageGUI

Reimplemented from ilAssQuestionPageGUI.

Definition at line 64 of file class.ilTestExpressPageObjectGUI.php.

65 {
66 parent::__construct($a_id, $a_old_nr);
67 }

Member Function Documentation

◆ addPageOfQuestions()

ilTestExpressPageObjectGUI::addPageOfQuestions (   $type = '')

Definition at line 213 of file class.ilTestExpressPageObjectGUI.php.

214 {
215 global $DIC;
216 $ilCtrl = $DIC['ilCtrl'];
217
218 if (!$type) {
219 $qtype = $_REQUEST['qtype'];
220 $pool = new ilObjQuestionPool();
222 }
223
224 $this->ctrl->setReturn($this, "questions");
225
226 include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
228
230
231 $q_gui->object->setObjId($obj->getId());
232
233 return $q_gui;
234 }
$_GET["client_id"]
static _getQuestionGUI($question_type, $question_id=-1)
Creates a question gui representation and returns the alias to the question gui note: please do not u...
static getQuestionTypeByTypeId($type_id)
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
global $ilCtrl
Definition: ilias.php:18
$type
global $DIC
Definition: saml.php:7

References $_GET, $DIC, $ilCtrl, ilPageObjectGUI\$obj, $type, assQuestionGUI\_getQuestionGUI(), ilObjectFactory\getInstanceByRefId(), and ilObjQuestionPool\getQuestionTypeByTypeId().

Referenced by executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addQuestion()

ilTestExpressPageObjectGUI::addQuestion ( )

Definition at line 331 of file class.ilTestExpressPageObjectGUI.php.

332 {
333 global $DIC;
334 $lng = $DIC['lng'];
335 $ilCtrl = $DIC['ilCtrl'];
336 $tpl = $DIC['tpl'];
337 global $DIC; /* @var \ILIAS\DI\Container $DIC */
338 $ilHelp = $DIC['ilHelp']; /* @var ilHelpGUI $ilHelp */
339
340 $subScreenId = array('createQuestion');
341
342 include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
343
344 $ilCtrl->setParameter($this, 'qtype', $_REQUEST['qtype']);
345
346 $form = new ilPropertyFormGUI();
347
348 $ilCtrl->setParameter($this, 'test_express_mode', 1);
349
350 $form->setFormAction($ilCtrl->getFormAction($this, "handleToolbarCommand"));
351 $form->setTitle($lng->txt("ass_create_question"));
352 include_once 'Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php';
353
354 $pool = new ilObjQuestionPool();
355 $questionTypes = $pool->getQuestionTypes(false, true, false);
356 $options = array();
357
358 // question type
359 foreach ($questionTypes as $label => $data) {
360 $options[$data['question_type_id']] = $label;
361 }
362
363 include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
364 $si = new ilSelectInputGUI($lng->txt("question_type"), "qtype");
365 $si->setOptions($options);
366 $form->addItem($si, true);
367
368 // position
369 $questions = $this->test_object->getQuestionTitlesAndIndexes();
370 if ($questions) {
371 $si = new ilSelectInputGUI($lng->txt("position"), "position");
372 $options = array('0' => $lng->txt('first'));
373 foreach ($questions as $key => $title) {
374 $options[$key] = $lng->txt('behind') . ' ' . $title . ' [' . $this->lng->txt('question_id_short') . ': ' . $key . ']';
375 }
376 $si->setOptions($options);
377 $si->setValue($_REQUEST['q_id']);
378 $form->addItem($si, true);
379 }
380
381 // content editing mode
383 $subScreenId[] = 'editMode';
384
385 $ri = new ilRadioGroupInputGUI($lng->txt("tst_add_quest_cont_edit_mode"), "add_quest_cont_edit_mode");
386
387 $ri->addOption(new ilRadioOption(
388 $lng->txt('tst_add_quest_cont_edit_mode_default'),
390 ));
391
392 $ri->addOption(new ilRadioOption(
393 $lng->txt('tst_add_quest_cont_edit_mode_page_object'),
395 ));
396
398
399 $form->addItem($ri, true);
400 } else {
401 $hi = new ilHiddenInputGUI("question_content_editing_type");
403 $form->addItem($hi, true);
404 }
405
406 if ($this->test_object->getPoolUsage()) {
407 $subScreenId[] = 'poolSelect';
408
409 // use pool
410 $usage = new ilRadioGroupInputGUI($this->lng->txt("assessment_pool_selection"), "usage");
411 $usage->setRequired(true);
412 $no_pool = new ilRadioOption($this->lng->txt("assessment_no_pool"), 1);
413 $usage->addOption($no_pool);
414 $existing_pool = new ilRadioOption($this->lng->txt("assessment_existing_pool"), 3);
415 $usage->addOption($existing_pool);
416 $new_pool = new ilRadioOption($this->lng->txt("assessment_new_pool"), 2);
417 $usage->addOption($new_pool);
418 $form->addItem($usage);
419
420 $usage->setValue(1);
421
422 $questionpools = ilObjQuestionPool::_getAvailableQuestionpools(false, false, true, false, false, "write");
423 $pools_data = array();
424 foreach ($questionpools as $key => $p) {
425 $pools_data[$key] = $p['title'];
426 }
427 $pools = new ilSelectInputGUI($this->lng->txt("select_questionpool"), "sel_qpl");
428 $pools->setOptions($pools_data);
429 $existing_pool->addSubItem($pools);
430
431 $name = new ilTextInputGUI($this->lng->txt("name"), "txt_qpl");
432 $name->setSize(50);
433 $name->setMaxLength(50);
434 $new_pool->addSubItem($name);
435 }
436
437 $form->addCommandButton("handleToolbarCommand", $lng->txt("create"));
438 $form->addCommandButton("questions", $lng->txt("cancel"));
439
440 $ilHelp->setSubScreenId(implode('_', $subScreenId));
441
442 return $tpl->setContent($form->getHTML());
443 }
const ADDITIONAL_CONTENT_EDITING_MODE_DEFAULT
constant for additional content editing mode "default"
const ADDITIONAL_CONTENT_EDITING_MODE_PAGE_OBJECT
constant for additional content editing mode "pageobject"
This class represents a hidden form property in a property form.
static isAdditionalQuestionContentEditingModePageObjectEnabled()
returns the fact wether content editing with ilias page editor is enabled for questions or not
static _getAvailableQuestionpools($use_object_id=false, $equal_points=false, $could_be_offline=false, $showPath=false, $with_questioncount=false, $permission="read", $usr_id="")
Returns the available question pools for the active user.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
This class represents a text property in a property form.
$key
Definition: croninfo.php:18
if(isset($_POST['submit'])) $form
$data
Definition: bench.php:6

References $data, $DIC, $form, $ilCtrl, $key, ilPageObjectGUI\$lng, $name, PHPMailer\PHPMailer\$options, $si, $title, ilPageObjectGUI\$tpl, ilObjQuestionPool\_getAvailableQuestionpools(), assQuestion\ADDITIONAL_CONTENT_EDITING_MODE_DEFAULT, assQuestion\ADDITIONAL_CONTENT_EDITING_MODE_PAGE_OBJECT, and ilObjAssessmentFolder\isAdditionalQuestionContentEditingModePageObjectEnabled().

+ Here is the call graph for this function:

◆ executeCommand()

ilTestExpressPageObjectGUI::executeCommand ( )

execute command

Reimplemented from ilPageObjectGUI.

Definition at line 69 of file class.ilTestExpressPageObjectGUI.php.

70 {
71 global $DIC; /* @var ILIAS\DI\Container $DIC */
72 $ilCtrl = $DIC['ilCtrl'];
73 $ilTabs = $DIC['ilTabs'];
74 $ilUser = $DIC['ilUser'];
75 $lng = $DIC['lng'];
76
77 $next_class = $this->ctrl->getNextClass($this);
78 $cmd = $this->ctrl->getCmd();
79
80 switch ($next_class) {
81 case 'ilobjquestionpoolgui':
82
83 $nodeParts = explode(':', $_GET['cmdNode']);
84
85 $params = array(
86 'ref_id' => $_GET['ref_id'],
87 'calling_test' => $_GET['ref_id'],
88 'q_id' => $_GET['q_id'],
89 'cmd' => $_GET['cmd'],
90 'cmdClass' => $_GET['cmdClass'],
91 'baseClass' => 'ilObjQuestionPoolGUI',
92 'test_express_mode' => '1'
93 );
94
97 '?' . http_build_query($params, null, '&'),
98 'cmdNode=' . ($nodeParts[count($nodeParts) - 2] . ':' . $nodeParts[count($nodeParts) - 1])
99 )
100 );
101
102 break;
103
104 case "ilpageeditorgui":
105
106 if (!$this->getEnableEditing()) {
107 ilUtil::sendFailure($lng->txt("permission_denied"), true);
108 $ilCtrl->redirect($this, "preview");
109 }
110
111 $page_editor = new ilPageEditorGUI($this->getPageObject(), $this);
112 $page_editor->setLocator($this->locator);
113 $page_editor->setHeader($this->getHeader());
114 $page_editor->setPageBackTitle($this->page_back_title);
115 $page_editor->setIntLinkReturn($this->int_link_return);
116
117 $this->ctrl->saveParameterByClass('ilpageeditorgui', 'q_mode');
118
119 $ret = &$this->ctrl->forwardCommand($page_editor);
120
121 break;
122
123 case '':
124 case 'iltestexpresspageobjectgui':
125
126 include_once 'Modules/TestQuestionPool/classes/class.assQuestionGUI.php';
127
128 if ($cmd == 'view') {
129 $cmd = 'showPage';
130 $ilCtrl->setCmd($cmd);
131 }
132
133 $q_gui = assQuestionGUI::_getQuestionGUI('', (int) $_REQUEST["q_id"]);
134
135 if ($q_gui->object) {
136 $obj = ilObjectFactory::getInstanceByRefId((int) $_REQUEST['ref_id']);
137 $q_gui->object->setObjId($obj->getId());
138 }
139
140 $cmds = array(
141 'handleToolbarCommand',
142 'addQuestion',
143 'questions',
144 'insertQuestions',
145 'browseForQuestions',
146 'filterAvailableQuestions',
147 'resetfilterAvailableQuestions'
148 );
149
150 if (in_array($cmd, $cmds)) {
151 return $this->$cmd();
152 } elseif ($q_gui->object) {
153 $total = $this->test_object->evalTotalPersons();
154
156
157 if ($total != 0) {
158 $link = $DIC->ui()->factory()->link()->standard(
159 $DIC->language()->txt("test_has_datasets_warning_page_view_link"),
160 $DIC->ctrl()->getLinkTargetByClass(array('ilTestResultsGUI', 'ilParticipantsTestResultsGUI'))
161 );
162
163 $message = $DIC->language()->txt("test_has_datasets_warning_page_view");
164
165 $msgBox = $DIC->ui()->factory()->messageBox()->info($message)->withLinks(array($link));
166
167 $DIC->ui()->mainTemplate()->setCurrentBlock('mess');
168 $DIC->ui()->mainTemplate()->setVariable(
169 'MESSAGE',
170 $DIC->ui()->renderer()->render($msgBox)
171 );
172 $DIC->ui()->mainTemplate()->parseCurrentBlock();
173 }
174
175 if ((in_array($cmd, array('view', 'showPage')) || $cmd == 'edit') && $this->test_object->evalTotalPersons()) {
176 return $this->showPage();
177 }
178
179 return parent::executeCommand();
180 }
181
182 break;
183
184 default:
186
187 if (!$_GET['q_id']) {
188 $q_gui = $this->addPageOfQuestions(preg_replace('/(.*?)gui/i', '$1', $_GET['sel_question_types']));
189 $q_gui->setQuestionTabs();
190
191 $this->ctrl->forwardCommand($q_gui);
192 break;
193 }
194
195 $this->ctrl->setReturn($this, "questions");
196
197 require_once 'Modules/TestQuestionPool/classes/class.assQuestionGUI.php';
198 $q_gui = assQuestionGUI::_getQuestionGUI($type, (int) $_GET['q_id']);
199 if ($q_gui->object) {
201 $q_gui->object->setObjId($obj->getId());
202 }
203
204 $this->ctrl->saveParameterByClass('ilpageeditorgui', 'q_id');
205 $this->ctrl->saveParameterByClass('ilpageeditorgui', 'q_mode');
206
207 $q_gui->setQuestionTabs();
208 $this->ctrl->forwardCommand($q_gui);
209 break;
210 }
211 }
$total
Definition: Utf8Test.php:87
const IL_PAGE_EDIT
const IL_PAGE_PREVIEW
showPage()
display content of page
Page Editor GUI class.
getPageObject()
Get Page Object.
setOutputMode($a_mode=IL_PAGE_PRESENTATION)
Set Output Mode.
getEnableEditing()
Get Enable Editing.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
catch(Exception $e) $message
$ret
Definition: parser.php:6
$ilUser
Definition: imgupload.php:18

References $_GET, $DIC, $ilCtrl, $ilUser, ilPageObjectGUI\$lng, $message, ilPageObjectGUI\$obj, PHPMailer\PHPMailer\$params, $ret, $total, $type, assQuestionGUI\_getQuestionGUI(), addPageOfQuestions(), ilUtil\appendUrlParameterString(), ilPageObjectGUI\getEnableEditing(), ilPageObjectGUI\getHeader(), ilObjectFactory\getInstanceByRefId(), ilPageObjectGUI\getPageObject(), ilObjQuestionPool\getQuestionTypeByTypeId(), IL_PAGE_EDIT, IL_PAGE_PREVIEW, ilUtil\redirect(), ilUtil\sendFailure(), ilPageObjectGUI\setOutputMode(), ilAssQuestionPageGUI\showPage(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ handleToolbarCommand()

ilTestExpressPageObjectGUI::handleToolbarCommand ( )

Definition at line 236 of file class.ilTestExpressPageObjectGUI.php.

237 {
238 global $DIC;
239 $ilCtrl = $DIC['ilCtrl'];
240
241 include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php";
242
243 if ($_REQUEST['qtype']) {
244 include_once 'Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php';
245 $questionType = ilObjQuestionPool::getQuestionTypeByTypeId($_REQUEST['qtype']);
246 } elseif ($_REQUEST['sel_question_types']) {
247 $questionType = $_REQUEST['sel_question_types'];
248 }
249
250 include_once 'Modules/Test/classes/class.ilObjAssessmentFolder.php';
252 $addContEditMode = $_REQUEST['add_quest_cont_edit_mode'];
253 } else {
255 }
256
257 $q_gui = &assQuestionGUI::_getQuestionGUI($questionType);
258
259 $q_gui->object->setObjId(ilObject::_lookupObjectId($_GET['ref_id']));
260 $q_gui->object->setAdditionalContentEditingMode($addContEditMode);
261
262 $q_gui->object->createNewQuestion();
263
264 $previousQuestionId = $_REQUEST['position'];
265
266 switch ($_REQUEST['usage']) {
267 case 3: // existing pool
268
269 $ilCtrl->setParameterByClass('ilobjtestgui', 'sel_qpl', $_REQUEST['sel_qpl']);
270 $ilCtrl->setParameterByClass('ilobjtestgui', 'sel_question_types', $questionType);
271 $ilCtrl->setParameterByClass('ilobjtestgui', 'q_id', $q_gui->object->getId());
272 $ilCtrl->setParameterByClass('ilobjtestgui', 'prev_qid', $previousQuestionId);
273
274 if ($_REQUEST['test_express_mode']) {
275 $ilCtrl->setParameterByClass('ilobjtestgui', 'test_express_mode', 1);
276 }
277
278 if (isset($_REQUEST['add_quest_cont_edit_mode'])) {
279 $ilCtrl->setParameterByClass(
280 'ilobjtestgui',
281 'add_quest_cont_edit_mode',
282 $_REQUEST['add_quest_cont_edit_mode']
283 );
284 }
285
286 $ilCtrl->setParameterByClass('ilobjtestgui', 'usage', 3);
287 $ilCtrl->setParameterByClass('ilobjtestgui', 'calling_test', $this->test_object->getId());
288
289 $link = $ilCtrl->getLinkTargetByClass('ilobjtestgui', 'executeCreateQuestion', false, false, false);
290
291 ilUtil::redirect($link);
292
293 break;
294
295 case 2: // new pool
296
297 $ilCtrl->setParameterByClass('ilobjtestgui', 'txt_qpl', $_REQUEST['txt_qpl']);
298 $ilCtrl->setParameterByClass('ilobjtestgui', 'sel_question_types', $questionType);
299 $ilCtrl->setParameterByClass('ilobjtestgui', 'q_id', $q_gui->object->getId());
300 $ilCtrl->setParameterByClass('ilobjtestgui', 'prev_qid', $previousQuestionId);
301
302 if ($_REQUEST['test_express_mode']) {
303 $ilCtrl->setParameterByClass('ilobjtestgui', 'test_express_mode', 1);
304 }
305
306 if (isset($_REQUEST['add_quest_cont_edit_mode'])) {
307 $ilCtrl->setParameterByClass(
308 'ilobjtestgui',
309 'add_quest_cont_edit_mode',
310 $_REQUEST['add_quest_cont_edit_mode']
311 );
312 }
313
314 $ilCtrl->setParameterByClass('ilobjtestgui', 'usage', 2);
315 $ilCtrl->setParameterByClass('ilobjtestgui', 'calling_test', $this->test_object->getId());
316
317 $link = $ilCtrl->getLinkTargetByClass('ilobjtestgui', 'executeCreateQuestion', false, false, false);
318 ilUtil::redirect($link);
319
320 break;
321
322 case 1: // no pool
323 default:
324
325 $this->redirectToQuestionEditPage($questionType, $q_gui->object->getId(), $previousQuestionId);
326
327 break;
328 }
329 }
static _lookupObjectId($a_ref_id)
lookup object id
redirectToQuestionEditPage($questionType, $qid, $prev_qid)

References $_GET, $DIC, $ilCtrl, assQuestionGUI\_getQuestionGUI(), ilObject\_lookupObjectId(), assQuestion\ADDITIONAL_CONTENT_EDITING_MODE_DEFAULT, ilObjQuestionPool\getQuestionTypeByTypeId(), ilObjAssessmentFolder\isAdditionalQuestionContentEditingModePageObjectEnabled(), ilUtil\redirect(), and redirectToQuestionEditPage().

+ Here is the call graph for this function:

◆ insertQuestions()

ilTestExpressPageObjectGUI::insertQuestions ( )

Definition at line 487 of file class.ilTestExpressPageObjectGUI.php.

488 {
489 $selected_array = (is_array($_POST['q_id'])) ? $_POST['q_id'] : array();
490 if (!count($selected_array)) {
491 ilUtil::sendInfo($this->lng->txt("tst_insert_missing_question"), true);
492 $this->ctrl->redirect($this, "browseForQuestions");
493 } else {
494 include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php";
495 $manscoring = false;
496
497 global $DIC;
498 $tree = $DIC['tree'];
499 $ilDB = $DIC['ilDB'];
500 $ilPluginAdmin = $DIC['ilPluginAdmin'];
501
502 require_once 'Modules/Test/classes/class.ilTestQuestionSetConfigFactory.php';
503 $testQuestionSetConfigFactory = new ilTestQuestionSetConfigFactory($tree, $ilDB, $ilPluginAdmin, $this->test_object);
504 $testQuestionSetConfig = $testQuestionSetConfigFactory->getQuestionSetConfig();
505
506 foreach ($selected_array as $key => $value) {
507 $last_question_id = $this->test_object->insertQuestion($testQuestionSetConfig, $value);
508
509 if (!$manscoring) {
510 $manscoring = $manscoring | assQuestion::_needsManualScoring($value);
511 }
512 }
513 $this->test_object->saveCompleteStatus($testQuestionSetConfig);
514 if ($manscoring) {
515 ilUtil::sendInfo($this->lng->txt("manscoring_hint"), true);
516 } else {
517 ilUtil::sendSuccess($this->lng->txt("tst_questions_inserted"), true);
518 }
519
520 $this->ctrl->setParameter($this, 'q_id', $last_question_id);
521 $this->ctrl->redirect($this, "showPage");
522 return;
523 }
524 }
$_POST["username"]
static _needsManualScoring($question_id)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
global $ilDB

References $_POST, $DIC, $ilDB, $key, $tree, assQuestion\_needsManualScoring(), and ilUtil\sendInfo().

+ Here is the call graph for this function:

◆ nextQuestion()

ilTestExpressPageObjectGUI::nextQuestion ( )

Definition at line 26 of file class.ilTestExpressPageObjectGUI.php.

27 {
28 $obj = new ilObjTest($_REQUEST['ref_id']);
29 $questions = array_keys($obj->getQuestionTitlesAndIndexes());
30
31 $pos = array_search($_REQUEST['q_id'], $questions);
32
33 if ($pos !== false) {
34 $next = $questions[$pos + 1];
35 } else {
36 $next = $questions[0];
37 }
38
39 $this->ctrl->setParameter($this, 'q_id', $next);
40 $link = $this->ctrl->getLinkTarget($this, 'edit', '', '', false);
41
42 ilUtil::redirect($link);
43 }

References ilPageObjectGUI\$obj, and ilUtil\redirect().

+ Here is the call graph for this function:

◆ prevQuestion()

ilTestExpressPageObjectGUI::prevQuestion ( )

Definition at line 45 of file class.ilTestExpressPageObjectGUI.php.

46 {
47 $obj = new ilObjTest($_REQUEST['ref_id']);
48 $questions = array_keys($obj->getQuestionTitlesAndIndexes());
49
50 $pos = array_search($_REQUEST['q_id'], $questions);
51
52 if ($pos !== false) {
53 $next = $questions[$pos - 1];
54 } else {
55 $next = $questions[0];
56 }
57
58 $this->ctrl->setParameter($this, 'q_id', $next);
59 $link = $this->ctrl->getLinkTarget($this, 'edit', '', '', false);
60
61 ilUtil::redirect($link);
62 }

References ilPageObjectGUI\$obj, and ilUtil\redirect().

+ Here is the call graph for this function:

◆ questions()

ilTestExpressPageObjectGUI::questions ( )

Definition at line 445 of file class.ilTestExpressPageObjectGUI.php.

446 {
447 global $DIC;
448 $ilCtrl = $DIC['ilCtrl'];
449
450 $ilCtrl->saveParameterByClass('ilobjtestgui', 'q_id');
451
452 $ilCtrl->redirectByClass('ilobjtestgui', 'showPage');
453 }

References $DIC, and $ilCtrl.

◆ redirectToQuestionEditPage()

ilTestExpressPageObjectGUI::redirectToQuestionEditPage (   $questionType,
  $qid,
  $prev_qid 
)
private

Definition at line 455 of file class.ilTestExpressPageObjectGUI.php.

456 {
457 $cmdClass = $questionType . 'GUI';
458
459 $this->ctrl->setParameterByClass($cmdClass, 'ref_id', $_GET['ref_id']);
460 $this->ctrl->setParameterByClass($cmdClass, 'sel_question_types', $questionType);
461 $this->ctrl->setParameterByClass($cmdClass, 'test_ref_id', $_GET['ref_id']);
462 $this->ctrl->setParameterByClass($cmdClass, 'calling_test', $_GET['ref_id']);
463 $this->ctrl->setParameterByClass($cmdClass, 'q_id', $qid);
464 $this->ctrl->setParameterByClass($cmdClass, 'prev_qid', $prev_qid);
465
466 if ($_REQUEST['test_express_mode']) {
467 $this->ctrl->setParameterByClass($cmdClass, 'test_express_mode', 1);
468 }
469
470 $this->ctrl->redirectByClass(
471 array('ilRepositoryGUI', 'ilObjTestGUI', $questionType . "GUI"),
472 'editQuestion'
473 );
474 }

References $_GET.

Referenced by handleToolbarCommand().

+ Here is the caller graph for this function:

◆ redirectToQuestionPoolSelectionPage()

ilTestExpressPageObjectGUI::redirectToQuestionPoolSelectionPage (   $questionType,
  $qid,
  $prev_qid 
)
private

Definition at line 476 of file class.ilTestExpressPageObjectGUI.php.

477 {
478 $this->ctrl->setParameterByClass('ilObjTestGUI', 'ref_id', $_REQUEST['ref_id']);
479 $this->ctrl->setParameterByClass('ilObjTestGUI', 'q_id', $qid);
480 $this->ctrl->setParameterByClass('ilObjTestGUI', 'sel_question_types', $questionType);
481 $this->ctrl->setParameterByClass('ilObjTestGUI', 'prev_qid', $prev_qid);
482 $redir = $this->ctrl->getLinkTargetByClass('ilObjTestGUI', 'createQuestion', '', false, false);
483
484 ilUtil::redirect($redir);
485 }

References ilUtil\redirect().

+ Here is the call graph for this function:

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