X-Git-Url: http://git.pjr.cc/?p=gwvp.git;a=blobdiff_plain;f=gwvplib%2Fgwvpuseradmin.php;fp=gwvplib%2Fgwvpuseradmin.php;h=19f4c71edac1bf7f2c34eb3f22e7ffcc78932414;hp=1d7e86d9049a137b60d602f49d5c7d856b86aa57;hb=5a23c888fac7fa841467950e23e123afa1352024;hpb=f4fc778c9d25c9d04b9df4c87cd8e656d2a39019 diff --git a/gwvplib/gwvpuseradmin.php b/gwvplib/gwvpuseradmin.php index 1d7e86d..19f4c71 100644 --- a/gwvplib/gwvpuseradmin.php +++ b/gwvplib/gwvpuseradmin.php @@ -56,6 +56,51 @@ function gwvp_AddUserPage() $username = $_REQUEST["username"]; $desc = $_REQUEST["desc"]; + // now for some validation + $sendback = false; + $message = ""; + if(!gwvp_checkEmail($email)) { + $sendback = true; + $message .= "EMail address invalid. "; + } + + // function gwvp_getUser($username=null, $email=null, $id=null) + if(gwvp_getUser(null, $email, null)!=null) { + $staremail = true; + $sendback = true; + $message .= "EMail address already registered. "; + } + + if(gwvp_getUser($username)!= null) { + $starusername = true; + $sendback = true; + $message .= "Username already exists. "; + } + + if($pass1 != $pass2) { + $starpass = true; + $sendback = true; + $message .= "Passwords dont match. "; + } + + // otherwise, its all good, proceed with user creation + if($sendback) { + $_SESSION["sendback_owner"] = "users"; + $sb["email"] = $email; + if($staremail) $sb["emailstar"] = true; + $sb["fullname"] = $fullname; + $sb["username"] = $username; + if($starusername) $sb["usernamestar"] = true; + $sb["desc"] = $desc; + if($starpass) $sb["passwordstar"] = true; + + $_SESSION["sendback"] = true; + $_SESSION["sendback_data"] = base64_encode(serialize($sb)); + gwvp_SendMessage("error", "$message"); + header("Location: $BASE_URL/admin/users"); + return; + } + // 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"); @@ -89,11 +134,42 @@ function gwvp_AddGroupPage() */ global $BASE_URL; + /* + * $presetname = " value=\"".$data["groupname"]."\""; + $presetdesc = " value=\"".$data["groupdesc"]."\""; + $presetgroupadmin = " ".$data["admingroup"]."\""; + $presetowner = " value=\"".$data["groupowner"]."\""; + + */ + $gname = $_REQUEST["groupname"]; $isadmin = isset($_REQUEST["admingroup"]); $gdesc = $_REQUEST["groupdesc"]; $owner = $_REQUEST["groupowner"]; + //gwvp_getGroup($gid = null, $gname = null) + if($isadmin) error_log("admin true"); + else error_log("admin not true"); + + if(gwvp_getGroup(null, $gname)) { + $_SESSION["sendback_owner"] = "groups"; + $_SESSION["sendback"] = true; + + $data["groupname"] = $gname; + $data["groupdesc"] = $gdesc; + $data["groupowner"] = $owner; + if($isadmin) $data["admingroup"] = "checked"; + //else $data["admingroup"] = ""; + $data["groupnamestar"] = true; + + gwvp_SendMessage("error", "Group name in use"); + + $_SESSION["sendback_data"] = base64_encode(serialize($data)); + + header("Location: $BASE_URL/admin/users"); + return; + } + // gwvp_createGroup($group_name, $is_admin, $owner_id) gwvp_createGroup("$gname", $gdesc, $isadmin, $owner); // we also need to add the owner to the group @@ -309,6 +385,45 @@ function gwvp_UserAdminPageBody() // admin only bit if($LOGIN_TYPE == "admin") { + $data = null; + + $staremail = ""; + $starpass = ""; + $starusername = ""; + $presetemail = ""; + $presetfullname = ""; + $presetdesc = ""; + $presetusername = ""; + + if(isset($_SESSION["sendback_owner"])) { + if($_SESSION["sendback_owner"] == "users") { + /* + * $sb["email"] = $email; + if($staremail) $sb["emailstar"] = true; + $sb["fullname"] = $fullname; + $sb["username"] = $username; + if($starusername) $sb["usernamestar"] = true; + $sb["desc"] = $desc; + if($starpass) $sb["passwordstar"] = true; + + */ + $data = unserialize(base64_decode($_SESSION["sendback_data"])); + + $presetemail = " value=\"".$data["email"]."\""; + $presetfullname = " value=\"".$data["fullname"]."\""; + $presetusername = " value=\"".$data["username"]."\""; + $presetdesc = " value=\"".$data["desc"]."\""; + + if(isset($data["emailstar"])) $staremail = ""; + if(isset($data["usernamestar"])) $starusername = ""; + if(isset($data["passwordstar"])) $starpass = ""; + + unset($_SESSION["sendback"]); + unset($_SESSION["sendback_data"]); + unset($_SESSION["sendback_owner"]); + } + } + echo "

Create User

Create Group

"; // create user bit @@ -316,31 +431,68 @@ function gwvp_UserAdminPageBody() echo "
"; echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; echo "
EMailFull Name
PasswordPassword Confirm
UsernameDescription
EMail$staremailFull Name
Password$starpassPassword Confirm$starpass
Username$starusernameDescription
"; echo "
"; echo ""; + $stargroupname = ""; + $presetname = ""; + $presetgroupadmin = ""; + $presetowner = -1; + + if(isset($_SESSION["sendback_owner"])) { + if($_SESSION["sendback_owner"] == "groups") { + /* + * $sb["email"] = $email; + if($staremail) $sb["emailstar"] = true; + $sb["fullname"] = $fullname; + $sb["username"] = $username; + if($starusername) $sb["usernamestar"] = true; + $sb["desc"] = $desc; + if($starpass) $sb["passwordstar"] = true; + + */ + $data = unserialize(base64_decode($_SESSION["sendback_data"])); + + $presetname = " value=\"".$data["groupname"]."\""; + $presetdesc = " value=\"".$data["groupdesc"]."\""; + $presetgroupadmin = " ".$data["admingroup"]; + $presetowner = $data["groupowner"]; + + if(isset($data["groupnamestar"])) $stargroupname = ""; + + unset($_SESSION["sendback"]); + unset($_SESSION["sendback_data"]); + unset($_SESSION["sendback_owner"]); + } + } + // Create group echo "
"; echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; echo "";
Group Name
Group Description
Admin Group?
Group Name$stargroupname
Group Description
Admin Group?
Owner