r1109: Trying to get notification permissions check to work
authorRobert Sesek <rsesek@bluestatic.org>
Mon, 21 Aug 2006 00:27:37 +0000 (00:27 +0000)
committerRobert Sesek <rsesek@bluestatic.org>
Mon, 21 Aug 2006 00:27:37 +0000 (00:27 +0000)
includes/class_notification.php
includes/functions.php

index 4a280ee4cab951eab8a1a472eb9d3cb5653bb948..339029d3bd1c4c02148714910675f7e2a1c775dc 100644 (file)
@@ -644,6 +644,14 @@ Initial report:
                {
                        if ($userid == $this->registry->userinfo['userid'])
                        {
+                               //continue;
+                       }
+                       
+                       // we wouldn't want people who favorite bugs getting hidden notices
+                       if (!check_bug_permissions($this->bug, $this->users["$userid"]))
+                       {
+                               var_dump($this->bug, $this->users);
+                               $this->registry->debug("skipping user $userid ({$this->users[$userid]['email']}) because of permissions");
                                continue;
                        }
                        
index 09c8bc298b31e220c32b847a724b314f21db78f9..c7588d5446b3e51b472ff05464fb04a5e5852b21 100755 (executable)
@@ -112,10 +112,12 @@ function can_perform($bitmask, $productid = 0, $userinfo = null)
                
                if (!in_array($bitmask, $inspecific))
                {
+                       $bugsys->debug("verdict on can_perform($bitmask, $productid, $userinfo[userid]) = " . ($bugsys->datastore['permission']["$userinfo[usergroupid]"]["$productid"] & $bugsys->permissions["$bitmask"]));
                        return ($bugsys->datastore['permission']["$userinfo[usergroupid]"]["$productid"] & $bugsys->permissions["$bitmask"]);
                }
        }
        
+       $bugsys->debug("verdict on can_perform($bitmask, $productid, $userinfo[userid]) = " . ($userinfo['permissions'] & $bugsys->permissions["$bitmask"]));
        return ($userinfo['permissions'] & $bugsys->permissions["$bitmask"]);
 }
 
@@ -529,6 +531,8 @@ function check_bug_permissions($bug, $userinfo = null)
                $userinfo = $bugsys->userinfo;
        }
        
+       $bugsys->debug("checking permissions for $userinfo[userid] on bug $bug[bugid]");
+       
        if
        (
                !can_perform('canviewbugs', $bug['product'], $userinfo)