Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/system/registration/authentication.php
Строк: 146
<?php
namespace ConcreteControllerSinglePageDashboardSystemRegistration;

use 
AuthenticationType;
use 
ConcreteCorePageControllerDashboardPageController;
use 
ConcreteCoreValidationCSRFToken;
use 
Exception;
use 
Session;

class 
Authentication extends DashboardPageController
{

    const 
ERROR_INVALID_TYPE 1;
    const 
ERROR_INVALID_TOKEN 2;

    public function 
getErrorStrings()
    {
        return array(
            
self::ERROR_INVALID_TOKEN => t('Invalid Token'),
            
self::ERROR_INVALID_TYPE => t('Invalid Authentication Type')
        );
    }

    public function 
getErrorString($error)
    {
        return 
array_get($this->getErrorStrings(), $errort('Invalid Error Code'));
    }

    public function 
view()
    {
        
$ats AuthenticationType::getList(true);
        
$this->set('ats'$ats);
        if (
Session::has('authenticationTypesErrorCode')) {
            
$atec Session::get('authenticationTypesErrorCode');
            
Session::remove('authenticationTypesErrorCode');

            
$this->error->add($this->getErrorString($atec));
        }
    }

    public function 
reorder()
    {
        
$order $this->post('order');
        
$l count($order);
        for (
$i 0$i $l$i++) {
            try {
                
$at AuthenticationType::getByID($order[$i]);
                
$at->setAuthenticationTypeDisplayOrder($i);
            } catch (
exception $e) {
            }
        }
        exit;
    }

    public function 
enable($atid)
    {
        try {
            
$at AuthenticationType::getByID($atid);

            
/** @var Token $token */
            
$token Core::make('token');

            if (!
$token->validate("auth_type_toggle.{$atid}")) {
                
Session::set('authenticationTypesErrorCode'self::ERROR_INVALID_TOKEN);
                
$this->redirect('dashboard/system/registration/authentication/');
                exit;
            }

            
$at->enable();
            
$this->set('message't('The %s authentication type has been enabled.'$at->getAuthenticationTypeName()));
        } catch (
Exception $e) {
            
$this->error->add($e->getMessage());
        }
        
$this->view();
    }

    public function 
disable($atid)
    {
        try {
            
$at AuthenticationType::getByID($atid);

            
/** @var Token $token */
            
$token Core::make('token');

            if (!
$token->validate("auth_type_toggle.{$atid}")) {
                
Session::set('authenticationTypesErrorCode'self::ERROR_INVALID_TOKEN);
                
$this->redirect('dashboard/system/registration/authentication/');
                exit;
            }

            
$at->disable();
            
$this->set('message't('The %s authentication type has been disabled.'$at->getAuthenticationTypeName()));
        } catch (
Exception $e) {
            
$this->error->add($e->getMessage());
        }
        
$this->view();
    }

    public function 
save($atid)
    {
        
$values $this->post();
        try {
            
$at AuthenticationType::getByID($atid);

            
/** @var Token $token */
            
$token Core::make('token');

            if (!
$token->validate("auth_type_save.{$atid}")) {
                
Session::set('authenticationTypesErrorCode'self::ERROR_INVALID_TOKEN);
                
$this->redirect('dashboard/system/registration/authentication/');
                exit;
            }

            try {
                
$at->controller->saveAuthenticationType($values);
                
$this->set('message',
                    
t('The %s authentication type has been saved.'$at->getAuthenticationTypeName()));
            } catch (
Exception $e) {
                
$this->error->add($e->getMessage());
            }
        } catch (
Exception $e) {
            
Session::set('authenticationTypesErrorCode'self::ERROR_INVALID_TYPE);
            
$this->redirect('dashboard/system/registration/authentication/');
            exit;
        }
        
$this->view();
    }

    public function 
edit($atid)
    {
        try {
            
$at AuthenticationType::getByID($atid);
        } catch (
Exception $e) {
            
Session::set('authenticationTypesErrorCode'self::ERROR_INVALID_TYPE);
            
$this->redirect('dashboard/system/registration/authentication/');
            exit;
        }
        
$this->set('at'$at);
        
$this->set('editmode'true);
    }
}
Онлайн: 0
Реклама