function views_rss_handler_field_user_mail::render in Views RSS 6.2
File
- views/
views_rss_handler_field_user_mail.inc, line 37 - Field handler to provide additional control for the email field.
Class
- views_rss_handler_field_user_mail
- @file Field handler to provide additional control for the email field.
Code
function render($values) {
if ($this->options['rss_format'] == 'with_name') {
// Try to load full user object based on email address.
$value = $values->{$this->field_alias};
if ($account = user_load(array(
'mail' => $value,
))) {
$value = $account->mail . ' (' . $account->name . ')';
}
// XML element array in format_xml_elements() format.
$rss_element = array(
'key' => 'author',
'value' => $value,
);
// Make sure that element value is XML-safe.
views_rss_htmlspecialchars($rss_element);
// Prepare and store raw-rendered values in view results,
// the same way as values from standard field formatters are added.
if (isset($this->view->row_index)) {
$rendered = array(
'#item' => $values->{$this->field_alias},
'#markup' => format_xml_elements(array(
$rss_element,
)),
'#rss_element' => $rss_element,
'#settings' => $this->options,
);
$row_index = $this->view->row_index;
$field_name = 'field_' . $this->field;
$this->view->result[$row_index]->{$field_name}[0] = array(
'rendered' => $rendered,
'raw' => $values->{$this->field_alias},
);
}
// Return formatted XML element.
return format_xml_elements(array(
$rss_element,
));
}
// Standard Views render().
return parent::render($values);
}