_content_field_invoke
- 5 – 6
_content_field_invoke($op, &$node, $teaser = NULL, $page = NULL)
Invoke a field hook.
For each operation, both this function and _content_field_invoke_default() are
called so that the default database handling can occur.
Code
contributions/cck/content.module, line 533
<?php
function _content_field_invoke($op, &$node, $teaser = NULL, $page = NULL) {
$type_name = is_string($node) ? $node : (is_array($node) ? $node['type'] : $node->type);
$type = content_types($type_name);
$field_types = _content_field_types();
$return = array();
if (count($type['fields'])) {
foreach ($type['fields'] as $field) {
$node_field = isset($node->$field['field_name']) ? $node->$field['field_name'] : array();
$module = $field_types[$field['type']]['module'];
$function = $module .'_field';
if (function_exists($function)) {
$result = $function($op, $node, $field, $node_field, $teaser, $page);
if (is_array($result)) {
$return = array_merge($return, $result);
}
else if (isset($result)) {
$return[] = $result;
}
}
if (isset($node->$field['field_name']) || count($node_field)) {
$node->$field['field_name'] = $node_field;
}
}
}
return $return;
}
?>