Quiz: Use iid instead of id in c_quiz_question_option queries - refs BT#18452

pull/3824/head
Angel Fernando Quiroz Campos 5 years ago
parent 4d8acb3de2
commit efc126a21f
  1. 2
      main/exercise/MultipleAnswerTrueFalseDegreeCertainty.php
  2. 8
      main/exercise/question.class.php
  3. 2
      src/Chamilo/CourseBundle/Component/CourseCopy/CourseBuilder.php
  4. 2
      src/Chamilo/CourseBundle/Component/CourseCopy/Resources/QuizQuestionOption.php

@ -1147,7 +1147,7 @@ class MultipleAnswerTrueFalseDegreeCertainty extends Question
$optionId = (int) $optionId;
$sql = "SELECT position
FROM $tblAnswerOption
WHERE c_id = $courseId AND id = $optionId";
WHERE iid = $optionId";
$res = Database::query($sql);
if (Database::num_rows($res) == 0) {

@ -2123,8 +2123,7 @@ abstract class Question
Database::delete(
$table,
[
'c_id = ? AND question_id = ?' => [
$course_id,
'question_id = ?' => [
$question_id,
],
]
@ -2145,7 +2144,7 @@ abstract class Question
return Database::update(
$table,
$params,
['c_id = ? AND id = ?' => [$course_id, $id]]
['iid = ?' => [$id]]
);
}
@ -2164,8 +2163,7 @@ abstract class Question
$table,
[
'where' => [
'c_id = ? AND question_id = ?' => [
$course_id,
'question_id = ?' => [
$question_id,
],
],

@ -881,7 +881,7 @@ class CourseBuilder
if ($obj->type == MULTIPLE_ANSWER_TRUE_FALSE) {
$table_options = Database::get_course_table(TABLE_QUIZ_QUESTION_OPTION);
$sql = 'SELECT * FROM '.$table_options.'
WHERE c_id = '.$courseId.' AND question_id = '.$obj->iid;
WHERE question_id = '.$obj->iid;
$db_result3 = Database::query($sql);
while ($obj3 = Database::fetch_object($db_result3)) {
$question_option = new QuizQuestionOption($obj3);

@ -21,7 +21,7 @@ class QuizQuestionOption extends Resource
*/
public function __construct($obj)
{
parent::__construct($obj->id, RESOURCE_QUIZQUESTION);
parent::__construct($obj->iid, RESOURCE_QUIZQUESTION);
$this->obj = $obj;
}
}

Loading…
Cancel
Save