X-Git-Url: http://git.pjr.cc/?a=blobdiff_plain;f=gwvplib%2Fgwvpuseradmin.php;h=abe586ec5473f4d3212f405e36aa2c56fa3931de;hb=c968cf55b0f366830676c8555cf61e9765277e44;hp=1d7e86d9049a137b60d602f49d5c7d856b86aa57;hpb=5e67e4fe3908ac2cfffced7f462e4f373d1cdbf1;p=gwvp.git
diff --git a/gwvplib/gwvpuseradmin.php b/gwvplib/gwvpuseradmin.php
index 1d7e86d..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 "