*/
function finalize()
{
+ // get the current bug for permissions checks
+ $bug = $this->registry->db->query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE bugid = " . $this->bug['bugid']);
$this->registry->mail->set('subject', sprintf(_('%1$s Bug Notification - %2$s'), $this->registry->options['trackertitle'], $this->bug['summary']));
foreach ($this->notices AS $userid => $noticelist)
{
}
// we wouldn't want people who favorite bugs getting hidden notices
- if (!check_bug_permissions($this->bug, $this->users["$userid"]))
+ if (!check_bug_permissions($bug, $this->users["$userid"]))
{
$this->registry->debug("skipping user $userid ({$this->users[$userid]['email']}) because of permissions");
continue;
$bugsys->debug("checking permissions for $userinfo[userid] on bug $bug[bugid]");
+ $bugsys->debug('*** START VERBOSE CHECK ***');
+
+ $bugsys->debug('* !can_perform(canviewbugs, $bug[product], $userinfo) = ' . (int)(!can_perform('canviewbugs', $bug['product'], $userinfo)));
+ $bugsys->debug('* $bug[hidden] = ' . (int)$bug['hidden']);
+ $bugsys->debug('* $userinfo[userid] (' . $userinfo['userid'] . ') == $bug[userid] (' . $bug['userid'] . ') = ' . (int)($userinfo['userid'] == $bug['userid']));
+ $bugsys->debug('* can_perform(canviewownhidden, $bug[product], $userinfo) = ' . (int)(!!can_perform('canviewownhidden', $bug['product'], $userinfo)));
+ $bugsys->debug('* can_perform(canviewhidden, $bug[product], $userinfo) = ' . (int)(!!can_perform('canviewhidden', $bug['product'], $userinfo)));
+ $bugsys->debug('* !$bug[hidden] = ' . (int)(!$bug['hidden']));
+
+ $bugsys->debug('*** END PERMISSIONS CHECK ***');
+
if
(
!can_perform('canviewbugs', $bug['product'], $userinfo)
)
)
{
+ $bugsys->debug('*** DONE WITH REAL CALLS ***');
return false;
}
+ $bugsys->debug('*** DONE WITH REAL CALLS ***');
+
return true;
}