From f3d02d625802003f8348eafe95090723bbd46244 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 5 Feb 2018 16:17:08 +0100 Subject: [statistics_reporting] Fix perVM and perUser (type mismatch in SQL) --- modules-available/statistics_reporting/inc/queries.inc.php | 12 ++++++------ .../statistics_reporting/lang/de/template-tags.json | 1 - .../statistics_reporting/lang/en/template-tags.json | 1 - .../statistics_reporting/lang/pt/template-tags.json | 3 --- 4 files changed, 6 insertions(+), 11 deletions(-) delete mode 100644 modules-available/statistics_reporting/lang/pt/template-tags.json (limited to 'modules-available/statistics_reporting') diff --git a/modules-available/statistics_reporting/inc/queries.inc.php b/modules-available/statistics_reporting/inc/queries.inc.php index 395bb548..58e9e63b 100644 --- a/modules-available/statistics_reporting/inc/queries.inc.php +++ b/modules-available/statistics_reporting/inc/queries.inc.php @@ -326,9 +326,9 @@ class Queries public static function getUserStatistics($from, $to, $lowerTimeBound = 0, $upperTimeBound = 24) { $res = Database::simpleQuery("SELECT username AS name, COUNT(*) AS 'count' FROM statistic - WHERE typeid='.vmchooser-session-name' AND dateline >= :from and dateline <= :to - AND FROM_UNIXTIME(dateline, '%H') >= :lowerTimeBound AND FROM_UNIXTIME(dateline, '%H') < :upperTimeBound - GROUP BY username", compact('from', 'to', 'lowerTimeBound', 'upperTimeBound')); + WHERE typeid='.vmchooser-session-name' AND dateline >= $from and dateline <= $to + AND FROM_UNIXTIME(dateline, '%H') >= $lowerTimeBound AND FROM_UNIXTIME(dateline, '%H') < $upperTimeBound + GROUP BY username"); return $res; } @@ -336,9 +336,9 @@ class Queries public static function getVMStatistics($from, $to, $lowerTimeBound = 0, $upperTimeBound = 24) { $res = Database::simpleQuery("SELECT data AS name, COUNT(*) AS 'count' FROM statistic - WHERE typeid='.vmchooser-session-name' AND dateline >= :from and dateline <= :to - AND FROM_UNIXTIME(dateline, '%H') >= :lowerTimeBound AND FROM_UNIXTIME(dateline, '%H') < :upperTimeBound - GROUP BY data", compact('from', 'to', 'lowerTimeBound', 'upperTimeBound')); + WHERE typeid='.vmchooser-session-name' AND dateline >= $from and dateline <= $to + AND FROM_UNIXTIME(dateline, '%H') >= $lowerTimeBound AND FROM_UNIXTIME(dateline, '%H') < $upperTimeBound + GROUP BY data"); return $res; } diff --git a/modules-available/statistics_reporting/lang/de/template-tags.json b/modules-available/statistics_reporting/lang/de/template-tags.json index 397d93de..3b8c24f1 100644 --- a/modules-available/statistics_reporting/lang/de/template-tags.json +++ b/modules-available/statistics_reporting/lang/de/template-tags.json @@ -22,6 +22,5 @@ "lang_totalSessionTime": "Belegt", "lang_totalStandbyTime": "Standby", "lang_totalTime": "Gesamtzeit", - "lang_user": "Nutzer", "lang_vm": "Veranstaltung" } \ No newline at end of file diff --git a/modules-available/statistics_reporting/lang/en/template-tags.json b/modules-available/statistics_reporting/lang/en/template-tags.json index a4d19222..d5f9948d 100644 --- a/modules-available/statistics_reporting/lang/en/template-tags.json +++ b/modules-available/statistics_reporting/lang/en/template-tags.json @@ -22,6 +22,5 @@ "lang_totalSessionTime": "Occupied", "lang_totalStandbyTime": "Standby", "lang_totalTime": "Total Time", - "lang_user": "User", "lang_vm": "Lecture" } \ No newline at end of file diff --git a/modules-available/statistics_reporting/lang/pt/template-tags.json b/modules-available/statistics_reporting/lang/pt/template-tags.json deleted file mode 100644 index e7981844..00000000 --- a/modules-available/statistics_reporting/lang/pt/template-tags.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "lang_hello": "Olá" -} \ No newline at end of file -- cgit v1.2.3-55-g7522 From fe1f5f76a5b5553cf92176488858f2bbd760463b Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 8 Feb 2018 12:19:12 +0100 Subject: Update translations --- modules-available/statistics_reporting/lang/de/template-tags.json | 1 + modules-available/statistics_reporting/lang/en/template-tags.json | 1 + modules-available/syslog/lang/de/messages.json | 4 ++++ modules-available/syslog/lang/de/template-tags.json | 7 ++++--- modules-available/syslog/lang/en/messages.json | 4 ++++ modules-available/syslog/lang/en/template-tags.json | 7 ++++--- 6 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 modules-available/syslog/lang/de/messages.json create mode 100644 modules-available/syslog/lang/en/messages.json (limited to 'modules-available/statistics_reporting') diff --git a/modules-available/statistics_reporting/lang/de/template-tags.json b/modules-available/statistics_reporting/lang/de/template-tags.json index 3b8c24f1..34c4b80b 100644 --- a/modules-available/statistics_reporting/lang/de/template-tags.json +++ b/modules-available/statistics_reporting/lang/de/template-tags.json @@ -14,6 +14,7 @@ "lang_reportingDescription": "Helfen Sie uns bwLehrpool durch das w\u00f6chentliche Verschicken eines anonymisierten Statistikberichts zu verbessern. Wenn Sie den Inhalt eines solchen Reports genauer inspizieren wollen, k\u00f6nnen Sie \u00fcber den untenstehenden Button einen aktuellen Report Ihres Servers herunterladen.", "lang_reportingLabel": "Anonymisierte Nutzungsstatistiken \u00fcbermitteln", "lang_sessions": "Sitzungen", + "lang_settings": "Einstellungen", "lang_shortSessions": "Sitzungen < 60s", "lang_show": "Anzeigen", "lang_total": "Gesamt", diff --git a/modules-available/statistics_reporting/lang/en/template-tags.json b/modules-available/statistics_reporting/lang/en/template-tags.json index d5f9948d..7ddc3973 100644 --- a/modules-available/statistics_reporting/lang/en/template-tags.json +++ b/modules-available/statistics_reporting/lang/en/template-tags.json @@ -14,6 +14,7 @@ "lang_reportingDescription": "Help us improve bwLehrpool by automatically sending an anonymized statistics report once a week. If you want to check what data the report contains, you can download such a report for reference below.", "lang_reportingLabel": "Send anonymized usage statistics", "lang_sessions": "Sessions", + "lang_settings": "Settings", "lang_shortSessions": "Sessions < 60s", "lang_show": "Show", "lang_total": "Total", diff --git a/modules-available/syslog/lang/de/messages.json b/modules-available/syslog/lang/de/messages.json new file mode 100644 index 00000000..eec31c2f --- /dev/null +++ b/modules-available/syslog/lang/de/messages.json @@ -0,0 +1,4 @@ +{ + "anon-days-out-of-range": "Tage muss zwischen 0 und 180 liegen (war {{0}})", + "anon-days-saved": "Anonymisierungszeitraum gespeichert" +} \ No newline at end of file diff --git a/modules-available/syslog/lang/de/template-tags.json b/modules-available/syslog/lang/de/template-tags.json index c8b2bb45..b5c6f8c7 100644 --- a/modules-available/syslog/lang/de/template-tags.json +++ b/modules-available/syslog/lang/de/template-tags.json @@ -1,11 +1,12 @@ { + "lang_anonDaysDescription": "Nach wie vielen Tagen sollen Logeintr\u00e4ge anonymisiert werden? Auf 0 setzen, um Funktion zu deaktivieren.", + "lang_applyFilter": "Filter anwenden", "lang_client": "Client", "lang_clientLog": "Client Log", "lang_details": "Details", "lang_event": "Ereignis", "lang_filter": "Filter", - "lang_go": "Go", "lang_not": "not", - "lang_when": "Wann", - "lang_applyFilter": "Filter anwenden" + "lang_settings": "Einstellungen", + "lang_when": "Wann" } \ No newline at end of file diff --git a/modules-available/syslog/lang/en/messages.json b/modules-available/syslog/lang/en/messages.json new file mode 100644 index 00000000..5578d7b9 --- /dev/null +++ b/modules-available/syslog/lang/en/messages.json @@ -0,0 +1,4 @@ +{ + "anon-days-out-of-range": "Days have to be between 0 and 180 (was {{0}})", + "anon-days-saved": "Anonymization delay saved" +} \ No newline at end of file diff --git a/modules-available/syslog/lang/en/template-tags.json b/modules-available/syslog/lang/en/template-tags.json index 7dae52d9..1aae1fe9 100644 --- a/modules-available/syslog/lang/en/template-tags.json +++ b/modules-available/syslog/lang/en/template-tags.json @@ -1,11 +1,12 @@ { + "lang_anonDaysDescription": "After how many days should log messages be anonymized? Set to 0 to disable this feature.", + "lang_applyFilter": "Apply Filter", "lang_client": "Client", "lang_clientLog": "Client Log", "lang_details": "Details", "lang_event": "Event", "lang_filter": "Filter", - "lang_go": "Go", "lang_not": "not", - "lang_when": "When", - "lang_applyFilter": "Apply Filter" + "lang_settings": "Settings", + "lang_when": "When" } \ No newline at end of file -- cgit v1.2.3-55-g7522 From a8b0095b335780ae0bb950bc44021215d43a6b2d Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 12 Feb 2018 14:17:07 +0100 Subject: [permissionmanager] Introduce "location-aware" flag for permissions This flag tells wether the permission can be restricted to certain locations in a meaningful way. This flag has to be set in the permissions.json of the according module. For example, the permission to reboot the server cannot be limited to certain locations in a meaningful way, while the view of the client log can be filtered to only show log entries for clients in specific locations. --- .../backup/permissions/permissions.json | 12 +++-- .../permissions/permissions.json | 24 +++++++--- .../dozmod/permissions/permissions.json | 52 ++++++++++++++++------ .../eventlog/permissions/permissions.json | 8 ++-- .../exams/permissions/permissions.json | 13 +++--- .../internetaccess/permissions/permissions.json | 8 ++-- .../locations/permissions/permissions.json | 32 +++++++++---- .../minilinux/permissions/permissions.json | 12 +++-- .../news/permissions/permissions.json | 20 ++++++--- .../permissionmanager/inc/permissionutil.inc.php | 9 ++-- modules-available/permissionmanager/page.inc.php | 21 +++++---- modules-available/permissionmanager/style.css | 28 ++++++------ .../permissionmanager/templates/roleeditor.html | 42 +++++++---------- .../permissionmanager/templates/treenode.html | 23 +++++----- .../permissionmanager/templates/treepanel.html | 2 +- .../rebootcontrol/permissions/permissions.json | 16 ++++--- .../serversetup-bwlp/permissions/permissions.json | 16 ++++--- .../statistics/permissions/permissions.json | 16 ++++--- .../permissions/permissions.json | 36 ++++++++++----- .../syslog/permissions/permissions.json | 8 ++-- .../systemstatus/permissions/permissions.json | 48 ++++++++++++++------ .../vmstore/permissions/permissions.json | 16 ++++--- .../webinterface/permissions/permissions.json | 16 ++++--- 23 files changed, 309 insertions(+), 169 deletions(-) (limited to 'modules-available/statistics_reporting') diff --git a/modules-available/backup/permissions/permissions.json b/modules-available/backup/permissions/permissions.json index feeffe33..1f778ab6 100644 --- a/modules-available/backup/permissions/permissions.json +++ b/modules-available/backup/permissions/permissions.json @@ -1,4 +1,8 @@ -[ - "create", - "restore" -] \ No newline at end of file +{ + "create": { + "location-aware": false + }, + "restore": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/baseconfig_partitions_cdn/permissions/permissions.json b/modules-available/baseconfig_partitions_cdn/permissions/permissions.json index 286a975b..3acd5230 100644 --- a/modules-available/baseconfig_partitions_cdn/permissions/permissions.json +++ b/modules-available/baseconfig_partitions_cdn/permissions/permissions.json @@ -1,7 +1,17 @@ -[ - "show", - "partitions.add", - "partitions.delete", - "partitions.edit", - "partitions.reset" -] \ No newline at end of file +{ + "partitions.add": { + "location-aware": false + }, + "partitions.delete": { + "location-aware": false + }, + "partitions.edit": { + "location-aware": false + }, + "partitions.reset": { + "location-aware": false + }, + "show": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/dozmod/permissions/permissions.json b/modules-available/dozmod/permissions/permissions.json index e8dfb558..b4ff034b 100644 --- a/modules-available/dozmod/permissions/permissions.json +++ b/modules-available/dozmod/permissions/permissions.json @@ -1,14 +1,38 @@ -[ - "images.delete", - "mail.save", - "mail.testmail", - "runtimeconfig.save", - "templates.save", - "templates.reset", - "users.setmail", - "users.setlogin", - "users.setsu", - "users.orglogin", - "log.showuser", - "log.showtarget" -] \ No newline at end of file +{ + "images.delete": { + "location-aware": false + }, + "log.showtarget": { + "location-aware": false + }, + "log.showuser": { + "location-aware": false + }, + "mail.save": { + "location-aware": false + }, + "mail.testmail": { + "location-aware": false + }, + "runtimeconfig.save": { + "location-aware": false + }, + "templates.reset": { + "location-aware": false + }, + "templates.save": { + "location-aware": false + }, + "users.orglogin": { + "location-aware": false + }, + "users.setlogin": { + "location-aware": false + }, + "users.setmail": { + "location-aware": false + }, + "users.setsu": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/eventlog/permissions/permissions.json b/modules-available/eventlog/permissions/permissions.json index f04ea714..a1748957 100644 --- a/modules-available/eventlog/permissions/permissions.json +++ b/modules-available/eventlog/permissions/permissions.json @@ -1,3 +1,5 @@ -[ - "view" -] \ No newline at end of file +{ + "view": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/exams/permissions/permissions.json b/modules-available/exams/permissions/permissions.json index 215b3399..e44974b6 100644 --- a/modules-available/exams/permissions/permissions.json +++ b/modules-available/exams/permissions/permissions.json @@ -1,5 +1,8 @@ -[ - "exams.add", - "exams.delete", - "exams.edit" -] \ No newline at end of file +{ + "exams.edit": { + "location-aware": true + }, + "exams.view": { + "location-aware": true + } +} \ No newline at end of file diff --git a/modules-available/internetaccess/permissions/permissions.json b/modules-available/internetaccess/permissions/permissions.json index 67998da7..09652e51 100644 --- a/modules-available/internetaccess/permissions/permissions.json +++ b/modules-available/internetaccess/permissions/permissions.json @@ -1,3 +1,5 @@ -[ - "configuration.safe" -] \ No newline at end of file +{ + "configuration.safe": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/locations/permissions/permissions.json b/modules-available/locations/permissions/permissions.json index 609a673a..06b01d2c 100644 --- a/modules-available/locations/permissions/permissions.json +++ b/modules-available/locations/permissions/permissions.json @@ -1,9 +1,23 @@ -[ - "location.view", - "location.edit", - "location.add", - "location.delete", - "subnet.edit", - "subnet.add", - "subnet.delete" -] \ No newline at end of file +{ + "location.add": { + "location-aware": false + }, + "location.delete": { + "location-aware": false + }, + "location.edit": { + "location-aware": false + }, + "location.view": { + "location-aware": false + }, + "subnet.add": { + "location-aware": false + }, + "subnet.delete": { + "location-aware": false + }, + "subnet.edit": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/minilinux/permissions/permissions.json b/modules-available/minilinux/permissions/permissions.json index 457d9810..650f7e71 100644 --- a/modules-available/minilinux/permissions/permissions.json +++ b/modules-available/minilinux/permissions/permissions.json @@ -1,4 +1,8 @@ -[ - "show", - "update" -] \ No newline at end of file +{ + "show": { + "location-aware": false + }, + "update": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/news/permissions/permissions.json b/modules-available/news/permissions/permissions.json index 321e73ea..0d9435d7 100644 --- a/modules-available/news/permissions/permissions.json +++ b/modules-available/news/permissions/permissions.json @@ -1,6 +1,14 @@ -[ - "news.save", - "news.delete", - "help.save", - "help.delete" -] \ No newline at end of file +{ + "help.delete": { + "location-aware": false + }, + "help.save": { + "location-aware": false + }, + "news.delete": { + "location-aware": false + }, + "news.save": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/permissionmanager/inc/permissionutil.inc.php b/modules-available/permissionmanager/inc/permissionutil.inc.php index 5ff41046..3daf422e 100644 --- a/modules-available/permissionmanager/inc/permissionutil.inc.php +++ b/modules-available/permissionmanager/inc/permissionutil.inc.php @@ -100,9 +100,9 @@ class PermissionUtil if (!is_array($data)) continue; preg_match('#^modules/([^/]+)/#', $file, $out); - foreach( $data as $p ) { + foreach( $data as $p => $data) { $description = Dictionary::translateFileModule($out[1], "permissions", $p); - self::putInPermissionTree($out[1].".".$p, $description, $permissions); + self::putInPermissionTree($out[1].".".$p, $data['location-aware'], $description, $permissions); } } ksort($permissions); @@ -120,10 +120,11 @@ class PermissionUtil * Place a permission into the given permission tree. * * @param string $permission the permission to place in the tree + * @param bool $locationAware whether this permissions can be restricted to specific locations only * @param string $description the description of the permission * @param array $tree the permission tree to modify */ - private static function putInPermissionTree($permission, $description, &$tree) + private static function putInPermissionTree($permission, $locationAware, $description, &$tree) { $subPermissions = explode('.', $permission); foreach ($subPermissions as $subPermission) { @@ -134,6 +135,6 @@ class PermissionUtil $tree =& $tree[$subPermission]; } } - $tree = $description; + $tree = array('description' => $description, 'location-aware' => $locationAware, 'isLeaf' => true); } } \ No newline at end of file diff --git a/modules-available/permissionmanager/page.inc.php b/modules-available/permissionmanager/page.inc.php index 13d81c6a..bb8482af 100644 --- a/modules-available/permissionmanager/page.inc.php +++ b/modules-available/permissionmanager/page.inc.php @@ -100,18 +100,21 @@ class Page_PermissionManager extends Page $toplevel = $permString == ""; if ($toplevel && in_array("*", $selectedPermissions)) $selectAll = true; foreach ($permissions as $k => $v) { - $leaf = !is_array($v); + $leaf = isset($v['isLeaf']) && $v['isLeaf']; $nextPermString = $permString ? $permString.".".$k : $k; $id = $leaf ? $nextPermString : $nextPermString.".*"; $selected = $selectAll || in_array($id, $selectedPermissions); - $res .= Render::parse("treenode", - array("id" => $id, - "name" => $toplevel ? Module::get($k)->getDisplayName() : $k, - "toplevel" => $toplevel, - "checkboxname" => "permissions", - "selected" => $selected, - "HTML" => $leaf ? "" : self::generatePermissionHTML($v, $selectedPermissions, $selected, $nextPermString), - "description" => $leaf ? $v : "")); + $data = array("id" => $id, + "name" => $toplevel ? Module::get($k)->getDisplayName() : $k, + "toplevel" => $toplevel, + "checkboxname" => "permissions", + "selected" => $selected, + "HTML" => $leaf ? "" : self::generatePermissionHTML($v, $selectedPermissions, $selected, $nextPermString), + ); + if ($leaf) { + $data += $v; + } + $res .= Render::parse("treenode", $data); } if ($toplevel) { $res = Render::parse("treepanel", diff --git a/modules-available/permissionmanager/style.css b/modules-available/permissionmanager/style.css index 49d631a8..9c39af64 100644 --- a/modules-available/permissionmanager/style.css +++ b/modules-available/permissionmanager/style.css @@ -55,28 +55,28 @@ background-color: rgba(0, 182, 41, 0.23); } -.tree-container { - -moz-column-gap: 20px; - -webkit-column-gap: 20px; - column-gap: 20px; -} - - .tree-container > ul { display: inline-block; width: 100%; padding: 0; } -@media (max-width: 767px) { - .tree-container { - -moz-column-count: 1; - -webkit-column-count: 1; - column-count: 1; - } +.tree-container > ul > li > div > label { + font-weight: bold; +} + +.tree-container { + -moz-column-gap: 20px; + -webkit-column-gap: 20px; + column-gap: 20px; + -moz-column-count: 1; + -webkit-column-count: 1; + column-count: 1; + padding-left: 20px; + padding-right: 20px; } -@media (min-width: 768px) and (max-width: 991px) { +@media (min-width: 768px) { .tree-container { -moz-column-count: 2; -webkit-column-count: 2; diff --git a/modules-available/permissionmanager/templates/roleeditor.html b/modules-available/permissionmanager/templates/roleeditor.html index 871fd0cc..eadce027 100644 --- a/modules-available/permissionmanager/templates/roleeditor.html +++ b/modules-available/permissionmanager/templates/roleeditor.html @@ -4,32 +4,24 @@ -
-
- + +
+
+ {{{permissionHTML}}}
-
-
-
-
-
- {{{permissionHTML}}} -
-
- {{{locationHTML}}} -
-
+
+ {{{locationHTML}}}
diff --git a/modules-available/permissionmanager/templates/treenode.html b/modules-available/permissionmanager/templates/treenode.html index ced973ca..43509237 100644 --- a/modules-available/permissionmanager/templates/treenode.html +++ b/modules-available/permissionmanager/templates/treenode.html @@ -1,11 +1,14 @@ {{#toplevel}}
    {{/toplevel}} -
  • -
    - - -
    -
      - {{{HTML}}} -
    -
  • -{{#toplevel}}
{{/toplevel}} +
  • +
    + + +
    +
      + {{{HTML}}} +
    +
  • +{{#toplevel}}{{/toplevel}} \ No newline at end of file diff --git a/modules-available/permissionmanager/templates/treepanel.html b/modules-available/permissionmanager/templates/treepanel.html index 6f358825..8b510407 100644 --- a/modules-available/permissionmanager/templates/treepanel.html +++ b/modules-available/permissionmanager/templates/treepanel.html @@ -6,7 +6,7 @@
    -
    +
    {{{HTML}}}
    diff --git a/modules-available/rebootcontrol/permissions/permissions.json b/modules-available/rebootcontrol/permissions/permissions.json index 5230c9bd..5de9b633 100644 --- a/modules-available/rebootcontrol/permissions/permissions.json +++ b/modules-available/rebootcontrol/permissions/permissions.json @@ -1,5 +1,11 @@ -[ - "shutdown", - "reboot", - "newkeypair" -] \ No newline at end of file +{ + "newkeypair": { + "location-aware": false + }, + "reboot": { + "location-aware": true + }, + "shutdown": { + "location-aware": true + } +} \ No newline at end of file diff --git a/modules-available/serversetup-bwlp/permissions/permissions.json b/modules-available/serversetup-bwlp/permissions/permissions.json index 2166cf8e..6bae5422 100644 --- a/modules-available/serversetup-bwlp/permissions/permissions.json +++ b/modules-available/serversetup-bwlp/permissions/permissions.json @@ -1,5 +1,11 @@ -[ - "edit.address", - "edit.menu", - "download" -] \ No newline at end of file +{ + "download": { + "location-aware": false + }, + "edit.address": { + "location-aware": false + }, + "edit.menu": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/statistics/permissions/permissions.json b/modules-available/statistics/permissions/permissions.json index 97a49036..c9dca9f3 100644 --- a/modules-available/statistics/permissions/permissions.json +++ b/modules-available/statistics/permissions/permissions.json @@ -1,5 +1,11 @@ -[ - "view", - "note", - "delete" -] \ No newline at end of file +{ + "machine.delete": { + "location-aware": true + }, + "machine.note": { + "location-aware": true + }, + "machine.view": { + "location-aware": true + } +} \ No newline at end of file diff --git a/modules-available/statistics_reporting/permissions/permissions.json b/modules-available/statistics_reporting/permissions/permissions.json index d967b75d..1244027e 100644 --- a/modules-available/statistics_reporting/permissions/permissions.json +++ b/modules-available/statistics_reporting/permissions/permissions.json @@ -1,10 +1,26 @@ -[ - "table.view.total", - "table.view.location", - "table.view.client", - "table.view.user", - "table.view.vm", - "table.export", - "reporting.download", - "reporting.change" -] \ No newline at end of file +{ + "reporting.change": { + "location-aware": false + }, + "reporting.download": { + "location-aware": false + }, + "table.export": { + "location-aware": false + }, + "table.view.client": { + "location-aware": true + }, + "table.view.location": { + "location-aware": true + }, + "table.view.total": { + "location-aware": false + }, + "table.view.user": { + "location-aware": false + }, + "table.view.vm": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/syslog/permissions/permissions.json b/modules-available/syslog/permissions/permissions.json index f04ea714..fcf530c5 100644 --- a/modules-available/syslog/permissions/permissions.json +++ b/modules-available/syslog/permissions/permissions.json @@ -1,3 +1,5 @@ -[ - "view" -] \ No newline at end of file +{ + "view": { + "location-aware": true + } +} \ No newline at end of file diff --git a/modules-available/systemstatus/permissions/permissions.json b/modules-available/systemstatus/permissions/permissions.json index 0333564b..8324f708 100644 --- a/modules-available/systemstatus/permissions/permissions.json +++ b/modules-available/systemstatus/permissions/permissions.json @@ -1,13 +1,35 @@ -[ - "show.overview.diskstat", - "show.overview.services", - "show.overview.adresses", - "show.overview.systeminfo", - "show.overview.dmsdusers", - "show.logs.bwlpserver", - "show.logs.netstat", - "show.logs.pslist", - "show.logs.ldapad", - "show.logs.lighttpd", - "serverreboot" -] \ No newline at end of file +{ + "serverreboot": { + "location-aware": false + }, + "show.logs.bwlpserver": { + "location-aware": false + }, + "show.logs.ldapad": { + "location-aware": false + }, + "show.logs.lighttpd": { + "location-aware": false + }, + "show.logs.netstat": { + "location-aware": false + }, + "show.logs.pslist": { + "location-aware": false + }, + "show.overview.adresses": { + "location-aware": false + }, + "show.overview.diskstat": { + "location-aware": false + }, + "show.overview.dmsdusers": { + "location-aware": false + }, + "show.overview.services": { + "location-aware": false + }, + "show.overview.systeminfo": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/vmstore/permissions/permissions.json b/modules-available/vmstore/permissions/permissions.json index f2c22c72..29ee6a51 100644 --- a/modules-available/vmstore/permissions/permissions.json +++ b/modules-available/vmstore/permissions/permissions.json @@ -1,5 +1,11 @@ -[ - "choose.internal", - "choose.nfs", - "choose.cifs" -] \ No newline at end of file +{ + "choose.cifs": { + "location-aware": false + }, + "choose.internal": { + "location-aware": false + }, + "choose.nfs": { + "location-aware": false + } +} \ No newline at end of file diff --git a/modules-available/webinterface/permissions/permissions.json b/modules-available/webinterface/permissions/permissions.json index 45b5395d..fa6f493f 100644 --- a/modules-available/webinterface/permissions/permissions.json +++ b/modules-available/webinterface/permissions/permissions.json @@ -1,5 +1,11 @@ -[ - "edit.https", - "edit.password", - "edit.design" -] \ No newline at end of file +{ + "edit.design": { + "location-aware": false + }, + "edit.https": { + "location-aware": false + }, + "edit.password": { + "location-aware": false + } +} \ No newline at end of file -- cgit v1.2.3-55-g7522 From 07a08b9f7dc69c86c8c1c787c1e471c77ae3228d Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 15 Feb 2018 13:25:21 +0100 Subject: [statistics_reporting] Fix permission check --- modules-available/statistics_reporting/page.inc.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'modules-available/statistics_reporting') diff --git a/modules-available/statistics_reporting/page.inc.php b/modules-available/statistics_reporting/page.inc.php index b30b5cab..af4b2b12 100644 --- a/modules-available/statistics_reporting/page.inc.php +++ b/modules-available/statistics_reporting/page.inc.php @@ -283,6 +283,7 @@ class Page_Statistics_Reporting extends Page private function fetchData($flags) { + // TODO: Make all modes location-aware, filter while querying, not after switch ($this->type) { case 'total': return GetData::total($flags); @@ -309,7 +310,7 @@ class Page_Statistics_Reporting extends Page case 'client': $data = GetData::perClient($flags, Request::any('new', false, 'string')); // only show clients from locations which you have permission for - $filterLocs = User::getAllowedLocations("table.view.location"); + $filterLocs = User::getAllowedLocations("table.view.client"); foreach ($data as $key => $row) { if (!in_array($row['locationid'], $filterLocs)) { unset($data[$key]); -- cgit v1.2.3-55-g7522 From 24815e16087b4b1b64e9f380d45d411af32daf42 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 9 Apr 2018 16:56:04 +0200 Subject: Permissions: Consistency: Make all pages require at least one permission to be accessible Closes #3340 --- modules-available/backup/page.inc.php | 1 + modules-available/exams/page.inc.php | 9 +-------- modules-available/locations/page.inc.php | 19 +++++++++++++++---- modules-available/news/page.inc.php | 10 ++-------- modules-available/news/permissions/permissions.json | 3 +++ modules-available/rebootcontrol/page.inc.php | 9 ++++++--- modules-available/serversetup-bwlp/page.inc.php | 6 ++++++ .../serversetup-bwlp/permissions/permissions.json | 3 +++ modules-available/statistics_reporting/page.inc.php | 1 + modules-available/sysconfig/page.inc.php | 2 +- modules-available/syslog/page.inc.php | 1 + modules-available/systemstatus/page.inc.php | 1 + modules-available/webinterface/page.inc.php | 4 ++++ .../webinterface/permissions/permissions.json | 3 +++ 14 files changed, 48 insertions(+), 24 deletions(-) (limited to 'modules-available/statistics_reporting') diff --git a/modules-available/backup/page.inc.php b/modules-available/backup/page.inc.php index 14522734..985f39ee 100644 --- a/modules-available/backup/page.inc.php +++ b/modules-available/backup/page.inc.php @@ -23,6 +23,7 @@ class Page_Backup extends Page User::assertPermission("restore"); $this->restore(); } + User::assertPermission('*'); } protected function doRender() diff --git a/modules-available/exams/page.inc.php b/modules-available/exams/page.inc.php index 51975052..15640a73 100644 --- a/modules-available/exams/page.inc.php +++ b/modules-available/exams/page.inc.php @@ -441,16 +441,9 @@ class Page_Exams extends Page protected function doRender() { - if (Request::isPost()) { - $examid = Request::post('examid', 0, 'int'); - } else if (Request::isGet()) { - $examid = Request::get('examid', 0, 'int'); - } else { - die('Neither Post nor Get Request send.'); - } - if ($this->action === "show") { + User::assertPermission('exams.view'); // General title and description Render::addTemplate('page-main-heading'); // List of defined exam periods diff --git a/modules-available/locations/page.inc.php b/modules-available/locations/page.inc.php index 80a8076b..4d5c6628 100644 --- a/modules-available/locations/page.inc.php +++ b/modules-available/locations/page.inc.php @@ -24,6 +24,9 @@ class Page_Locations extends Page } elseif ($this->action === 'updatesubnets') { $this->updateSubnets(); } + if (Request::isPost()) { + Util::redirect('?do=locations'); + } } private function updateSubnets() @@ -306,10 +309,16 @@ class Page_Locations extends Page protected function doRender() { - $getAction = Request::get('action'); - if (empty($getAction)) { - // Until we have a main landing page? - Util::redirect('?do=Locations&action=showlocations'); + $getAction = Request::get('action', false, 'string'); + if ($getAction === false) { + if (User::hasPermission('location.view')) { + Util::redirect('?do=locations&action=showlocations'); + } elseif (User::hasPermission('subnets.edit')) { + Util::redirect('?do=locations&action=showsubnets'); + } else { + // Trigger permission denied by asserting non-existent permission + User::assertPermission('location.view'); + } } if ($getAction === 'showsubnets') { User::assertPermission('subnets.edit', NULL, '?do=locations'); @@ -324,6 +333,8 @@ class Page_Locations extends Page Render::addTemplate('subnets', array('list' => $rows)); } elseif ($getAction === 'showlocations') { $this->showLocationList(); + } else { + Util::redirect('?do=locations'); } } diff --git a/modules-available/news/page.inc.php b/modules-available/news/page.inc.php index e7b70c0f..1e2e3eef 100644 --- a/modules-available/news/page.inc.php +++ b/modules-available/news/page.inc.php @@ -46,14 +46,8 @@ class Page_News extends Page // check which action we need to do $action = Request::any('action', 'show'); - if ($action === 'clear') { - // clear news input fields - // TODO: is this the right way? - $this->newsId = false; - $this->newsTitle = false; - $this->newsContent = false; - $this->newsDate = false; - } elseif ($action === 'show') { + if ($action === 'show') { + User::assertPermission('access-page'); /* load latest things */ $this->loadLatest('help'); $this->loadLatest('news'); diff --git a/modules-available/news/permissions/permissions.json b/modules-available/news/permissions/permissions.json index 0d9435d7..953599df 100644 --- a/modules-available/news/permissions/permissions.json +++ b/modules-available/news/permissions/permissions.json @@ -1,4 +1,7 @@ { + "access-page": { + "location-aware": false + }, "help.delete": { "location-aware": false }, diff --git a/modules-available/rebootcontrol/page.inc.php b/modules-available/rebootcontrol/page.inc.php index abbdb2c3..041ae74f 100644 --- a/modules-available/rebootcontrol/page.inc.php +++ b/modules-available/rebootcontrol/page.inc.php @@ -79,11 +79,14 @@ class Page_RebootControl extends Page //location you want to see, default are "not assigned" clients $requestedLocation = Request::get('location', false, 'int'); $allowedLocs = User::getAllowedLocations("action.*"); + if (empty($allowedLocs)) { + User::assertPermission('action.*'); + } if ($requestedLocation === false) { if (in_array(0, $allowedLocs)) { $requestedLocation = 0; - } elseif (!empty($allowedLocs)) { + } else { $requestedLocation = reset($allowedLocs); } } @@ -105,8 +108,8 @@ class Page_RebootControl extends Page Render::addTemplate('header', $data); // only fill table if user has at least one permission for the location - if ($requestedLocation === false) { - Message::addError('main.no-permission'); + if (!in_array($requestedLocation, $allowedLocs)) { + Message::addError('locations.no-permission-location', $requestedLocation); } else { $data['data'] = RebootQueries::getMachineTable($requestedLocation); Render::addTemplate('_page', $data); diff --git a/modules-available/serversetup-bwlp/page.inc.php b/modules-available/serversetup-bwlp/page.inc.php index ae709da7..78096d7b 100644 --- a/modules-available/serversetup-bwlp/page.inc.php +++ b/modules-available/serversetup-bwlp/page.inc.php @@ -43,6 +43,12 @@ class Page_ServerSetup extends Page // iPXE stuff changes $this->updatePxeMenu(); } + + if (Request::isPost()) { + Util::redirect('?do=serversetup'); + } + + User::assertPermission('access-page'); } protected function doRender() diff --git a/modules-available/serversetup-bwlp/permissions/permissions.json b/modules-available/serversetup-bwlp/permissions/permissions.json index 6bae5422..44927506 100644 --- a/modules-available/serversetup-bwlp/permissions/permissions.json +++ b/modules-available/serversetup-bwlp/permissions/permissions.json @@ -1,4 +1,7 @@ { + "access-page": { + "location-aware": false + }, "download": { "location-aware": false }, diff --git a/modules-available/statistics_reporting/page.inc.php b/modules-available/statistics_reporting/page.inc.php index af4b2b12..cc03e4d8 100644 --- a/modules-available/statistics_reporting/page.inc.php +++ b/modules-available/statistics_reporting/page.inc.php @@ -84,6 +84,7 @@ class Page_Statistics_Reporting extends Page die(json_encode($report)); } } + User::assertPermission('*'); } /** diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php index 7bb3e599..8d1799af 100644 --- a/modules-available/sysconfig/page.inc.php +++ b/modules-available/sysconfig/page.inc.php @@ -160,7 +160,7 @@ class Page_SysConfig extends Page $pMods = User::hasPermission('module.view-list'); $pConfs = User::hasPermission('config.view-list'); if (!($pMods || $pConfs)) { - Message::addError('main.no-permission'); + User::assertPermission('config.view-list'); } Render::openTag('div', array('class' => 'row')); if ($pConfs) { diff --git a/modules-available/syslog/page.inc.php b/modules-available/syslog/page.inc.php index 3a7513b5..00c55a3f 100644 --- a/modules-available/syslog/page.inc.php +++ b/modules-available/syslog/page.inc.php @@ -25,6 +25,7 @@ class Page_SysLog extends Page } Util::redirect('?do=syslog'); } + User::assertPermission('*'); } protected function doRender() diff --git a/modules-available/systemstatus/page.inc.php b/modules-available/systemstatus/page.inc.php index 816caa05..66b30bcf 100644 --- a/modules-available/systemstatus/page.inc.php +++ b/modules-available/systemstatus/page.inc.php @@ -18,6 +18,7 @@ class Page_SystemStatus extends Page User::assertPermission("serverreboot"); $this->rebootTask = Taskmanager::submit('Reboot'); } + User::assertPermission('*'); } protected function doRender() diff --git a/modules-available/webinterface/page.inc.php b/modules-available/webinterface/page.inc.php index 806ffd59..ca52c2ab 100644 --- a/modules-available/webinterface/page.inc.php +++ b/modules-available/webinterface/page.inc.php @@ -28,6 +28,10 @@ class Page_WebInterface extends Page $this->actionCustomization(); break; } + if (Request::isPost()) { + Util::redirect('?do=webinterface'); + } + User::assertPermission('access-page'); } private function actionConfigureHttps() diff --git a/modules-available/webinterface/permissions/permissions.json b/modules-available/webinterface/permissions/permissions.json index fa6f493f..ed81602a 100644 --- a/modules-available/webinterface/permissions/permissions.json +++ b/modules-available/webinterface/permissions/permissions.json @@ -1,4 +1,7 @@ { + "access-page": { + "location-aware": false + }, "edit.design": { "location-aware": false }, -- cgit v1.2.3-55-g7522 From 5370b98936418b2b548c023813039b8bf2074a55 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 13 Apr 2018 17:31:56 +0200 Subject: [inc/Module] Overhaul dependency loading and handling of js/css This is supposed to prevent unneeded js/css from being pulled in --- inc/module.inc.php | 63 ++++++++++++++-------- inc/render.inc.php | 4 +- index.php | 2 +- modules-available/adduser/config.json | 4 +- modules-available/backup/config.json | 4 +- modules-available/baseconfig/config.json | 7 ++- modules-available/baseconfig_bwidm/config.json | 6 ++- modules-available/baseconfig_bwlp/config.json | 6 ++- .../baseconfig_partitions_cdn/config.json | 8 +-- modules-available/bootstrap_datepicker/config.json | 17 +++--- modules-available/bootstrap_dialog/config.json | 17 +++--- .../bootstrap_multiselect/config.json | 17 +++--- modules-available/bootstrap_switch/config.json | 13 ++--- modules-available/bootstrap_timepicker/config.json | 17 +++--- modules-available/citymanagement/config.json | 6 +-- modules-available/dnbd3/config.json | 9 ++-- modules-available/dozmod/config.json | 4 +- modules-available/eventlog/config.json | 4 +- modules-available/exams/config.json | 13 +++-- modules-available/imgmanagement/config.json | 6 +-- modules-available/internetaccess/config.json | 4 +- modules-available/js_chart/config.json | 13 ++--- modules-available/js_circles/config.json | 13 ++--- modules-available/js_jqueryui/config.json | 17 +++--- modules-available/js_moment/config.json | 17 +++--- modules-available/js_selectize/config.json | 17 +++--- modules-available/js_stupidtable/config.json | 13 ++--- modules-available/js_vis/config.json | 19 ++++--- modules-available/locationinfo/config.json | 11 ++-- modules-available/locations/config.json | 4 +- modules-available/main/config.json | 3 +- modules-available/minilinux/config.json | 4 +- modules-available/news/config.json | 8 +-- modules-available/permissionmanager/config.json | 10 ++-- modules-available/rebootcontrol/config.json | 9 ++-- modules-available/roomplanner/config.json | 11 +++- modules-available/runmode/config.json | 9 ++-- modules-available/serversetup-bwlp/config.json | 4 +- modules-available/session/config.json | 3 +- modules-available/statistics/config.json | 12 +++-- modules-available/statistics_reporting/config.json | 9 +++- modules-available/summernote/config.json | 17 +++--- modules-available/support/config.json | 4 +- modules-available/sysconfig/config.json | 4 +- modules-available/sysconfignew/config.json | 4 +- modules-available/syslog/config.json | 8 +-- modules-available/systemstatus/config.json | 8 +-- modules-available/translation/config.json | 4 +- modules-available/usermanagement/config.json | 6 +-- modules-available/vmstore/config.json | 4 +- modules-available/webinterface/config.json | 4 +- 51 files changed, 293 insertions(+), 207 deletions(-) (limited to 'modules-available/statistics_reporting') diff --git a/inc/module.inc.php b/inc/module.inc.php index 7610c720..fa2c4b98 100644 --- a/inc/module.inc.php +++ b/inc/module.inc.php @@ -35,7 +35,7 @@ class Module if ($module === false) return false; if ($activate) { - $module->activate(); + $module->activate(1, true); } return !$module->hasMissingDependencies(); } @@ -139,9 +139,11 @@ class Module */ private $category = false; + private $clientPlugin = false; private $depsMissing = false; private $depsChecked = false; private $activated = false; + private $directActivation = false; private $dependencies = array(); private $name; /** @@ -165,6 +167,9 @@ class Module if (isset($json['category']) && is_string($json['category'])) { $this->category = $json['category']; } + if (isset($json['client-plugin'])) { + $this->clientPlugin = (bool)$json['client-plugin']; + } $this->name = $name; } @@ -184,21 +189,33 @@ class Module return new $class(); } - public function activate($depth = 1) + public function activate($depth, $direct) { - if ($this->activated !== false || $this->depsMissing) - return $this->activated !== false; + if ($this->depsMissing) + return false; + if ($this->activated !== false && ($this->directActivation || !$direct)) + return true; + if ($depth === null && $direct === null) { + // This is the current page, always load its scripts + $this->clientPlugin = true; + $direct = true; + } + if ($this->activated === false) { + spl_autoload_register(function ($class) { + $file = 'modules/' . $this->name . '/inc/' . preg_replace('/[^a-z0-9]/', '', strtolower($class)) . '.inc.php'; + if (!file_exists($file)) + return; + require_once $file; + }); + } $this->activated = $depth; - spl_autoload_register(function($class) { - $file = 'modules/' . $this->name . '/inc/' . preg_replace('/[^a-z0-9]/', '', strtolower($class)) . '.inc.php'; - if (!file_exists($file)) - return; - require_once $file; - }); + if ($direct) { + $this->directActivation = true; + } foreach ($this->dependencies as $dep) { $get = self::get($dep); if ($get !== false) { - $get->activate($depth + 1); + $get->activate($depth + 1, $direct && $this->clientPlugin); } } return true; @@ -263,26 +280,26 @@ class Module return 'modules/' . $this->name; } - public function getScripts($externalOnly) + public function getScripts() { - if (!$externalOnly) { - if (!isset($this->scripts['clientscript.js']) && file_exists($this->getDir() . '/clientscript.js')) { - $this->scripts['clientscript.js'] = false; + if ($this->directActivation && $this->clientPlugin) { + if (!in_array('clientscript.js', $this->scripts)) { + $this->scripts[] = 'clientscript.js'; } - return array_keys($this->scripts); + return $this->scripts; } - return array_keys(array_filter($this->scripts)); + return []; } - public function getCss($externalOnly) + public function getCss() { - if (!$externalOnly) { - if (!isset($this->css['style.css']) && file_exists($this->getDir() . '/style.css')) { - $this->css['style.css'] = false; + if ($this->directActivation && $this->clientPlugin) { + if (!in_array('style.css', $this->css)) { + $this->css[] = 'style.css'; } - return array_keys($this->css); + return $this->css; } - return array_keys(array_filter($this->css)); + return []; } } diff --git a/inc/render.inc.php b/inc/render.inc.php index 0ce39dbe..4b1d3643 100644 --- a/inc/render.inc.php +++ b/inc/render.inc.php @@ -84,7 +84,7 @@ class Render '; // Include any module specific styles foreach ($modules as $module) { - $files = $module->getCss($module !== $pageModule); + $files = $module->getCss(); foreach ($files as $file) { echo ''; } @@ -113,7 +113,7 @@ class Render '; foreach ($modules as $module) { - $files = $module->getScripts($module !== $pageModule); + $files = $module->getScripts(); foreach ($files as $file) { echo ''; } diff --git a/index.php b/index.php index 4816ef42..1ecd2109 100644 --- a/index.php +++ b/index.php @@ -79,7 +79,7 @@ abstract class Page if (self::$module === false) { Util::traceError('Invalid Module: ' . $name); } - self::$module->activate(); + self::$module->activate(null, null); self::$instance = self::$module->newPage(); } diff --git a/modules-available/adduser/config.json b/modules-available/adduser/config.json index 706412d0..110f8b67 100644 --- a/modules-available/adduser/config.json +++ b/modules-available/adduser/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/backup/config.json b/modules-available/backup/config.json index 706412d0..110f8b67 100644 --- a/modules-available/backup/config.json +++ b/modules-available/backup/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/baseconfig/config.json b/modules-available/baseconfig/config.json index e4d906e1..357a117e 100644 --- a/modules-available/baseconfig/config.json +++ b/modules-available/baseconfig/config.json @@ -1,4 +1,7 @@ { "category": "main.settings-client", - "dependencies" : ["js_selectize", "bootstrap_multiselect"] -} + "dependencies": [ + "js_selectize", + "bootstrap_multiselect" + ] +} \ No newline at end of file diff --git a/modules-available/baseconfig_bwidm/config.json b/modules-available/baseconfig_bwidm/config.json index af67a188..7e6cf06a 100644 --- a/modules-available/baseconfig_bwidm/config.json +++ b/modules-available/baseconfig_bwidm/config.json @@ -1,3 +1,5 @@ { - "dependencies": ["baseconfig"] -} + "dependencies": [ + "baseconfig" + ] +} \ No newline at end of file diff --git a/modules-available/baseconfig_bwlp/config.json b/modules-available/baseconfig_bwlp/config.json index af67a188..7e6cf06a 100644 --- a/modules-available/baseconfig_bwlp/config.json +++ b/modules-available/baseconfig_bwlp/config.json @@ -1,3 +1,5 @@ { - "dependencies": ["baseconfig"] -} + "dependencies": [ + "baseconfig" + ] +} \ No newline at end of file diff --git a/modules-available/baseconfig_partitions_cdn/config.json b/modules-available/baseconfig_partitions_cdn/config.json index a355eef3..fd4c6f4b 100644 --- a/modules-available/baseconfig_partitions_cdn/config.json +++ b/modules-available/baseconfig_partitions_cdn/config.json @@ -1,4 +1,6 @@ { - "category": "main.settings-client", - "dependencies": [ "baseconfig" ] -} + "category": "main.settings-client", + "dependencies": [ + "baseconfig" + ] +} \ No newline at end of file diff --git a/modules-available/bootstrap_datepicker/config.json b/modules-available/bootstrap_datepicker/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/bootstrap_datepicker/config.json +++ b/modules-available/bootstrap_datepicker/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/bootstrap_dialog/config.json b/modules-available/bootstrap_dialog/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/bootstrap_dialog/config.json +++ b/modules-available/bootstrap_dialog/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/bootstrap_multiselect/config.json b/modules-available/bootstrap_multiselect/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/bootstrap_multiselect/config.json +++ b/modules-available/bootstrap_multiselect/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/bootstrap_switch/config.json b/modules-available/bootstrap_switch/config.json index de4d37b4..3cf0d162 100644 --- a/modules-available/bootstrap_switch/config.json +++ b/modules-available/bootstrap_switch/config.json @@ -1,8 +1,9 @@ { - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true } \ No newline at end of file diff --git a/modules-available/bootstrap_timepicker/config.json b/modules-available/bootstrap_timepicker/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/bootstrap_timepicker/config.json +++ b/modules-available/bootstrap_timepicker/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/citymanagement/config.json b/modules-available/citymanagement/config.json index e87cbf7d..b356dfc6 100644 --- a/modules-available/citymanagement/config.json +++ b/modules-available/citymanagement/config.json @@ -1,4 +1,4 @@ { - "category":"citymanagement.cities", - "permission":"0" -} + "category": "citymanagement.cities", + "permission": "0" +} \ No newline at end of file diff --git a/modules-available/dnbd3/config.json b/modules-available/dnbd3/config.json index f84a4170..9670ded9 100644 --- a/modules-available/dnbd3/config.json +++ b/modules-available/dnbd3/config.json @@ -1,4 +1,7 @@ { - "category":"main.settings-server", - "dependencies":["locations","runmode"] -} + "category": "main.settings-server", + "dependencies": [ + "locations", + "runmode" + ] +} \ No newline at end of file diff --git a/modules-available/dozmod/config.json b/modules-available/dozmod/config.json index 706412d0..110f8b67 100644 --- a/modules-available/dozmod/config.json +++ b/modules-available/dozmod/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/eventlog/config.json b/modules-available/eventlog/config.json index 6778348d..aa23adb5 100644 --- a/modules-available/eventlog/config.json +++ b/modules-available/eventlog/config.json @@ -1,3 +1,3 @@ { - "category":"main.status" -} + "category": "main.status" +} \ No newline at end of file diff --git a/modules-available/exams/config.json b/modules-available/exams/config.json index 0780ebef..a99d1c1a 100644 --- a/modules-available/exams/config.json +++ b/modules-available/exams/config.json @@ -1,5 +1,12 @@ { - "category":"main.content", - "dependencies": [ "locations", "js_vis", "js_stupidtable", "bootstrap_datepicker", "bootstrap_timepicker", "bootstrap_multiselect"], + "category": "main.content", + "dependencies": [ + "locations", + "js_vis", + "js_stupidtable", + "bootstrap_datepicker", + "bootstrap_timepicker", + "bootstrap_multiselect" + ], "permission": "0" -} +} \ No newline at end of file diff --git a/modules-available/imgmanagement/config.json b/modules-available/imgmanagement/config.json index 6454d96f..2fbb822f 100644 --- a/modules-available/imgmanagement/config.json +++ b/modules-available/imgmanagement/config.json @@ -1,4 +1,4 @@ { - "category":"main.content", - "permission":"1" -} + "category": "main.content", + "permission": "1" +} \ No newline at end of file diff --git a/modules-available/internetaccess/config.json b/modules-available/internetaccess/config.json index 706412d0..110f8b67 100644 --- a/modules-available/internetaccess/config.json +++ b/modules-available/internetaccess/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/js_chart/config.json b/modules-available/js_chart/config.json index de4d37b4..3cf0d162 100644 --- a/modules-available/js_chart/config.json +++ b/modules-available/js_chart/config.json @@ -1,8 +1,9 @@ { - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true } \ No newline at end of file diff --git a/modules-available/js_circles/config.json b/modules-available/js_circles/config.json index de4d37b4..3cf0d162 100644 --- a/modules-available/js_circles/config.json +++ b/modules-available/js_circles/config.json @@ -1,8 +1,9 @@ { - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true } \ No newline at end of file diff --git a/modules-available/js_jqueryui/config.json b/modules-available/js_jqueryui/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/js_jqueryui/config.json +++ b/modules-available/js_jqueryui/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/js_moment/config.json b/modules-available/js_moment/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/js_moment/config.json +++ b/modules-available/js_moment/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/js_selectize/config.json b/modules-available/js_selectize/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/js_selectize/config.json +++ b/modules-available/js_selectize/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/js_stupidtable/config.json b/modules-available/js_stupidtable/config.json index cf932d7e..3cf0d162 100644 --- a/modules-available/js_stupidtable/config.json +++ b/modules-available/js_stupidtable/config.json @@ -1,8 +1,9 @@ { - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true } \ No newline at end of file diff --git a/modules-available/js_vis/config.json b/modules-available/js_vis/config.json index 3b027d31..4c870a22 100644 --- a/modules-available/js_vis/config.json +++ b/modules-available/js_vis/config.json @@ -1,9 +1,12 @@ { - "dependencies" : ["js_moment"], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [ + "js_moment" + ], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/locationinfo/config.json b/modules-available/locationinfo/config.json index 87825809..837acfcf 100644 --- a/modules-available/locationinfo/config.json +++ b/modules-available/locationinfo/config.json @@ -1,4 +1,9 @@ { - "category":"main.beta", - "dependencies": ["js_jqueryui", "bootstrap_timepicker", "locations", "bootstrap_switch"] -} + "category": "main.beta", + "dependencies": [ + "js_jqueryui", + "bootstrap_timepicker", + "locations", + "bootstrap_switch" + ] +} \ No newline at end of file diff --git a/modules-available/locations/config.json b/modules-available/locations/config.json index 706412d0..110f8b67 100644 --- a/modules-available/locations/config.json +++ b/modules-available/locations/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/main/config.json b/modules-available/main/config.json index 2c63c085..0637a088 100644 --- a/modules-available/main/config.json +++ b/modules-available/main/config.json @@ -1,2 +1 @@ -{ -} +[] \ No newline at end of file diff --git a/modules-available/minilinux/config.json b/modules-available/minilinux/config.json index 28d71577..6c7b7146 100644 --- a/modules-available/minilinux/config.json +++ b/modules-available/minilinux/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-client" -} + "category": "main.settings-client" +} \ No newline at end of file diff --git a/modules-available/news/config.json b/modules-available/news/config.json index e076ea5c..23cd1443 100644 --- a/modules-available/news/config.json +++ b/modules-available/news/config.json @@ -1,4 +1,6 @@ { - "category":"main.content", - "dependencies": [ "js_stupidtable" ] -} + "category": "main.content", + "dependencies": [ + "js_stupidtable" + ] +} \ No newline at end of file diff --git a/modules-available/permissionmanager/config.json b/modules-available/permissionmanager/config.json index d2071984..25b61de3 100644 --- a/modules-available/permissionmanager/config.json +++ b/modules-available/permissionmanager/config.json @@ -1,4 +1,8 @@ { - "category":"main.content", - "dependencies": [ "locations", "js_stupidtable", "js_selectize" ] -} + "category": "main.content", + "dependencies": [ + "locations", + "js_stupidtable", + "js_selectize" + ] +} \ No newline at end of file diff --git a/modules-available/rebootcontrol/config.json b/modules-available/rebootcontrol/config.json index d8ab5868..43d2c28f 100644 --- a/modules-available/rebootcontrol/config.json +++ b/modules-available/rebootcontrol/config.json @@ -1,4 +1,7 @@ { - "category":"main.beta", - "dependencies": [ "locations", "js_stupidtable" ] -} + "category": "main.beta", + "dependencies": [ + "locations", + "js_stupidtable" + ] +} \ No newline at end of file diff --git a/modules-available/roomplanner/config.json b/modules-available/roomplanner/config.json index 537714c3..62f38773 100644 --- a/modules-available/roomplanner/config.json +++ b/modules-available/roomplanner/config.json @@ -1,3 +1,10 @@ { - "dependencies": ["js_jqueryui", "js_selectize", "bootstrap_dialog", "statistics", "locations", "runmode"] -} + "dependencies": [ + "js_jqueryui", + "js_selectize", + "bootstrap_dialog", + "statistics", + "locations", + "runmode" + ] +} \ No newline at end of file diff --git a/modules-available/runmode/config.json b/modules-available/runmode/config.json index e3c07d48..84e044ce 100644 --- a/modules-available/runmode/config.json +++ b/modules-available/runmode/config.json @@ -1,4 +1,7 @@ { - "dependencies": [ "statistics", "js_selectize" ], - "permission":"0" -} + "dependencies": [ + "statistics", + "js_selectize" + ], + "permission": "0" +} \ No newline at end of file diff --git a/modules-available/serversetup-bwlp/config.json b/modules-available/serversetup-bwlp/config.json index 7205d70a..36268c6a 100644 --- a/modules-available/serversetup-bwlp/config.json +++ b/modules-available/serversetup-bwlp/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-server" -} + "category": "main.settings-server" +} \ No newline at end of file diff --git a/modules-available/session/config.json b/modules-available/session/config.json index 2c63c085..0637a088 100644 --- a/modules-available/session/config.json +++ b/modules-available/session/config.json @@ -1,2 +1 @@ -{ -} +[] \ No newline at end of file diff --git a/modules-available/statistics/config.json b/modules-available/statistics/config.json index 333f881a..412dc3cb 100644 --- a/modules-available/statistics/config.json +++ b/modules-available/statistics/config.json @@ -1,5 +1,9 @@ { - "category":"main.status", - "dependencies": [ "js_chart", "js_selectize", "bootstrap_datepicker"], - "permission":"0" -} + "category": "main.status", + "dependencies": [ + "js_chart", + "js_selectize", + "bootstrap_datepicker" + ], + "permission": "0" +} \ No newline at end of file diff --git a/modules-available/statistics_reporting/config.json b/modules-available/statistics_reporting/config.json index 78ca35ba..c439efa8 100644 --- a/modules-available/statistics_reporting/config.json +++ b/modules-available/statistics_reporting/config.json @@ -1,4 +1,9 @@ { "category": "main.status", - "dependencies": [ "statistics", "locations", "js_stupidtable", "js_jqueryui" ] -} + "dependencies": [ + "statistics", + "locations", + "js_stupidtable", + "js_jqueryui" + ] +} \ No newline at end of file diff --git a/modules-available/summernote/config.json b/modules-available/summernote/config.json index 5a0c7960..69bb0aa9 100644 --- a/modules-available/summernote/config.json +++ b/modules-available/summernote/config.json @@ -1,9 +1,10 @@ { - "dependencies" : [], - "css": { - "style.css": true - }, - "scripts": { - "clientscript.js": true - } -} + "dependencies": [], + "css": [ + "style.css" + ], + "scripts": [ + "clientscript.js" + ], + "client-plugin": true +} \ No newline at end of file diff --git a/modules-available/support/config.json b/modules-available/support/config.json index 706412d0..110f8b67 100644 --- a/modules-available/support/config.json +++ b/modules-available/support/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/sysconfig/config.json b/modules-available/sysconfig/config.json index 28d71577..6c7b7146 100644 --- a/modules-available/sysconfig/config.json +++ b/modules-available/sysconfig/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-client" -} + "category": "main.settings-client" +} \ No newline at end of file diff --git a/modules-available/sysconfignew/config.json b/modules-available/sysconfignew/config.json index 28d71577..6c7b7146 100644 --- a/modules-available/sysconfignew/config.json +++ b/modules-available/sysconfignew/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-client" -} + "category": "main.settings-client" +} \ No newline at end of file diff --git a/modules-available/syslog/config.json b/modules-available/syslog/config.json index 2b718a8e..691bd4df 100644 --- a/modules-available/syslog/config.json +++ b/modules-available/syslog/config.json @@ -1,4 +1,6 @@ { - "category":"main.status", - "dependencies":["js_selectize"] -} + "category": "main.status", + "dependencies": [ + "js_selectize" + ] +} \ No newline at end of file diff --git a/modules-available/systemstatus/config.json b/modules-available/systemstatus/config.json index 3c2efce7..cf774d1b 100644 --- a/modules-available/systemstatus/config.json +++ b/modules-available/systemstatus/config.json @@ -1,4 +1,6 @@ { - "category":"main.status", - "dependencies": [ "js_circles" ] -} + "category": "main.status", + "dependencies": [ + "js_circles" + ] +} \ No newline at end of file diff --git a/modules-available/translation/config.json b/modules-available/translation/config.json index 706412d0..110f8b67 100644 --- a/modules-available/translation/config.json +++ b/modules-available/translation/config.json @@ -1,3 +1,3 @@ { - "category":"main.content" -} + "category": "main.content" +} \ No newline at end of file diff --git a/modules-available/usermanagement/config.json b/modules-available/usermanagement/config.json index 9c66d6bf..428315ba 100644 --- a/modules-available/usermanagement/config.json +++ b/modules-available/usermanagement/config.json @@ -1,4 +1,4 @@ { - "category":"main.users", - "permission":"0" -} + "category": "main.users", + "permission": "0" +} \ No newline at end of file diff --git a/modules-available/vmstore/config.json b/modules-available/vmstore/config.json index 7205d70a..36268c6a 100644 --- a/modules-available/vmstore/config.json +++ b/modules-available/vmstore/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-server" -} + "category": "main.settings-server" +} \ No newline at end of file diff --git a/modules-available/webinterface/config.json b/modules-available/webinterface/config.json index 7205d70a..36268c6a 100644 --- a/modules-available/webinterface/config.json +++ b/modules-available/webinterface/config.json @@ -1,3 +1,3 @@ { - "category":"main.settings-server" -} + "category": "main.settings-server" +} \ No newline at end of file -- cgit v1.2.3-55-g7522