QuizzesScoresLoader   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 25
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A load() 0 20 2
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\PluginBundle\MigrationMoodle\Loader;
5
6
use Chamilo\PluginBundle\MigrationMoodle\Interfaces\LoaderInterface;
7
8
/**
9
 * Class QuizzesScoresLoader.
10
 *
11
 * @package Chamilo\PluginBundle\MigrationMoodle\Loader
12
 */
13
class QuizzesScoresLoader implements LoaderInterface
14
{
15
    /**
16
     * {@inheritdoc}
17
     */
18
    public function load(array $incomingData)
19
    {
20
        $tblQuizQuestion = \Database::get_course_table(TABLE_QUIZ_QUESTION);
21
        $tblQuizRelQuestion = \Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
22
        $tblLpItem = \Database::get_course_table(TABLE_LP_ITEM);
23
24
        $sql = "SELECT SUM(ponderation)
25
            FROM $tblQuizQuestion as quiz_question
26
            INNER JOIN $tblQuizRelQuestion as quiz_rel_question
27
            ON quiz_question.iid = quiz_rel_question.question_id
28
            WHERE
29
                quiz_rel_question.exercice_id = {$incomingData['quiz_id']}
30
                AND quiz_rel_question.c_id = {$incomingData['c_id']}";
31
32
        $rsQuiz = \Database::query($sql);
33
        $maxScore = \Database::result($rsQuiz, 0, 0) ?: 0;
34
35
        \Database::query("UPDATE $tblLpItem SET max_score = $maxScore WHERE iid = {$incomingData['item_id']}");
36
37
        return $incomingData['item_id'];
38
    }
39
}
40