41 if (!$this->questionOBJ->getSelfAssessmentEditingMode()) {
43 $header->setTitle($this->
lng->txt(
'feedback_answers'));
48 new ilRadioOption($this->
lng->txt(
'feedback_all'), self::FEEDBACK_SETTING_ALL)
51 new ilRadioOption($this->
lng->txt(
'feedback_checked'), self::FEEDBACK_SETTING_CHECKED)
54 new ilRadioOption($this->
lng->txt($this->questionOBJ->getSpecificFeedbackAllCorrectOptionLabel()), self::FEEDBACK_SETTING_CORRECT)
57 $feedback->setRequired(
true);
66 $propertyPostVar =
"feedback_answer_$index";
71 $this->questionOBJ->isAdditionalContentEditingModePageObject()
79 if (!$this->questionOBJ->getSelfAssessmentEditingMode()) {
81 $this->questionOBJ->getSpecificFeedbackSetting()
85 if ($this->questionOBJ->isAdditionalContentEditingModePageObject()) {
103 $feedback_setting = $form->
getInput(
'feedback_setting');
108 if ($feedback_setting ===
'') {
114 if (!$this->questionOBJ->isAdditionalContentEditingModePageObject()) {
117 $this->questionOBJ->getId(),
120 (string) ($form->
getInput(
"feedback_answer_$index") ??
'')
143 array(
'feedback_setting' => array(
'integer', $specificFeedbackSetting)),
144 array(
'question_fi' => array(
'integer', $questionId))
151 parent::duplicateSpecificFeedback($originalQuestionId, $duplicateQuestionId);
157 parent::syncSpecificFeedback($originalQuestionId, $duplicateQuestionId);
162 $res = $this->db->queryF(
163 "SELECT feedback_setting FROM {$this->getSpecificQuestionTableName()} WHERE question_fi = %s",
165 array($sourceQuestionId)
168 $row = $this->db->fetchAssoc(
$res);
170 if ($this->db->numRows(
$res) < 1) {
176 array(
'feedback_setting' => array(
'integer', $row[
'feedback_setting']) ),
177 array(
'question_fi' => array(
'integer', $targetQuestionId) )
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getSpecificAnswerFeedbackPageObjectId(int $question_id, int $question_index, int $answer_index)
returns a useable page object id for specific answer feedback page objects for the given question id ...
saveSpecificFeedbackSetting(int $questionId, int $specificFeedbackSetting)
saves the given specific feedback setting for the given question id to the db.
getAnswerOptionsByAnswerIndex()
getSpecificAnswerFeedbackPageObjectType()
completeSpecificFormProperties(ilPropertyFormGUI $form)
syncSpecificFeedback(int $originalQuestionId, int $duplicateQuestionId)
const FEEDBACK_SETTING_CHECKED
const FEEDBACK_SETTING_CORRECT
duplicateSpecificFeedback(int $originalQuestionId, int $duplicateQuestionId)
saveSpecificFormProperties(ilPropertyFormGUI $form)
buildAnswerOptionLabel(int $index, $answer)
getSpecificQuestionTableName()
initSpecificFormProperties(ilPropertyFormGUI $form)
getSpecificAnswerFeedbackContent(int $question_id, int $question_index, int $answer_index)
getPageObjectNonEditableValueHTML(string $page_object_type, int $page_object_id)
returns html content to be used as value for non editable value form properties in feedback editing f...
isSaveableInPageObjectEditingMode()
returns the fact that the feedback editing form is saveable in page object editing mode...
const FEEDBACK_SETTING_ALL
buildFeedbackContentFormProperty(string $label, string $post_var, bool $as_non_editable)
builds and returns a form property gui object with the given label and postvar that is addable to pro...
saveSpecificAnswerFeedbackContent(int $question_id, int $question_index, int $answer_index, string $feedback_content)
syncSpecificFeedbackSetting(int $sourceQuestionId, int $targetQuestionId)