');
- if ($showNumber) {
+ if ($showNumber && $survey_data['display_question_number']) {
$form->addHtml('
'.$questionNumber.'.
');
diff --git a/public/main/survey/preview.php b/public/main/survey/preview.php
index 8c4b62f53d..624d539f08 100644
--- a/public/main/survey/preview.php
+++ b/public/main/survey/preview.php
@@ -228,7 +228,7 @@ if (is_array($questions) && count($questions) > 0) {
$js .= survey_question::getQuestionJs($question);
$form->addHtml('
');
- if ($showNumber) {
+ if ($showNumber && $survey_data['display_question_number']) {
$form->addHtml('
'.$counter.'.
');
}
$form->addHtml('
'.Security::remove_XSS($question['survey_question']).'
');
diff --git a/public/main/survey/survey.lib.php b/public/main/survey/survey.lib.php
index a67990d4fa..caadbbf0a7 100644
--- a/public/main/survey/survey.lib.php
+++ b/public/main/survey/survey.lib.php
@@ -208,7 +208,8 @@ class SurveyManager
$session_id = api_get_session_id();
$courseCode = api_get_course_id();
$table_survey = Database::get_course_table(TABLE_SURVEY);
- $shared_survey_id = '';
+ $shared_survey_id = 0;
+ $display_question_number = isset($values['display_question_number']) ? (int) $values['display_question_number'] : null;
$repo = Container::getSurveyRepository();
if (!isset($values['survey_id'])) {
@@ -333,6 +334,7 @@ class SurveyManager
->setTemplate('template')
->setIntro($values['survey_introduction'])
->setSurveyThanks($values['survey_thanks'])
+ ->setDisplayQuestionNumber($display_question_number)
->setAnonymous((string) $values['anonymous'])
->setVisibleResults((int) $values['visible_results'])
->setSurveyType((int) ($values['survey_type'] ?? 1))
@@ -441,6 +443,7 @@ class SurveyManager
->setSurveyThanks($values['survey_thanks'])
->setAnonymous((string) $values['anonymous'])
->setVisibleResults((int) $values['visible_results'])
+ ->setDisplayQuestionNumber($display_question_number)
;
$repo->update($survey);
diff --git a/public/main/survey/survey.php b/public/main/survey/survey.php
index 5d3095237f..b558d72fe3 100644
--- a/public/main/survey/survey.php
+++ b/public/main/survey/survey.php
@@ -260,7 +260,7 @@ $question_counter = 1;
$result = Database::query($sql);
$groups = [];
while ($row = Database::fetch_array($result)) {
- $groups[$row['id']] = $row['name'];
+ $groups[$row['iid']] = $row['name'];
}*/
$sql = "SELECT survey_question.*, count(survey_question_option.iid) as number_of_options
FROM $table_survey_question survey_question
diff --git a/src/CourseBundle/Entity/CSurvey.php b/src/CourseBundle/Entity/CSurvey.php
index 23e94176f6..ae999fc178 100644
--- a/src/CourseBundle/Entity/CSurvey.php
+++ b/src/CourseBundle/Entity/CSurvey.php
@@ -152,6 +152,13 @@ class CSurvey extends AbstractResource implements ResourceInterface, Stringable
#[ORM\Column(name: 'is_mandatory', type: 'boolean', options: ['default' => false])]
protected bool $isMandatory = false;
+ /**
+ * @var bool
+ *
+ * @ORM\Column(name="display_question_number", type="boolean", nullable=true)
+ */
+ protected $displayQuestionNumber;
+
public function __construct()
{
$this->creationDate = new DateTime();
@@ -736,4 +743,16 @@ class CSurvey extends AbstractResource implements ResourceInterface, Stringable
{
return $this->setCode($name);
}
+
+ /**
+ * @param bool $displayQuestionNumber
+ *
+ * @return CSurvey
+ */
+ public function setDisplayQuestionNumber($displayQuestionNumber)
+ {
+ $this->displayQuestionNumber = $displayQuestionNumber;
+
+ return $this;
+ }
}