3 // setup the call me function for useradmin - matches on url of admin/users
4 $CALL_ME_FUNCTIONS["useradmin"] = "gwvp_UserAdminCallMe";
6 $MENU_ITEMS["10users"]["text"] = "Users/Groups";
7 $MENU_ITEMS["10users"]["link"] = "$BASE_URL/admin/users";
10 function gwvp_UserAdminCallMe()
12 if(isset($_REQUEST["q"])) {
13 $query = $_REQUEST["q"];
14 $qspl = explode("/", $query);
15 if(isset($qspl[0]) && isset($qspl[1])) {
16 if($qspl[0] == "admin" && $qspl[1] == "users") {
20 return "gwvp_AddUserPage";
23 return "gwvp_AddGroupPage";
26 return "gwvp_ModifyUserPage";
29 return "gwvp_ModifyGroupPage";
32 return "gwvp_UserAdminPage";
35 return "gwvp_UserAdminPage";
45 function gwvp_AddUserPage()
50 function gwvp_AddGroupPage()
55 function gwvp_UserAdminPage()
57 gwvp_goMainPage("gwvp_UserAdminPageBody");
60 function gwvp_ModifyUserPage()
62 if(!gwvp_CheckAuthLevel("admin")) {
67 gwvp_goMainPage("gwvp_ModifyUserPageBody");
70 function gwvp_ModifyGroupPage()
72 gwvp_goMainPage("gwvp_ModifyGroupPageBody");
75 function gwvp_ModifyUserPageBody()
77 error_log("modify user body - coming in");
78 if(!gwvp_CheckAuthLevel("admin")) {
79 gwvp_AuthNoPermsBody();
85 if(isset($_REQUEST["q"])) {
86 $query = $_REQUEST["q"];
87 $qspl = explode("/", $query);
91 echo "modify user $uid";
94 function gwvp_ModifyGroupPageBody()
97 if(isset($_REQUEST["q"])) {
98 $query = $_REQUEST["q"];
99 $qspl = explode("/", $query);
103 echo "modify group $gid";
106 function gwvp_UserAdminPageBody()
108 global $LOGIN_TYPE, $BASE_URL;
110 $groups = gwvp_getGroups();
111 $users = gwvp_getUsers();
113 echo "<h2>Users and Groups</h2>";
114 echo "On this page you can manage users, groups, group membership and update your profile<br>";
117 echo "<tr><td colspan=\"2\"><hr></td></tr>";
120 // Header part of table
121 // user self-management bit
122 if($LOGIN_TYPE != "anon") {
123 echo "<tr><td valign=\"top\"><h3>My Profile</h3></td><td><h3>My Groups</h3></td></tr>";
127 echo "<td valign=\"top\">";
128 echo "User profile bits go here";
131 // now the group bit for the user
132 echo "<td valign=\"top\">";
133 echo "User owned groups, and groups their a member of go here";
137 echo "<tr><td colspan=\"2\"><hr></td></tr>";
141 if($LOGIN_TYPE == "admin") {
142 echo "<tr><td valign=\"top\"><h3>Create User</h3></td><td><h3>Create Group</h3></td></tr>";
145 echo "<tr><td valign=\"top\">";
147 echo "<form method=\"post\" action=\"$BASE_URL/admin/users/adduser\">";
149 echo "<tr><td>EMail</td><td><input type=\"text\" name=\"email\"></td>";
150 echo "<td>Full Name</td><td><input type=\"text\" name=\"fullname\"></td></tr>";
151 echo "<tr><td>Password</td><td><input type=\"text\" name=\"pass1\"></td>";
152 echo "<td>Password Confirm</td><td><input type=\"text\" name=\"pass2\"></td></tr>";
153 echo "<tr><td>Username</td><td><input type=\"text\" name=\"username\"></td>";
154 echo "<td>Description</td><td><input type=\"text\" name=\"desc\"></td></tr>";
155 echo "<tr><td><input type=\"submit\" name=\"Create\" value=\"Create\" class=\"buttons\"></td></tr>";
159 echo "</td><td valign=\"top\">";
162 echo "<form method=\"post\" action=\"$BASE_URL/admin/users/addgroup\">";
164 echo "<tr><td>Group Name</td><td><input type=\"text\" name=\"groupname\"><td></tr>";
165 echo "<tr><td>Admin Group?</td><td><input type=\"checkbox\" name=\"admingroup\" class=\"mycheckbox\"></td></tr>";
166 echo "<tr><td>Owner</td><td><div><select class=\"myselect\" name=\"groupowner\">";
167 foreach($users as $u_users) {
168 $uid = $u_users["id"];
169 $email = $u_users["email"];
170 $username = $u_users["username"];
171 $fullname = $u_users["fullname"];
172 echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
174 echo "</select></div></td></tr>";
178 echo "<tr><td><input type=\"submit\" name=\"Create\" value=\"Create\" class=\"buttons\"></td></tr>";
184 echo "<tr><td colspan=\"2\"><hr></td></tr>";
189 // TODO: whats seen here will depend GREATLY on setting in config - need to fix this later
191 echo "<tr><td valign=\"top\"><h3>Users</h3></td><td><h3>Groups</h3></td></tr>";
194 echo "<table border=\"1\">";
195 switch($LOGIN_TYPE) {
197 echo "<tr><th>Username</th><th>Groups</th><th>Description</th></tr>";
200 echo "<tr><th>EMail</th><th>Username</th><th>Full Name</th><th>Groups</th><th>Description</th><th>Admin?</th><th>Status</th><th>Modify</th></tr>";
203 echo "<tr><th>Username</th><th>Groups</th><th>Description</th></tr>";
208 * $returns[$rn]["id"] = $u_res["users_id"];
209 $returns[$rn]["fullname"] = $u_res["user_full_name"];
210 $returns[$rn]["password"] = $u_res["user_password"];
211 $returns[$rn]["username"] = $u_res["user_username"];
212 $returns[$rn]["email"] = $u_res["user_email"];
213 $returns[$rn]["desc"] = $u_res["user_desc"];
214 $returns[$rn]["status"] = $u_res["user_status"];
217 foreach($users as $u_users) {
218 $userid = $u_users["id"];
219 $email = $u_users["email"];
220 $fullname = $u_users["fullname"];
221 $username = $u_users["username"];
222 $desc = $u_users["desc"];
223 $status = $u_users["status"];
224 if(gwvp_IsUserAdmin($email) == 1) {
225 $globaladmin = "Yes";
231 // TODO: sort out group prints here
232 $ingroups = gwvp_getGroupsForUser($email);
234 $ownedgroups = gwvp_getGroupsOwnedByUser($email);
236 if($ownedgroups == false) $ogroups = "-";
238 foreach($ownedgroups as $gr_u) {
239 $ugroups .= "<font color=\"#3333ff\">$gr_u</font><br>";
245 foreach($ingroups as $grname) {
246 $isownedgroup = false;
247 foreach($ownedgroups as $gr_u) {
248 if($grname == $gr_u) $isownedgroup = true;
250 if(!$isownedgroup) $ugroups .= "$grname<br>";
254 switch($LOGIN_TYPE) {
256 echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
259 echo "<tr><td>$email</td><td>$username</td><td>$fullname</td><td>$ugroups</td><td>$desc</td>";
260 echo "<td>$globaladmin</td><td>$status</td><td><a href=\"$BASE_URL/admin/users/modify/$userid\">Modify</a></td></tr>";
263 echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
271 echo "</td><td valign=\"top\">";
273 // group part of table
275 echo "<table border=\"1\">";
277 switch($LOGIN_TYPE) {
279 echo "<tr><th>Group Name</th><th>Owner</th></tr>";
282 echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th><th>Modify</th></tr>";
285 echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th></tr>";
289 foreach($groups as $u_groups) {
291 * $returns[$rn]["id"] = $u_res["groups_id"];
292 $returns[$rn]["name"] = $u_res["groups_name"];
293 if($u_res["groups_is_admin"]=="1") $return[$rn]["admin"] = true;
294 else $return[$rn]["admin"] = false;
295 $returns[$rn]["admin"] = $u_res["groups_is_admin"];
296 $returns[$rn]["ownerid"] = $u_res["groups_owner_id"];
299 $gname = $u_groups["name"];
300 $gid = $u_groups["id"];
301 $owner = gwvp_getUserEmail($u_groups["ownerid"]);
302 if($u_groups["admin"]) $gadmin = "Yes";
305 switch($LOGIN_TYPE) {
307 echo "<tr><td>$gname</td><td>$owner</td></tr>";
310 echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td><td><a href=\"$BASE_URL/admin/users/modifygroup/$gid\">Modify</a></td></tr>";
313 echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td></tr>";
320 echo "</td></tr></table>";