Proyectos de Subversion Moodle

Rev

Rev 11 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 11 Rev 1441
Línea 173... Línea 173...
173
 
173
 
174
        case QUIZ_GRADEAVERAGE :
174
        case QUIZ_GRADEAVERAGE :
Línea 175... Línea 175...
175
            return '';
175
            return '';
-
 
176
 
176
 
177
        case QUIZ_ATTEMPTFIRST :
-
 
178
            return "(
-
 
179
                $quizattemptsalias.state IN ('finished', 'submitted')
177
        case QUIZ_ATTEMPTFIRST :
180
                AND NOT EXISTS (
178
            return "($quizattemptsalias.state = 'finished' AND NOT EXISTS (
181
                    SELECT 1
179
                           SELECT 1 FROM {quiz_attempts} qa2
182
                      FROM {quiz_attempts} qa2
180
                            WHERE qa2.quiz = $quizattemptsalias.quiz AND
183
                     WHERE qa2.quiz = $quizattemptsalias.quiz
181
                                qa2.userid = $quizattemptsalias.userid AND
184
                           AND qa2.userid = $quizattemptsalias.userid
-
 
185
                           AND qa2.state IN ('finished', 'submitted')
-
 
186
                           AND qa2.attempt < $quizattemptsalias.attempt
Línea 182... Línea 187...
182
                                 qa2.state = 'finished' AND
187
                )
-
 
188
            )";
183
                               qa2.attempt < $quizattemptsalias.attempt))";
189
 
-
 
190
        case QUIZ_ATTEMPTLAST :
-
 
191
            return "(
184
 
192
                $quizattemptsalias.state IN ('finished', 'submitted')
185
        case QUIZ_ATTEMPTLAST :
193
                AND NOT EXISTS (
186
            return "($quizattemptsalias.state = 'finished' AND NOT EXISTS (
194
                    SELECT 1
187
                           SELECT 1 FROM {quiz_attempts} qa2
195
                      FROM {quiz_attempts} qa2
188
                            WHERE qa2.quiz = $quizattemptsalias.quiz AND
196
                     WHERE qa2.quiz = $quizattemptsalias.quiz
-
 
197
                           AND qa2.userid = $quizattemptsalias.userid
-
 
198
                           AND qa2.state IN ('finished', 'submitted')
189
                                qa2.userid = $quizattemptsalias.userid AND
199
                           AND qa2.attempt > $quizattemptsalias.attempt
190
                                 qa2.state = 'finished' AND
200
                )
Línea 191... Línea 201...
191
                               qa2.attempt > $quizattemptsalias.attempt))";
201
            )";
192
    }
202
    }
Línea 198... Línea 208...
198
 * @param int $bands the number of bands
208
 * @param int $bands the number of bands
199
 * @param int $quizid the quiz id.
209
 * @param int $quizid the quiz id.
200
 * @param \core\dml\sql_join $usersjoins (joins, wheres, params) to get enrolled users
210
 * @param \core\dml\sql_join $usersjoins (joins, wheres, params) to get enrolled users
201
 * @return array band number => number of users with scores in that band.
211
 * @return array band number => number of users with scores in that band.
202
 */
212
 */
203
function quiz_report_grade_bands($bandwidth, $bands, $quizid, \core\dml\sql_join $usersjoins = null) {
213
function quiz_report_grade_bands($bandwidth, $bands, $quizid, ?\core\dml\sql_join $usersjoins = null) {
204
    global $DB;
214
    global $DB;
205
    if (!is_int($bands)) {
215
    if (!is_int($bands)) {
206
        debugging('$bands passed to quiz_report_grade_bands must be an integer. (' .
216
        debugging('$bands passed to quiz_report_grade_bands must be an integer. (' .
207
                gettype($bands) . ' passed.)', DEBUG_DEVELOPER);
217
                gettype($bands) . ' passed.)', DEBUG_DEVELOPER);
208
        $bands = (int) $bands;
218
        $bands = (int) $bands;