/** * Request the reactivation of the user's account * * This involves confirming they should be allowed to request this, * generating a token, and emailing the link with the token, so we * can confirm that they own this account. * * @param User $user The user account to reactivate * @param WikiaApp $app An instance of WikiaApp * @return boolean True if the reactivation was successfully requested, * False otherwise */ public function requestReactivation(User $user, $app) { wfProfileIn(__METHOD__); // Not scheduled for closure or not email confirmed? if (!$this->isScheduledForClosure($user) || !$user->isEmailConfirmed()) { wfProfileOut(__METHOD__); return false; } $emailTextTemplate = $app->renderView('CloseMyAccountSpecial', 'email', ['language' => $user->getGlobalPreference('language')]); $response = $user->sendConfirmationMail('reactivateaccount', 'ReactivationMail', 'closemyaccount-reactivation-email', true, $emailTextTemplate); $this->track($user, 'request-reactivation'); wfProfileOut(__METHOD__); return $response->isGood(); }