function token_field_field in Token Field 6
Implementation of hook_field().
File
- ./
token_field.module, line 86 - Optional extension to CCK (Content Construction Kit) to provide a read-only field which allows embedding of "compound" fields using Tokens.
Code
function token_field_field($op, &$node, $field, &$items, $teaser, $page) {
switch ($op) {
case 'load':
// Get the template from the field and overly the defaults
$item = $field['template'] + array(
'body' => '',
'format' => FILTER_FORMAT_DEFAULT,
'parse_as_php' => FALSE,
);
return array(
$field['field_name'] => array(
$item,
),
);
case 'sanitize':
// Define the available token types
$types = array(
'global' => NULL,
'node' => $node,
);
// For each item, parse the token filtered content as markup
// There will usually only ever be 1 item
foreach ($items as $delta => $item) {
// Parse as PHP first, if set
if ($item['parse_as_php']) {
token_field_parse_as_php($item['body'], $node, $field, $items, $teaser, $page, $delta);
}
// Parse the body for tokens
$body_token_filtered = token_replace_multiple($item['body'], $types);
// Check the parsed token body against the defined input format
$items[$delta]['safe'] = check_markup($body_token_filtered, $item['format'], FALSE);
}
break;
}
}