• Main Page
  • Related Pages
  • Modules
  • Classes
  • Files
  • File List
  • File Members

modules/user/views_handler_field_user.inc

00001 <?php
00002 
00008 class views_handler_field_user extends views_handler_field {
00012   function init(&$view, &$data) {
00013     parent::init($view, $data);
00014     if (!empty($this->options['link_to_user'])) {
00015       $this->additional_fields['uid'] = 'uid';
00016     }
00017   }
00018 
00019   function option_definition() {
00020     $options = parent::option_definition();
00021     $options['link_to_user'] = array('default' => TRUE);
00022     return $options;
00023   }
00024 
00028   function options_form(&$form, &$form_state) {
00029     $form['link_to_user'] = array(
00030       '#title' => t('Link this field to its user'),
00031       '#description' => t("Enable to override this field's links."),
00032       '#type' => 'checkbox',
00033       '#default_value' => $this->options['link_to_user'],
00034     );
00035     parent::options_form($form, $form_state);
00036   }
00037 
00038   function render_link($data, $values) {
00039     if (!empty($this->options['link_to_user']) && user_access('access user profiles') && ($uid = $this->get_value($values, 'uid')) && $data !== NULL && $data !== '') {
00040       $this->options['alter']['make_link'] = TRUE;
00041       $this->options['alter']['path'] = "user/" . $uid;
00042     }
00043     return $data;
00044   }
00045 
00046   function render($values) {
00047     $value = $this->get_value($values);
00048     return $this->render_link($this->sanitize_value($value), $values);
00049   }
00050 }

Generated on Sun Feb 26 2012 12:52:51 for Views by  doxygen 1.7.1