function content_load in Content Construction Kit (CCK) 6.3
Same name and namespace in other branches
- 5 content.module \content_load()
- 6 content.module \content_load()
- 6.2 content.module \content_load()
Load data for a node type's fields. Implementation of hook_nodeapi 'load' op.
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.
File
- ./
content.module, line 240 - Allows administrators to associate custom fields to content types.
Code
function content_load(&$node) {
$cid = 'content:' . $node->nid . ':' . $node->vid;
if ($cached = cache_get($cid, content_cache_tablename())) {
foreach ($cached->data as $key => $value) {
$node->{$key} = $value;
}
}
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) {
$node->{$key} = $value;
$default_additions[$key] = $value;
}
}
cache_set($cid, $default_additions, content_cache_tablename());
}
}