{
if(isset($_REQUEST["q"])) {
$query = $_REQUEST["q"];
- if($query == "admin/users") return "gwvp_UserAdminPage";
+ $qspl = explode("/", $query);
+ if(isset($qspl[0]) && isset($qspl[1])) {
+ if($qspl[0] == "admin" && $qspl[1] == "users") {
+ if(isset($qspl[2])) {
+ switch($qspl[2]) {
+ case "adduser":
+ return "gwvp_AddUserPage";
+ break;
+ case "addgroup":
+ return "gwvp_AddGroupPage";
+ break;
+ case "modify":
+ return "gwvp_ModifyUserPage";
+ break;
+ case "modifygroup":
+ return "gwvp_ModifyGroupPage";
+ break;
+ default:
+ return "gwvp_UserAdminPage";
+ }
+ } else {
+ return "gwvp_UserAdminPage";
+ }
+ }
+ }
else return false;
}
return false;
}
+function gwvp_AddUserPage()
+{
+ global $BASE_URL;
+
+ $email = $_REQUEST["email"];
+ $fullname = $_REQUEST["fullname"];
+ $pass1 = $_REQUEST["pass1"];
+ $pass2 = $_REQUEST["pass2"];
+ $username = $_REQUEST["username"];
+ $desc = $_REQUEST["desc"];
+
+ // TODO: we need to do alot of checking here - that can come later
+ if(gwvp_createUser($email, $fullname, $pass1, $username, $desc, 0)) {
+ gwvp_SendMessage("info", "user $username, $fullname ($email) created");
+ header("Location: $BASE_URL/admin/users");
+ return;
+ } else {
+ gwvp_SendMessage("error", "error creating user for some unknown reason");
+ header("Location: $BASE_URL/admin/users");
+ return;
+ }
+
+
+ /*
+ echo "<tr><td>EMail</td><td><input type=\"text\" name=\"email\"></td>";
+ echo "<td>Full Name</td><td><input type=\"text\" name=\"fullname\"></td></tr>";
+ echo "<tr><td>Password</td><td><input type=\"text\" name=\"pass1\"></td>";
+ echo "<td>Password Confirm</td><td><input type=\"text\" name=\"pass2\"></td></tr>";
+ echo "<tr><td>Username</td><td><input type=\"text\" name=\"username\"></td>";
+ echo "<td>Description</td><td><input type=\"text\" name=\"desc\"></td></tr>";
+ */
+
+}
+
+function gwvp_AddGroupPage()
+{
+ /*
+ * echo "<tr><td>Group Name</td><td><input type=\"text\" name=\"groupname\"><td></tr>";
+ echo "<tr><td>Admin Group?</td><td><input type=\"checkbox\" name=\"admingroup\" class=\"mycheckbox\"></td></tr>";
+ echo "<tr><td>Owner</td><td><div><select class=\"myselect\" name=\"groupowner\">";
+
+ */
+ global $BASE_URL;
+
+ $gname = $_REQUEST["groupname"];
+ $isadmin = isset($_REQUEST["admingroup"]);
+ $gdesc = $_REQUEST["groupdesc"];
+ $owner = $_REQUEST["groupowner"];
+
+ // gwvp_createGroup($group_name, $is_admin, $owner_id)
+ gwvp_createGroup("$gname", $gdesc, $isadmin, $owner);
+
+
+ header("Location: $BASE_URL/admin/users");
+ return;
+
+}
+
function gwvp_UserAdminPage()
{
gwvp_goMainPage("gwvp_UserAdminPageBody");
}
+function gwvp_ModifyUserPage()
+{
+ gwvp_goMainPage("gwvp_ModifyUserPageBody");
+}
+
+function gwvp_ModifyGroupPage()
+{
+ gwvp_goMainPage("gwvp_ModifyGroupPageBody");
+}
+
+function gwvp_ModifyUserPageBody()
+{
+ //error_log("modify user body - coming in");
+ if(!gwvp_CheckAuthLevel("admin")) {
+ gwvp_AuthNoPermsBody();
+ return;
+ }
+
+
+ $uid = -1;
+ if(isset($_REQUEST["q"])) {
+ $query = $_REQUEST["q"];
+ $qspl = explode("/", $query);
+ $uid = $qspl[3];
+ }
+
+ echo "modify user $uid";
+}
+
+function gwvp_ModifyGroupPageBody()
+{
+ global $LOGIN_TYPE, $BASE_URL;
+
+ $gid = -1;
+ if(isset($_REQUEST["q"])) {
+ $query = $_REQUEST["q"];
+ $qspl = explode("/", $query);
+ $gid = $qspl[3];
+ }
+
+ $users = gwvp_getUsers();
+
+ $ginfo = gwvp_getGroup($gid);
+ $groupname = $ginfo["name"];
+ $groupdesc = $ginfo["description"];
+ if($ginfo["isadmin"]) $admin = "checked";
+ else $admin = "";
+
+ echo "<h2>Modify Group - $groupname</h2>";
+ echo "<form method=\"post\" action=\"$BASE_URL/admin/users/groupmodify/$gid\">";
+ echo "<table>";
+ echo "<tr><td>Description</td><td><input type=\"text\" name=\"groupdesc\" value=\"$groupdesc\"></td></tr>";
+ echo "<tr><td>Admin</td><td><input type=\"checkbox\" name=\"is_admin\" $admin></td></tr>";
+ echo "<tr><td><input type=\"submit\" name=\"change\" value=\"Change\"></td></tr>";
+
+ echo "</table>";
+ echo "</form>";
+
+ echo "<h3>Group Membership</h3>";
+ echo "<form method=\"post\" action=\"$BASE_URL/admin/users/groupmember/$gid\">";
+ echo "<table border=\"1\"><tr><th>Members</th><th></th><th>All Users</th></tr>";
+
+ echo "<tr><td>";
+
+
+ // members
+ echo "<select name=\"members\" size=\"20\" multiple>";
+ foreach($users as $u_users) {
+ $uid = $u_users["id"];
+ $email = $u_users["email"];
+ $username = $u_users["username"];
+ $fullname = $u_users["fullname"];
+ if(gwvp_IsGroupMember($email, $groupname)) {
+ echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
+ }
+
+
+ }
+
+ echo "</select>";
+
+
+ echo "</td><td>";
+
+ // move buttons
+ echo "<input type=\"submit\" name=\"add\" value=\"<<\"><br>";
+ echo "<input type=\"submit\" name=\"remove\" value=\">>\"><br>";
+
+
+
+ echo "</td><td>";
+
+
+ // all users
+ echo "<select name=\"members\" size=\"20\" multiple>";
+ foreach($users as $u_users) {
+ $uid = $u_users["id"];
+ $email = $u_users["email"];
+ $username = $u_users["username"];
+ $fullname = $u_users["fullname"];
+ if(!gwvp_IsGroupMember($email, $groupname)) {
+ echo "<option value=\"$uid\">$username, $fullname ($email)</option>";
+ }
+ }
+ echo "</select>";
+
+
+
+ echo "</td></tr></table>";
+ echo "</form>";
+
+
+
+
+
+ return;
+}
function gwvp_UserAdminPageBody()
{
- global $LOGIN_TYPE;
+ global $LOGIN_TYPE, $BASE_URL;
$groups = gwvp_getGroups();
$users = gwvp_getUsers();
// create user bit
echo "<tr><td valign=\"top\">";
- echo "<form method=\"post\">";
+ echo "<form method=\"post\" action=\"$BASE_URL/admin/users/adduser\">";
echo "<table>";
echo "<tr><td>EMail</td><td><input type=\"text\" name=\"email\"></td>";
echo "<td>Full Name</td><td><input type=\"text\" name=\"fullname\"></td></tr>";
echo "</td><td valign=\"top\">";
// Create group
- echo "<form method=\"post\">";
+ echo "<form method=\"post\" action=\"$BASE_URL/admin/users/addgroup\">";
echo "<table>";
echo "<tr><td>Group Name</td><td><input type=\"text\" name=\"groupname\"><td></tr>";
+ echo "<tr><td>Group Description</td><td><input type=\"text\" name=\"groupdesc\"><td></tr>";
echo "<tr><td>Admin Group?</td><td><input type=\"checkbox\" name=\"admingroup\" class=\"mycheckbox\"></td></tr>";
echo "<tr><td>Owner</td><td><div><select class=\"myselect\" name=\"groupowner\">";
foreach($users as $u_users) {
*/
foreach($users as $u_users) {
+ $userid = $u_users["id"];
$email = $u_users["email"];
$fullname = $u_users["fullname"];
$username = $u_users["username"];
echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
break;
case "admin":
- echo "<tr><td>$email</td><td>$username</td><td>$fullname</td><td>$ugroups</td><td>$desc</td><td>$globaladmin</td><td>$status</td></tr>";
+ echo "<tr><td>$email</td><td>$username</td><td>$fullname</td><td>$ugroups</td><td>$desc</td>";
+ echo "<td>$globaladmin</td><td>$status</td><td><a href=\"$BASE_URL/admin/users/modify/$userid\">Modify</a></td></tr>";
break;
case "user":
echo "<tr><td>$username</td><td>$ugroups</td><td>$desc</td></tr>";
echo "<tr><th>Group Name</th><th>Owner</th></tr>";
break;
case "admin":
- echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th></tr>";
+ echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th><th>Modify</th></tr>";
break;
case "user":
echo "<tr><th>Group Name</th><th>Owner</th><th>Admin Group?</th></tr>";
*/
$gname = $u_groups["name"];
+ $gid = $u_groups["id"];
$owner = gwvp_getUserEmail($u_groups["ownerid"]);
if($u_groups["admin"]) $gadmin = "Yes";
else $gadmin = "No";
echo "<tr><td>$gname</td><td>$owner</td></tr>";
break;
case "admin":
- echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td></tr>";
+ echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td><td><a href=\"$BASE_URL/admin/users/modifygroup/$gid\">Modify</a></td></tr>";
break;
case "user":
echo "<tr><td>$gname</td><td>$owner</td><td>$gadmin</td></tr>";