diff --git a/lang/en_us.php b/lang/en_us.php
index b06c3b0..9dfa12b 100644
--- a/lang/en_us.php
+++ b/lang/en_us.php
@@ -133,4 +133,6 @@ define("STRINGS", [
"enter group name" => "Group name",
"group management" => "Group Management",
"group assignments" => "Group Assignments",
+ "group id" => "Group ID",
+ "group name" => "Group Name"
]);
\ No newline at end of file
diff --git a/lib/reports.php b/lib/reports.php
index 3796f1d..4146e4b 100644
--- a/lib/reports.php
+++ b/lib/reports.php
@@ -73,6 +73,32 @@ function getUserReport() {
return $out;
}
+function getGroupReport() {
+ global $database;
+ $groups = $database->select('assigned_groups', [
+ "[>]groups" => ['groupid'],
+ "[>]accounts" => ['uid']
+ ], [
+ 'username',
+ 'realname',
+ 'accounts.uid',
+ 'groupname',
+ 'groupid'
+ ]);
+ $header = [lang("group id", false), lang("group name", false), lang("uid", false), lang("username", false), lang("name", false)];
+ $out = [$header];
+ for ($i = 0; $i < count($groups); $i++) {
+ $out[] = [
+ $groups[$i]["groupid"],
+ $groups[$i]["groupname"],
+ $groups[$i]["uid"],
+ $groups[$i]["username"],
+ $groups[$i]["realname"]
+ ];
+ }
+ return $out;
+}
+
function getManagerReport() {
global $database;
$managers = $database->select('managers', [
@@ -160,6 +186,9 @@ function getReportData($type) {
case "users":
return getUserReport();
break;
+ case "groups":
+ return getGroupReport();
+ break;
case "managers":
return getManagerReport();
break;
diff --git a/pages/export.php b/pages/export.php
index 2e8c11f..e086508 100644
--- a/pages/export.php
+++ b/pages/export.php
@@ -15,6 +15,7 @@ redirectifnotloggedin();