До каких пор комментарий считается новым?

Главные вкладки

Аватар пользователя Антоха82 Антоха82 13 октября 2014 в 1:34

Здравствуйте друзья.
Вопрос в заголовке. Если я создал новый комментарий, когда он перестанет быть новым для другого пользователя:
1) когда пройдет определенное время,
2) когда этот другой пользователь оставит свой комментарий,
3) когда он просмотрит этот комментарий?
Мои эксперименты показывают, что пометка new не убирается пока пользователь не оставит свой комментарий. Можно ли сделать так, чтобы эта пометка убиралась сразу после просмотра, например, при обновлении страницы?

Комментарии

Аватар пользователя drupby drupby 13 октября 2014 в 6:29

$comment->new определяется следующим образом

$comment->new = node_mark($comment->nid, $comment->changed);

ну и далее смотри, что происходит в node_mark()

function node_mark($nid, $timestamp) {
  global $user;
  $cache = &drupal_static(__FUNCTION__, array());

  if (!$user->uid) {
    return MARK_READ;
  }
  if (!isset($cache[$nid])) {
    $cache[$nid] = node_last_viewed($nid);
  }
  if ($cache[$nid] == 0 && $timestamp > NODE_NEW_LIMIT) {
    return MARK_NEW;
  }
  elseif ($timestamp > $cache[$nid] && $timestamp > NODE_NEW_LIMIT) {
    return MARK_UPDATED;
  }
  return MARK_READ;
}