repo permissions management complete (though pretty ugly code)
[gwvp-mini.git] / gwvpmini / gwvpmini_db.php
index 4e939af..c3ac22b 100644 (file)
@@ -122,7 +122,11 @@ function gwvpmini_ChangeRepoPerm($rid, $uid, $acc)
                $permsarray[$uid] = $acc;
        } else {
                $permsarray = unserialize(base64_decode($cperms_t));
-               $permsarray[$uid] = $acc; 
+               $permsarray[$uid] = $acc;
+               if($acc == 0) {
+                       error_log("PERMSUPDATE: REMOVE $uid");
+                       unset($permsarray[$uid]);
+               }
        }
        
        // check if base is now r or a, we can drop any 1's
@@ -142,6 +146,26 @@ function gwvpmini_ChangeRepoPerm($rid, $uid, $acc)
        
 }
 
+function gwvpmini_GetRepoPerms($rid)
+{
+       $conn = gwvpmini_ConnectDB();\r
+       \r
+       $sql = "select repos_perms from repos where repos_id='$rid'";\r
+       \r
+       $res = $conn->query($sql);\r
+       \r
+       $cperms_t = false;\r
+       if($res !== false) foreach($res as $row) {\r
+               $cperms_t = $row[0];\r
+       }\r
+       \r
+       if($cperms_t === false) return false;\r
+       \r
+       $permsarray = unserialize(base64_decode($cperms_t));
+       
+       return $permsarray;
+}
+
 //returns 0 for none, 1 for read, 2 for writes
 function gwvpmini_GetRepoPerm($rid, $uid)
 {
@@ -153,8 +177,6 @@ function gwvpmini_GetRepoPerm($rid, $uid)
        \r
        $res = $conn->query($sql);
        
-       error_log("PERMCHECK: FUCK U! $sql");\r
-       \r
        $cperms_t = false;\r
        if($res !== false) foreach($res as $row) {\r
                $cperms_t = $row[0];\r