TYPO3 v15 dev-main snapshot ()

This commit is contained in:
2026-08-10 22:31:17 +02:00
commit 629541cb4c
86 changed files with 5360 additions and 0 deletions
+297
View File
@@ -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>
+21
View File
@@ -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'
+1
View File
@@ -0,0 +1 @@
name: typo3/felogin
+178
View File
@@ -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'
+22
View File
@@ -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');
});
+29
View File
@@ -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 =
}
}
}
+58
View File
@@ -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}
}
}