Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Tfa/AbstractProvider.php
<?php

namespace XF\Tfa;

use
XF\Entity\TfaProvider;

abstract class
AbstractProvider
{
    protected
$providerId;

    protected
$bypassFailedAttemptLog = false;

    abstract public function
generateInitialData(\XF\Entity\User $user, array $config = []);
    abstract public function
trigger($context, \XF\Entity\User $user, array &$config, \XF\Http\Request $request);
    abstract public function
render($context, \XF\Entity\User $user, array $config, array $triggerData);
    abstract public function
verify($context, \XF\Entity\User $user, array &$config, \XF\Http\Request $request);

    public function
__construct($providerId)
    {
       
$this->providerId = $providerId;
    }

    public function
getBypassFailedAttemptLog()
    {
        return
$this->bypassFailedAttemptLog;
    }

    public function
getTitle()
    {
        return \
XF::phrase('tfa.' . $this->providerId);
    }

    public function
getDescription()
    {
        return \
XF::phrase('tfa_desc.' . $this->providerId);
    }

    public function
renderOptions(TfaProvider $provider)
    {
        return
'';
    }

    public function
verifyOptions(\XF\Http\Request $request, array &$options, &$error = null)
    {
        return
true;
    }

    public function
verifyOptionsValue(array $options, &$error = null)
    {
       
$optionsRequest = new \XF\Http\Request(
            \
XF::app()->inputFilterer(), $options
       
);
        return
$this->verifyOptions($optionsRequest, $options, $error);
    }

    public function
isUsable()
    {
        return
true;
    }

    public function
canEnable()
    {
        return
true;
    }

    public function
meetsRequirements(\XF\Entity\User $user, &$error)
    {
        return
true;
    }

    public function
canDisable()
    {
        return
true;
    }

    public function
canManage()
    {
        return
false;
    }

    public function
handleManage(
        \
XF\Mvc\Controller $controller, \XF\Entity\TfaProvider $provider, \XF\Entity\User $user, array $config
   
)
    {
        return
null;
    }

    public function
requiresConfig()
    {
        return
false;
    }

    public function
handleConfig(
        \
XF\Mvc\Controller $controller, \XF\Entity\TfaProvider $provider, \XF\Entity\User $user, array &$config
   
)
    {
        return
null;
    }

    public function
getProviderId()
    {
        return
$this->providerId;
    }

   
/**
     * @return null|\XF\Mvc\Entity\Entity|TfaProvider
     */
   
public function getProvider()
    {
        return \
XF::em()->find('XF:TfaProvider', $this->providerId);
    }
}