implemented authentication levels of anon,user,admin and setup the
[gwvp.git] / gwvplib / gwvpdatabase.php
index 267a6e0..56b5247 100644 (file)
@@ -126,6 +126,33 @@ function gwvp_createUser($email, $fullname, $password, $username, $desc, $status
         */
 }
 
+function gwvp_getUser($username=null, $email=null, $id=null)
+{
+       $conn = gwvp_ConnectDB();
+       
+       if($username != null) {
+               $res = $conn->query("select * from users where user_username='$username'");
+       } else if($email != null) {
+               $res = $conn->query("select * from users where user_email='$email'");
+       } else if($id != null) {
+               $res = $conn->query("select * from users where users_id='$id'");
+       } else return false;
+
+       $returns = false;
+       foreach($res as $u_res) {
+               $returns["id"] = $u_res["users_id"];
+               $returns["fullname"] = $u_res["user_full_name"];
+               $returns["password"] = $u_res["user_password"];
+               $returns["username"] = $u_res["user_username"];
+               $returns["email"] = $u_res["user_email"];
+               $returns["desc"] = $u_res["user_desc"];
+               $returns["status"] = $u_res["user_status"];
+       }
+       
+       return $returns;
+       
+}
+
 function gwvp_getUsers()
 {
        $conn = gwvp_ConnectDB();
@@ -311,11 +338,15 @@ function gwvp_getGroupId($groupname)
        return $return;
 }
 
-function gwvp_getUserId($useremail)
+function gwvp_getUserId($useremail=null, $username = null)
 {
        $conn = gwvp_ConnectDB();
        
-       $sql = "select users_id from users where user_email='$useremail'";
+       if($useremail != null) {
+               $sql = "select users_id from users where user_email='$useremail'";
+       } else if($username != null) {
+               $sql = "select users_id from users where user_username='$username'";
+       } else return false;
        
        $res = $conn->query($sql);
        $return = false;
@@ -388,12 +419,19 @@ function gwvp_IsGroupMember($email, $groupname)
        if($result == 1) return true;
 }
 
-function gwvp_IsUserAdmin($email)
+function gwvp_IsUserAdmin($email=null, $username = null)
 {
        $conn = gwvp_ConnectDB();
        
-       $id = gwvp_getUserId($email);
-       $sql = "select groupmember_groupid from group_membership where groupmember_userid='$id'";
+       
+       // TODO: clean this up, this should be a single query - idiot
+       if($email != null) {
+               $id = gwvp_getUserId($email);
+               $sql = "select groupmember_groupid from group_membership where groupmember_userid='$id'";
+       } else if($username != null) {
+               $id = gwvp_getUserId(null, $username);
+               $sql = "select groupmember_groupid from group_membership where groupmember_userid='$id'";
+       } else return false;
        
        $res = $conn->query($sql);
        $rn = 0;