Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Pub/Controller/AccountConfirmation.php
<?php

namespace XF\Pub\Controller;

use
XF\Mvc\ParameterBag;
use
XF\Mvc\Reply\AbstractReply;

class
AccountConfirmation extends AbstractController
{
    public function
actionEmail(ParameterBag $params)
    {
       
/** @var \XF\Entity\User $user */
       
$user = $this->assertRecordExists('XF:User', $params->user_id);

       
/** @var \XF\Service\User\EmailConfirmation $emailConfirmation */
       
$emailConfirmation = $this->service('XF:User\EmailConfirmation', $user);

        if (!
$emailConfirmation->canTriggerConfirmation())
        {
            return
$this->redirect($this->buildLink('index'));
        }

       
$confirmationKey = $this->filter('c', 'str');
        if (!
$emailConfirmation->isConfirmationVerified($confirmationKey))
        {
            return
$this->error(\XF::phrase('your_email_could_not_be_confirmed_use_resend'));
        }

       
$emailConfirmation->emailConfirmed();

       
$viewParams = [];

       
$preRegContent = $emailConfirmation->getPreRegContent();
        if (
$preRegContent instanceof \XF\Entity\LinkableInterface)
        {
           
$viewParams['preRegContentUrl'] = $preRegContent->getContentUrl();
        }

        if (
$user->user_state == 'valid' && $this->session()->hasPreRegActionPending)
        {
           
$this->session()->remove('hasPreRegActionPending');
        }

        return
$this->view('XF:Register\Confirm', 'register_confirm', $viewParams);
    }

    public function
actionResend()
    {
       
$visitor = \XF::visitor();
        if (!
$visitor->user_id)
        {
            return
$this->redirect($this->buildLink('index'), '');
        }

        return
$this->plugin('XF:EmailConfirmation')->actionResend(
           
$visitor,
           
$this->buildLink('account-confirmation/resend'),
            [
'checkCaptcha' => true]
        );
    }

    public function
updateSessionActivity($action, ParameterBag $params, AbstractReply &$reply) {}

    public function
assertViewingPermissions($action) {}
    public function
assertCorrectVersion($action) {}
    public function
assertBoardActive($action) {}
    public function
assertTfaRequirement($action) {}
    public function
assertPolicyAcceptance($action) {}
}