diff options
Diffstat (limited to 'modules-available/dozmod/pages/runtimeconfig.inc.php')
-rw-r--r-- | modules-available/dozmod/pages/runtimeconfig.inc.php | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/modules-available/dozmod/pages/runtimeconfig.inc.php b/modules-available/dozmod/pages/runtimeconfig.inc.php index ab8500f2..f5790e82 100644 --- a/modules-available/dozmod/pages/runtimeconfig.inc.php +++ b/modules-available/dozmod/pages/runtimeconfig.inc.php @@ -31,12 +31,13 @@ class SubPage 'maxTransfers' => array('min' => 1, 'max' => 10), ], 'bool' => [ - 'allowLoginByDefault' => array('default' => false) + 'allowLoginByDefault' => array('default' => false), + 'allowStudentDownload' => array('default' => false), ], ]; foreach ($params as $type => $list) { foreach ($list as $field => $limits) { - $default = isset($limits['default']) ? $limits['default'] : false; + $default = $limits['default'] ?? false; $value = Request::post($field, $default, $type); if (isset($limits['min']) && $value < $limits['min']) { $value = $limits['min']; @@ -52,6 +53,8 @@ class SubPage if (!in_array($data['serverSideCopy'], ['OFF', 'ON', 'AUTO', 'USER'])) { $data['serverSideCopy'] = 'OFF'; } + // VM size limit + $data['vmSizeLimit'] = ceil(max(0, Request::post('vmSizeLimit', '0', 'float') * 1024 * 1024 * 1024)); /* ensure types */ settype($data['defaultLecturePermissions']['edit'], 'boolean'); @@ -61,6 +64,7 @@ class SubPage settype($data['defaultImagePermissions']['link'], 'boolean'); settype($data['defaultImagePermissions']['download'], 'boolean'); + // Write to DB - java server app wil reload this periodically $data = json_encode($data); Database::exec('INSERT INTO sat.configuration (parameter, value)' . ' VALUES (:param, :value)' @@ -81,31 +85,35 @@ class SubPage $runtimeConf = json_decode($runtimeConf['value'], true); /* convert some value to corresponding "selected" texts */ - if ($runtimeConf['defaultLecturePermissions']['edit']) { + if ($runtimeConf['defaultLecturePermissions']['edit'] ?? false) { $runtimeConf['defaultLecturePermissions']['edit'] = 'checked'; } - if ($runtimeConf['defaultLecturePermissions']['admin']) { + if ($runtimeConf['defaultLecturePermissions']['admin'] ?? false) { $runtimeConf['defaultLecturePermissions']['admin'] = 'checked'; } - if ($runtimeConf['defaultImagePermissions']['edit']) { + if ($runtimeConf['defaultImagePermissions']['edit'] ?? false) { $runtimeConf['defaultImagePermissions']['edit'] = 'checked'; } - if ($runtimeConf['defaultImagePermissions']['admin']) { + if ($runtimeConf['defaultImagePermissions']['admin'] ?? false) { $runtimeConf['defaultImagePermissions']['admin'] = 'checked'; } - if ($runtimeConf['defaultImagePermissions']['link']) { + if ($runtimeConf['defaultImagePermissions']['link'] ?? false) { $runtimeConf['defaultImagePermissions']['link'] = 'checked'; } - if ($runtimeConf['defaultImagePermissions']['download']) { + if ($runtimeConf['defaultImagePermissions']['download'] ?? false) { $runtimeConf['defaultImagePermissions']['download'] = 'checked'; } - if ($runtimeConf['allowLoginByDefault']) { + if ($runtimeConf['allowLoginByDefault'] ?? false) { $runtimeConf['allowLoginByDefault'] = 'checked'; } + if ($runtimeConf['allowStudentDownload'] ?? false) { + $runtimeConf['allowStudentDownload'] = 'checked'; + } if (isset($runtimeConf['serverSideCopy'])) { $runtimeConf[$runtimeConf['serverSideCopy'] . '_selected'] = 'selected'; } + $runtimeConf['vmSizeLimit'] = ceil(($runtimeConf['vmSizeLimit'] ?? 0) / (1024 * 1024 * 1024)); } $runtimeConf['allowedSave'] = User::hasPermission("runtimeconfig.save"); Render::addTemplate('runtimeconfig', $runtimeConf); |