TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,297 @@
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<sheetTitle>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.sheet_general</sheetTitle>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.showForgotPassword>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.show_forgot_password</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.enabled</label>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showForgotPassword>
|
||||
<settings.showPermaLogin>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.show_permalogin</label>
|
||||
<config>
|
||||
<default>1</default>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.enabled</label>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showPermaLogin>
|
||||
<settings.showLogoutFormAfterLogin>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.show_logoutFormAfterLogin</label>
|
||||
<config>
|
||||
<default></default>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.enabled</label>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.showLogoutFormAfterLogin>
|
||||
<settings.pages>
|
||||
<exclude>1</exclude>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.user_storage</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>pages</allowed>
|
||||
<size>3</size>
|
||||
<maxitems>22</maxitems>
|
||||
<minitems>0</minitems>
|
||||
</config>
|
||||
</settings.pages>
|
||||
|
||||
<settings.recursive>
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.recursive</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.0</label>
|
||||
<value></value>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.1</label>
|
||||
<value>1</value>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.2</label>
|
||||
<value>2</value>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.3</label>
|
||||
<value>3</value>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.4</label>
|
||||
<value>4</value>
|
||||
</numIndex>
|
||||
<numIndex index="5" type="array">
|
||||
<label>LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:recursive.I.5</label>
|
||||
<value>250</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>1</maxitems>
|
||||
<size>1</size>
|
||||
</config>
|
||||
</settings.recursive>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
<s_redirect>
|
||||
<ROOT>
|
||||
<sheetTitle>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.sheet_redirect</sheetTitle>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.redirectMode>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode</label>
|
||||
<config>
|
||||
<type>select</type>
|
||||
<renderType>selectMultipleSideBySide</renderType>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.0</label>
|
||||
<value>groupLogin</value>
|
||||
</numIndex>
|
||||
<numIndex index="1" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.1</label>
|
||||
<value>userLogin</value>
|
||||
</numIndex>
|
||||
<numIndex index="2" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.2</label>
|
||||
<value>login</value>
|
||||
</numIndex>
|
||||
<numIndex index="3" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.3</label>
|
||||
<value>logout</value>
|
||||
</numIndex>
|
||||
<numIndex index="4" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.4</label>
|
||||
<value>loginError</value>
|
||||
</numIndex>
|
||||
<numIndex index="5" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.5</label>
|
||||
<value>getpost</value>
|
||||
</numIndex>
|
||||
<numIndex index="6" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.6</label>
|
||||
<value>referer</value>
|
||||
</numIndex>
|
||||
<numIndex index="7" type="array">
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectMode.I.7</label>
|
||||
<value>refererDomains</value>
|
||||
</numIndex>
|
||||
</items>
|
||||
<size>8</size>
|
||||
<minitems>0</minitems>
|
||||
<maxitems>8</maxitems>
|
||||
</config>
|
||||
</settings.redirectMode>
|
||||
<settings.redirectFirstMethod>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectFirstMethod</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.enabled</label>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.redirectFirstMethod>
|
||||
<settings.redirectPageLogin>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectPageLogin</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
</config>
|
||||
</settings.redirectPageLogin>
|
||||
<settings.redirectPageLoginError>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectPageLoginError</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
</config>
|
||||
</settings.redirectPageLoginError>
|
||||
<settings.redirectPageLogout>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectPageLogout</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<allowed>pages</allowed>
|
||||
<size>1</size>
|
||||
<maxitems>1</maxitems>
|
||||
<minitems>0</minitems>
|
||||
</config>
|
||||
</settings.redirectPageLogout>
|
||||
<settings.redirectDisable>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.redirectDisable</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<items type="array">
|
||||
<numIndex index="0" type="array">
|
||||
<label>LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:disable</label>
|
||||
</numIndex>
|
||||
</items>
|
||||
</config>
|
||||
</settings.redirectDisable>
|
||||
</el>
|
||||
</ROOT>
|
||||
</s_redirect>
|
||||
<s_messages>
|
||||
<ROOT>
|
||||
<sheetTitle>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.sheet_messages</sheetTitle>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<settings.welcome_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.welcome_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.welcome_header>
|
||||
<settings.welcome_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.welcome_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.welcome_message>
|
||||
<settings.success_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.success_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.success_header>
|
||||
<settings.success_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.success_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.success_message>
|
||||
<settings.error_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.error_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.error_header>
|
||||
<settings.error_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.error_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.error_message>
|
||||
<settings.status_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.status_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.status_header>
|
||||
<settings.status_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.status_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.status_message>
|
||||
<settings.logout_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.logout_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.logout_header>
|
||||
<settings.logout_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.logout_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.logout_message>
|
||||
<settings.forgot_header>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.forgot_header</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<size>30</size>
|
||||
</config>
|
||||
</settings.forgot_header>
|
||||
<settings.forgot_reset_message>
|
||||
<label>LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.pi_flexform.forgot_message</label>
|
||||
<config>
|
||||
<type>text</type>
|
||||
<cols>30</cols>
|
||||
<rows>5</rows>
|
||||
</config>
|
||||
</settings.forgot_reset_message>
|
||||
</el>
|
||||
</ROOT>
|
||||
</s_messages>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
||||
@@ -0,0 +1,21 @@
|
||||
services:
|
||||
_defaults:
|
||||
autowire: true
|
||||
autoconfigure: true
|
||||
public: false
|
||||
|
||||
TYPO3\CMS\FrontendLogin\:
|
||||
resource: '../Classes/*'
|
||||
|
||||
feloginPasswordRecovery.rateLimiterFactory:
|
||||
class: TYPO3\CMS\Core\RateLimiter\RateLimiterFactory
|
||||
arguments:
|
||||
$config:
|
||||
id: 'felogin-password-recovery'
|
||||
policy: 'sliding_window'
|
||||
limit: 5
|
||||
interval: '15 minutes'
|
||||
|
||||
TYPO3\CMS\FrontendLogin\Controller\PasswordRecoveryController:
|
||||
arguments:
|
||||
$rateLimiterFactory: '@feloginPasswordRecovery.rateLimiterFactory'
|
||||
@@ -0,0 +1 @@
|
||||
name: typo3/felogin
|
||||
@@ -0,0 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:felogin/Configuration/Sets/Felogin/labels.xlf" date="2024-09-05T08:00:00Z" product-name="felogin">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="label">
|
||||
<source>Frontend Login</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="categories.felogin">
|
||||
<source>Frontend Login</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.pid">
|
||||
<source>User Storage Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.pid">
|
||||
<source>Define the Storage Folder with the Website User Records, using a comma separated list or single value</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive">
|
||||
<source>Recursive</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.recursive">
|
||||
<source>If set, also subfolder at configured recursive levels of the User Storage Page will be used</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.0">
|
||||
<source>0</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.1">
|
||||
<source>1</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.2">
|
||||
<source>2</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.3">
|
||||
<source>3</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.4">
|
||||
<source>4</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.recursive.enum.255">
|
||||
<source>255</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.showForgotPassword">
|
||||
<source>Display Password Recovery Link</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.showForgotPassword">
|
||||
<source>If set, the section in the template to display the link to the forgot password dialog is visible.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.showPermaLogin">
|
||||
<source>Display Remember Login Option</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.showPermaLogin">
|
||||
<source>If set, the section in the template to display the option to remember the login (with a cookie) is visible.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.showLogoutFormAfterLogin">
|
||||
<source>Disable redirect after successful login, but display logout-form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.showLogoutFormAfterLogin">
|
||||
<source>If set, the logout form will be displayed immediately after successful login.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.emailFrom">
|
||||
<source>Email Sender Address</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.emailFrom">
|
||||
<source>email address used as sender of the change password emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.emailFromName">
|
||||
<source>Email Sender Name</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.emailFromName">
|
||||
<source>Name used as sender of the change password emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.replyToEmail">
|
||||
<source>Reply-to email Address</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.replyToEmail">
|
||||
<source>Reply-to address used in the change password emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.dateFormat">
|
||||
<source>Date format</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.dateFormat">
|
||||
<source>Format for the link is valid until message (forgot password email)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.email.layoutRootPath">
|
||||
<source>Layout root path</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.email.layoutRootPath">
|
||||
<source>Path to layout directory used for emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.email.templateRootPath">
|
||||
<source>Template root path</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.email.templateRootPath">
|
||||
<source>Path to template directory used for emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.email.partialRootPath">
|
||||
<source>Partial root path</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.email.partialRootPath">
|
||||
<source>Path to partial directory used for emails</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.email.templateName">
|
||||
<source>Template name for emails.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.email.templateName">
|
||||
<source>HTML emails get the .html file extension, plaintext emails get the .txt file extension.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectMode">
|
||||
<source>Redirect Mode</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectMode">
|
||||
<source>Comma separated list of redirect modes.\
|
||||
Possible values: groupLogin, userLogin, login, getpost, referer, refererDomains, loginError, logout.\
|
||||
Warning: redirects only work if neither the plugin nor the page it is displayed on are set to `hide at login`.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectFirstMethod">
|
||||
<source>Use First Supported Mode from Selection</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectFirstMethod">
|
||||
<source>If set the first method from redirectMode which is possible will be used</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectPageLogin">
|
||||
<source>After Successful Login Redirect to Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectPageLogin">
|
||||
<source>Page id to redirect to after Login</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectPageLoginError">
|
||||
<source>After Failed Login Redirect to Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectPageLoginError">
|
||||
<source>Page id to redirect to after Login Error</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectPageLogout">
|
||||
<source>After Logout Redirect to Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectPageLogout">
|
||||
<source>Page id to redirect to after Logout</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.redirectDisable">
|
||||
<source>Disable Redirect</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.redirectDisable">
|
||||
<source>If set redirecting is disabled</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.forgotLinkHashValidTime">
|
||||
<source>Time in hours how long the link for forgot password is valid</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.forgotLinkHashValidTime">
|
||||
<source>How many hours the link for forgot password is valid</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.domains">
|
||||
<source>Allowed Referrer-Redirect-Domains</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.domains">
|
||||
<source>Comma separated list of domains which are allowed for the referrer redirect mode</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.view.templateRootPath">
|
||||
<source>Path to template root (frontend)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.view.templateRootPath">
|
||||
<source>Path to template directory used for the plugin in the frontend. Extends the default template location.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.view.partialRootPath">
|
||||
<source>Path to template partials (frontend)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.view.partialRootPath">
|
||||
<source>Path to partial directory for the plugin in the frontend. Extends the default partial location.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.felogin.view.layoutRootPath">
|
||||
<source>Path to template layouts (frontend)</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="settings.description.felogin.view.layoutRootPath">
|
||||
<source>Path to layout directory used for the plugin in the frontend. Can be used to introduce a custom layout.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,107 @@
|
||||
categories:
|
||||
felogin: ~
|
||||
|
||||
settings:
|
||||
felogin.pid:
|
||||
default: '0'
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.recursive:
|
||||
default: '0'
|
||||
type: string
|
||||
enum:
|
||||
- '0'
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
- '4'
|
||||
- '255'
|
||||
category: felogin
|
||||
felogin.showForgotPassword:
|
||||
default: false
|
||||
type: bool
|
||||
category: felogin
|
||||
felogin.showPermaLogin:
|
||||
default: false
|
||||
type: bool
|
||||
category: felogin
|
||||
felogin.showLogoutFormAfterLogin:
|
||||
default: false
|
||||
type: bool
|
||||
category: felogin
|
||||
felogin.emailFrom:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.emailFromName:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.replyToEmail:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.dateFormat:
|
||||
default: 'Y-m-d H:i'
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.email.layoutRootPath:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.email.templateRootPath:
|
||||
default: 'EXT:felogin/Resources/Private/Email/Templates/'
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.email.partialRootPath:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.email.templateName:
|
||||
default: PasswordRecovery
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.redirectMode:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.redirectFirstMethod:
|
||||
default: false
|
||||
type: bool
|
||||
category: felogin
|
||||
felogin.redirectPageLogin:
|
||||
default: 0
|
||||
type: int
|
||||
category: felogin
|
||||
felogin.redirectPageLoginError:
|
||||
default: 0
|
||||
type: int
|
||||
category: felogin
|
||||
felogin.redirectPageLogout:
|
||||
default: 0
|
||||
type: int
|
||||
category: felogin
|
||||
felogin.redirectDisable:
|
||||
default: false
|
||||
type: bool
|
||||
category: felogin
|
||||
felogin.forgotLinkHashValidTime:
|
||||
default: 12
|
||||
type: int
|
||||
category: felogin
|
||||
felogin.domains:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.view.templateRootPath:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.view.partialRootPath:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
felogin.view.layoutRootPath:
|
||||
default: ''
|
||||
type: string
|
||||
category: felogin
|
||||
@@ -0,0 +1 @@
|
||||
@import 'EXT:felogin/Configuration/TypoScript/setup.typoscript'
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
call_user_func(static function () {
|
||||
// Adds the redirect field to the fe_groups table
|
||||
$additionalColumns = [
|
||||
'felogin_redirectPid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:felogin/Resources/Private/Language/Database.xlf:felogin_redirectPid',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'allowed' => 'pages',
|
||||
'size' => 1,
|
||||
'relationship' => 'manyToOne',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('fe_groups', $additionalColumns);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('fe_groups', 'felogin_redirectPid', '', 'after:subgroup');
|
||||
});
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
call_user_func(static function () {
|
||||
// Adds the redirect field and the forgotHash field to the fe_users-table
|
||||
$additionalColumns = [
|
||||
'felogin_redirectPid' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:felogin/Resources/Private/Language/Database.xlf:felogin_redirectPid',
|
||||
'config' => [
|
||||
'type' => 'group',
|
||||
'allowed' => 'pages',
|
||||
'size' => 1,
|
||||
'relationship' => 'manyToOne',
|
||||
],
|
||||
],
|
||||
'felogin_forgotHash' => [
|
||||
'exclude' => true,
|
||||
'label' => 'LLL:EXT:felogin/Resources/Private/Language/Database.xlf:felogin_forgotHash',
|
||||
'config' => [
|
||||
'type' => 'passthrough',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('fe_users', $additionalColumns);
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('fe_users', 'felogin_redirectPid', '', 'after:usergroup');
|
||||
});
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
defined('TYPO3') or die();
|
||||
|
||||
call_user_func(static function () {
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'Felogin',
|
||||
'Login',
|
||||
'LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.CType.felogin_login.title',
|
||||
'mimetypes-x-content-login',
|
||||
'forms',
|
||||
'LLL:EXT:felogin/Resources/Private/Language/Database.xlf:tt_content.CType.felogin_login.description',
|
||||
'FILE:EXT:felogin/Configuration/FlexForms/Login.xml',
|
||||
);
|
||||
});
|
||||
@@ -0,0 +1,71 @@
|
||||
# customsubcategory=01_Storage=Storage
|
||||
# customsubcategory=02_Template=Template
|
||||
# customsubcategory=03_Features=Features
|
||||
# customsubcategory=04_EMail=Email
|
||||
# customsubcategory=05_Redirects=Redirects
|
||||
# customsubcategory=06_Security=Security
|
||||
|
||||
styles.content.loginform {
|
||||
# cat=Frontend Login/01_Storage/100; type=string; label= User Storage Page: Define the Storage Folder with the Website User Records, using a comma separated list or single value
|
||||
pid = 0
|
||||
# cat=Frontend Login/01_Storage/101; type=options [0,1,2,3,4,255]; label= Recursive: If set, also subfolder at configured recursive levels of the User Storage Page will be used
|
||||
recursive = 0
|
||||
|
||||
# cat=Frontend Login/03_Features/100; type=boolean; label= Display Password Recovery Link: If set, the section in the template to display the link to the forgot password dialogue is visible.
|
||||
showForgotPassword = 0
|
||||
# cat=Frontend Login/03_Features/101; type=boolean; label= Display Remember Login Option: If set, the section in the template to display the option to remember the login (with a cookie) is visible.
|
||||
showPermaLogin = 0
|
||||
# cat=Frontend Login/03_Features/102; type=boolean; label= Disable redirect after successful login, but display logout-form: If set, the logout form will be displayed immediately after successful login.
|
||||
showLogoutFormAfterLogin = 0
|
||||
|
||||
# cat=Frontend Login/04_EMail/100; type=string; label= Email Sender Address: email address used as sender of the change password emails
|
||||
emailFrom =
|
||||
# cat=Frontend Login/04_EMail/101; type=string; label= Email Sender Name: Name used as sender of the change password emails
|
||||
emailFromName =
|
||||
# cat=Frontend Login/04_EMail/102; type=string; label= Reply to email Address: Reply to address used in the change password emails
|
||||
replyToEmail =
|
||||
# cat=Frontend Login/04_Email/103; type=string; label= Date format: Format for the link is valid until message (forgot password email)
|
||||
dateFormat = Y-m-d H:i
|
||||
|
||||
email {
|
||||
# cat=Frontend Login/04_EMail/104; type=string; label= Layout root path: Path to layout directory used for emails
|
||||
layoutRootPath =
|
||||
# cat=Frontend Login/04_EMail/105; type=string; label= Template root path: Path to template directory used for emails
|
||||
templateRootPath = EXT:felogin/Resources/Private/Email/Templates/
|
||||
# cat=Frontend Login/04_EMail/106; type=string; label= Partial root path: Path to partial directory used for emails
|
||||
partialRootPath =
|
||||
# cat=Frontend Login/04_EMail/107; type=string; label= Template name for emails. Plaintext emails get the .txt file extension.
|
||||
templateName = PasswordRecovery
|
||||
}
|
||||
|
||||
# cat=Frontend Login/05_Redirects/101; type=string; label= Redirect Mode: Comma separated list of redirect modes. Possible values: groupLogin, userLogin, login, getpost, referer, refererDomains, loginError, logout
|
||||
redirectMode =
|
||||
# cat=Frontend Login/05_Redirects/102; type=boolean; label= Use First Supported Mode from Selection: If set the first method from redirectMode which is possible will be used
|
||||
redirectFirstMethod = 0
|
||||
# cat=Frontend Login/05_Redirects/103; type=int+; label= After Successful Login Redirect to Page: Page id to redirect to after Login
|
||||
redirectPageLogin = 0
|
||||
# cat=Frontend Login/05_Redirects/104; type=int+; label= After Failed Login Redirect to Page: Page id to redirect to after Login Error
|
||||
redirectPageLoginError = 0
|
||||
# cat=Frontend Login/05_Redirects/105; type=int+; label= After Logout Redirect to Page: Page id to redirect to after Logout
|
||||
redirectPageLogout = 0
|
||||
# cat=Frontend Login/05_Redirects/106; type=boolean; label= Disable Redirect: If set redirecting is disabled
|
||||
redirectDisable = 0
|
||||
|
||||
# cat=Frontend Login/06_Security/100; type=int+; label= Time in hours how long the link for forgot password is valid: How many hours the link for forgot password is valid
|
||||
forgotLinkHashValidTime = 12
|
||||
# cat=Frontend Login/06_Security/102; type=string; label= Allowed Referrer-Redirect-Domains: Comma separated list of domains which are allowed for the referrer redirect mode
|
||||
domains =
|
||||
}
|
||||
|
||||
plugin {
|
||||
tx_felogin_login {
|
||||
view {
|
||||
# cat=Frontend Login/02_Template/102; type=string; label= Path to template root (FE)
|
||||
templateRootPath =
|
||||
# cat=Frontend Login/02_Template/103; type=string; label= Path to template partials (FE)
|
||||
partialRootPath =
|
||||
# cat=Frontend Login/02_Template/104; type=string; label= Path to template layouts (FE)
|
||||
layoutRootPath =
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
plugin.tx_felogin_login {
|
||||
view {
|
||||
templateRootPaths.10 = {$plugin.tx_felogin_login.view.templateRootPath ?? $felogin.view.templateRootPath}
|
||||
partialRootPaths.10 = {$plugin.tx_felogin_login.view.partialRootPath ?? $felogin.view.partialRootPath}
|
||||
layoutRootPaths.10 = {$plugin.tx_felogin_login.view.layoutRootPath ?? $felogin.view.layoutRootPath}
|
||||
}
|
||||
|
||||
ignoreFlexFormSettingsIfEmpty = showForgotPassword
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(showPermaLogin)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(showLogoutFormAfterLogin)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(pages)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(recursive)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectMode)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectFirstMethod)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectPageLogin)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectPageLoginError)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectPageLogout)
|
||||
ignoreFlexFormSettingsIfEmpty := addToList(redirectDisable)
|
||||
|
||||
settings {
|
||||
pages = {$styles.content.loginform.pid ?? $felogin.pid}
|
||||
recursive = {$styles.content.loginform.recursive ?? $felogin.recursive}
|
||||
|
||||
# Template
|
||||
dateFormat = {$styles.content.loginform.dateFormat ?? $felogin.dateFormat}
|
||||
showForgotPassword = {$styles.content.loginform.showForgotPassword ?? $felogin.showForgotPassword}
|
||||
showPermaLogin = {$styles.content.loginform.showPermaLogin ?? $felogin.showPermaLogin}
|
||||
showLogoutFormAfterLogin = {$styles.content.loginform.showLogoutFormAfterLogin ?? $felogin.showLogoutFormAfterLogin}
|
||||
|
||||
# Email Settings
|
||||
email_from = {$styles.content.loginform.emailFrom ?? $felogin.emailFrom}
|
||||
email_fromName = {$styles.content.loginform.emailFromName ?? $felogin.emailFromName}
|
||||
email {
|
||||
templateName = {$styles.content.loginform.email.templateName ?? $felogin.email.templateName}
|
||||
layoutRootPaths {
|
||||
20 = {$styles.content.loginform.email.layoutRootPath ?? $felogin.email.layoutRootPath}
|
||||
}
|
||||
templateRootPaths {
|
||||
20 = {$styles.content.loginform.email.templateRootPath ?? $felogin.email.templateRootPath}
|
||||
}
|
||||
partialRootPaths {
|
||||
20 = {$styles.content.loginform.email.partialRootPath ?? $felogin.email.partialRootPath}
|
||||
}
|
||||
}
|
||||
|
||||
# Redirect Settings
|
||||
redirectMode = {$styles.content.loginform.redirectMode ?? $felogin.redirectMode}
|
||||
redirectFirstMethod = {$styles.content.loginform.redirectFirstMethod ?? $felogin.redirectFirstMethod}
|
||||
redirectPageLogin = {$styles.content.loginform.redirectPageLogin ?? $felogin.redirectPageLogin}
|
||||
redirectPageLoginError = {$styles.content.loginform.redirectPageLoginError ?? $felogin.redirectPageLoginError}
|
||||
redirectPageLogout = {$styles.content.loginform.redirectPageLogout ?? $felogin.redirectPageLogout}
|
||||
redirectDisable = {$styles.content.loginform.redirectDisable ?? $felogin.redirectDisable}
|
||||
|
||||
# Security
|
||||
forgotLinkHashValidTime = {$styles.content.loginform.forgotLinkHashValidTime ?? $felogin.forgotLinkHashValidTime}
|
||||
domains = {$styles.content.loginform.domains ?? $felogin.domains}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user