- content_load in contributions/cck/content.module
- Load data for a node type's fields.
- content_nodeapi in contributions/cck/content.module
- Implementation of hook_nodeapi().
contributions/cck/content.module, line 174
content_load(&$node)Load data for a node type's fields.
When loading one of the content.module nodes, we need to let each field handle its own loading. This can make for a number of queries in some cases, so we cache the loaded object structure and invalidate it during the update process.
<?php
function content_load(&$node) {
$cid = 'content:'. $node->nid .':'. $node->vid;
if ($cached = cache_get($cid, 'cache_content')) {
$extra = unserialize($cached->data);
foreach ($extra as $key => $value) {
$node->$key = $value;
}
return $extra;
}
else {
$default_additions = _content_field_invoke_default('load', $node);
if ($default_additions) {
foreach ($default_additions as $key => $value) {
$node->$key = $value;
}
}
$additions = _content_field_invoke('load', $node);
if ($additions) {
foreach ($additions as $key => $value) {
$default_additions[$key] = $value;
}
}
cache_set($cid, 'cache_content', serialize($default_additions));
return $default_additions;
}
}
?>