function history_write in Drupal 8
Same name and namespace in other branches
- 9 core/modules/history/history.module \history_write()
Updates 'last viewed' timestamp of the specified entity for the current user.
Parameters
$nid: The node ID that has been read.
$account: (optional) The user account to update the history for. Defaults to the current user.
2 calls to history_write()
- HistoryController::readNode in core/
modules/ history/ src/ Controller/ HistoryController.php - Marks a node as read by the current user right now.
- HistoryLegacyTest::testHistoryAttachTimestamp in core/
modules/ history/ tests/ src/ Kernel/ HistoryLegacyTest.php - Tests history_attach_timestamp() deprecation.
File
- core/
modules/ history/ history.module, line 106 - Records which users have read which content.
Code
function history_write($nid, $account = NULL) {
if (!isset($account)) {
$account = \Drupal::currentUser();
}
if ($account
->isAuthenticated()) {
\Drupal::database()
->merge('history')
->keys([
'uid' => $account
->id(),
'nid' => $nid,
])
->fields([
'timestamp' => REQUEST_TIME,
])
->execute();
// Update static cache.
$history =& drupal_static('history_read_multiple', []);
$history[$nid] = REQUEST_TIME;
}
}