TRUE); $options['link_usernames'] = array('default' => TRUE); $options['link_hashtags'] = array('default' => FALSE); $options['hashtags_url'] = array('default' => 'http://' . $conf->get('search') . '/search?q=%23'); return $options; } function options_form(&$form, &$form_state) { parent::options_form($form, $form_state); $form['link_urls'] = array( '#title' => t('Link urls to their destinations'), '#type' => 'checkbox', '#default_value' => !empty($this->options['link_urls']), ); $form['link_usernames'] = array( '#title' => t('Link Twitter @usernames to their Twitter.com urls'), '#type' => 'checkbox', '#default_value' => !empty($this->options['link_usernames']), ); $form['link_hashtags'] = array( '#title' => t('Link Twitter #hashtags to another url'), '#type' => 'checkbox', '#default_value' => !empty($this->options['link_hashtags']), ); $form['hashtags_url'] = array( '#type' => 'textfield', '#default_value' => $this->options['hashtags_url'], '#process' => array('ctools_dependent_process'), '#dependency' => array('edit-options-link-hashtags' => array(TRUE)), ); } function render($values) { $value = $values->{$this->field_alias}; if (!empty($this->options['link_urls'])) { $filter = new stdClass; $filter->settings = array( 'filter_url_length' => 496, ); $value = _filter_url($value, $filter); } if (!empty($this->options['link_usernames'])) { $conf = TwitterConf::instance(); $value = _twitter_filter_text($value, '@', 'http://' . $conf->get('host') . '/'); } if (!empty($this->options['link_hashtags']) && valid_url($this->options['hashtags_url'])) { $value = _twitter_filter_text($value, '#', url($this->options['hashtags_url'])); } return filter_xss($value); } } /** * Field handler to provide simple renderer that turns a URL into a clickable link. */ class twitter_views_handler_field_profile_image extends views_handler_field { function render($values) { $value = $values->{$this->field_alias}; return theme('image', array('path' => $value)); } }