5 * Definition of views_handler_field_comment_username.
9 * Field handler to allow linking to a user account or homepage.
11 * @ingroup views_field_handlers
13 class views_handler_field_comment_username extends views_handler_field {
15 * Override init function to add uid and homepage fields.
17 function init(&$view, &$data) {
18 parent::init($view, $data);
19 $this->additional_fields['uid'] = 'uid';
20 $this->additional_fields['homepage'] = 'homepage';
23 function option_definition() {
24 $options = parent::option_definition();
25 $options['link_to_user'] = array('default' => TRUE, 'bool' => TRUE);
29 function options_form(&$form, &$form_state) {
30 $form['link_to_user'] = array(
31 '#title' => t("Link this field to its user or an author's homepage"),
32 '#type' => 'checkbox',
33 '#default_value' => $this->options['link_to_user'],
35 parent::options_form($form, $form_state);
38 function render_link($data, $values) {
39 if (!empty($this->options['link_to_user'])) {
40 $account = new stdClass();
41 $account->uid = $this->get_value($values, 'uid');
42 $account->name = $this->get_value($values);
43 $account->homepage = $this->get_value($values, 'homepage');
45 return theme('username', array(
54 function render($values) {
55 $value = $this->get_value($values);
56 return $this->render_link($this->sanitize_value($value), $values);