Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
1da2f4b
Allow install in TYPO3 v13
digedag Jan 31, 2025
a7b375c
Fix unit tests
digedag Feb 20, 2025
887d96b
#360 fix pipeline
digedag Feb 20, 2025
752ca0f
Add branch alias #360
digedag Feb 21, 2025
f4e8abe
Rebuild backend modules #360
digedag Feb 26, 2025
a7b74b1
Rebuild backend modules #360
digedag Feb 27, 2025
c32e34b
Rebuild backend modules #360
digedag Feb 28, 2025
5cf8b2c
Rebuild backend modules #360
digedag Feb 28, 2025
746d6cb
Fix textarea in ToolBox #360
digedag Mar 7, 2025
b736f6a
Add PHP 8.3 and 8.4 support
hannesbochmann Apr 3, 2025
faece2f
Fix some PHP 8.4 issues
hannesbochmann Apr 3, 2025
55da54d
Bugfix fix BE modules in TYPO3 13.4
hannesbochmann Apr 3, 2025
1a7e906
Add php-cs-fixer fixes
hannesbochmann Apr 3, 2025
13b269e
Cleanup replace old returnSelf method
hannesbochmann Apr 16, 2025
8c13b8c
Bugfix fix language retrieval in TYPO3 13
hannesbochmann Apr 24, 2025
8fa6dcd
Cleanup use latest ubuntu
hannesbochmann Apr 24, 2025
c48a5a6
Fixes for T3 13 #360
digedag Apr 26, 2025
ea44b76
Bugfix tableMapping is always an array
hannesbochmann Apr 29, 2025
1e48d2a
Bugfix fix fluid view
hannesbochmann Apr 29, 2025
4ee4555
Cleanup fix cs
hannesbochmann Apr 29, 2025
1e47a2f
Fixes for T3 13 #360
digedag May 2, 2025
4a0fb1f
Fixes for T3 13 #360
digedag May 4, 2025
8c7297b
Bugfix fix preview link since TYPO3 12.4
hannesbochmann May 8, 2025
427dbd1
Bugfix pid list retrieval since TYPO3 12.4
hannesbochmann May 8, 2025
364dc51
Bugfix set request since TYPO3 13.4
hannesbochmann May 8, 2025
897b7a6
Bugfix use merged array
hannesbochmann May 9, 2025
455a872
Cleanup fix cs
hannesbochmann May 9, 2025
ecca768
Bugfix fix language retrieval
hannesbochmann May 15, 2025
1a94eac
Cleanup replace deprecated returnValue() method
hannesbochmann May 22, 2025
704353d
BC: Load filter classes as services #360
digedag Jun 1, 2025
d1d82fa
Fix TypoScript parsing
hannesbochmann Jun 6, 2025
1ce4b4d
Ensure language tool if fe not loaded #360
digedag Jun 9, 2025
e20c488
Fix adding file reference since TYPO3 12.4
hannesbochmann Aug 18, 2025
56e2d54
php-cs-fixer is now compatible with PHP 8.4
hannesbochmann Aug 18, 2025
e735104
Fix cs
hannesbochmann Aug 18, 2025
02ad55b
New iterator option for memory-saving database queries #360 (#367)
digedag Aug 22, 2025
deac437
Restore doSelectLegacy #360
digedag Aug 23, 2025
ff65648
Version 1.20.0
digedag Oct 24, 2025
86456a4
Merge master
digedag Oct 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 68 additions & 24 deletions .github/workflows/php.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@ jobs:
fail-fast: false
matrix:
php-version:
- 7.1
- 7.2
- 7.3
- 7.4
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4

php-compatibility:
name: "PHPCompatibility"
Expand All @@ -52,13 +51,12 @@ jobs:
fail-fast: false
matrix:
php-version:
- "7.1"
- "7.2"
- "7.3"
- "7.4"
- "8.0"
- "8.1"
- "8.2"
- 7.4
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4

code-style:
name: Check code style
Expand Down Expand Up @@ -167,20 +165,6 @@ jobs:
fail-fast: false
matrix:
include:
- typo3-version: ^8.7
php-version: 7.1
- typo3-version: ^8.7
php-version: 7.2
- typo3-version: ^9.5
php-version: 7.2
- typo3-version: ^9.5
php-version: 7.3
- typo3-version: ^9.5
php-version: 7.4
- typo3-version: ^10.4
php-version: 7.2
- typo3-version: ^10.4
php-version: 7.3
- typo3-version: ^10.4
php-version: 7.4
- typo3-version: ^11.5
Expand All @@ -193,3 +177,63 @@ jobs:
php-version: 8.1
- typo3-version: ^12.4
php-version: 8.2
- typo3-version: ^12.4
php-version: 8.3
- typo3-version: ^12.4
php-version: 8.4

