Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.

Commit dd712b7

Browse files
authored
Merge pull request #9 from TYPO3GmbH/10lts
[FEATURE] Create core v10 LTS compatibility
2 parents 6b1e0fb + 973c763 commit dd712b7

File tree

14 files changed

+40
-38
lines changed

14 files changed

+40
-38
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ jobs:
3737
typo3DatabaseHost: 127.0.0.1
3838
typo3DatabaseName: t3func
3939
typo3DatabasePassword: root
40-
typo3DatabaseUsername: root
40+
typo3DatabaseUsername: root

Classes/Controller/QuerybuilderController.php

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use TYPO3\CMS\Core\Context\Context;
1616
use TYPO3\CMS\Core\Context\UserAspect;
1717
use TYPO3\CMS\Core\Database\ConnectionPool;
18+
use TYPO3\CMS\Core\Database\Query\QueryBuilder;
1819
use TYPO3\CMS\Core\Http\JsonResponse;
1920
use TYPO3\CMS\Core\Utility\GeneralUtility;
2021

@@ -23,7 +24,6 @@
2324
*/
2425
class QuerybuilderController
2526
{
26-
2727
/**
2828
* @param ServerRequestInterface $request
2929
* @param ResponseInterface $response
@@ -33,12 +33,13 @@ class QuerybuilderController
3333
* @throws \TYPO3\CMS\Core\Context\Exception\AspectNotFoundException
3434
* @throws \TYPO3\CMS\Core\Context\Exception\AspectPropertyNotFoundException
3535
*/
36-
public function ajaxSaveQuery(ServerRequestInterface $request, ResponseInterface $response) : ResponseInterface
36+
public function ajaxSaveQuery(ServerRequestInterface $request): ResponseInterface
3737
{
3838
$result = new \stdClass();
3939
$result->status = 'ok';
4040

4141
$requestParams = $request->getQueryParams();
42+
/** @var \TYPO3\CMS\Core\Database\Query\QueryBuilder $queryBuilder */
4243
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
4344
->getQueryBuilderForTable('sys_querybuilder');
4445
$uid = (int)$requestParams['uid'];
@@ -65,6 +66,7 @@ public function ajaxSaveQuery(ServerRequestInterface $request, ResponseInterface
6566
$result->uid = $uid;
6667
}
6768

69+
$response = new JsonResponse();
6870
$response->getBody()->write(json_encode($result));
6971
return $response;
7072
}
@@ -77,17 +79,21 @@ public function ajaxSaveQuery(ServerRequestInterface $request, ResponseInterface
7779
* @throws \TYPO3\CMS\Core\Context\Exception\AspectNotFoundException
7880
* @throws \TYPO3\CMS\Core\Context\Exception\AspectPropertyNotFoundException
7981
*/
80-
public function ajaxGetRecentQueries(ServerRequestInterface $request) : ResponseInterface
82+
public function ajaxGetRecentQueries(ServerRequestInterface $request): ResponseInterface
8183
{
8284
$requestParams = $request->getQueryParams();
85+
/** @var QueryBuilder $queryBuilder */
8386
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
8487
->getQueryBuilderForTable('sys_querybuilder');
8588

8689
$results = $queryBuilder
8790
->select('uid', 'queryname', 'where_parts')
8891
->from('sys_querybuilder')
8992
->where(
90-
$queryBuilder->expr()->eq('affected_table', $queryBuilder->createNamedParameter($requestParams['table'])),
93+
$queryBuilder->expr()->eq(
94+
'affected_table',
95+
$queryBuilder->createNamedParameter($requestParams['table'])
96+
),
9197
$queryBuilder->expr()->eq('user', (int)$this->getBackendUserAspect()->get('id'))
9298
)
9399
->execute()

Classes/Factory/FilterFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class FilterFactory
1717
{
1818
public function create(array $properties): Filter
1919
{
20+
/** @var Filter $entity */
2021
$entity = GeneralUtility::makeInstance(Filter::class);
2122
foreach ($properties as $property => $value) {
2223
$method = 'set' . GeneralUtility::underscoredToUpperCamelCase($property);

Classes/Factory/PluginFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class PluginFactory
1717
{
1818
public function create(array $properties): Plugin
1919
{
20+
/** @var Plugin $entity */
2021
$entity = GeneralUtility::makeInstance(Plugin::class);
2122
foreach ($properties as $property => $value) {
2223
$method = 'set' . GeneralUtility::underscoredToUpperCamelCase($property);

Classes/Factory/ValidationFactory.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class ValidationFactory
1717
{
1818
public function create(array $properties): Validation
1919
{
20+
/** @var Validation $entity */
2021
$entity = GeneralUtility::makeInstance(Validation::class);
2122
foreach ($properties as $property => $value) {
2223
$method = 'set' . GeneralUtility::underscoredToUpperCamelCase($property);

Classes/Hooks/DatabaseRecordList.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function modifyQuery(
4343
$request = $GLOBALS['TYPO3_REQUEST'];
4444
$queryParams = $request->getQueryParams();
4545
$route = $queryParams['route'] ?? '';
46-
if (!empty($table) && $route === '/web/list/') {
46+
if (!empty($table) && $route === '/module/web/list') {
4747
$query = $queryParams['query'] ?? '';
4848
if ($query !== null) {
4949
$filter = json_decode($query);

Classes/Hooks/PageRenderer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function renderPreProcess(array $params): void
3636
$queryParams = $request->getQueryParams();
3737
$table = $queryParams['table'] ?? '';
3838
$route = $queryParams['route'] ?? '';
39-
if (!empty($table) && $route === '/web/list/') {
39+
if (!empty($table) && $route === '/module/web/list') {
4040
$pageRenderer = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Page\PageRenderer::class);
4141

4242
$pageRenderer->addInlineLanguageLabelFile('EXT:querybuilder/Resources/Private/Language/querybuilder-js.xlf');

Classes/Parser/QueryParser.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ class QueryParser
5353
/**
5454
* @param stdClass $filterObject
5555
* @param QueryBuilder $queryBuilderObject
56-
*
5756
* @param int $iteration
5857
*
5958
* @return QueryBuilder

Configuration/TCA/sys_querybuilder.php

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,17 @@
2222
'showitem' => 'queryname, affected_table, where_parts, user'
2323
],
2424
],
25-
'palettes' => [
26-
'1' => [
27-
'showitem' => 'queryname, affected_table, where_parts, user'
28-
],
29-
],
3025
'columns' => [
3126
'where_parts' => [
3227
'exclude' => true,
33-
'label' => 'where_parts',
28+
'label' => 'Conditions (saved ad JSON)',
3429
'config' => [
3530
'type' => 'text',
3631
],
3732
],
3833
'affected_table' => [
3934
'exclude' => true,
40-
'label' => 'affected_table',
35+
'label' => 'Affected Table',
4136
'config' => [
4237
'type' => 'input',
4338
'size' => 50,
@@ -47,7 +42,7 @@
4742
],
4843
'queryname' => [
4944
'exclude' => true,
50-
'label' => 'queryname',
45+
'label' => 'Queryname',
5146
'config' => [
5247
'type' => 'input',
5348
'size' => 50,
@@ -57,7 +52,7 @@
5752
],
5853
'user' => [
5954
'exclude' => true,
60-
'label' => 'userid',
55+
'label' => 'User',
6156
'config' => [
6257
'type' => 'select',
6358
'renderType' => 'selectSingle',

Documentation/Settings.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
; you can use in 'conf.py'
2424

2525
project = TYPO3 Querybuilder Extension
26-
version = 10.0.x-dev
27-
release = 10.0.x-dev
26+
version = 10.4.0
27+
release = 10.4.0
2828
t3author = TYPO3 GmbH
2929
copyright = since 2017 by TYPO3 GmbH
3030

0 commit comments

Comments
 (0)