function field_reference_label_create in Field reference 7
Compose a field reference label.
WARNING: This function does not sanitize output, such as node titles. Use only in form inputs or wrap printed labels in filter_xss().
Parameters
$field_reference: An associative array representing the field reference data.
Return value
The field reference label.
1 call to field_reference_label_create()
- _field_reference_potential_references_standard in ./
field_reference.module - Helper function for field_reference_potential_references().
File
- ./
field_reference.module, line 1161 - Defines a field type for referencing a field from another.
Code
function field_reference_label_create($field_reference) {
$label = $field_reference['field_label'];
if (!empty($field_reference['entity_label'])) {
$label .= $field_reference['entity_label'];
}
elseif (!empty($field_reference['entity_type']) && !empty($field_reference['entity_id'])) {
$entity_type_info = field_reference_entity_get_info($field_reference['entity_type']);
if (!empty($field_reference['revision_id']) && !empty($entity_type_info['entity keys']['revision'])) {
$field_entity = entity_load_single($field_reference['entity_type'], $field_reference['entity_id']);
}
else {
$field_entity = entity_load_single($field_reference['entity_type'], $field_reference['entity_id']);
}
$label .= ' - ' . entity_label($field_reference['entity_type'], $field_entity);
}
if (!empty($field_reference['revision_id'])) {
if (isset($field_entity->revision_uid) && isset($field_entity->revision_timestamp)) {
$rev_extra = ' [';
$user = user_load($field_entity->revision_uid);
$rev_extra .= t('!date by !username', array(
'!date' => format_date($field_entity->revision_timestamp, 'short'),
'!username' => $user->name,
));
$logmsg = !empty($field_entity->log) ? ' - ' . check_plain($field_entity->log) . '' : '';
if (strlen($logmsg > 12)) {
$logmsg = substr($logmsg, 0, 11) . '…';
}
$rev_extra .= $logmsg . ']';
}
$label .= ' (' . t('revision') . ' ' . $field_reference['revision_id'] . $rev_extra . ')';
}
if (!empty($field_reference['language'])) {
$label .= ' ' . strtoupper($field_reference['language']);
}
return $label;
}