From 4f3fdf6c455f598cb137c05f30d7e140eb471ea5 Mon Sep 17 00:00:00 2001
From: Hans Bakker <hansmbakker@gmail.com>
Date: Mon, 15 Aug 2011 17:38:31 +0200
Subject: [PATCH] Add scripts to get user list and group list as json data.
 Info about which groups the users belong to are also in the user list. Both
 files need logging in through GET because unauthorized users are not allowed
 to see this data.

---
 core/ajax/grouplist.php | 45 +++++++++++++++++++++++++++++++++++++++
 core/ajax/userlist.php  | 47 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 core/ajax/grouplist.php
 create mode 100644 core/ajax/userlist.php

diff --git a/core/ajax/grouplist.php b/core/ajax/grouplist.php
new file mode 100644
index 0000000000..9b6c4bfa8a
--- /dev/null
+++ b/core/ajax/grouplist.php
@@ -0,0 +1,45 @@
+<?php
+
+/**
+* ownCloud - ajax group list
+*
+* @author Hans Bakker
+* @copyright 2011 hansmbakker+kde@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library 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 this library.  If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+
+// We send json data
+header( "Content-Type: application/jsonrequest" );
+
+$RUNTIME_NOAPPS = TRUE; //no apps, yet
+require_once('../../lib/base.php');
+
+if(isset($_GET["user"]) && isset($_GET["password"]))
+{
+	if(!OC_User::checkPassword($_GET["user"], $_GET["password"]))
+        	exit();
+
+	$groups = array();
+
+	foreach( OC_Group::getGroups() as $i ){
+        	// Do some more work here soon
+	        $groups[] = array( "groupname" => $i );
+	}
+
+	echo json_encode($groups);
+}
+?>
diff --git a/core/ajax/userlist.php b/core/ajax/userlist.php
new file mode 100644
index 0000000000..16e89c2ee8
--- /dev/null
+++ b/core/ajax/userlist.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+* ownCloud - ajax user list
+*
+* @author Hans Bakker
+* @copyright 2011 hansmbakker+kde@gmail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library 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 this library.  If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+
+// We send json data
+header( "Content-Type: application/jsonrequest" );
+
+$RUNTIME_NOAPPS = TRUE; //no apps, yet
+require_once('../../lib/base.php');
+
+if(isset($_GET["user"]) && isset($_GET["password"]))
+{
+        if(!OC_User::checkPassword($_GET["user"], $_GET["password"]))
+                exit();
+
+        $users = array();
+
+        foreach( OC_User::getUsers() as $i ){
+        	$users[] = array( "username" => $i, "groups" => join( ", ", OC_Group::getUserGroups( $i ) ));
+	}
+
+	echo json_encode($users);
+
+
+}
+
+?>
-- 
GitLab