diff options
Diffstat (limited to 'modules-available/dozmod/pages')
10 files changed, 38 insertions, 35 deletions
diff --git a/modules-available/dozmod/pages/actionlog.inc.php b/modules-available/dozmod/pages/actionlog.inc.php index eaa5218c..182198c2 100644 --- a/modules-available/dozmod/pages/actionlog.inc.php +++ b/modules-available/dozmod/pages/actionlog.inc.php @@ -11,7 +11,7 @@ class SubPage User::assertPermission("actionlog.view"); self::$action = Request::get('action', '', 'string'); if (self::$action !== '' && self::$action !== 'showtarget' && self::$action !== 'showuser') { - Util::traceError('Invalid action for actionlog: "' . self::$action . '"'); + ErrorHandler::traceError('Invalid action for actionlog: "' . self::$action . '"'); } self::$uuid = Request::get('uuid', '', 'string'); } @@ -92,7 +92,7 @@ class SubPage return $desc; } - private static function addImageHeader() + private static function addImageHeader(): bool { $image = Database::queryFirst('SELECT o.userid AS ouserid, o.firstname AS ofirstname, o.lastname AS olastname, u.userid AS uuserid, u.firstname AS ufirstname, u.lastname AS ulastname, @@ -114,7 +114,7 @@ class SubPage return $image !== false; } - private static function addLectureHeader() + private static function addLectureHeader(): bool { $lecture = Database::queryFirst('SELECT o.userid AS ouserid, o.firstname AS ofirstname, o.lastname AS olastname, u.userid AS uuserid, u.firstname AS ufirstname, u.lastname AS ulastname, @@ -144,7 +144,7 @@ class SubPage // query action log $res = Database::simpleQuery($query, $params); $events = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { $row['dateline_s'] = date('d.m.Y H:i', $row['dateline']); if (isset($row['imgname'])) { $row['targeturl'] = '?do=dozmod§ion=actionlog&action=showtarget&uuid=' . $row['targetid']; diff --git a/modules-available/dozmod/pages/expiredimages.inc.php b/modules-available/dozmod/pages/expiredimages.inc.php index 3217ae1e..ab563273 100644 --- a/modules-available/dozmod/pages/expiredimages.inc.php +++ b/modules-available/dozmod/pages/expiredimages.inc.php @@ -8,7 +8,7 @@ class SubPage } - private static function loadExpiredImages() + private static function loadExpiredImages(): array { $res = Database::simpleQuery("SELECT b.displayname, own.firstname, own.lastname, own.userid, @@ -22,7 +22,7 @@ class SubPage ORDER BY b.displayname ASC, v.createtime ASC"); $NOW = time(); $rows = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if ($row['latexptime'] > $NOW && $row['latdelstate'] === 'KEEP') { $row['hasNewerClass'] = 'glyphicon-ok green'; $row['checked'] = 'checked'; @@ -43,14 +43,9 @@ class SubPage public static function doRender() { $expiredImages = self::loadExpiredImages(); - - if (empty($expiredImages)) { - Message::addSuccess('no-expired-images'); - } else { - $data = ['images' => $expiredImages]; - Permission::addGlobalTags($data['perm'], null, ['expiredimages.delete', 'orphaned.scan']); - Render::addTemplate('images-delete', $data); - } + $data = ['images' => $expiredImages]; + Permission::addGlobalTags($data['perm'], null, ['expiredimages.delete', 'orphaned.scan']); + Render::addTemplate('images-delete', $data); } public static function doAjax() diff --git a/modules-available/dozmod/pages/mailconfig.inc.php b/modules-available/dozmod/pages/mailconfig.inc.php index 08205f2e..aa03a4d3 100644 --- a/modules-available/dozmod/pages/mailconfig.inc.php +++ b/modules-available/dozmod/pages/mailconfig.inc.php @@ -34,7 +34,7 @@ class SubPage Util::redirect('?do=DozMod§ion=mailconfig'); } - private static function cleanMailArray() + private static function cleanMailArray(): array { $keys = array('host', 'port', 'ssl', 'senderAddress', 'replyTo', 'username', 'password', 'serverName'); $data = array(); diff --git a/modules-available/dozmod/pages/networkrules.inc.php b/modules-available/dozmod/pages/networkrules.inc.php index 710e90a9..218b7b06 100644 --- a/modules-available/dozmod/pages/networkrules.inc.php +++ b/modules-available/dozmod/pages/networkrules.inc.php @@ -74,7 +74,7 @@ class SubPage $res = Database::simpleQuery('SELECT ruleid, rulename, ruledata FROM sat.presetnetworkrule ORDER BY rulename ASC'); $rows = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { $rows[] = $row; } Render::addTemplate('networkrules', [ diff --git a/modules-available/dozmod/pages/networkshares.inc.php b/modules-available/dozmod/pages/networkshares.inc.php index 659321b4..852a8c67 100644 --- a/modules-available/dozmod/pages/networkshares.inc.php +++ b/modules-available/dozmod/pages/networkshares.inc.php @@ -66,7 +66,7 @@ class SubPage $res = Database::simpleQuery('SELECT shareid, sharename, sharedata, active FROM sat.presetnetworkshare ORDER BY sharename ASC'); $rows = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { $dec = json_decode($row['sharedata'], true); if (!is_array($dec)) { $dec = []; diff --git a/modules-available/dozmod/pages/runscripts.inc.php b/modules-available/dozmod/pages/runscripts.inc.php index 9e6062d4..5665ba83 100644 --- a/modules-available/dozmod/pages/runscripts.inc.php +++ b/modules-available/dozmod/pages/runscripts.inc.php @@ -98,7 +98,7 @@ class SubPage FROM sat.presetrunscript ORDER BY scriptname ASC'); $rows = []; - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { if ($row['visibility'] == 0) { $row['visibility'] = 'eye-close'; } elseif ($row['visibility'] == 1) { @@ -139,7 +139,7 @@ class SubPage $res = Database::simpleQuery('SELECT o.osid, o.displayname, pxo.osid AS isvalid FROM sat.operatingsystem o LEFT JOIN sat.presetrunscript_x_operatingsystem pxo ON (o.osid = pxo.osid AND pxo.runscriptid = :runscriptid) ORDER BY o.displayname ASC', ['runscriptid' => $id]); - while ($osrow = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $osrow) { $row['oslist'][] = [ 'osid' => $osrow['osid'], 'displayname' => $osrow['displayname'], 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); diff --git a/modules-available/dozmod/pages/special.inc.php b/modules-available/dozmod/pages/special.inc.php index 5a532b51..d6ac53d6 100644 --- a/modules-available/dozmod/pages/special.inc.php +++ b/modules-available/dozmod/pages/special.inc.php @@ -15,7 +15,7 @@ class SubPage . " GROUP BY blocksha1, blocksize HAVING blockcount > 1 ORDER BY blockcount DESC, blocksha1 ASC"); $data = array('hashes' => array()); $spaceWasted = 0; - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { $row['hash_hex'] = bin2hex($row['blocksha1']); $row['blocksize_s'] = Util::readableFileSize($row['blocksize']); $data['hashes'][] = $row; @@ -57,7 +57,7 @@ class SubPage die('Database error: ' . Database::lastError()); } $data = array('rows' => array()); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { $row['createtime_s'] = date('d.m.Y H:i', $row['createtime']); $row['filesize_s'] = Util::readableFileSize($row['filesize']); $data['rows'][] = $row; diff --git a/modules-available/dozmod/pages/templates.inc.php b/modules-available/dozmod/pages/templates.inc.php index b857115f..b916e14c 100644 --- a/modules-available/dozmod/pages/templates.inc.php +++ b/modules-available/dozmod/pages/templates.inc.php @@ -69,7 +69,7 @@ class SubPage ]); } - private static function forcmp($string) + private static function forcmp(string $string): string { return trim(str_replace("\r\n", "\n", $string)); } diff --git a/modules-available/dozmod/pages/users.inc.php b/modules-available/dozmod/pages/users.inc.php index 50f0f763..fe00a71b 100644 --- a/modules-available/dozmod/pages/users.inc.php +++ b/modules-available/dozmod/pages/users.inc.php @@ -42,7 +42,7 @@ class SubPage . ' LEFT JOIN sat.organization USING (organizationid)' . ' ORDER BY lastname ASC, firstname ASC'); $rows = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + foreach ($res as $row) { settype($row['lastlogin'], 'int'); $row['canlogin'] = self::checked($row['canlogin']); $row['issuperuser'] = self::checked($row['issuperuser']); @@ -63,14 +63,14 @@ class SubPage $res = Database::simpleQuery('SELECT organizationid, displayname, canlogin FROM sat.organization' . ' ORDER BY displayname ASC'); $rows = array(); - while ($row = $res->fetch(PDO::FETCH_ASSOC)) { - $row['canlogin'] = self::checked($row['canlogin']); + foreach ($res as $row) { + $row['canlogin'] = self::checked((bool)$row['canlogin']); $rows[] = $row; } Render::addTemplate('orglist', array('organizations' => $rows)); } - private static function checked($val) + private static function checked(bool $val): string { if ($val) return 'checked="checked"'; |