1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /**
- * Form to submit for an email verification
- */
- function email_required_verification_form($form, &$form_state) {
- global $user;
-
- drupal_set_title(t('You must verify your email address to continue'));
-
- $form['warning'] = array(
- '#type' => 'item',
- '#markup' => t('The page you requested requires that you first verify your email address. Clicking the button below will send an email to the address associated with your account. It will contain a link that, when clicked, will verify your email address. You will only have to do this once.'),
- );
-
- $form['email'] = array(
- '#type' => 'item',
- '#markup' => t('Your current email address is %email. !link to change it before verifying.', array('%email' => $user->mail, '!link' => l(t('Click here'), "user/{$user->uid}/edit", array('query' => array('destination' => 'email/verify'))))),
- );
-
- $form['submit'] = array(
- '#type' => 'submit',
- '#value' => t('Send the verification email'),
- );
-
- return $form;
- }
- /**
- * Submit handler for the email verification form
- */
- function email_required_verification_form_submit(&$form, &$form_state) {
- global $user;
-
- // Insert a new hash
- email_required_create_hash($user);
-
- // Send the email
- drupal_mail('email_required', 'verification', $user->mail, user_preferred_language($user));
-
- // Set a message
- drupal_set_message(t('A verification email has been sent to you.'));
-
- // Log the action
- watchdog('email_required', 'Verification email sent to !user (!uid)', array('!user' => $user->name, '!uid' => $user->uid));
- // Go home
- $form_state['redirect'] = '<front>';
- }
- /**
- * Page callback for verification hash links
- *
- * @param $account
- * A user object specified in the link
- * @param $string
- * The hash string on the URL
- */
- function email_required_verification_page($account, $string) {
- global $user;
-
- $output = '';
- // See if the user is already validated
- if (email_required_user_is_validated($account)) {
- $output .= t('You have already validated your email address.');
- }
- // Load the hash for this user and see if it's a match
- else if (($hash = email_required_load_hash($account)) && ($hash->hash == $string)) {
- // Verify the email address
- email_required_validate_hash($account);
- // Log the action
- watchdog('email_required', '!user (!uid) has validated their email address.', array('!user' => $account->name, '!uid' => $account->uid));
- // Set a message
- $output = t('Your email address has been verified.');
- // Set the title
- drupal_set_title(t('Verified!'));
- }
- else {
- $output .= t('Invalid verification link. It is possible that this link has expired. !link to have another one emailed to you.', array('!link' => l(t('Click here'), 'email/verify')));
- }
- $output .= "<br/><br/>" . l(t('Return to the homepage'), '<front>');
-
- return $output;
- }
|