protected function context_respect_reaction_block::check_role_match in Context Respect 7
Helper function for determining if authenticated user has access to a block.
Parameters
$block: A block object.
Return value
$role_match Boolean determining if logged in user has block access
1 call to context_respect_reaction_block::check_role_match()
- context_respect_reaction_block::block_list in plugins/
context_respect_reaction_block.inc - Override of block_list(). An alternative version of block_list() that provides any context enabled blocks.
File
- plugins/
context_respect_reaction_block.inc, line 81 - Context Respect reaction plugin file.
Class
- context_respect_reaction_block
- Expose permissions as context reactions.
Code
protected function check_role_match($block) {
global $user;
$role_match = FALSE;
// Check for overriden variables
$overrides = variable_get('context_respect_override_role', false);
if ($overrides) {
foreach ($overrides as $or_bid => $or_val) {
if ($or_bid == $block->bid) {
return $or_val;
}
}
}
$rids = array_keys($user->roles);
$result = db_query("SELECT rid FROM {block_role} b WHERE b.delta = :delta and b.module = :module", array(
':delta' => $block->delta,
':module' => $block->module,
));
// if the block has no roles, return TRUE until they choose to use visibility settings
if (!$result
->rowCount()) {
return TRUE;
}
foreach ($result as $b) {
if (in_array($b->rid, $rids)) {
$role_match = TRUE;
}
}
return $role_match;
}