Merge branch 'fork/2861'

pull/5070/head
Angel Fernando Quiroz Campos 2 years ago
commit e19f17b45f
  1. 4
      public/main/inc/lib/UnserializeApi.php
  2. 1
      public/main/survey/create_new_survey.php
  3. 2
      public/main/survey/fillsurvey.php
  4. 2
      public/main/survey/preview.php
  5. 5
      public/main/survey/survey.lib.php
  6. 2
      public/main/survey/survey.php
  7. 19
      src/CourseBundle/Entity/CSurvey.php

@ -101,13 +101,13 @@ class UnserializeApi
}
if ($ignoreErrors) {
return unserialize(
return @unserialize(
$serialized,
['allowed_classes' => $allowedClasses]
);
}
return unserialize(
return @unserialize(
$serialized,
['allowed_classes' => $allowedClasses]
);

@ -259,6 +259,7 @@ if ('add' === $action) {
$form->addElement('checkbox', 'one_question_per_page', null, get_lang('One question per page'));
$form->addElement('checkbox', 'shuffle', null, get_lang('Enable shuffle mode'));
$form->addElement('checkbox', 'display_question_number', null, get_lang('Display question number'));
$input_name_list = null;

@ -1280,7 +1280,7 @@ if (isset($questions) && is_array($questions)) {
// @todo move this in a function.
$form->addHtml('<div class="survey_question '.$ch_type.' '.$parentClass.'">');
if ($showNumber) {
if ($showNumber && $survey_data['display_question_number']) {
$form->addHtml('<div style="float:left; font-weight: bold; margin-right: 5px;"> '.$questionNumber.'. </div>');
}
$form->addHtml('<div>'.Security::remove_XSS($question['survey_question']).'</div> ');

@ -228,7 +228,7 @@ if (is_array($questions) && count($questions) > 0) {
$js .= survey_question::getQuestionJs($question);
$form->addHtml('<div class="survey_question '.$ch_type.' '.$parentClass.'">');
if ($showNumber) {
if ($showNumber && $survey_data['display_question_number']) {
$form->addHtml('<div style="float:left; font-weight: bold; margin-right: 5px;"> '.$counter.'. </div>');
}
$form->addHtml('<div>'.Security::remove_XSS($question['survey_question']).'</div>');

@ -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);

@ -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

@ -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;
}
}

Loading…
Cancel
Save