From 59bd1cedd11b6337259578cc15319da5d52e6d22 Mon Sep 17 00:00:00 2001
From: Christian Pointner <equinox@spreadspace.org>
Date: Tue, 29 Sep 2015 02:51:49 +0200
Subject: added list_groups


diff --git a/lib/RHRD/rddb.pm b/lib/RHRD/rddb.pm
index f8832d1..8fc2b3c 100755
--- a/lib/RHRD/rddb.pm
+++ b/lib/RHRD/rddb.pm
@@ -321,7 +321,7 @@ sub get_fullname
   return ($fullname, 'OK', 'success');
 }
 
-sub get_users
+sub list_users
 {
   my ($dbh) = @_;
 
@@ -606,6 +606,26 @@ sub remove_group_member
   return ($cnt, 'OK', "success");
 }
 
+sub list_groups
+{
+  my ($dbh) = @_;
+
+  my $sql = qq{select NAME from GROUPS order by DEFAULT_LOW_CART;};
+  my $sth = $dbh->prepare($sql)
+    or return (undef, 'ERROR', "Database Error: " . $dbh->errstr);
+
+  $sth->execute()
+    or return (undef, 'ERROR', "Database Error: " . $sth->errstr);
+
+  my @groups;
+  while(my ($group) = $sth->fetchrow_array()) {
+    push @groups, $group;
+  }
+  $sth->finish();
+
+  return @groups;
+}
+
 ###########################  SHOW handling  ###########################
 
 sub get_showtitle_and_log
diff --git a/test/get-dropboxes b/test/get-dropboxes
index 6282a92..abff8d9 100755
--- a/test/get-dropboxes
+++ b/test/get-dropboxes
@@ -21,9 +21,8 @@
 #
 
 use strict;
-use lib "../lib/";
-
 use POSIX;
+use lib "../lib/";
 use RHRD::rddb;
 
 
diff --git a/test/get-lists b/test/get-lists
new file mode 100755
index 0000000..47d6dfd
--- /dev/null
+++ b/test/get-lists
@@ -0,0 +1,57 @@
+#!/usr/bin/perl -w
+#
+#  rhrdlibs
+#
+#  Copyright (C) 2015 Christian Pointner <equinox@helsinki.at>
+#
+#  This file is part of rhrdlibs.
+#
+#  rhrdlibs is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU Affero General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  any later version.
+#
+#  rhrdlibs is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU Affero General Public License for more details.
+#
+#  You should have received a copy of the GNU Affero General Public License
+#  along with rhrdlibs. If not, see <http://www.gnu.org/licenses/>.
+#
+
+use strict;
+use lib "../lib/";
+use RHRD::rddb;
+
+my ($dbh, undef, $errorstring) = RHRD::rddb::opendb();
+if(defined $dbh) {
+  print "Users:\n";
+  my @users = RHRD::rddb::list_users($dbh);
+  if(!defined $users[0] && defined $users[1]) {
+    print STDERR "$users[1]: $users[2]";
+    RHRD::rddb::closedb($dbh);
+    exit 1;
+  }
+  for my $user (@users) {
+    print " " . $user . "\n";
+  }
+
+  print "\nGroups:\n";
+  my @groups = RHRD::rddb::list_groups($dbh);
+  if(!defined $groups[0] && defined $groups[1]) {
+    print STDERR "$groups[1]: $groups[2]";
+    RHRD::rddb::closedb($dbh);
+    exit 1;
+  }
+  for my $group (@groups) {
+    print " " . $group . "\n";
+  }
+
+  RHRD::rddb::closedb($dbh);
+} else {
+  print "$errorstring\n";
+  exit 1;
+}
+
+exit 0
diff --git a/test/get-range b/test/get-range
index 630d5d6..1027653 100755
--- a/test/get-range
+++ b/test/get-range
@@ -22,7 +22,6 @@
 
 use strict;
 use lib "../lib/";
-
 use RHRD::rddb;
 
 my ($dbh, undef, $errorstring) = RHRD::rddb::opendb();
diff --git a/utils/update-rd-tokens b/utils/update-rd-tokens
index ba22110..63b4750 100755
--- a/utils/update-rd-tokens
+++ b/utils/update-rd-tokens
@@ -40,7 +40,7 @@ $EXCLUDED_USERS{'admin'} = 1;
 
 my ($dbh, undef, $errorstring) = RHRD::rddb::opendb();
 if(defined $dbh) {
-  my @users = RHRD::rddb::get_users($dbh);
+  my @users = RHRD::rddb::list_users($dbh);
   if(!defined $users[0] && defined $users[2]) {
     print STDERR "$users[2]\n";
     exit 1;
-- 
cgit v0.10.2