public function HistoryUserTimestamp::render in Drupal 10
Same name and namespace in other branches
- 8 core/modules/history/src/Plugin/views/field/HistoryUserTimestamp.php \Drupal\history\Plugin\views\field\HistoryUserTimestamp::render()
- 9 core/modules/history/src/Plugin/views/field/HistoryUserTimestamp.php \Drupal\history\Plugin\views\field\HistoryUserTimestamp::render()
Overrides Node::render
File
- core/
modules/ history/ src/ Plugin/ views/ field/ HistoryUserTimestamp.php, line 84
Class
- HistoryUserTimestamp
- Field handler to display the marker for new content.
Namespace
Drupal\history\Plugin\views\fieldCode
public function render(ResultRow $values) {
// Let's default to 'read' state.
// This code shadows node_mark, but it reads from the db directly and
// we already have that info.
$mark = MARK_READ;
if (\Drupal::currentUser()
->isAuthenticated()) {
$last_read = $this
->getValue($values);
$changed = $this
->getValue($values, 'changed');
$last_comment = \Drupal::moduleHandler()
->moduleExists('comment') && !empty($this->options['comments']) ? $this
->getValue($values, 'last_comment') : 0;
if (!$last_read && $changed > HISTORY_READ_LIMIT) {
$mark = MARK_NEW;
}
elseif ($changed > $last_read && $changed > HISTORY_READ_LIMIT) {
$mark = MARK_UPDATED;
}
elseif ($last_comment > $last_read && $last_comment > HISTORY_READ_LIMIT) {
$mark = MARK_UPDATED;
}
$build = [
'#theme' => 'mark',
'#status' => $mark,
];
return $this
->renderLink(\Drupal::service('renderer')
->render($build), $values);
}
}