forked from D3Public/oxtotp
add setup, admin panel, tpl block
This commit is contained in:
parent
d8cd285342
commit
ed3eee4e67
23
src/Application/Controller/Admin/d3user_totp.php
Normal file
23
src/Application/Controller/Admin/d3user_totp.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Software is the property of Data Development and is protected
|
||||||
|
* by copyright law - it is NOT Freeware.
|
||||||
|
* Any unauthorized use of this software without a valid license
|
||||||
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
|
* civil and criminal law.
|
||||||
|
* http://www.shopmodule.com
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
|
* @link http://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace D3\Totp\Application\Controller\Admin;
|
||||||
|
|
||||||
|
use OxidEsales\Eshop\Application\Controller\Admin\AdminDetailsController;
|
||||||
|
|
||||||
|
class d3user_totp extends AdminDetailsController
|
||||||
|
{
|
||||||
|
protected $_sThisTemplate = 'd3user_totp.tpl';
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
[{if $request_totp}]
|
||||||
|
[{$oViewConf->getHiddenSid()}]
|
||||||
|
|
||||||
|
<input type="hidden" name="fnc" value="checklogin">
|
||||||
|
<input type="hidden" name="cl" value="login">
|
||||||
|
|
||||||
|
[{if $Errors.default|@count}]
|
||||||
|
[{include file="inc_error.tpl" Errorlist=$Errors.default}]
|
||||||
|
[{/if}]
|
||||||
|
|
||||||
|
<label for="d3totp">[{oxmultilang ident="TOTP_INPUT"}]</label>
|
||||||
|
<input type="text" name="d3totp" id="d3totp" value="" size="49" autofocus><br>
|
||||||
|
|
||||||
|
[{oxmultilang ident="TOTP_INPUT_HELP"}]
|
||||||
|
[{else}]
|
||||||
|
[{$smarty.block.parent}]
|
||||||
|
[{/if}]
|
27
src/Application/views/admin/de/d3totp_lang.php
Normal file
27
src/Application/views/admin/de/d3totp_lang.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Software is the property of Data Development and is protected
|
||||||
|
* by copyright law - it is NOT Freeware.
|
||||||
|
*
|
||||||
|
* Any unauthorized use of this software without a valid license
|
||||||
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
|
* civil and criminal law.
|
||||||
|
*
|
||||||
|
* http://www.shopmodule.com
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
|
* @link http://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
$sLangName = "Deutsch";
|
||||||
|
|
||||||
|
$aLang = [
|
||||||
|
'charset' => 'UTF-8',
|
||||||
|
|
||||||
|
'TOTP_INPUT' => 'Authentisierungscode',
|
||||||
|
'TOTP_INPUT_HELP' => 'Den Authentisierungscode erhalten Sie von der Zweifaktorauthentisierung-App auf Ihrem Gerät.',
|
||||||
|
|
||||||
|
'd3mxuser_totp' => '2-Faktor-Authentisierung',
|
||||||
|
];
|
27
src/Application/views/admin/en/d3totp_lang.php
Normal file
27
src/Application/views/admin/en/d3totp_lang.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Software is the property of Data Development and is protected
|
||||||
|
* by copyright law - it is NOT Freeware.
|
||||||
|
*
|
||||||
|
* Any unauthorized use of this software without a valid license
|
||||||
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
|
* civil and criminal law.
|
||||||
|
*
|
||||||
|
* http://www.shopmodule.com
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
|
* @link http://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
$sLangName = "English";
|
||||||
|
|
||||||
|
$aLang = [
|
||||||
|
'charset' => 'UTF-8',
|
||||||
|
|
||||||
|
'TOTP_INPUT' => 'authentication code',
|
||||||
|
'TOTP_INPUT_HELP' => 'The authentication code is available from the Two-Factor Authentication app on your device.',
|
||||||
|
|
||||||
|
'd3mxuser_totp' => 'Two-factor authentication',
|
||||||
|
];
|
6
src/Application/views/admin/tpl/d3user_totp.tpl
Normal file
6
src/Application/views/admin/tpl/d3user_totp.tpl
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign}]
|
||||||
|
|
||||||
|
foo
|
||||||
|
|
||||||
|
[{include file="bottomnaviitem.tpl"}]
|
||||||
|
[{include file="bottomitem.tpl"}]
|
48
src/Setup/Events.php
Normal file
48
src/Setup/Events.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Software is the property of Data Development and is protected
|
||||||
|
* by copyright law - it is NOT Freeware.
|
||||||
|
*
|
||||||
|
* Any unauthorized use of this software without a valid license
|
||||||
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
|
* civil and criminal law.
|
||||||
|
*
|
||||||
|
* http://www.shopmodule.com
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
|
* @link http://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace D3\Totp\Setup;
|
||||||
|
|
||||||
|
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
|
||||||
|
use D3\ModCfg\Application\Model\Install\d3install;
|
||||||
|
use Doctrine\DBAL\DBALException;
|
||||||
|
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
|
||||||
|
use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
|
||||||
|
use OxidEsales\Eshop\Core\Exception\StandardException;
|
||||||
|
use OxidEsales\Eshop\Core\Exception\SystemComponentException;
|
||||||
|
|
||||||
|
class Events
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @throws d3ShopCompatibilityAdapterException
|
||||||
|
* @throws DBALException
|
||||||
|
* @throws DatabaseConnectionException
|
||||||
|
* @throws DatabaseErrorException
|
||||||
|
* @throws StandardException
|
||||||
|
* @throws SystemComponentException
|
||||||
|
*/
|
||||||
|
public static function onActivate()
|
||||||
|
{
|
||||||
|
if (class_exists(d3install::class)) {
|
||||||
|
d3install::checkUpdateStart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function onDeactivate()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
23
src/Setup/Installation.php
Normal file
23
src/Setup/Installation.php
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This Software is the property of Data Development and is protected
|
||||||
|
* by copyright law - it is NOT Freeware.
|
||||||
|
* Any unauthorized use of this software without a valid license
|
||||||
|
* is a violation of the license agreement and will be prosecuted by
|
||||||
|
* civil and criminal law.
|
||||||
|
* http://www.shopmodule.com
|
||||||
|
*
|
||||||
|
* @copyright (C) D3 Data Development (Inh. Thomas Dartsch)
|
||||||
|
* @author D3 Data Development - Daniel Seifert <support@shopmodule.com>
|
||||||
|
* @link http://www.oxidmodule.com
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace D3\Totp\Setup;
|
||||||
|
|
||||||
|
use D3\ModCfg\Application\Model\Install\d3install_updatebase;
|
||||||
|
|
||||||
|
class Installation extends d3install_updatebase
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
10
src/menu.xml
Normal file
10
src/menu.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<OX>
|
||||||
|
<OXMENU id="NAVIGATION_ESHOPADMIN">
|
||||||
|
<MAINMENU id="mxuadmin">
|
||||||
|
<SUBMENU id="mxusers" cl="admin_user" list="user_list">
|
||||||
|
<TAB id="d3mxuser_totp" cl="d3user_totp" />
|
||||||
|
</SUBMENU>
|
||||||
|
</MAINMENU>
|
||||||
|
</OXMENU>
|
||||||
|
</OX>
|
@ -15,11 +15,10 @@
|
|||||||
* @link http://www.oxidmodule.com
|
* @link http://www.oxidmodule.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use D3\Extsearch\setup as ModuleSetup;
|
use D3\Totp\Setup as ModuleSetup;
|
||||||
use D3\ModCfg\Application\Model\d3utils;
|
use D3\ModCfg\Application\Model\d3utils;
|
||||||
use OxidEsales\Eshop\Application\Controller\Admin\LoginController;
|
use OxidEsales\Eshop\Application\Controller\Admin\LoginController;
|
||||||
use OxidEsales\Eshop\Core\Utils;
|
use OxidEsales\Eshop\Core\Utils;
|
||||||
use OxidEsales\VisualCmsModule\Application\Controller\Admin\VisualCmsAdmin as VisualCMSAdmin;
|
|
||||||
use OxidEsales\Eshop\Application\Controller as OxidController;
|
use OxidEsales\Eshop\Application\Controller as OxidController;
|
||||||
use OxidEsales\Eshop\Application\Model as OxidModel;
|
use OxidEsales\Eshop\Application\Model as OxidModel;
|
||||||
use OxidEsales\Eshop\Application\Component as OxidComponent;
|
use OxidEsales\Eshop\Application\Component as OxidComponent;
|
||||||
@ -34,39 +33,49 @@ $sModuleId = 'd3totp';
|
|||||||
/**
|
/**
|
||||||
* Module information
|
* Module information
|
||||||
*/
|
*/
|
||||||
$aModule = array(
|
$aModule = [
|
||||||
'id' => $sModuleId,
|
'id' => $sModuleId,
|
||||||
'title' =>
|
'title' =>
|
||||||
(class_exists(d3utils::class) ? d3utils::getInstance()->getD3Logo() : 'D³') . ' Zwei-Faktor-Authentisierung',
|
(class_exists(d3utils::class) ? d3utils::getInstance()->getD3Logo() : 'D³') . ' Zwei-Faktor-Authentisierung',
|
||||||
'description' => array(
|
'description' => [
|
||||||
'de' => 'Zwei-Faktor-Authentisierung (TOTP) für OXID eSales Shop',
|
'de' => 'Zwei-Faktor-Authentisierung (TOTP) für OXID eSales Shop',
|
||||||
'en' => 'Two-factor authentication (TOTP) for OXID eSales shop',
|
'en' => 'Two-factor authentication (TOTP) for OXID eSales shop',
|
||||||
),
|
],
|
||||||
'thumbnail' => 'picture.png',
|
'thumbnail' => 'picture.png',
|
||||||
'version' => '0.1',
|
'version' => '0.1',
|
||||||
'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
|
'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
|
||||||
'email' => 'support@shopmodule.com',
|
'email' => 'support@shopmodule.com',
|
||||||
'url' => 'http://www.oxidmodule.com/',
|
'url' => 'http://www.oxidmodule.com/',
|
||||||
'extend' => array(
|
'extend' => [
|
||||||
//OxidModel\User::class => \D3\Totp\Modules\Application\Model\d3_totp_user::class,
|
//OxidModel\User::class => \D3\Totp\Modules\Application\Model\d3_totp_user::class,
|
||||||
LoginController::class => \D3\Totp\Modules\Application\Controller\Admin\d3_totp_LoginController::class,
|
LoginController::class => \D3\Totp\Modules\Application\Controller\Admin\d3_totp_LoginController::class,
|
||||||
Utils::class => \D3\Totp\Modules\Core\d3_totp_utils::class,
|
Utils::class => \D3\Totp\Modules\Core\d3_totp_utils::class,
|
||||||
),
|
|
||||||
'controllers' => array(
|
|
||||||
),
|
|
||||||
'templates' => array(
|
|
||||||
),
|
|
||||||
'events' => [
|
|
||||||
],
|
],
|
||||||
'settings' => array(
|
'controllers' => [
|
||||||
),
|
'd3user_totp' => \D3\Totp\Application\Controller\Admin\d3user_totp::class
|
||||||
'blocks' => array(
|
],
|
||||||
),
|
'templates' => [
|
||||||
'd3FileRegister' => array(
|
'd3user_totp.tpl' => 'd3/totp/Application/views/admin/tpl/d3user_totp.tpl',
|
||||||
),
|
],
|
||||||
'd3SetupClasses' => array(
|
'events' => [
|
||||||
),
|
'onActivate' => '\D3\Totp\Setup\Events::onActivate',
|
||||||
);
|
'onDeactivate' => '\D3\Totp\Setup\Events::onDeactivate',
|
||||||
|
],
|
||||||
|
'settings' => [
|
||||||
|
],
|
||||||
|
'blocks' => [
|
||||||
|
[
|
||||||
|
'template' => 'login.tpl',
|
||||||
|
'block' => 'admin_login_form',
|
||||||
|
'file' => 'Application/views/admin/blocks/d3totp_login_admin_login_form.tpl',
|
||||||
|
]
|
||||||
|
],
|
||||||
|
'd3FileRegister' => [
|
||||||
|
],
|
||||||
|
'd3SetupClasses' => [
|
||||||
|
ModuleSetup\Installation::class
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
// CREATE TABLE `d3totp` (
|
// CREATE TABLE `d3totp` (
|
||||||
// `OXID` CHAR(32) NOT NULL,
|
// `OXID` CHAR(32) NOT NULL,
|
||||||
@ -74,7 +83,7 @@ $aModule = array(
|
|||||||
// `USETOTP` TINYINT(1) NOT NULL DEFAULT '0',
|
// `USETOTP` TINYINT(1) NOT NULL DEFAULT '0',
|
||||||
// `SEED` VARCHAR(100) NOT NULL DEFAULT '0',
|
// `SEED` VARCHAR(100) NOT NULL DEFAULT '0',
|
||||||
// PRIMARY KEY (`OXID`),
|
// PRIMARY KEY (`OXID`),
|
||||||
// UNIQUE INDEX `Schlüssel 2` (`OXUSERID`)
|
// UNIQUE INDEX `Schl<EFBFBD>ssel 2` (`OXUSERID`)
|
||||||
//)
|
//)
|
||||||
//ENGINE=InnoDB
|
//ENGINE=InnoDB
|
||||||
//;
|
//;
|
Loading…
Reference in New Issue
Block a user