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) { if ($ignoreErrors) {
return unserialize( return @unserialize(
$serialized, $serialized,
['allowed_classes' => $allowedClasses] ['allowed_classes' => $allowedClasses]
); );
} }
return unserialize( return @unserialize(
$serialized, $serialized,
['allowed_classes' => $allowedClasses] ['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', 'one_question_per_page', null, get_lang('One question per page'));
$form->addElement('checkbox', 'shuffle', null, get_lang('Enable shuffle mode')); $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; $input_name_list = null;

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

@ -208,7 +208,8 @@ class SurveyManager
$session_id = api_get_session_id(); $session_id = api_get_session_id();
$courseCode = api_get_course_id(); $courseCode = api_get_course_id();
$table_survey = Database::get_course_table(TABLE_SURVEY); $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(); $repo = Container::getSurveyRepository();
if (!isset($values['survey_id'])) { if (!isset($values['survey_id'])) {
@ -333,6 +334,7 @@ class SurveyManager
->setTemplate('template') ->setTemplate('template')
->setIntro($values['survey_introduction']) ->setIntro($values['survey_introduction'])
->setSurveyThanks($values['survey_thanks']) ->setSurveyThanks($values['survey_thanks'])
->setDisplayQuestionNumber($display_question_number)
->setAnonymous((string) $values['anonymous']) ->setAnonymous((string) $values['anonymous'])
->setVisibleResults((int) $values['visible_results']) ->setVisibleResults((int) $values['visible_results'])
->setSurveyType((int) ($values['survey_type'] ?? 1)) ->setSurveyType((int) ($values['survey_type'] ?? 1))
@ -441,6 +443,7 @@ class SurveyManager
->setSurveyThanks($values['survey_thanks']) ->setSurveyThanks($values['survey_thanks'])
->setAnonymous((string) $values['anonymous']) ->setAnonymous((string) $values['anonymous'])
->setVisibleResults((int) $values['visible_results']) ->setVisibleResults((int) $values['visible_results'])
->setDisplayQuestionNumber($display_question_number)
; ;
$repo->update($survey); $repo->update($survey);

@ -260,7 +260,7 @@ $question_counter = 1;
$result = Database::query($sql); $result = Database::query($sql);
$groups = []; $groups = [];
while ($row = Database::fetch_array($result)) { 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 $sql = "SELECT survey_question.*, count(survey_question_option.iid) as number_of_options
FROM $table_survey_question survey_question 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])] #[ORM\Column(name: 'is_mandatory', type: 'boolean', options: ['default' => false])]
protected bool $isMandatory = false; protected bool $isMandatory = false;
/**
* @var bool
*
* @ORM\Column(name="display_question_number", type="boolean", nullable=true)
*/
protected $displayQuestionNumber;
public function __construct() public function __construct()
{ {
$this->creationDate = new DateTime(); $this->creationDate = new DateTime();
@ -736,4 +743,16 @@ class CSurvey extends AbstractResource implements ResourceInterface, Stringable
{ {
return $this->setCode($name); return $this->setCode($name);
} }
/**
* @param bool $displayQuestionNumber
*
* @return CSurvey
*/
public function setDisplayQuestionNumber($displayQuestionNumber)
{
$this->displayQuestionNumber = $displayQuestionNumber;
return $this;
}
} }

Loading…
Cancel
Save