function invite_page_form in Invite 6.2
Same name and namespace in other branches
- 5.2 invite.module \invite_page_form()
- 7.2 invite.module \invite_page_form()
Generate the invite page form.
Parameters
$remaining_invite: Number of remaining invites.
$edit: Previous values when resending an invite.
Return value
A form definition.
1 call to invite_page_form()
- invite_form in ./
invite.module - Generate the invite forms.
File
- ./
invite.module, line 745 - Allows your users to send and track invitations to join your site.
Code
function invite_page_form($remaining_invites, $edit = array()) {
global $user;
// Remaining invites.
if ($remaining_invites != INVITE_UNLIMITED) {
$form['remaining_invites_markup']['#value'] = format_plural($remaining_invites, 'You have 1 invite remaining.', 'You have @count invites remaining.');
}
// Sender e-mail address.
if ($user->uid && variable_get('invite_use_users_email', 0)) {
$from = $user->mail;
}
else {
$from = variable_get('site_mail', ini_get('sendmail_from'));
}
// Personalize displayed e-mail address.
// @see http://drupal.org/project/pmail
if (module_exists('pmail')) {
$from = personalize_email($from);
}
$form['from'] = array(
'#type' => 'item',
'#title' => t('From'),
'#value' => check_plain($from),
);
// Recipient email address.
if (!$edit) {
$failed_emails = '';
$allow_multiple = user_access('send mass invitations');
if (isset($_SESSION['invite_failed_emails'])) {
$failed_emails = implode("\n", (array) unserialize($_SESSION['invite_failed_emails']));
unset($_SESSION['invite_failed_emails']);
}
$form['email'] = array(
'#title' => t('To'),
'#default_value' => $failed_emails,
'#description' => format_plural($allow_multiple ? 99 : 1, 'Enter the e-mail address of the person you would like to invite.', 'Enter the e-mail addresses of the persons you would like to invite. To specify multiple recipients, enter one e-mail address per line or separate each address with a comma.'),
'#required' => TRUE,
);
if ($allow_multiple) {
$form['email']['#type'] = 'textarea';
$form['email']['#rows'] = 3;
}
else {
$form['email']['#type'] = 'textfield';
$form['email']['#maxlength'] = 64;
}
if ($failed_emails) {
$form['email']['#attributes']['class'] = 'error';
}
}
else {
// The email is not editable when resending an invite.
$allow_multiple = FALSE;
$form['email_markup'] = array(
'#type' => 'item',
'#title' => t('To'),
'#value' => check_plain($edit['email']),
);
$form['email'] = array(
'#type' => 'value',
'#value' => $edit['email'],
);
}
// Message subject.
if ($edit && !empty($edit['data']['subject'])) {
$subject = $edit['data']['subject'];
}
else {
$subject = invite_get_subject();
}
// Add prefix.
$prefix = t('Re:');
if ($edit && drupal_substr($subject, 0, strlen($prefix)) != $prefix) {
$subject = $prefix . ' ' . $subject;
}
if (variable_get('invite_subject_editable', FALSE)) {
$form['subject'] = array(
'#type' => 'textfield',
'#title' => t('Subject'),
'#default_value' => $subject,
'#description' => t('Type the subject of the invitation e-mail.'),
'#required' => TRUE,
);
}
else {
$form['subject'] = array(
'#type' => 'item',
'#title' => t('Subject'),
'#value' => check_plain($subject),
);
}
// Message body.
$form['body'] = array(
'#type' => 'item',
'#title' => t('Message'),
);
$form['message'] = array(
'#type' => 'textarea',
'#default_value' => $edit && !empty($edit['data']['message']) ? $edit['data']['message'] : '',
'#description' => format_plural($allow_multiple ? 1 : 99, 'This message will be added to the mail sent to the persons you are inviting.', 'This message will be added to the mail sent to the person you are inviting.'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Send invite'),
);
return $form;
}