diff options
author | Simon Rettberg | 2020-09-17 16:32:41 +0200 |
---|---|---|
committer | Simon Rettberg | 2020-09-17 16:32:41 +0200 |
commit | 97aefcf975f23dc7cd453622da27c76a788e9bd2 (patch) | |
tree | e0aedb3bd033a3dc5288a5d4ccd8b90c727fd51b /modules-available/remoteaccess | |
parent | [locations] install: Make openingtime migration a bit more robust (diff) | |
download | slx-admin-97aefcf975f23dc7cd453622da27c76a788e9bd2.tar.gz slx-admin-97aefcf975f23dc7cd453622da27c76a788e9bd2.tar.xz slx-admin-97aefcf975f23dc7cd453622da27c76a788e9bd2.zip |
[exams/runmode/remoteaccess] Tweak baseconfig hook (runmode/format)
Diffstat (limited to 'modules-available/remoteaccess')
-rw-r--r-- | modules-available/remoteaccess/baseconfig/getconfig.inc.php | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/modules-available/remoteaccess/baseconfig/getconfig.inc.php b/modules-available/remoteaccess/baseconfig/getconfig.inc.php index 8aa6430e..4d54c183 100644 --- a/modules-available/remoteaccess/baseconfig/getconfig.inc.php +++ b/modules-available/remoteaccess/baseconfig/getconfig.inc.php @@ -1,21 +1,29 @@ <?php -// Locations from closest to furthest (order) -$locationId = ConfigHolder::get('SLX_LOCATIONS'); -if ($locationId !== false) { - $locationId = (int)$locationId; - $ret = Database::queryFirst("SELECT l.locationid FROM remoteaccess_x_location l +(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; + + // Locations from closest to furthest (order) + $locationId = ConfigHolder::get('SLX_LOCATIONS'); + if ($locationId !== false) { + $locationId = (int)$locationId; + $ret = Database::queryFirst("SELECT l.locationid FROM remoteaccess_x_location l INNER JOIN remoteaccess_group g USING (groupid) WHERE locationid = :lid AND g.active = 1", - ['lid' => $locationId], true); // TODO Remove true after next point release (2020-05-12) - if ($ret !== false) { - // TODO Properly merge - if (Property::get(RemoteAccess::PROP_TRY_VIRT_HANDOVER)) { - ConfigHolder::add("SLX_REMOTE_VNC", 'vmware virtualbox'); - } else { - ConfigHolder::add("SLX_REMOTE_VNC", 'x11vnc'); + ['lid' => $locationId], true); // TODO Remove true after next point release (2020-05-12) + if ($ret !== false) { + // TODO Properly merge + if (Property::get(RemoteAccess::PROP_TRY_VIRT_HANDOVER)) { + ConfigHolder::add("SLX_REMOTE_VNC", 'vmware virtualbox'); + } else { + ConfigHolder::add("SLX_REMOTE_VNC", 'x11vnc'); + } + ConfigHolder::add("SLX_REMOTE_HOST_ACCESS", Property::get(RemoteAccess::PROP_ALLOWED_VNC_NET)); + ConfigHolder::add('SLX_RUNMODE_MODULE', 'remoteaccess'); } - ConfigHolder::add("SLX_REMOTE_HOST_ACCESS", Property::get(RemoteAccess::PROP_ALLOWED_VNC_NET)); - ConfigHolder::add('SLX_RUNMODE_MODULE', 'remoteaccess'); } -} +})($uuid);
\ No newline at end of file |