function _node_expire_node_load in Node expire 8
Same name and namespace in other branches
- 7 node_expire.nodeapi.inc \_node_expire_node_load()
Implements hook_node_load().
1 call to _node_expire_node_load()
- node_expire_node_load in ./
node_expire.module - Implements hook_node_load().
File
- ./
node_expire.nodeapi.inc, line 11 - Node API integration.
Code
function _node_expire_node_load($nodes, $types) {
// Only deal with node types that have the Node expire feature enabled.
// @FIXME
// Could not extract the default value because it is either indeterminate, or
// not scalar. You'll need to provide a default value in
// config/install/node_expire.settings.yml and config/schema/node_expire.schema.yml.
$ntypes = \Drupal::config('node_expire.settings')
->get('node_expire_ntypes');
$node_expire_enabled = array();
// Check if node_expire are enabled for each node.
// If node_expires are not enabled, do nothing.
foreach ($nodes as $node) {
// Store whether node_expires are enabled for this node.
if (isset($ntypes[$node->type]) and $ntypes = $ntypes[$node->type]) {
$node_expire_enabled[] = $node->nid;
}
}
// For nodes with node_expire enabled, fetch information from the database.
if (!empty($node_expire_enabled)) {
$handle_content_expiry = \Drupal::config('node_expire.settings')
->get('node_expire_handle_content_expiry');
$result = db_query('SELECT n.nid, n.type, expire, expired, lastnotify
FROM {node} n
INNER JOIN {node_expire} ne
ON n.nid = ne.nid
WHERE n.nid
IN (:node_expire_enabled)', array(
':node_expire_enabled' => $node_expire_enabled,
));
foreach ($result as $record) {
if ($handle_content_expiry == 0) {
$nodes[$record->nid]->expire = $record->expire;
}
else {
$ntype = isset($ntypes[$record->type]) ? $ntypes[$record->type] : NULL;
$nodes[$record->nid]->expire = _node_expire_date_db_to_str($record->expire, $ntype);
}
$nodes[$record->nid]->expired = $record->expired;
$nodes[$record->nid]->lastnotify = $record->lastnotify;
}
}
}