summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-02-08 15:05:58 +0100
committerSimon Rettberg2018-02-08 15:05:58 +0100
commitce10ff7a848985f44e6c3c371f6075f67a8b7aeb (patch)
treea99a41c91f5b036aa28c0f9da52c640a8c6c4e2d
parentUpdate translations (diff)
downloadslx-admin-ce10ff7a848985f44e6c3c371f6075f67a8b7aeb.tar.gz
slx-admin-ce10ff7a848985f44e6c3c371f6075f67a8b7aeb.tar.xz
slx-admin-ce10ff7a848985f44e6c3c371f6075f67a8b7aeb.zip
[exams/roomplanner] Hybrid PVS managers become dedicated in exam mode
Hopefully fixes #3066
-rw-r--r--modules-available/baseconfig/api.inc.php21
-rw-r--r--modules-available/exams/baseconfig/getconfig.inc.php1
-rw-r--r--modules-available/roomplanner/baseconfig/getconfig.inc.php21
-rw-r--r--modules-available/roomplanner/inc/pvsgenerator.inc.php1
4 files changed, 42 insertions, 2 deletions
diff --git a/modules-available/baseconfig/api.inc.php b/modules-available/baseconfig/api.inc.php
index a4024c5e..853c6f51 100644
--- a/modules-available/baseconfig/api.inc.php
+++ b/modules-available/baseconfig/api.inc.php
@@ -16,6 +16,8 @@ class ConfigHolder
private static $context = '';
+ private static $postHooks = [];
+
public static function setContext($name)
{
self::$context = $name;
@@ -54,8 +56,26 @@ class ConfigHolder
return self::$config[$key][0]['value'];
}
+ /**
+ * @param callable $func
+ */
+ public static function addPostHook($func)
+ {
+ self::$postHooks[] = array('context' => self::$context, 'function' => $func);
+ }
+
+ public static function applyPostHooks()
+ {
+ foreach (self::$postHooks as $hook) {
+ self::$context = $hook['context'] . ':post';
+ $hook['function']();
+ }
+ self::$postHooks = [];
+ }
+
public static function getConfig()
{
+ self::applyPostHooks();
$ret = [];
foreach (self::$config as $key => $list) {
if ($list[0]['value'] === false)
@@ -67,6 +87,7 @@ class ConfigHolder
public static function outputConfig()
{
+ self::applyPostHooks();
foreach (self::$config as $key => $list) {
echo '##', $key, "\n";
foreach ($list as $pos => $item) {
diff --git a/modules-available/exams/baseconfig/getconfig.inc.php b/modules-available/exams/baseconfig/getconfig.inc.php
index 37a2caf4..e5dd01c9 100644
--- a/modules-available/exams/baseconfig/getconfig.inc.php
+++ b/modules-available/exams/baseconfig/getconfig.inc.php
@@ -15,5 +15,4 @@ if (Exams::isInExamMode($locationIds, $lectureId, $autoLogin)) {
ConfigHolder::add('SLX_AUTOLOGIN', $autoLogin, 10000);
}
ConfigHolder::add('SLX_SYSTEMD_TARGET', 'exam-mode', 10000);
- ConfigHolder::add("SLX_PVS_HYBRID", false, 10000);
}
diff --git a/modules-available/roomplanner/baseconfig/getconfig.inc.php b/modules-available/roomplanner/baseconfig/getconfig.inc.php
index f4708547..79af974b 100644
--- a/modules-available/roomplanner/baseconfig/getconfig.inc.php
+++ b/modules-available/roomplanner/baseconfig/getconfig.inc.php
@@ -1,3 +1,24 @@
<?php
ConfigHolder::add("SLX_PVS_CONFIG_URL", 'http://' . $_SERVER['SERVER_ADDR'] . $_SERVER['SCRIPT_NAME'] . '?do=roomplanner');
+
+/**
+ * Make sure we switch to dedicated mode if this is a hybrid mode
+ * manager and we're in exam mode.
+ * Also disable exam mode for any kind of manager.
+ */
+ConfigHolder::addPostHook(function() {
+ $exam = (bool)ConfigHolder::get('SLX_EXAM');
+ $hybrid = ConfigHolder::get('SLX_PVS_HYBRID') === 'yes';
+ $dedi = (bool)ConfigHolder::get('SLX_PVS_DEDICATED');
+ if ($exam) {
+ if ($dedi || $hybrid) {
+ ConfigHolder::add('SLX_EXAM', false, 100000);
+ ConfigHolder::add('SLX_SYSTEMD_TARGET', false, 100000);
+ }
+ if ($hybrid) {
+ ConfigHolder::add('SLX_PVS_HYBRID', false, 100000);
+ ConfigHolder::add('SLX_PVS_DEDICATED', 'yes', 100000);
+ }
+ }
+}); \ No newline at end of file
diff --git a/modules-available/roomplanner/inc/pvsgenerator.inc.php b/modules-available/roomplanner/inc/pvsgenerator.inc.php
index cda32fce..5a7de9f0 100644
--- a/modules-available/roomplanner/inc/pvsgenerator.inc.php
+++ b/modules-available/roomplanner/inc/pvsgenerator.inc.php
@@ -222,7 +222,6 @@ class PvsGenerator
if (isset($data['dedicatedmgr']) && $data['dedicatedmgr']) {
ConfigHolder::add("SLX_ADDONS", false, 100000);
ConfigHolder::add("SLX_PVS_DEDICATED", 'yes');
- ConfigHolder::add("SLX_EXAM", false, 100000);
ConfigHolder::add("SLX_AUTOLOGIN", 'ON', 100000);
} else {
ConfigHolder::add("SLX_PVS_HYBRID", 'yes');
bef1074'>bbbe96ed899e ^
c7c4fb18d002 ^
1da177e4c3f4




c7c4fb18d002 ^
1da177e4c3f4
c7c4fb18d002 ^
679655daffdd ^
a6d89915aa66 ^
8b58be884a9f ^
a6d89915aa66 ^

679655daffdd ^
ca7a8e85262e ^
a6d89915aa66 ^
1da177e4c3f4
8b58be884a9f ^
979b6c135fc4 ^
1da177e4c3f4
ca7a8e85262e ^
1da177e4c3f4
c4de0cebc512 ^

1da177e4c3f4
c4de0cebc512 ^
1da177e4c3f4
c4de0cebc512 ^
1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
68d96dcfc6c0 ^





6304f8fc398e ^
68d96dcfc6c0 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

679655daffdd ^
1da177e4c3f4
1da177e4c3f4
c8a75b345b38 ^
979b6c135fc4 ^
1da177e4c3f4
a8fe65b8f031 ^
1da177e4c3f4

879a5a001b62 ^
1da177e4c3f4

8ee16a1b8985 ^
08deed1ef62d ^
df6212529c64 ^
679655daffdd ^
1da177e4c3f4

979b6c135fc4 ^
0cf445ceaf43 ^
644570b83026 ^
1da177e4c3f4
67543e508d74 ^
8b58be884a9f ^


ce00f85c45d7 ^
27a2a5ff41e3 ^
8a6e25357d51 ^
eeba444a5d56 ^
ce00f85c45d7 ^
679655daffdd ^

2315cb14010c ^




67543e508d74 ^
91952bc0b48a ^









e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^

1da177e4c3f4
679655daffdd ^

1da177e4c3f4
ea8f8fc8631d ^






249e3c85afb9 ^
93d0cc588345 ^
f2b84bbcebfd ^

679655daffdd ^
f2b84bbcebfd ^
249e3c85afb9 ^
8b58be884a9f ^
249e3c85afb9 ^

679655daffdd ^
249e3c85afb9 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

531c4f896ca3 ^
1da177e4c3f4
e86435eb91b2 ^
8b58be884a9f ^
d094485323a1 ^
4fc26e36acce ^


e86435eb91b2 ^
745a5d212692 ^
182ae55c1285 ^
d094485323a1 ^
745a5d212692 ^
679655daffdd ^
745a5d212692 ^
1da177e4c3f4
49db19038fe5 ^
7fb060820acb ^
6968e50c2b53 ^
360818b83f86 ^


8b59a454c421 ^
679655daffdd ^


43368e74d126 ^
994b942fb4eb ^
89ca78a060a1 ^
15fd830dd310 ^


2754c447b7a7 ^
8b59a454c421 ^
3774929d2ac6 ^












2754c447b7a7 ^
3774929d2ac6 ^
8b59a454c421 ^
8b58be884a9f ^
8b59a454c421 ^
5ca92bd96a4d ^
8b59a454c421 ^
679655daffdd ^
1da177e4c3f4
8b59a454c421 ^
8b58be884a9f ^
8b59a454c421 ^
5ca92bd96a4d ^
8b59a454c421 ^
679655daffdd ^
998be20fdff1 ^
359acec8cd78 ^
8b58be884a9f ^
8b59a454c421 ^
5ca92bd96a4d ^
8b59a454c421 ^
679655daffdd ^
998be20fdff1 ^
bff431e49ff5 ^
d094485323a1 ^
5b9272594b51 ^
679655daffdd ^
bff431e49ff5 ^
2f39d51981e2 ^
8b58be884a9f ^
795fb7e74dff ^


679655daffdd ^
2f39d51981e2 ^
527a1a83cc1b ^

a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^




a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^




a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^




a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^




a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^


1330b0dcf876 ^



1da177e4c3f4
7c81c60f3789 ^
cc0b07ed479f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
cae2caae7825 ^
fce8ffa35408 ^
cae2caae7825 ^

679655daffdd ^
cae2caae7825 ^
cc0b88cf5ecf ^
cc0b88cf5ecf ^
491b26b40222 ^
e71bcbd0a149 ^
679655daffdd ^
cc0b88cf5ecf ^
e8e31622a17e ^






527a1a83cc1b ^

a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^


45b4e0d54bdb ^
77278d50e04b ^
527a1a83cc1b ^



a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^

77278d50e04b ^
527a1a83cc1b ^


a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^


8c22a8f57516 ^







1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
b058b8596136 ^
7c81c60f3789 ^
b058b8596136 ^




527a1a83cc1b ^

a3f531ac556d ^
a4edbc101151 ^
527a1a83cc1b ^


8c6af9e174ab ^
8b58be884a9f ^
8c6af9e174ab ^

679655daffdd ^

8c6af9e174ab ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
91952bc0b48a ^



















1da177e4c3f4
6cf515e113fc ^

679655daffdd ^

1da177e4c3f4
e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^

679655daffdd ^


e2d1d6c0a5d3 ^
1da177e4c3f4
8b58be884a9f ^
878eaf61be20 ^
1da177e4c3f4
679655daffdd ^

c117ab842001 ^
1da177e4c3f4

8b58be884a9f ^
1da177e4c3f4

679655daffdd ^

1da177e4c3f4
64624d4f46d5 ^
8b58be884a9f ^
64624d4f46d5 ^
1da177e4c3f4
679655daffdd ^
1da177e4c3f4
450500ad1d58 ^







e2d1d6c0a5d3 ^
8b58be884a9f ^
e2d1d6c0a5d3 ^

679655daffdd ^

e2d1d6c0a5d3 ^
469d4ec87760 ^









1da177e4c3f4
8b58be884a9f ^
6372594ac177 ^
1da177e4c3f4

679655daffdd ^

1da177e4c3f4
272f133afb20 ^
8b58be884a9f ^
08fcb7208c4a ^
679655daffdd ^
272f133afb20 ^
4a4e5787e0b7 ^
8b58be884a9f ^
846557d3ceb6 ^
4a4e5787e0b7 ^
679655daffdd ^

4a4e5787e0b7 ^
1da177e4c3f4
8b58be884a9f ^
8b58be884a9f ^
abd4d609057d ^
c89f4f9a611a ^
a94066992b30 ^
679655daffdd ^
1da177e4c3f4
16b8b9220486 ^
0d9327ab7003 ^
16b8b9220486 ^




adf9251fe9b8 ^


61bd0943bc41 ^
adf9251fe9b8 ^





f4875e12f3dd ^






512d1027a6c5 ^
d034fbf08b6f ^
512d1027a6c5 ^




167a675a8caa ^
8b58be884a9f ^
67d7671036e6 ^
167a675a8caa ^
679655daffdd ^
167a675a8caa ^
f90b8116032f ^
6900609612d2 ^
67d7671036e6 ^
f90b8116032f ^

679655daffdd ^



f90b8116032f ^
919ee7dd9a66 ^
e41105687b90 ^
919ee7dd9a66 ^
525b233c7188 ^
e41105687b90 ^
b2c1639135c0 ^

919ee7dd9a66 ^
e7f5b309c9bd ^
943482d07e92 ^
7d2c86b5a048 ^
943482d07e92 ^
73d425fd1dda ^
e7f5b309c9bd ^
45198c7b35c0 ^






284f42b627c0 ^
8b58be884a9f ^
284f42b627c0 ^
bd5f47ec9615 ^
284f42b627c0 ^
f94b533d091a ^
8b58be884a9f ^

e6cc0fd1e31c ^
f94b533d091a ^
679655daffdd ^
f94b533d091a ^
531fca1649da ^





c40ddfa34add ^





531fca1649da ^





c40ddfa34add ^





527a1a83cc1b ^
535bd16f4190 ^
4bdef3bd7e59 ^
a3f531ac556d ^
a4edbc101151 ^
4bdef3bd7e59 ^
39c9d199ce67 ^
cc52688a0888 ^
4bdef3bd7e59 ^
ae48f5efb8b3 ^
4bdef3bd7e59 ^
40216ce7aa88 ^
4bdef3bd7e59 ^
527a1a83cc1b ^
b3fe92b03dd6 ^
527a1a83cc1b ^




422690636117 ^
8b58be884a9f ^
a4724ed6f084 ^
93711660086d ^
422690636117 ^
679655daffdd ^
422690636117 ^
1da177e4c3f4
81024fc41a93 ^

679655daffdd ^

c117ab842001 ^
81024fc41a93 ^
1da177e4c3f4
bd7aa4b2dafd ^
8b58be884a9f ^
bd7aa4b2dafd ^

679655daffdd ^
bd7aa4b2dafd ^
6f2fad748ccc ^
d618540fb3e5 ^

6f2fad748ccc ^
679655daffdd ^
6f2fad748ccc ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
62a37dc7a273 ^





a480167b23ef ^
2d8a3b3d926e ^
a480167b23ef ^




1154ea7dcd8e ^
8b58be884a9f ^
1154ea7dcd8e ^
679655daffdd ^

1154ea7dcd8e ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4
679655daffdd ^

1da177e4c3f4
6f96521fab97 ^




6f96521fab97 ^



d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
d4275354993e ^



d323c243d9e6 ^

56ca9d98772c ^
d323c243d9e6 ^



cefbf4ea6294 ^















2761f5c2ea80 ^
08a5c9a2bb5d ^

679655daffdd ^
2f748aaad7f4 ^
2761f5c2ea80 ^
1b4304e5ca4e ^




2761f5c2ea80 ^
cefbf4ea6294 ^





2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

9c784f958d01 ^
8b58be884a9f ^
efc03ecb9d67 ^
9c784f958d01 ^

2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

1b106699647b ^



60b0f380beed ^





1b106699647b ^
c1fc8675c9e3 ^
8b58be884a9f ^
c1fc8675c9e3 ^

efc03ecb9d67 ^
795fb7e74dff ^
c1fc8675c9e3 ^


70e389cc7fed ^



d4a89c7d2788 ^
6e05dd4e1ccb ^




986cf2e91968 ^
5d3ad8a63844 ^
986cf2e91968 ^



d94f944e108d ^
9d5e2a023eee ^
d94f944e108d ^



386ab5168bbf ^



b8ba3874b4cf ^
386ab5168bbf ^
2b7a52a459cb ^
ddd559b13f6d ^
1c5454eed85a ^
efc03ecb9d67 ^
2b7a52a459cb ^
d19d36672ee3 ^

2b7a52a459cb ^

8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
37417046b903 ^
d4275354993e ^
4fa2651db463 ^
d4275354993e ^
d48134e709d5 ^
8b58be884a9f ^
efc03ecb9d67 ^
a9da4f7ed6a7 ^

941500954470 ^




1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4

881a95f976e6 ^
162500b3a3ff ^
efc03ecb9d67 ^
162500b3a3ff ^

f49afbb572d5 ^
881a95f976e6 ^
a990cbd88758 ^
5abf58bf4cd0 ^
a990cbd88758 ^
85529d14d58a ^
a990cbd88758 ^

4a9c44f15a73 ^
05f30e8dfa70 ^

f8505ef5c57c ^
a990cbd88758 ^
d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
d4275354993e ^


b955f6ca776f ^
d4275354993e ^
4721f3cec177 ^





a9da4f7ed6a7 ^
8b58be884a9f ^


d66f1886cab1 ^
a9da4f7ed6a7 ^

cafc22658e85 ^

a9da4f7ed6a7 ^
6a915af99fc9 ^
162500b3a3ff ^
efc03ecb9d67 ^
162500b3a3ff ^
1fa7e5473cba ^
f49afbb572d5 ^
6a915af99fc9 ^
d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
d4275354993e ^




86183a5fd0ce ^
f1c12837220c ^
8b58be884a9f ^
efc03ecb9d67 ^
86183a5fd0ce ^
f1c12837220c ^
adf792928d1c ^
ce515a6b8de2 ^
2a82f95c3fb4 ^
e5dafa224f29 ^
86183a5fd0ce ^
2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

90b8fc34968d ^
8b58be884a9f ^
efc03ecb9d67 ^
90b8fc34968d ^

ef47d5f02402 ^
8b58be884a9f ^
12a93f32a3f6 ^

ef47d5f02402 ^


12a93f32a3f6 ^
ef47d5f02402 ^
21f37bc3e51f ^
8b58be884a9f ^
795fb7e74dff ^

084bad91afd0 ^


21f37bc3e51f ^
5e767ab92808 ^





06ff74fd197a ^
5e767ab92808 ^
403d29713e0a ^



ec15408206e6 ^
403d29713e0a ^
2b7a52a459cb ^
8b58be884a9f ^
ab5f8c6ee8af ^
efc03ecb9d67 ^
f00f510ab33f ^
e2bdb176ffae ^

ab5f8c6ee8af ^
efc03ecb9d67 ^
f00f510ab33f ^
2b7a52a459cb ^

8b58be884a9f ^
ab5f8c6ee8af ^
efc03ecb9d67 ^
f00f510ab33f ^
2b7a52a459cb ^

8b58be884a9f ^
ab5f8c6ee8af ^
efc03ecb9d67 ^
f00f510ab33f ^
2b7a52a459cb ^
2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

dfdd8cc90328 ^


baea7b946f00 ^
dfdd8cc90328 ^


838553c5a151 ^
7f49a7f7011f ^





2b7a52a459cb ^
8b58be884a9f ^
ab5f8c6ee8af ^
efc03ecb9d67 ^
f00f510ab33f ^
2b7a52a459cb ^

8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

1154f858ab5c ^




317929cd8ef3 ^
1154f858ab5c ^
bc6aa56680b0 ^
























2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

3b8861715a9c ^
8b58be884a9f ^
3b8861715a9c ^

75f41273ec55 ^



dcb7150368ef ^
75f41273ec55 ^



40f4978be3e7 ^





4f1312b023f3 ^


dcb7150368ef ^
efc03ecb9d67 ^
4f1312b023f3 ^

54a246ff21b5 ^



3b8861715a9c ^
d69ac131384a ^






adcb079f28ec ^


144308139cdc ^
adcb079f28ec ^

d78ff0a50aac ^
8b58be884a9f ^
efc03ecb9d67 ^
d78ff0a50aac ^


9624dfe61658 ^
8b58be884a9f ^
9624dfe61658 ^

e0ee98513d1a ^
28b8e8d4e2e3 ^
e4651a9ff469 ^
28b8e8d4e2e3 ^


875728807ff0 ^
e4651a9ff469 ^
e0ee98513d1a ^
9d76295ac608 ^
8b58be884a9f ^
9d76295ac608 ^



0c19d21e801b ^

b4c9bfab2ec7 ^
0c19d21e801b ^
c68af41d2dbf ^
0c19d21e801b ^



df6212529c64 ^

ea91db527cd7 ^
0a759c6ead84 ^
ea91db527cd7 ^
8cd5c8661df3 ^
0c19d21e801b ^

8459c159f7de ^
8b58be884a9f ^

8459c159f7de ^

5d783a2d592c ^
933d35f00cfa ^
752807871ad2 ^
b5e4ad57eeff ^

933d35f00cfa ^









b5e4ad57eeff ^
b57fe924740b ^
8b58be884a9f ^
752807871ad2 ^
90af5811eb1f ^

b57fe924740b ^

90af5811eb1f ^
c49e1e63a9c7 ^
8b58be884a9f ^
752807871ad2 ^
7d2c86b5a048 ^

933d35f00cfa ^

c49e1e63a9c7 ^
1da177e4c3f4
8b58be884a9f ^
1da177e4c3f4



8b58be884a9f ^
efc03ecb9d67 ^
1da177e4c3f4


8fc1b0f87d9f ^







2b7a52a459cb ^
8b58be884a9f ^
efc03ecb9d67 ^
2b7a52a459cb ^

d4275354993e ^
8b58be884a9f ^
efc03ecb9d67 ^
d4275354993e ^

d4275354993e ^




1a6422f67fbf ^
9e13fbf7af3c ^

d4275354993e ^

08ddbb0a899a ^






b21477f9d257 ^
8b58be884a9f ^
482ce512c543 ^
efc03ecb9d67 ^
7a549d78e7d8 ^
b21477f9d257 ^

6f0589c8fecf ^

482ce512c543 ^
769bbb634f30 ^

eb2ffcaf14d0 ^

40c76662a1ae ^

1da177e4c3f4
0dcecae203cd ^
f556cb078a3a ^




0dcecae203cd ^
33d43cdddbaa ^
f556cb078a3a ^
10ffa96407b2 ^





10ffa96407b2 ^
3ce4ccb630ce ^







e6a476fd5f65 ^


6305902c2f87 ^
e6a476fd5f65 ^


934455d7af23 ^
90d72ac6e1c3 ^
e6a476fd5f65 ^






90d72ac6e1c3