function flag_clear_handler_field_clear::render in Flag clear 7
Render the field.
Parameters
array $values: The values retrieved from the database.
Overrides views_handler_field::render
File
- includes/
views/ flag_clear_handler_field_clear.inc, line 144 - Contains the flag clearing field handler.
Class
- flag_clear_handler_field_clear
- Views field handler for the Flag clearing links.
Code
function render($values) {
if (!($flag = $this
->get_flag())) {
return t('Missing flag');
// get_flag() itself will print a more detailed message.
}
$types = array(
'cid' => 'comment',
'nid' => 'node',
'uid' => 'user',
);
$entity_id = $values->{$this->aliases['entity_id']};
$is_flagged = $values->{$this->aliases['is_flagged']};
if (empty($this->flag_applies[$entity_id])) {
// Flag does not apply to this content.
return;
}
$token_key = 'flag_clear:' . $entity_id;
$token = drupal_get_token($token_key);
$current_path = current_path();
$clear_text = $this->options['link_text'];
$clear_query = array(
'destination' => $current_path,
);
$clear_link = l($clear_text, 'unflag/' . $types[$this->aliases['entity_id']] . '/' . $entity_id . '/' . $token, array(
'query' => $clear_query,
));
return $clear_link;
}