function masquerade_handler_field_user::render_link in Masquerade Extras 7
Same name and namespace in other branches
- 6.2 masquerade_views/handlers/masquerade_handler_field_user.inc \masquerade_handler_field_user::render_link()
- 6 masquerade_views/handlers/masquerade_handler_field_user.inc \masquerade_handler_field_user::render_link()
- 7.2 masquerade_views/handlers/masquerade_handler_field_user.inc \masquerade_handler_field_user::render_link()
Generates a link.
Overrides views_handler_field_user_link::render_link
File
- masquerade_views/
handlers/ masquerade_handler_field_user.inc, line 69 - Views field handler.
Class
- masquerade_handler_field_user
- Field handler that allows a link to be generated for a user so you may masquerade as them.
Code
function render_link($data, $values) {
global $user;
$text = !empty($this->options['text']) ? $this->options['text'] : t('masquerade');
// Do not generate a link to masquerade as yourself.
if (isset($user->uid) && $user->uid == $data) {
return $text;
}
if (isset($values->{$this->aliases['uid']}) && $data !== NULL && $data !== '') {
// Make sure any data being used to generate the link is clean.
$switchto = $this
->sanitize_value($values->{$this->aliases['uid']});
$this->options['alter']['make_link'] = TRUE;
$this->options['alter']['path'] = "masquerade/switch/" . $switchto;
// Let drupal know who we are before we switch users.
$this->options['alter']['query'] = array(
'token' => drupal_get_token($this->options['alter']['path']),
);
// If the user provided a custom destination (that isn't blank), tack it onto the link.
if ($this->options['masquerade_views']['custom_destination'] == TRUE && $this->options['masquerade_views']['destination'] != '') {
$this->options['alter']['query'] += array(
'destination' => $this->options['masquerade_views']['destination'],
);
}
}
return $text;
}