phpunit-functional:
name: TYPO3 Functional Tests
runs-on: ubuntu-latest
needs: phpunit
steps:
- name: "Checkout"
uses: actions/checkout@v2
- name: "Install PHP"
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
tools: composer:2.2.11
extensions: zip, sqlite
coverage: none
- name: "Show Composer version"
run: composer --version
- name: "Cache dependencies installed with composer"
uses: actions/cache@v4
with:
key: "php${{ matrix.php-version }}-composer-${{ hashFiles('**/composer.json') }}"
path: ~/.composer/cache
restore-keys: "php${{ matrix.php-version }}-composer-\n"
# The next step is required because the dependencies of PHPStan clash with those of TYPO3 8.7.
- name: "Remove PHPStan"
run: composer remove --no-update --dev phpstan/phpstan phpstan/phpstan-phpunit phpstan/extension-installer
- name: "Install TYPO3 Core"
env:
TYPO3: "${{ matrix.typo3-version }}"
run: |
composer require --no-install --no-progress typo3/minimal:"$TYPO3"
composer show
- name: "Install dependencies with composer"
run: |
composer update --no-ansi --no-interaction --no-progress --with-dependencies
composer show
- name: "Run unit tests"
run: "TYPO3_PATH_WEB=$PWD/.Build/Web && .Build/bin/phpunit -c ./tests/phpunit.functional.xml"
strategy:
fail-fast: false
matrix:
include:
- typo3-version: ^12.4
php-version: 8.1
- typo3-version: ^12.4
php-version: 8.2
- typo3-version: ^12.4
php-version: 8.3
- typo3-version: ^12.4
php-version: 8.4
- typo3-version: ^13.4
php-version: 8.2
- typo3-version: ^13.4
php-version: 8.3
- typo3-version: ^13.4
php-version: 8.4
14 changes: 14 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,20 @@ jobs:
steps:
- name: "Checkout"
uses: actions/checkout@v4

- name: "Set up PHP"
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
coverage: none

- name: "Run install.sh"
run: ./Resources/Private/Php/install.sh

- name: "show composer"
run: cat composer.json

- name: "Publish new version to TER"
uses: tomasnorre/typo3-upload-ter@v2
with:
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
Changelog
---------

v1.20.0 (24.10.2025)
* Update for TYPO3 13.4 LTS
* New query option 'collection' of type 'iterator' for memory-saving database queries
* BC: showMenu() in ToolBox is not static anymore
* BC: BEPager requires IModule in constructor
* BC: Utility\TypoScript::parseTsConfig() is not static anymore.
* BC: Utility\SimpleMarker::parseTemplate() removed call-by-reference parameters.
* BC: new Method FilterInterace::setRequest for filter classes. This makes it possible to use filter classes as services.

v1.19.4 (11.06.2025)
* Fix github actions and TER release

Expand Down
19 changes: 2 additions & 17 deletions Classes/Backend/Form/Element/InputText.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
namespace Sys25\RnBase\Backend\Form\Element;

use Sys25\RnBase\Backend\Utility\Icons;
use Sys25\RnBase\Typo3Wrapper\Backend\Form\CompatFormElement;
use Sys25\RnBase\Utility\Strings;
use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
use TYPO3\CMS\Backend\Form\NodeFactory;
use TYPO3\CMS\Core\Utility\StringUtility;

/***************************************************************
Expand Down Expand Up @@ -34,22 +33,8 @@
/**
* Rendert ein einfaches Input-Field.
*/
class InputText extends AbstractFormElement
class InputText extends CompatFormElement
{
/**
* @param array $data not used right now!
*/
public function __construct(NodeFactory $nodeFactory, array $data)
{
// nodeFactory is not used and will be removed in later version
parent::__construct($nodeFactory, $data);
}

public function render()
{
return [];
}

public function renderHtml($name, $value, $config)
{
$width = $config['width'];
Expand Down
28 changes: 19 additions & 9 deletions Classes/Backend/Form/FormBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

namespace Sys25\RnBase\Backend\Form;

use Sys25\RnBase\Backend\Module\IModule;
use Sys25\RnBase\Utility\TYPO3;
use tx_rnbase;
use TYPO3\CMS\Backend\Form\FormDataGroup\TcaDatabaseRecord;

/***************************************************************
* Copyright notice
*
* (c) 2016-2021 Rene Nitzsche (rene@system25.de)
* (c) 2016-2025 Rene Nitzsche (rene@system25.de)
* All rights reserved
*
* This library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -49,6 +51,11 @@ class FormBuilder
*/
private $formResultCompiler;

/**
* @var IModule
*/
private $module;

/**
* @var array
*/
Expand All @@ -57,16 +64,17 @@ class FormBuilder
public function __construct()
{
/**
* @var \TYPO3\CMS\Backend\Form\FormDataGroup\TcaDatabaseRecord
* @var TcaDatabaseRecord
*/
$formDataGroup = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormDataGroup\\TcaDatabaseRecord');
$this->formDataCompiler = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormDataCompiler', $formDataGroup);
$this->nodeFactory = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\NodeFactory');
$this->formResultCompiler = tx_rnbase::makeInstance('TYPO3\\CMS\\Backend\\Form\\FormResultCompiler');
}

public function initDefaultBEmode()
public function setModule(IModule $module)
{
$this->module = $module;
}

/**
Expand Down Expand Up @@ -128,7 +136,13 @@ protected function compileFormData($table, $uid, $record)
'returnUrl' => '',
];
}
$this->formDataCache[$cacheKey] = $this->formDataCompiler->compile($formDataCompilerInput);
$formDataCompilerInput['request'] = $this->module->getRequest();

if (TYPO3::isTYPO130OrHigher()) {
$this->formDataCache[$cacheKey] = $this->formDataCompiler->compile($formDataCompilerInput, tx_rnbase::makeInstance(TcaDatabaseRecord::class));
} else {
$this->formDataCache[$cacheKey] = $this->formDataCompiler->compile($formDataCompilerInput);
}
if ($this->isNEWRecord($uid)) {
// Override generated with given uid
$this->formDataCache[$cacheKey]['databaseRow']['uid'] = $uid;
Expand Down Expand Up @@ -171,11 +185,7 @@ public function getSoloField($table, $row, $fieldName)
*/
public function printNeededJSFunctions_top()
{
if (TYPO3::isTYPO90OrHigher()) {
$result = $this->formResultCompiler->addCssFiles();
} else {
$result = $this->formResultCompiler->JStop();
}
$result = $this->formResultCompiler->addCssFiles();

return $result;
}
Expand Down
Loading