/**
  * Show a nice form for the user to request a confirmation mail
  * original function: showRequestForm() in EmailConfirmation class (Special:Confirmemail page)
  *
  * @param EmailConfirmation $pageObj
  */
 public function showRequestFormConfirmEmail(EmailConfirmation $pageObj)
 {
     $user = $pageObj->getUser();
     /* @var $user User */
     $out = $pageObj->getOutput();
     /* @var $out OutputPage */
     $optionNewEmail = $user->getGlobalAttribute('new_email');
     if ($pageObj->getRequest()->wasPosted() && $user->matchEditToken($pageObj->getRequest()->getText('token'))) {
         // Wikia change -- only allow one email confirmation attempt per hour
         if (strtotime($user->mEmailTokenExpires) - strtotime("+6 days 23 hours") > 0) {
             $out->addWikiMsg('usersignup-error-throttled-email');
             return;
         }
         $email = $user->isEmailConfirmed() && !empty($optionNewEmail) ? $optionNewEmail : $user->getEmail();
         $status = $this->sendReconfirmationEmail($user, $email);
         if ($status->isGood()) {
             $out->addWikiMsg('usersignup-user-pref-reconfirmation-email-sent', $email);
         } else {
             $out->addWikiText($status->getWikiText('userlogin-error-mail-error'));
         }
     } else {
         if ($user->isEmailConfirmed() && empty($optionNewEmail)) {
             // date and time are separate parameters to facilitate localisation.
             // $time is kept for backward compat reasons.
             // 'emailauthenticated' is also used in SpecialPreferences.php
             $lang = $pageObj->getLanguage();
             $emailAuthenticated = $user->getEmailAuthenticationTimestamp();
             $time = $lang->timeAndDate($emailAuthenticated, $user);
             $d = $lang->date($emailAuthenticated, $user);
             $t = $lang->time($emailAuthenticated, $user);
             $out->addWikiMsg('usersignup-user-pref-emailauthenticated', $time, $d, $t);
             return;
         }
         if ($user->isEmailConfirmationPending() || !empty($optionNewEmail)) {
             $out->addWikiMsg('usersignup-confirm-email-unconfirmed-emailnotauthenticated');
             if (strtotime($user->mEmailTokenExpires) - strtotime("+6 days 23 hours") > 0) {
                 return;
             }
         }
         $form = Xml::openElement('form', array('method' => 'post', 'action' => $pageObj->getTitle()->getLocalUrl()));
         $form .= Html::hidden('token', $user->getEditToken());
         $form .= Xml::submitButton($pageObj->msg('usersignup-user-pref-confirmemail_send')->text());
         $form .= Xml::closeElement('form');
         $out->addHTML($form);
     }
 }