45         $this->tiny_mce_enabled = (
new ilSetting(
'advanced_editing'))->
get(
'advanced_editing_javascript_editor')
    46             === 
'tinymce' ? true : 
false;
    50             $this->
object->loadFromDb(
$id);
    59         $hasErrors = (!$always) ? $this->
editQuestion(
true) : 
false;
    81         $this->editForm = $form;
    83         $form->setFormAction($this->
ctrl->getFormAction($this));
    85         $form->setMultipart(
true);
    86         $form->setTableWidth(
"100%");
    87         $form->setId(
"asstextquestion");
   101             $form->setValuesByPost();
   102             $errors = !$form->checkInput();
   103             $form->setValuesByPost(); 
   110             $this->tpl->setVariable(
"QUESTION_DATA", $form->getHTML());
   119         foreach ($answers as $answer) {
   120             $answerTexts[] = $answer->getAnswertext();
   130         $rte = 
new $rtestring();
   131         $rte->addUserTextEditor(
"textinput");
   152         $graphicalOutput = 
false,
   153         $result_output = 
false,
   154         $show_question_only = 
true,
   155         $show_feedback = 
false,
   156         $show_correct_solution = 
false,
   157         $show_manual_scoring = 
false,
   158         $show_question_text = 
true,
   161         if (($active_id > 0) && (!$show_correct_solution)) {
   175             $show_correct_solution,
   176             $show_manual_scoring,
   184         mixed $user_solutions,
   187         bool $graphical_output = 
false,
   188         bool $result_output = 
false,
   189         bool $show_question_only = 
true,
   190         bool $show_feedback = 
false,
   191         bool $show_correct_solution = 
false,
   192         bool $show_manual_scoring = 
false,
   193         bool $show_question_text = 
true,
   194         bool $show_autosave_title = 
false,
   195         bool $show_inline_feedback = 
false,
   198         $solution = $user_solutions;
   199         $template = 
new ilTemplate(
"tpl.il_as_qpl_text_question_output_solution.html", 
true, 
true, 
"Modules/TestQuestionPool");
   200         $solutiontemplate = 
new ilTemplate(
"tpl.il_as_tst_solution_output.html", 
true, 
true, 
"Modules/TestQuestionPool");
   202         $solution = $this->
object->getHtmlUserSolutionPurifier()->purify($solution);
   204             $template->setCurrentBlock(
'essay_div');
   207             $template->setCurrentBlock(
'essay_textarea');
   210         $template->parseCurrentBlock();
   212         if (!$show_correct_solution) {
   213             $max_no_of_chars = $this->
object->getMaxNumOfChars();
   215             if ($max_no_of_chars == 0) {
   216                 $max_no_of_chars = ucfirst($this->
lng->txt(
'unlimited'));
   219             $act_no_of_chars = $this->
object->countLetters($solution);
   220             $template->setVariable(
"CHARACTER_INFO", 
'<b>' . $max_no_of_chars . 
'</b>' .
   221                 $this->
lng->txt(
'answer_characters') . 
' <b>' . $act_no_of_chars . 
'</b>');
   223             if ($this->
object->isWordCounterEnabled()) {
   224                 $template->setCurrentBlock(
'word_count');
   225                 $template->setVariable(
   227                     $this->
lng->txt(
'qst_essay_written_words') .
   228                     ' <b>' . $this->
object->countWords($solution) . 
'</b>'   230                 $template->parseCurrentBlock();
   233         if (($active_id > 0) && (!$show_correct_solution)) {
   234             if ($graphical_output) {
   236                 $reached_points = $this->
object->getReachedPoints($active_id, $pass);
   237                 if ($reached_points == $this->
object->getMaximumPoints()) {
   239                 } elseif ($reached_points > 0) {
   242                 $template->setCurrentBlock(
"icon_ok");
   243                 $template->setVariable(
"ICON_OK", $correctness_icon);
   244                 $template->parseCurrentBlock();
   247         if ($show_question_text == 
true) {
   248             $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
   250         $questionoutput = $template->get();
   253         if ($show_feedback) {
   256                 $feedback .= strlen($fb) ? $fb : 
'';
   259         if (strlen($feedback)) {
   265             $solutiontemplate->setVariable(
"ILC_FB_CSS_CLASS", $cssClass);
   269         $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
   271         $solutionoutput = $solutiontemplate->get();
   272         if (!$show_question_only) {
   276         return $solutionoutput;
   295         bool $graphical_output = 
false,
   296         bool $result_output = 
false,
   297         bool $show_question_only = 
true,
   298         bool $show_feedback = 
false,
   299         bool $show_correct_solution = 
false,
   300         bool $show_manual_scoring = 
false,
   301         bool $show_question_text = 
true,
   302         bool $show_autosave_title = 
false,
   303         bool $show_inline_feedback = 
false,
   309         if (($active_id > 0) && (!$show_correct_solution)) {
   310             $solution = $user_solution;
   315         $template = 
new ilTemplate(
"tpl.il_as_qpl_text_question_output_solution.html", 
true, 
true, 
"Modules/TestQuestionPool");
   316         $solutiontemplate = 
new ilTemplate(
"tpl.il_as_tst_solution_output.html", 
true, 
true, 
"Modules/TestQuestionPool");
   319         $autosaved_solution = $this->
object->getLatestAutosaveContent($active_id, $pass);
   320         if ($autosaved_solution !== null) {
   321             if ($show_autosave_title) {
   322                 $template->setCurrentBlock(
'autosave_title');
   323                 $template->setVariable(
'AUTOSAVE_TITLE', $this->
lng->txt(
'autosavecontent'));
   324                 $template->parseCurrentBlock();
   326             $solution = $this->
object->getHtmlUserSolutionPurifier()->purify($autosaved_solution);
   328                 $template->setCurrentBlock(
'essay_div');
   331                 $template->setCurrentBlock(
'essay_textarea');
   334             $template->parseCurrentBlock();
   337         if (!$show_correct_solution) {
   338             $max_no_of_chars = $this->
object->getMaxNumOfChars();
   340             if ($max_no_of_chars == 0) {
   341                 $max_no_of_chars = ucfirst($this->
lng->txt(
'unlimited'));
   344             $act_no_of_chars = $this->
object->countLetters($solution);
   345             $template->setVariable(
"CHARACTER_INFO", 
'<b>' . $max_no_of_chars . 
'</b>' .
   346                 $this->
lng->txt(
'answer_characters') . 
' <b>' . $act_no_of_chars . 
'</b>');
   348             if ($this->
object->isWordCounterEnabled()) {
   349                 $template->setCurrentBlock(
'word_count');
   350                 $template->setVariable(
   352                     $this->
lng->txt(
'qst_essay_written_words') .
   353                     ' <b>' . $this->
object->countWords($solution) . 
'</b>'   355                 $template->parseCurrentBlock();
   358         if ($show_question_text == 
true) {
   359             $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
   361         $questionoutput = $template->get();
   364         if ($show_feedback) {
   367                 $feedback .= strlen($fb) ? $fb : 
'';
   370         if (strlen($feedback)) {
   376             $solutiontemplate->setVariable(
"ILC_FB_CSS_CLASS", $cssClass);
   380         $solutiontemplate->setVariable(
"SOLUTION_OUTPUT", $questionoutput);
   382         $solutionoutput = $solutiontemplate->get();
   383         if (!$show_question_only) {
   387         return $solutionoutput;
   392         $answers = $this->
object->getAnswers();
   393         if (!count($answers)) {
   398             $tplFile = 
'tpl.il_as_qpl_text_question_best_solution_html.html';
   400             $tplFile = 
'tpl.il_as_qpl_text_question_best_solution_ta.html';
   403         $tpl = 
new ilTemplate($tplFile, 
true, 
true, 
'Modules/TestQuestionPool');
   405         foreach ($answers as $answer) {
   408                 $keywordString .= (string) $answer->getPoints() . 
' ';
   409                 if ($answer->getPoints() === 1.0 || $answer->getPoints() === -1.0) {
   410                     $keywordString .= $this->
lng->txt(
'point');
   412                     $keywordString .= $this->
lng->txt(
'points');
   414                 $keywordString .= 
' ' . $this->
lng->txt(
'for') . 
' ';
   416             $keywordString .= $answer->getAnswertext();
   426         switch ($this->
object->getKeywordRelation()) {
   428                 $tpl->
setVariable(
'SCORING_MODE', $this->
lng->txt(
'essay_scoring_mode_keyword_relation_any'));
   431                 $tpl->
setVariable(
'SCORING_MODE', $this->
lng->txt(
'essay_scoring_mode_keyword_relation_all'));
   434                 $tpl->
setVariable(
'SCORING_MODE', $this->
lng->txt(
'essay_scoring_mode_keyword_relation_one'));
   444         $solutions = $this->
object->getSolutionValues($active_id, $pass);
   445         foreach ($solutions as $idx => $solution_value) {
   446             $user_solution = $solution_value[
'value1'];
   448         return $user_solution;
   451     public function getPreview($show_question_only = 
false, $showInlineFeedback = 
false): string
   453         $template = 
new ilTemplate(
"tpl.il_as_qpl_text_question_output.html", 
true, 
true, 
"Modules/TestQuestionPool");
   454         if ($this->
object->getMaxNumOfChars()) {
   455             $template->setCurrentBlock(
"maximum_char_hint");
   456             $template->setVariable(
"MAXIMUM_CHAR_HINT", sprintf($this->
lng->txt(
"text_maximum_chars_allowed"), $this->
object->getMaxNumOfChars()));
   457             $template->parseCurrentBlock();
   458             #mbecker: No such block. $template->setCurrentBlock("has_maxchars");   459             $template->setVariable(
"MAXCHARS", $this->
object->getMaxNumOfChars());
   460             $template->parseCurrentBlock();
   461             $template->setCurrentBlock(
"maxchars_counter");
   462             $template->setVariable(
"QID", $this->
object->getId());
   463             $template->setVariable(
"MAXCHARS", $this->
object->getMaxNumOfChars());
   464             $template->setVariable(
"TEXTBOXSIZE", strlen($this->
object->getMaxNumOfChars()));
   465             $template->setVariable(
"CHARACTERS", $this->
lng->txt(
"qst_essay_chars_remaining"));
   466             $template->parseCurrentBlock();
   469         if ($this->
object->isWordCounterEnabled()) {
   470             $template->setCurrentBlock(
"word_counter");
   471             $template->setVariable(
"QID", $this->
object->getId());
   472             $template->setVariable(
"WORDCOUNTER", $this->
lng->txt(
"qst_essay_allready_written_words"));
   473             $template->parseCurrentBlock();
   477             $template->setVariable(
   485         $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
   486         $template->setVariable(
"QID", $this->
object->getId());
   488         $questionoutput = $template->get();
   492         if (!$show_question_only) {
   496         return $questionoutput;
   499     public function getTestOutput($active_id, $pass = null, $is_postponed = 
false, $use_post_solutions = 
false, $inlineFeedback = 
false): string
   504             $solutions = $this->
object->getUserSolutionPreferingIntermediate($active_id, $pass);
   505             foreach ($solutions as $idx => $solution_value) {
   506                 $user_solution = $solution_value[
'value1'];
   509             if ($this->tiny_mce_enabled) {
   510                 $user_solution = htmlentities($user_solution);
   513             $user_solution = str_replace([
'{', 
'}', 
'\\'], [
'{', 
'}', 
'\'], $user_solution);
   516         $template = 
new ilTemplate(
"tpl.il_as_qpl_text_question_output.html", 
true, 
true, 
"Modules/TestQuestionPool");
   517         if ($this->
object->getMaxNumOfChars()) {
   518             $template->setCurrentBlock(
"maximum_char_hint");
   519             $template->setVariable(
"MAXIMUM_CHAR_HINT", sprintf($this->
lng->txt(
"text_maximum_chars_allowed"), $this->
object->getMaxNumOfChars()));
   520             $template->parseCurrentBlock();
   521             $template->setVariable(
"MAXCHARS", $this->
object->getMaxNumOfChars());
   522             $template->parseCurrentBlock();
   523             $template->setCurrentBlock(
"maxchars_counter");
   524             $template->setVariable(
"MAXCHARS", $this->
object->getMaxNumOfChars());
   525             $template->setVariable(
"QID", $this->
object->getId());
   526             $template->setVariable(
"TEXTBOXSIZE", strlen($this->
object->getMaxNumOfChars()));
   527             $template->setVariable(
"CHARACTERS", $this->
lng->txt(
"qst_essay_chars_remaining"));
   528             $template->parseCurrentBlock();
   531         if ($this->
object->isWordCounterEnabled()) {
   532             $template->setCurrentBlock(
"word_counter");
   533             $template->setVariable(
"QID", $this->
object->getId());
   534             $template->setVariable(
"WORDCOUNTER", $this->
lng->txt(
"qst_essay_allready_written_words"));
   535             $template->parseCurrentBlock();
   538         $template->setVariable(
"QID", $this->
object->getId());
   539         $template->setVariable(
"ESSAY", $user_solution);
   540         $template->setVariable(
"QUESTIONTEXT", $this->
object->getQuestionForHTMLOutput());
   541         $questionoutput = $template->get();
   545         $pageoutput = $this->
outQuestionPage(
"", $is_postponed, $active_id, $questionoutput);
   552         $tpl = 
new ilTemplate(
'tpl.charcounter.html', 
true, 
true, 
'Modules/TestQuestionPool');
   558         if ($this->
object->getMaxNumOfChars() > 0) {
   564         if ($this->
object->isWordCounterEnabled()) {
   574         $this->tpl->addOnLoadCode(
'mcQuestionCharCounterInit();');
   581         if ($_POST[
"cmd"][
"addSuggestedSolution"]) {
   588             if (!$this->checkInput()) {
   589                 $this->tpl->setOnScreenMessage(
'info', $this->
lng->txt(
"fill_out_all_required_fields_add_answer"));
   594         $this->
object->saveToDb();
   595         $this->
ctrl->setParameter($this, 
"q_id", $this->
object->getId());
   596         $this->tpl->setVariable(
"HEADER", $this->
object->getTitleForHTMLOutput());
   607         $this->
object->setWordCounterEnabled(isset($_POST[
'wordcounter']) && $_POST[
'wordcounter']);
   608         $this->
object->setMaxNumOfChars((
int) ($_POST[
"maxchars"] ?? 0));
   609         $this->
object->setTextRating($_POST[
"text_rating"]);
   610         $this->
object->setKeywordRelation($_POST[
'scoring_mode']);
   616         switch ($this->
object->getKeywordRelation()) {
   618                 $this->
object->setAnswers([]);
   619                 $points = str_replace(
',', 
'.', $_POST[
'non_keyword_points'] ?? 
'');
   622                 $this->
object->setAnswers($_POST[
'any_keyword']);
   623                 $points = $this->
object->getMaximumPoints();
   626                 $this->
object->setAnswers($_POST[
'all_keyword']);
   627                 $points = str_replace(
',', 
'.', $_POST[
'all_keyword_points'] ?? 
'');
   630                 $this->
object->setAnswers($_POST[
'one_keyword']);
   631                 $points = (float) str_replace(
',', 
'.', $_POST[
'one_keyword_points'] ?? 
'');
   634         $this->
object->setPoints((
float) $points);
   640         $wordcounter = 
new ilCheckboxInputGUI($this->
lng->txt(
'qst_essay_wordcounter_enabled'), 
'wordcounter');
   641         $wordcounter->setInfo($this->
lng->txt(
'qst_essay_wordcounter_enabled_info'));
   642         $wordcounter->setChecked($this->
object->isWordCounterEnabled());
   647         $maxchars->setSize(5);
   648         $maxchars->setMinValue(1);
   649         if ($this->
object->getMaxNumOfChars() > 0) {
   650             $maxchars->setValue($this->
object->getMaxNumOfChars());
   652         $maxchars->setInfo($this->
lng->txt(
"description_maxchars"));
   658             "ci" => $this->
lng->txt(
"cloze_textgap_case_insensitive"),
   659             "cs" => $this->
lng->txt(
"cloze_textgap_case_sensitive"),
   660             "l1" => sprintf($this->
lng->txt(
"cloze_textgap_levenshtein_of"), 
"1"),
   661             "l2" => sprintf($this->
lng->txt(
"cloze_textgap_levenshtein_of"), 
"2"),
   662             "l3" => sprintf($this->
lng->txt(
"cloze_textgap_levenshtein_of"), 
"3"),
   663             "l4" => sprintf($this->
lng->txt(
"cloze_textgap_levenshtein_of"), 
"4"),
   664             "l5" => sprintf($this->
lng->txt(
"cloze_textgap_levenshtein_of"), 
"5")
   667         $textrating->setValue($this->
object->getTextRating());
   676             $this->
lng->txt(
'essay_scoring_mode'),
   681             $this->
lng->txt(
'essay_scoring_mode_without_keywords'),
   684                 'essay_scoring_mode_without_keywords_desc'   688             $this->
lng->txt(
'essay_scoring_mode_keyword_relation_any'),
   691                 'essay_scoring_mode_keyword_relation_any_desc'   695             $this->
lng->txt(
'essay_scoring_mode_keyword_relation_all'),
   698                 'essay_scoring_mode_keyword_relation_all_desc'   702             $this->
lng->txt(
'essay_scoring_mode_keyword_relation_one'),
   705                 'essay_scoring_mode_keyword_relation_one_desc'   709         $scoringMode->addOption($scoringOptionNone);
   710         $scoringMode->addOption($scoringOptionAnyKeyword);
   711         $scoringMode->addOption($scoringOptionAllKeyword);
   712         $scoringMode->addOption($scoringOptionOneKeyword);
   713         $scoringMode->setRequired(
true);
   716         if ($this->
object->getAnswerCount() == 0) {
   717             $this->
object->addAnswer(
"", 1, 0, 0);
   722         $nonKeywordPoints->allowDecimals(
true);
   723         $nonKeywordPoints->setValue($this->
object->getPoints());
   724         $nonKeywordPoints->setRequired(
true);
   725         $nonKeywordPoints->setSize(3);
   726         $nonKeywordPoints->setMinValue(0.0);
   727         $nonKeywordPoints->setMinvalueShouldBeGreater(
true);
   728         $scoringOptionNone->
addSubItem($nonKeywordPoints);
   733         $anyKeyword->setQuestionObject($this->
object);
   734         $anyKeyword->setSingleline(
true);
   735         $anyKeyword->setValues($this->
object->getAnswers());
   736         $scoringOptionAnyKeyword->
addSubItem($anyKeyword);
   743         $allKeyword->setValues(self::buildAnswerTextOnlyArray($this->
object->getAnswers()));
   744         $allKeyword->setMaxLength($anyKeyword->getMaxLength());
   745         $scoringOptionAllKeyword->
addSubItem($allKeyword);
   747         $allKeywordPoints->allowDecimals(
true);
   748         $allKeywordPoints->setValue($this->
object->getPoints());
   749         $allKeywordPoints->setRequired(
true);
   750         $allKeywordPoints->setSize(3);
   751         $allKeywordPoints->setMinValue(0.0);
   752         $allKeywordPoints->setMinvalueShouldBeGreater(
true);
   753         $scoringOptionAllKeyword->
addSubItem($allKeywordPoints);
   760         $oneKeyword->setValues(self::buildAnswerTextOnlyArray($this->
object->getAnswers()));
   761         $oneKeyword->setMaxLength($anyKeyword->getMaxLength());
   762         $scoringOptionOneKeyword->
addSubItem($oneKeyword);
   764         $oneKeywordPoints->allowDecimals(
true);
   765         $oneKeywordPoints->setValue($this->
object->getPoints());
   766         $oneKeywordPoints->setRequired(
true);
   767         $oneKeywordPoints->setSize(3);
   768         $oneKeywordPoints->setMinValue(0.0);
   769         $oneKeywordPoints->setMinvalueShouldBeGreater(
true);
   770         $scoringOptionOneKeyword->
addSubItem($oneKeywordPoints);
 static _getRTEClassname()
 
isTestPresentationContext()
 
hasCorrectSolution($activeId, $passIndex)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getAnswersFrequency($relevantAnswers, $questionIndex)
 
getAutoSavedSolutionOutput( $active_id, $pass=null, bool $graphical_output=false, bool $result_output=false, bool $show_question_only=true, bool $show_feedback=false, bool $show_correct_solution=false, bool $show_manual_scoring=false, bool $show_question_text=true, bool $show_autosave_title=false, bool $show_inline_feedback=false,)
Get the question solution output. 
 
generateCorrectnessIconsForCorrectness(int $correctness)
 
static getScoringModesWithPointsByKeyword()
 
setCurrentBlock(string $blockname=self::DEFAULT_BLOCK)
Sets the template to the given block. 
 
getSolutionOutput( $active_id, $pass=null, $graphicalOutput=false, $result_output=false, $show_question_only=true, $show_feedback=false, $show_correct_solution=false, $show_manual_scoring=false, $show_question_text=true,)
Get the question solution output. 
 
__construct($id=-1)
assTextQuestionGUI constructor 
 
populateCorrectionsFormProperties(ilPropertyFormGUI $form)
 
addBasicQuestionFormProperties(ilPropertyFormGUI $form)
 
static initDomEvent(?ilGlobalTemplateInterface $a_main_tpl=null)
Init YUI DomEvent used in Services/Calendar, Modules/Session, Modules/Test (Jan 2022) ...
 
getPreview($show_question_only=false, $showInlineFeedback=false)
 
parseCurrentBlock(string $blockname=self::DEFAULT_BLOCK)
Parses the given block. 
 
writeAnswerSpecificPostData(ilPropertyFormGUI $form)
Extracts the answer specific values from $_POST and applies them to the data object. 
 
const CSS_CLASS_FEEDBACK_CORRECT
 
ilGlobalPageTemplate $tpl
 
getAggregatedAnswersView(array $relevant_answers)
Returns an html string containing a question specific representation of the answers so far given in t...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
editQuestion($checkonly=false)
Creates an output of the edit form for the question. 
 
populateTaxonomyFormSection(ilPropertyFormGUI $form)
 
addQuestionFormCommandButtons(ilPropertyFormGUI $form)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
writeQuestionGenericPostData()
 
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string. 
 
getUserAnswer($active_id, $pass)
 
setValue(string $a_value)
 
getSpecificFeedbackOutput(array $userSolution)
 
const CSS_CLASS_FEEDBACK_WRONG
 
getAfterParticipationSuppressionQuestionPostVars()
Returns a list of postvars which will be suppressed in the form output when used in scoring adjustmen...
 
writePostData(bool $always=false)
{} 
 
Basic GUI class for assessment questions. 
 
renderSolutionOutput(mixed $user_solutions, int $active_id, ?int $pass, bool $graphical_output=false, bool $result_output=false, bool $show_question_only=true, bool $show_feedback=false, bool $show_correct_solution=false, bool $show_manual_scoring=false, bool $show_question_text=true, bool $show_autosave_title=false, bool $show_inline_feedback=false,)
 
getTestOutput($active_id, $pass=null, $is_postponed=false, $use_post_solutions=false, $inlineFeedback=false)
 
touchBlock(string $blockname)
overwrites ITX::touchBlock. 
 
static buildAnswerTextOnlyArray($answers)
 
getAfterParticipationSuppressionAnswerPostVars()
Returns a list of postvars which will be suppressed in the form output when used in scoring adjustmen...
 
saveTaxonomyAssignments()
 
getILIASPage(string $html="")
Returns the ILIAS Page around a question. 
 
writeQuestionSpecificPostData(ilPropertyFormGUI $form)
Extracts the question specific values from $_POST and applies them to the data object. 
 
saveCorrectionsFormProperties(ilPropertyFormGUI $form)
 
outQuestionPage($a_temp_var, $a_postponed=false, $active_id="", $html="", $inlineFeedbackEnabled=false)
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This class represents a text wizard property in a property form. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
outAdditionalOutput()
Why are you here? Some magic for plugins? 
 
populateQuestionSpecificFormPart(\ilPropertyFormGUI $form)
 
setVariable(string $variable, $value='')
Sets the given variable to the given value. 
 
static set(string $a_var, $a_val)
Set a value. 
 
isAnswerFreuqencyStatisticSupported()
 
populateAnswerSpecificFormPart(\ilPropertyFormGUI $form)
 
renderPurposeSupportsFormHtml()
 
getGenericFeedbackOutput(int $active_id, ?int $pass)