function registration_field_formatter_view in Entity Registration 7
Same name and namespace in other branches
- 8.2 includes/registration.field.inc \registration_field_formatter_view()
- 7.2 includes/registration.field.inc \registration_field_formatter_view()
Implements hook_field_formatter_view().
File
- includes/
registration.field.inc, line 256 - Field hooks.
Code
function registration_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
// we know we should only have a single item
if (isset($items[0]['registration_type']) && !empty($items[0]['registration_type'])) {
$reg_type = registration_type_load($items[0]['registration_type']);
$settings = $display['settings'];
$label = !empty($settings['label']) ? _registration_translate($settings['i18n_string_key'] . ':label', $settings['label']) : $reg_type->label;
list($entity_id) = entity_extract_ids($entity_type, $entity);
switch ($display['type']) {
case 'registration_link':
// Enable registration link if accessible.
if (registration_register_page_access($entity_type, $entity) && registration_status($entity_type, $entity_id)) {
$uri = entity_uri($entity_type, $entity);
$element[0] = array(
'#markup' => theme('registration_link', array(
'label' => $label,
'path' => $uri['path'] . '/register',
'registration type' => $reg_type,
'entity_type' => $entity_type,
'entity' => $entity,
)),
);
}
break;
case 'registration_form':
// Enable registration form if accessible.
if (registration_register_page_access($entity_type, $entity) && registration_status($entity_type, $entity_id)) {
$registration = entity_get_controller('registration')
->create(array(
'entity_type' => $entity_type,
'entity_id' => $entity_id,
'type' => $reg_type->name,
));
$element[0] = drupal_get_form('registration_form', $registration);
}
break;
case 'registration_type':
$element[0] = array(
'#markup' => $label,
);
break;
}
}
return $element;
}