function commerce_registration_registrations_broadcast_form in Commerce Registration 7.2
Registration broadcast form for product display nodes.
1 string reference to 'commerce_registration_registrations_broadcast_form'
- commerce_registration_menu_alter in ./
commerce_registration.module - Implements hook_menu_alter().
File
- includes/
commerce_registration.forms.inc, line 158 - Commerce Registration modified validation and submit handlers for registration settings for commerce products.
Code
function commerce_registration_registrations_broadcast_form($form, &$form_state, $type, $entity) {
// Loop through all products on the entity and add the broadcast form to a
// fieldset.
form_load_include($form_state, 'inc', 'registration', 'includes/registration.forms');
$form = array();
$all = array(
'all' => 'All Registrants',
);
$products = array();
if ($type == 'node') {
$fields = field_read_fields(array(
'type' => 'registration',
));
foreach ($fields as $field) {
if (isset($entity->{$field['field_name']})) {
$products['node-' . $entity->nid] = t('Node: !title', array(
'!title' => $entity->title,
));
}
}
}
$fields = field_read_fields(array(
'type' => 'commerce_product_reference',
));
foreach ($fields as $field) {
if (isset($entity->{$field['field_name']})) {
if ($field['translatable'] != 0) {
$lang = entity_language($type, $entity);
}
if (!isset($lang)) {
$lang = LANGUAGE_NONE;
}
foreach ($entity->{$field['field_name']}[$lang] as $product) {
if (commerce_registration_product_has_registration_field($product['product_id'])) {
$product = commerce_product_load($product['product_id']);
$label = entity_label('commerce_product', $product);
$products['commerce_product-' . $product->product_id] = t('Commerce Product: !title', array(
'!title' => $label,
));
}
}
}
}
if (empty($products)) {
$form = registration_registrations_broadcast_form($form, $form_state, $type, $entity);
$form['#submit'] = array(
'registration_registrations_broadcast_form_submit',
);
}
else {
$form['product'] = array(
'#type' => 'select',
'#options' => $all + $products,
'#title' => t('Select One'),
'#description' => t('The email message will be sent to all registrants for this item.'),
'#required' => TRUE,
);
$form += registration_registrations_broadcast_form($form, $form_state, $type, $entity);
$form['#submit'] = array(
'commerce_registration_registrations_broadcast_form_submit',
);
}
return $form;
}