Selaa lähdekoodia

Fix c_quiz_answer's correct field with id_auto

Angel Fernando Quiroz Campos 9 vuotta sitten
vanhempi
commit
4c6d2e9e48

+ 42 - 0
app/Migrations/Schema/V110/Version20151221150100.php

@@ -0,0 +1,42 @@
+<?php
+/* For licensing terms, see /license.txt */
+
+namespace Application\Migrations\Schema\V110;
+
+use Application\Migrations\AbstractMigrationChamilo;
+use Doctrine\DBAL\Schema\Schema;
+
+/**
+ * Fix c_quiz_answer's correct field for id_auto
+ */
+class Version20151221150100 extends AbstractMigrationChamilo
+{
+    /**
+     * @param Schema $schema
+     */
+    public function up(Schema $schema)
+    {
+        $this->addSql("
+            UPDATE track_e_attempt a
+            INNER JOIN c_quiz_answer qa
+            ON (a.question_id = qa.question_id AND a.c_id = qa.c_id)
+            SET a.answer = qa.id_auto
+            WHERE a.answer = qa.id
+        ");
+
+        $this->addSql("
+            UPDATE c_quiz_answer a
+            INNER JOIN c_quiz_answer b
+            ON (a.question_id = b.question_id AND a.c_id = b.c_id)
+            SET a.correct = b.id_auto
+            WHERE a.correct = b.id
+        ");
+    }
+
+    /**
+     * @param Schema $schema
+     */
+    public function down(Schema $schema)
+    {
+    }
+}

+ 1 - 1
main/inc/lib/exercise.lib.php

@@ -141,7 +141,7 @@ class ExerciseLib
                 $select_items[0]['letter'] = '--';
                 $select_items[0]['answer'] = '';
                 foreach ($answer_matching as $id => $value) {
-                    $select_items[$i]['id'] = $value['id'];
+                    $select_items[$i]['id'] = $value['id_auto'];
                     $select_items[$i]['letter'] = $cpt1[$id];
                     $select_items[$i]['answer'] = $value['answer'];
                     $i++;