56 lines
1.3 KiB
PHP
56 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package Joomla.Administrator
|
|
* @subpackage com_users
|
|
*
|
|
* @copyright (C) 2022 Open Source Matters, Inc. <https://www.joomla.org>
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
|
|
namespace Joomla\Component\Users\Site\Controller;
|
|
|
|
use Joomla\CMS\Router\Route;
|
|
use Joomla\Component\Users\Administrator\Controller\CaptiveController as AdminCaptiveController;
|
|
|
|
// phpcs:disable PSR1.Files.SideEffects
|
|
\defined('_JEXEC') or die;
|
|
// phpcs:enable PSR1.Files.SideEffects
|
|
|
|
/**
|
|
* Captive Multi-factor Authentication page controller
|
|
*
|
|
* @since 4.2.0
|
|
*/
|
|
class CaptiveController extends AdminCaptiveController
|
|
{
|
|
/**
|
|
* Execute a task by triggering a Method in the derived class.
|
|
*
|
|
* @param string $task The task to perform.
|
|
*
|
|
* @return mixed The value returned by the called Method.
|
|
*
|
|
* @throws \Exception
|
|
* @since 4.2.0
|
|
*/
|
|
public function execute($task)
|
|
{
|
|
try {
|
|
return parent::execute($task);
|
|
} catch (\Exception $e) {
|
|
if ($e->getCode() !== 403) {
|
|
throw $e;
|
|
}
|
|
|
|
if ($this->app->getIdentity()->guest) {
|
|
$this->setRedirect(Route::_('index.php?option=com_users&view=login', false));
|
|
|
|
return null;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|