X-Git-Url: http://git.pjr.cc/?p=gwvp.git;a=blobdiff_plain;f=gwvplib%2Fgwvpuseradmin.php;h=abe586ec5473f4d3212f405e36aa2c56fa3931de;hp=171778f13a1cf8b2b59c177d6f2cfe8f69884ef2;hb=4f4bf1da18181d412cd755143e016ede587cc1d6;hpb=760357457c7b3997bd8a488eb74180463731ddfa diff --git a/gwvplib/gwvpuseradmin.php b/gwvplib/gwvpuseradmin.php index 171778f..abe586e 100644 --- a/gwvplib/gwvpuseradmin.php +++ b/gwvplib/gwvpuseradmin.php @@ -55,6 +55,58 @@ function gwvp_AddUserPage() $pass2 = $_REQUEST["pass2"]; $username = $_REQUEST["username"]; $desc = $_REQUEST["desc"]; + $sendvalid = isset($_REQUEST["sendvalidation"]); + + // 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. "; + } + + if($pass1 == "" && $pass2 == "" && !$sendvalid) { + $starpass = true; + $sendback = true; + $message .= "Password was blank. "; + } + + // 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)) { @@ -89,11 +141,38 @@ 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"]; + 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 +388,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 +434,69 @@ function gwvp_UserAdminPageBody() echo "
"; 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
Set account locked and send validation email for initial passsword (not implemented)
"; 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 ""; @@ -403,6 +559,8 @@ function gwvp_UserAdminPageBody() $ingroups = gwvp_getGroupsForUser($email); $ownedgroups = gwvp_getGroupsOwnedByUser($email); + //echo "vardump: "; + //var_dump($ownedgroups); $ugroups = ""; if($ownedgroups == false) $ogroups = "-"; else { @@ -413,15 +571,17 @@ function gwvp_UserAdminPageBody() trim($ugroups); - foreach($ingroups as $grname) { + if($ingroups !== false) foreach($ingroups as $grname) { $isownedgroup = false; - foreach($ownedgroups as $gr_u) { + if($ownedgroups !== false) foreach($ownedgroups as $gr_u) { if($grname == $gr_u) $isownedgroup = true; } if(!$isownedgroup) $ugroups .= "$grname
"; } trim($ugroups); + if($ugroups == "") $ugroups = "-"; + switch($LOGIN_TYPE) { case "anon": echo "";
Group Name
Group Description
Admin Group?
Owner
Group Name$stargroupname
Group Description
Admin Group?
Owner
$username$ugroups$desc