function flag_contextual_links_view_alter in Flag 7.3
Same name and namespace in other branches
- 7.2 flag.module \flag_contextual_links_view_alter()
File
- ./flag.module, line 900
- The Flag module.
Code
function flag_contextual_links_view_alter(&$element, $items) {
if (isset($element['#element']['#entity_type'])) {
$entity_type = $element['#element']['#entity_type'];
if (isset($element['#element']['#entity'])) {
$entity = $element['#element']['#entity'];
}
elseif (isset($element['#element']['#' . $entity_type])) {
$entity = $element['#element']['#' . $entity_type];
}
else {
return;
}
$flags = flag_get_flags($entity_type);
foreach ($flags as $name => $flag) {
if (!$flag->show_contextual_link) {
continue;
}
list($entity_id) = entity_extract_ids($entity_type, $entity);
if (!$flag
->access($entity_id) && (!$flag
->is_flagged($entity_id) || !$flag
->access($entity_id, 'flag'))) {
continue;
}
$element['#links']['flag-' . $name] = array(
'title' => $flag
->theme($flag
->is_flagged($entity_id) ? 'unflag' : 'flag', $entity_id),
'html' => TRUE,
);
}
}
}