diff options
author | Simon Rettberg | 2018-04-20 15:10:27 +0200 |
---|---|---|
committer | Simon Rettberg | 2018-04-20 15:10:27 +0200 |
commit | f2cf42e8ec36ee74bfd7abae0e554c458a03973a (patch) | |
tree | aa4c1eeb737c206b88dca71fe6c1fef07005d37d /modules-available/exams/baseconfig | |
parent | [systemstatus] atftpd -> tftpd-hpa (diff) | |
download | slx-admin-f2cf42e8ec36ee74bfd7abae0e554c458a03973a.tar.gz slx-admin-f2cf42e8ec36ee74bfd7abae0e554c458a03973a.tar.xz slx-admin-f2cf42e8ec36ee74bfd7abae0e554c458a03973a.zip |
[exams/runmode] Properly disable exam mode for runmodes
Diffstat (limited to 'modules-available/exams/baseconfig')
-rw-r--r-- | modules-available/exams/baseconfig/getconfig.inc.php | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/modules-available/exams/baseconfig/getconfig.inc.php b/modules-available/exams/baseconfig/getconfig.inc.php index e5dd01c9..10aa1d84 100644 --- a/modules-available/exams/baseconfig/getconfig.inc.php +++ b/modules-available/exams/baseconfig/getconfig.inc.php @@ -1,18 +1,28 @@ <?php -$locations = ConfigHolder::get('SLX_LOCATIONS'); -if ($locations === false) { - $locationIds = []; -} else { - $locationIds = explode(' ', $locations); -} -if (Exams::isInExamMode($locationIds, $lectureId, $autoLogin)) { - ConfigHolder::add('SLX_EXAM', 'yes', 10000); - if (strlen($lectureId) > 0) { - ConfigHolder::add('SLX_EXAM_START', $lectureId, 10000); +$foofoo = function($machineUuid) { + // Leave clients in any runmode alone + $res = Database::queryFirst('SELECT machineuuid FROM runmode WHERE machineuuid = :uuid', + array('uuid' => $machineUuid), true); + if (is_array($res)) + return; + // Check if exam mode should apply + $locations = ConfigHolder::get('SLX_LOCATIONS'); + if ($locations === false) { + $locationIds = []; + } else { + $locationIds = explode(' ', $locations); } - if (strlen($autoLogin) > 0) { - ConfigHolder::add('SLX_AUTOLOGIN', $autoLogin, 10000); + if (Exams::isInExamMode($locationIds, $lectureId, $autoLogin)) { + ConfigHolder::add('SLX_EXAM', 'yes', 10000); + if (strlen($lectureId) > 0) { + ConfigHolder::add('SLX_EXAM_START', $lectureId, 10000); + } + if (strlen($autoLogin) > 0) { + ConfigHolder::add('SLX_AUTOLOGIN', $autoLogin, 10000); + } + ConfigHolder::add('SLX_SYSTEMD_TARGET', 'exam-mode', 10000); } - ConfigHolder::add('SLX_SYSTEMD_TARGET', 'exam-mode', 10000); -} +}; + +$foofoo($uuid);
\ No newline at end of file |