function newsletter_subscriber_form in Newsletter 7.2
Form callback: create or edit a subscriber.
Parameters
$subscriber: The subscriber object to edit or for a create form an empty subscriber object with only a subscriber type defined.
See also
newsletter_subscriber_form_validate()
newsletter_subscriber_form_submit()
newsletter_subscriber_form_submit_delete()
NewsletterSubscriberUIController::hook_menu()
1 string reference to 'newsletter_subscriber_form'
- newsletter_subscriber_manage_subscriptions in modules/
subscriber/ includes/ newsletter_subscriber.pages.inc - Page callback: Build the manage subscriptions form for visitors.
File
- modules/
subscriber/ includes/ newsletter_subscriber.admin.inc, line 21 - hook_menu callbacks for admin pages.
Code
function newsletter_subscriber_form($form, &$form_state, $subscriber) {
// Add the default field elements.
$form['mail'] = array(
'#type' => 'textfield',
'#title' => t('E-mail'),
'#default_value' => isset($subscriber->mail) ? $subscriber->mail : '',
'#maxlength' => 255,
'#required' => TRUE,
'#weight' => -5,
);
// Simply use default language for now.
// @todo Support multilingual newsletters.
$form['language'] = array(
'#type' => 'value',
'#value' => LANGUAGE_NONE,
);
// Add the field related form elements.
field_attach_form('newsletter_subscriber', $subscriber, $form, $form_state);
$form['actions'] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'form-actions',
),
),
'#weight' => 400,
);
// We add the form's #submit array to this button along with the actual submit
// handler to preserve any submit handlers added by a form callback_wrapper.
$submit = array();
if (!empty($form['#submit'])) {
$submit += $form['#submit'];
}
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save subscriber'),
'#submit' => $submit + array(
'newsletter_subscriber_form_submit',
),
);
if (!empty($subscriber->hash)) {
$form['actions']['delete'] = array(
'#type' => 'submit',
'#value' => t('Unsubscribe'),
'#submit' => $submit + array(
'newsletter_subscriber_form_submit_delete',
),
'#weight' => 45,
);
}
$form['actions']['cancel'] = array(
'#type' => 'link',
'#href' => 'admin/config/media/newsletter/subscribers',
'#title' => t('Cancel'),
);
// We append the validate handler to #validate in case a form callback_wrapper
// is used to add validate handlers earlier.
$form['#validate'][] = 'newsletter_subscriber_form_validate';
$form_state['newsletter_subscriber'] = $subscriber;
return $form;
}