From 48846297dcd1f6f5ae4b09c295b69f2958cf4713 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 3 Nov 2022 16:17:53 +0100 Subject: [dozmod] Add field to configure maximum VM image size --- modules-available/dozmod/pages/runtimeconfig.inc.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'modules-available/dozmod/pages') diff --git a/modules-available/dozmod/pages/runtimeconfig.inc.php b/modules-available/dozmod/pages/runtimeconfig.inc.php index 50023414..5f441980 100644 --- a/modules-available/dozmod/pages/runtimeconfig.inc.php +++ b/modules-available/dozmod/pages/runtimeconfig.inc.php @@ -37,7 +37,7 @@ class SubPage ]; 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']; @@ -53,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'); @@ -62,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)' @@ -110,6 +113,7 @@ class SubPage 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); -- cgit v1.2.3-55-g7522