fixing up the "is setup" check in the installer
[gwvp.git] / gwvplib / gwvpuseradmin.php
1 <?php
2
3 // setup the call me function for useradmin - matches on url of admin/users
4 $CALL_ME_FUNCTIONS["useradmin"] = "gwvp_UserAdminCallMe";
5
6 $MENU_ITEMS["10users"]["text"] = "Users/Groups";
7 $MENU_ITEMS["10users"]["link"] = "$BASE_URL/admin/users";
8
9
10 function gwvp_UserAdminCallMe()
11 {
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") {
17                                 if(isset($qspl[2])) {
18                                         switch($qspl[2]) {
19                                                 case "adduser":
20                                                         return "gwvp_AddUserPage";
21                                                         break;
22                                                 case "groupmember":
23                                                         return "gwvp_groupMemberChange";
24                                                         break;
25                                                 case "addgroup":
26                                                         return "gwvp_AddGroupPage";
27                                                         break;
28                                                 case "modify":
29                                                         return "gwvp_ModifyUserPage";
30                                                         break;
31                                                 case "modifygroup":
32                                                         return "gwvp_ModifyGroupPage";
33                                                         break;
34                                                 default:
35                                                         return "gwvp_UserAdminPage";
36                                         }                                       
37                                 } else {
38                                         return "gwvp_UserAdminPage";
39                                 }
40                         }
41                 } 
42                 else return false;
43         }
44         
45         return false;
46 }
47
48 function gwvp_AddUserPage()
49 {
50         global $BASE_URL;
51         
52         $email = $_REQUEST["email"];
53         $fullname = $_REQUEST["fullname"];
54         $pass1 = $_REQUEST["pass1"];
55         $pass2 = $_REQUEST["pass2"];
56         $username = $_REQUEST["username"];
57         $desc = $_REQUEST["desc"];
58         $sendvalid = isset($_REQUEST["sendvalidation"]);
59         
60         // now for some validation
61         $sendback = false;
62         $message = "";
63         if(!gwvp_checkEmail($email)) {
64                 $sendback = true;
65                 $message .= "EMail address invalid. ";
66         }
67         
68         // function gwvp_getUser($username=null, $email=null, $id=null)
69         if(gwvp_getUser(null, $email, null)!=null) {
70                 $staremail = true;
71                 $sendback = true;
72                 $message .= "EMail address already registered. ";
73         }
74         
75         if(gwvp_getUser($username)!= null) {
76                 $starusername = true;
77                 $sendback = true;
78                 $message .= "Username already exists. ";
79         }
80         
81         if($pass1 != $pass2) {
82                 $starpass = true;
83                 $sendback = true;
84                 $message .= "Passwords dont match. ";
85         }
86         
87         if($pass1 == "" && $pass2 == "" && !$sendvalid) {
88                 $starpass = true;
89                 $sendback = true;
90                 $message .= "Password was blank. ";
91         }
92         
93         // otherwise, its all good, proceed with user creation
94         if($sendback) {
95                 $_SESSION["sendback_owner"] = "users";
96                 $sb["email"] = $email;
97                 if($staremail) $sb["emailstar"] = true;
98                 $sb["fullname"] = $fullname;
99                 $sb["username"] = $username;
100                 if($starusername) $sb["usernamestar"] = true;
101                 $sb["desc"] = $desc;
102                 if($starpass) $sb["passwordstar"] = true;
103                 
104                 $_SESSION["sendback"] = true;
105                 $_SESSION["sendback_data"] = base64_encode(serialize($sb));
106                 gwvp_SendMessage("error", "$message");
107                 header("Location: $BASE_URL/admin/users");
108                 return;
109         }
110         
111         // TODO: we need to do alot of checking here - that can come later
112         if(gwvp_createUser($email, $fullname, $pass1, $username, $desc, 0)) {
113                 gwvp_SendMessage("info", "user $username, $fullname ($email) created");
114                 header("Location: $BASE_URL/admin/users");
115                 return;
116         } else {
117                 gwvp_SendMessage("error", "error creating user for some unknown reason");
118                 header("Location: $BASE_URL/admin/users");
119                 return;
120         }
121
122         
123         /*
124                 echo "<tr><td>EMail</td><td><input type=\"text\" name=\"email\"></td>";
125                 echo "<td>Full Name</td><td><input type=\"text\" name=\"fullname\"></td></tr>";
126                 echo "<tr><td>Password</td><td><input type=\"text\" name=\"pass1\"></td>";
127                 echo "<td>Password Confirm</td><td><input type=\"text\" name=\"pass2\"></td></tr>";
128                 echo "<tr><td>Username</td><td><input type=\"text\" name=\"username\"></td>";
129                 echo "<td>Description</td><td><input type=\"text\" name=\"desc\"></td></tr>";
130                 */
131         
132 }
133
134 function gwvp_AddGroupPage()
135 {
136         /*
137          *              echo "<tr><td>Group Name</td><td><input type=\"text\" name=\"groupname\"><td></tr>";
138                 echo "<tr><td>Admin Group?</td><td><input type=\"checkbox\" name=\"admingroup\" class=\"mycheckbox\"></td></tr>";
139                 echo "<tr><td>Owner</td><td><div><select class=\"myselect\" name=\"groupowner\">";
140
141          */
142         global $BASE_URL;
143         
144         /*
145          *                              $presetname = " value=\"".$data["groupname"]."\"";
146                                 $presetdesc = " value=\"".$data["groupdesc"]."\"";
147                                 $presetgroupadmin = " ".$data["admingroup"]."\"";
148                                 $presetowner = " value=\"".$data["groupowner"]."\"";
149
150          */
151         
152         $gname = $_REQUEST["groupname"];
153         $isadmin = isset($_REQUEST["admingroup"]);
154         $gdesc = $_REQUEST["groupdesc"];
155         $owner = $_REQUEST["groupowner"];
156         
157         if(gwvp_getGroup(null, $gname)) {
158                 $_SESSION["sendback_owner"] = "groups";
159                 $_SESSION["sendback"] = true;
160                 
161                 $data["groupname"] = $gname;
162                 $data["groupdesc"] = $gdesc;
163                 $data["groupowner"] = $owner;
164                 if($isadmin) $data["admingroup"] = "checked";
165                 else $data["admingroup"] = "";
166                 $data["groupnamestar"] = true;
167                 
168                 gwvp_SendMessage("error", "Group name in use");
169                 
170                 $_SESSION["sendback_data"] = base64_encode(serialize($data));
171                 
172                 header("Location: $BASE_URL/admin/users");
173                 return;
174         }
175         
176         // gwvp_createGroup($group_name, $is_admin, $owner_id)
177         gwvp_createGroup("$gname", $gdesc, $isadmin, $owner);
178         // we also need to add the owner to the group
179         gwvp_addGroupMember(gwvp_getUserName($owner), $gname);
180         
181         
182         header("Location: $BASE_URL/admin/users");
183         return;
184         
185 }
186
187 function gwvp_UserAdminPage()
188 {
189         gwvp_goMainPage("gwvp_UserAdminPageBody");
190 }
191
192 function gwvp_ModifyUserPage()
193 {
194         gwvp_goMainPage("gwvp_ModifyUserPageBody");
195 }
196
197 function gwvp_ModifyGroupPage()
198 {
199         gwvp_goMainPage("gwvp_ModifyGroupPageBody");
200 }
201
202 function gwvp_ModifyUserPageBody()
203 {
204         //error_log("modify user body - coming in");
205         if(!gwvp_CheckAuthLevel("admin")) {
206                 gwvp_AuthNoPermsBody();
207                 return;
208         }
209         
210         
211         $uid = -1;
212         if(isset($_REQUEST["q"])) {
213                 $query = $_REQUEST["q"];
214                 $qspl = explode("/", $query);
215                 $uid = $qspl[3];
216         }
217         
218         echo "modify user $uid";
219 }
220
221 function gwvp_groupMemberChange()
222 {
223         global $LOGIN_TYPE, $BASE_URL;
224         
225         $gid = -1;
226         
227         if(isset($_REQUEST["q"])) {
228                 $query = $_REQUEST["q"];
229                 $qspl = explode("/", $query);
230                 $gid = $qspl[3];
231         }
232         error_log("into groupmemberchange with $gid");
233         if($gid!= -1) {
234                 
235         }
236         
237         if(isset($_REQUEST["add"])) {
238                 error_log("$gid add set to ".$_REQUEST["add"]);
239                 // this is an add op
240                 if(isset($_REQUEST["membersout"])) {
241                         foreach($_REQUEST["membersout"] as $uid) {
242                                 error_log("would add $uid from $gid");
243                                 gwvp_addGroupMemberByID($uid, $gid);
244                                 
245                         }
246                 }
247         }
248         if(isset($_REQUEST["remove"])) {
249                 error_log("$gid remove set to ".$_REQUEST["remove"]);
250                 // this is a remove op
251                 if(isset($_REQUEST["membersin"])) {
252                         foreach($_REQUEST["membersin"] as $uid) {
253                                 error_log("would remote $uid from $gid");
254                                 gwvp_deleteGroupMemberByID($uid, $gid);
255                         }
256                 }
257         }
258         
259         error_log("redirect to $BASE_URL/admin/users/modifygroup/$gid");
260         header("Location: $BASE_URL/admin/users/modifygroup/$gid");
261         //gwvp_goMainPage("gwvp_ModifyGroupPageBody");
262         
263         return;
264 }
265
266 function gwvp_ModifyGroupPageBody()
267 {
268         global $LOGIN_TYPE, $BASE_URL;
269         
270         $gid = -1;
271         if(isset($_REQUEST["q"])) {
272                 $query = $_REQUEST["q"];
273                 $qspl = explode("/", $query);
274                 $gid = $qspl[3];
275         }
276         
277         $users = gwvp_getUsers();
278         
279         $ginfo = gwvp_getGroup($gid);
280         $groupname = $ginfo["name"];
281         $groupdesc = $ginfo["description"];
282         if($ginfo["isadmin"]) $admin = "checked";
283         else $admin = "";
284         
285         echo "<h2>Modify Group - $groupname</h2>";
286         echo "<form method=\"post\" action=\"$BASE_URL/admin/users/groupmodify/$gid\">";
287         echo "<table>";
288         echo "<tr><td>Description</td><td><input type=\"text\" name=\"groupdesc\" value=\"$groupdesc\"></td></tr>";
289         echo "<tr><td>Admin</td><td><input type=\"checkbox\" name=\"is_admin\" $admin></td></tr>";
290         echo "<tr><td><input type=\"submit\" name=\"change\" value=\"Change\"></td></tr>";
291         
292         echo "</table>";
293         echo "</form>";
294         
295         echo "<h3>Group Membership</h3>";
296         echo "<form method=\"post\" action=\"$BASE_URL/admin/users/groupmember/$gid\">";
297         echo "<table border=\"1\"><tr><th>Members</th><th></th><th>All Users</th></tr>";
298         
299         echo "<tr><td>";
300         
301         
302         // members
303         echo "<select name=\"membersin[]\" size=\"20\" multiple=\"true\">";
304         foreach($users as $u_users) {
305                 $uid = $u_users["id"];
306                 $email = $u_users["email"];
307                 $username = $u_users["username"];
308                 $fullname = $u_users["fullname"];
309                 if(gwvp_IsGroupMember($email, $groupname)) {
310                         echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
311                 }
312                 
313
314         }
315         
316         echo "</select>";
317         
318         
319         echo "</td><td>";
320         
321         // move buttons
322         echo "<input type=\"submit\" name=\"add\" value=\"<<\"><br>";
323         echo "<input type=\"submit\" name=\"remove\" value=\">>\"><br>";
324
325         
326         
327         echo "</td><td>";
328         
329         
330         // all users
331         echo "<select name=\"membersout[]\" size=\"20\" multiple=\"true\">";
332         foreach($users as $u_users) {
333                 $uid = $u_users["id"];
334                 $email = $u_users["email"];
335                 $username = $u_users["username"];
336                 $fullname = $u_users["fullname"];
337                 if(!gwvp_IsGroupMember($email, $groupname)) {
338                         echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
339                 }
340         }
341         echo "</select>";
342         
343         
344         
345         echo "</td></tr></table>";
346         echo "</form>";
347         
348         
349         
350         
351         
352         return;
353 }
354
355 function gwvp_UserAdminPageBody()
356 {
357         global $LOGIN_TYPE, $BASE_URL;
358         
359         $groups = gwvp_getGroups();
360         $users = gwvp_getUsers();
361         
362         echo "<h2>Users and Groups</h2>";
363         echo "On this page you can manage users, groups, group membership and update your profile<br>";
364         echo "<table>";
365         
366         echo "<tr><td colspan=\"2\"><hr></td></tr>";
367         
368         
369         // Header part of table
370         // user self-management bit
371         if($LOGIN_TYPE != "anon") {
372                 echo "<tr><td valign=\"top\"><h3>My Profile</h3></td><td><h3>My Groups</h3></td></tr>";
373                 
374                 echo "<tr>";
375                 // user profile bit
376                 echo "<td valign=\"top\">";
377                 echo "User profile bits go here";
378                 echo "</td>";
379                 
380                 // now the group bit for the user
381                 echo "<td valign=\"top\">";
382                 echo "User owned groups, and groups their a member of go here";
383                 echo "</td>";
384                 echo "</tr>";
385                 
386                 echo "<tr><td colspan=\"2\"><hr></td></tr>";
387         }
388         
389         // admin only bit
390         if($LOGIN_TYPE == "admin") {
391                 $data = null;
392                 
393                 $staremail = "";
394                 $starpass = "";
395                 $starusername = "";
396                 $presetemail = "";
397                 $presetfullname = "";
398                 $presetdesc = "";
399                 $presetusername = "";
400                 
401                 if(isset($_SESSION["sendback_owner"])) {
402                         if($_SESSION["sendback_owner"] == "users") {
403                                 /*
404                                  *              $sb["email"] = $email;
405                         if($staremail) $sb["emailstar"] = true;
406                         $sb["fullname"] = $fullname;
407                         $sb["username"] = $username;
408                         if($starusername) $sb["usernamestar"] = true;
409                         $sb["desc"] = $desc;
410                         if($starpass) $sb["passwordstar"] = true;
411         
412                                  */
413                                 $data = unserialize(base64_decode($_SESSION["sendback_data"]));
414                                 
415                                 $presetemail = " value=\"".$data["email"]."\"";
416                                 $presetfullname = " value=\"".$data["fullname"]."\"";
417                                 $presetusername = " value=\"".$data["username"]."\"";
418                                 $presetdesc = " value=\"".$data["desc"]."\"";
419                                 
420                                 if(isset($data["emailstar"])) $staremail = "<img src=\"$BASE_URL/images/star.jpg\">";
421                                 if(isset($data["usernamestar"])) $starusername = "<img src=\"$BASE_URL/images/star.jpg\">";
422                                 if(isset($data["passwordstar"])) $starpass = "<img src=\"$BASE_URL/images/star.jpg\">";
423                                 
424                                 unset($_SESSION["sendback"]);
425                                 unset($_SESSION["sendback_data"]);
426                                 unset($_SESSION["sendback_owner"]);
427                         }
428                 }
429                 
430                 echo "<tr><td valign=\"top\"><h3>Create User</h3></td><td><h3>Create Group</h3></td></tr>";
431                 
432                 // create user bit
433                 echo "<tr><td valign=\"top\">";
434                 
435                 echo "<form method=\"post\" action=\"$BASE_URL/admin/users/adduser\">";
436                 echo "<table>";
437                 echo "<tr><td bgcolor=\"#eeffee\">EMail</td><td><input type=\"text\" name=\"email\"$presetemail>$staremail</td>";
438                 echo "<td bgcolor=\"#eeffee\">Full Name</td><td><input type=\"text\" name=\"fullname\"$presetfullname></td></tr>";
439                 echo "<tr><td bgcolor=\"#eeffee\">Password</td><td><input type=\"text\" name=\"pass1\">$starpass</td>";
440                 echo "<td bgcolor=\"#eeffee\">Password Confirm</td><td><input type=\"text\" name=\"pass2\">$starpass</td></tr>";
441                 echo "<tr><td bgcolor=\"#eeffee\">Username</td><td><input type=\"text\" name=\"username\"$presetusername>$starusername</td>";
442                 echo "<td bgcolor=\"#eeffee\">Description</td><td><input type=\"text\" name=\"desc\"$presetdesc></td></tr>";
443                 echo "<tr><td colspan=\"4\"><input type=\"checkbox\" name=\"sendvalidation\"> Set account locked and send validation email for initial passsword (not implemented)</td></tr>";
444                 echo "<tr><td><input type=\"submit\" name=\"Create\" value=\"Create\" class=\"buttons\"></td></tr>";
445                 echo "</table>";
446                 echo "</form>";
447                 
448                 echo "</td><td valign=\"top\">";
449                 
450                 $stargroupname = "";
451                 $presetname = "";
452                 $presetgroupadmin = "";
453                 $presetowner = -1;
454                 
455                 if(isset($_SESSION["sendback_owner"])) {
456                         if($_SESSION["sendback_owner"] == "groups") {
457                                 /*
458                                  *              $sb["email"] = $email;
459                         if($staremail) $sb["emailstar"] = true;
460                         $sb["fullname"] = $fullname;
461                         $sb["username"] = $username;
462                         if($starusername) $sb["usernamestar"] = true;
463                         $sb["desc"] = $desc;
464                         if($starpass) $sb["passwordstar"] = true;
465         
466                                  */
467                                 $data = unserialize(base64_decode($_SESSION["sendback_data"]));
468                                 
469                                 $presetname = " value=\"".$data["groupname"]."\"";
470                                 $presetdesc = " value=\"".$data["groupdesc"]."\"";
471                                 $presetgroupadmin = " ".$data["admingroup"];
472                                 $presetowner = $data["groupowner"];
473                                 
474                                 if(isset($data["groupnamestar"])) $stargroupname = "<img src=\"$BASE_URL/images/star.jpg\">";
475                                 
476                                 unset($_SESSION["sendback"]);
477                                 unset($_SESSION["sendback_data"]);
478                                 unset($_SESSION["sendback_owner"]);
479                         }
480                 }
481                 
482                 // Create group
483                 echo "<form method=\"post\" action=\"$BASE_URL/admin/users/addgroup\">";
484                 echo "<table>";
485                 echo "<tr><td bgcolor=\"#ddddff\">Group Name</td><td bgcolor=\"#ddffdd\"><input type=\"text\" name=\"groupname\"$presetname>$stargroupname<td></tr>";
486                 echo "<tr><td bgcolor=\"#ddddff\">Group Description</td><td bgcolor=\"#ddffdd\"><input type=\"text\" name=\"groupdesc\"$presetdesc><td></tr>";
487                 echo "<tr><td bgcolor=\"#ddddff\">Admin Group?</td><td bgcolor=\"#ddffdd\"><input type=\"checkbox\" name=\"admingroup\" class=\"mycheckbox\"$presetgroupadmin></td></tr>";
488                 echo "<tr><td bgcolor=\"#ddddff\">Owner</td><td bgcolor=\"#ddffdd\"><div><select class=\"myselect\" name=\"groupowner\">";
489                 foreach($users as $u_users) {
490                         $uid = $u_users["id"];
491                         $email = $u_users["email"];
492                         $username = $u_users["username"];
493                         $fullname = $u_users["fullname"];
494                         if($presetowner == $uid) {
495                                 echo "<option value=\"$uid\" selected>$username, $fullname ($email)</option>";
496                         } else {
497                                 echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
498                         }
499                         
500                 }
501                 echo "</select></div></td></tr>";
502                 
503                 
504                 
505                 echo "<tr><td><input type=\"submit\" name=\"Create\" value=\"Create\" class=\"buttons\"></td></tr>";
506                 echo "</table>";
507                 echo "</form>";
508                 
509                 
510                 echo "</td></tr>";
511                 echo "<tr><td colspan=\"2\"><hr></td></tr>";
512         }
513         
514         
515         
516         // TODO: whats seen here will depend GREATLY on setting in config - need to fix this later
517         // user list
518         echo "<tr><td valign=\"top\"><h3>Users</h3></td><td><h3>Groups</h3></td></tr>";
519         
520         echo "<tr><td>";
521         echo "<table border=\"1\">";
522         switch($LOGIN_TYPE) {
523                 case "anon":
524                         echo "<tr><th>Username</th><th>Groups</th><th>Description</th></tr>";
525                         break;
526                 case "admin":
527                         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>";
528                         break;
529                 case "user":
530                         echo "<tr><th>Username</th><th>Groups</th><th>Description</th></tr>";
531                         break;
532         }
533                 
534         /*
535          *              $returns[$rn]["id"] = $u_res["users_id"];
536                 $returns[$rn]["fullname"] = $u_res["user_full_name"];
537                 $returns[$rn]["password"] = $u_res["user_password"];
538                 $returns[$rn]["username"] = $u_res["user_username"];
539                 $returns[$rn]["email"] = $u_res["user_email"];
540                 $returns[$rn]["desc"] = $u_res["user_desc"];
541                 $returns[$rn]["status"] = $u_res["user_status"];
542
543          */
544         foreach($users as $u_users) {
545                 $userid = $u_users["id"];
546                 $email = $u_users["email"];
547                 $fullname = $u_users["fullname"];
548                 $username = $u_users["username"];
549                 $desc = $u_users["desc"];
550                 $status = $u_users["status"];
551                 if(gwvp_IsUserAdmin($email) == 1) {
552                         $globaladmin = "Yes";
553                 } else {
554                         $globaladmin = "No";
555                 }
556                 
557                 
558                 // TODO: sort out group prints here
559                 $ingroups = gwvp_getGroupsForUser($email);
560                 
561                 $ownedgroups = gwvp_getGroupsOwnedByUser($email);
562                 //echo "vardump: ";
563                 //var_dump($ownedgroups);
564                 $ugroups = "";
565                 if($ownedgroups == false) $ogroups = "-";
566                 else {
567                         foreach($ownedgroups as $gr_u) {
568                                 $ugroups .= "<font color=\"#3333ff\">$gr_u</font><br>";
569                         }
570                 }
571                 trim($ugroups);
572                 
573                 
574                 if($ingroups !== false) foreach($ingroups as $grname) {
575                         $isownedgroup = false;
576                         if($ownedgroups !== false) foreach($ownedgroups as $gr_u) {
577                                 if($grname == $gr_u) $isownedgroup = true;
578                         }
579                         if(!$isownedgroup) $ugroups .= "$grname<br>";
580                 }
581                 trim($ugroups);
582                 
583                 if($ugroups == "") $ugroups = "-";
584                 
585                 switch($LOGIN_TYPE) {
586                         case "anon":
587                                 echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
588                                 break;
589                         case "admin":
590                                 echo "<tr><td>$email</td><td>$username</td><td>$fullname</td><td>$ugroups</td><td>$desc</td>";
591                                 echo "<td>$globaladmin</td><td>$status</td><td><a href=\"$BASE_URL/admin/users/modify/$userid\">Modify</a></td></tr>";
592                                 break;
593                         case "user":
594                                 echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
595                                 break;
596                 }
597                 
598                 
599         }
600         echo "</table>";
601         
602         echo "</td><td valign=\"top\">";
603         
604         // group part of table
605         
606         echo "<table border=\"1\">";
607         
608         switch($LOGIN_TYPE) {
609                 case "anon":
610                         echo "<tr><th>Group Name</th><th>Owner</th></tr>";
611                         break;
612                 case "admin":
613                         echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th><th>Modify</th></tr>";
614                         break;
615                 case "user":
616                         echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th></tr>";
617                         break;
618         }
619         
620         foreach($groups as $u_groups) {
621                 /*
622                  *              $returns[$rn]["id"] = $u_res["groups_id"];
623                 $returns[$rn]["name"] = $u_res["groups_name"];
624                 if($u_res["groups_is_admin"]=="1") $return[$rn]["admin"] = true;
625                 else $return[$rn]["admin"] = false;
626                 $returns[$rn]["admin"] = $u_res["groups_is_admin"];
627                 $returns[$rn]["ownerid"] = $u_res["groups_owner_id"];
628
629                  */
630                 $gname = $u_groups["name"];
631                 $gid = $u_groups["id"];
632                 $owner = gwvp_getUserEmail($u_groups["ownerid"]);
633                 if($u_groups["admin"]) $gadmin = "Yes";
634                 else $gadmin  = "No";
635
636                 switch($LOGIN_TYPE) {
637                         case "anon":
638                                 echo "<tr><td>$gname</td><td>$owner</td></tr>";
639                                 break;
640                         case "admin":
641                                 echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td><td><a href=\"$BASE_URL/admin/users/modifygroup/$gid\">Modify</a></td></tr>";
642                                 break;
643                         case "user":
644                                 echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td></tr>";
645                                 break;
646                 }
647                 
648                 
649         }
650         echo "</table>";
651         echo "</td></tr></table>";
652 }
653
654
655 ?>