/** * Perform a permission check on this user * * @param string $permission_type The permission key * @param integer $target_id [optional] a target id if applicable * @param string $module_name [optional] the module for which the permission is valid * * @return boolean */ public function hasPermission($permission_type, $target_id = 0, $module_name = 'core') { framework\Logging::log('Checking permission ' . $permission_type); $group_id = (int) $this->getGroupID(); $retval = framework\Context::checkPermission($permission_type, $this->getID(), $group_id, $this->getTeams(), $target_id, $module_name); if ($retval !== null) { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was ' . ($retval ? 'true' : 'false')); } else { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was null'); } return $retval; }
/** * Perform a permission check on this user * * @param string $permission_type The permission key * @param integer $target_id [optional] a target id if applicable * @param string $module_name [optional] the module for which the permission is valid * * @return boolean */ public function hasPermission($permission_type, $target_id = 0, $module_name = 'core') { framework\Logging::log('Checking permission ' . $permission_type); $group_id = (int) $this->getGroupID(); $has_associated_project = is_numeric($target_id) && $target_id != 0 ? array_key_exists($target_id, $this->getAssociatedProjects()) : true; $retval = framework\Context::checkPermission($permission_type, $this->getID(), $group_id, $this->getTeams(), $target_id, $module_name, $has_associated_project); if ($retval !== null) { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was ' . ($retval ? 'true' : 'false')); } else { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was null'); } return $retval; }
/** * Perform a permission check on this user * * @param string $permission_type The permission key * @param integer $target_id [optional] a target id if applicable * @param string $module_name [optional] the module for which the permission is valid * * @return boolean */ public function hasPermission($permission_type, $target_id = 0, $module_name = 'core', $check_global_role = true) { framework\Logging::log('Checking permission ' . $permission_type); $group_id = (int) $this->getGroupID(); $has_associated_project = is_bool($check_global_role) ? $check_global_role : (is_numeric($target_id) && $target_id != 0 ? array_key_exists($target_id, $this->getAssociatedProjects()) : true); $teams = $this->getTeams(); if ($target_id != 0 && Project::getB2DBTable()->selectById($target_id) instanceof \thebuggenie\core\entities\Project) { $teams = array_intersect_key($teams, Project::getB2DBTable()->selectById($target_id)->getAssignedTeams()); } $retval = framework\Context::checkPermission($permission_type, $this->getID(), $group_id, $teams, $target_id, $module_name, $has_associated_project); if ($retval !== null) { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was ' . ($retval ? 'true' : 'false')); } else { framework\Logging::log('...done (Checking permissions ' . $permission_type . ', target id ' . $target_id . ') - return was null'); } return $retval; }