TYPO3CMS
9.5
Main Page
Related Pages
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Files
File List
File Members
All
$
d
e
r
u
Functions
Variables
$
e
r
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Pages
FolderHashesRestriction.php
Go to the documentation of this file.
1
<?php
2
declare(strict_types = 1);
3
namespace
TYPO3\CMS\Core\Resource\Search\QueryRestrictions
;
4
5
/*
6
* This file is part of the TYPO3 CMS project.
7
*
8
* It is free software; you can redistribute it and/or modify it under
9
* the terms of the GNU General Public License, either version 2
10
* of the License, or any later version.
11
*
12
* For the full copyright and license information, please read the
13
* LICENSE.txt file that was distributed with this source code.
14
*
15
* The TYPO3 project - inspiring people to share!
16
*/
17
18
use
TYPO3\CMS\Core\Database\ConnectionPool
;
19
use
TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression
;
20
use
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
;
21
use
TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface
;
22
use
TYPO3\CMS\Core\Utility\GeneralUtility
;
23
27
class
FolderHashesRestriction
implements
QueryRestrictionInterface
28
{
32
private
$folderHashes
;
33
34
public
function
__construct
(array
$folderHashes
)
35
{
36
$this->folderHashes =
$folderHashes
;
37
}
38
39
public
function
buildExpression
(array $queriedTables,
ExpressionBuilder
$expressionBuilder):
CompositeExpression
40
{
41
$constraints = [];
42
foreach
($queriedTables as $tableAlias => $tableName) {
43
if
($tableName !==
'sys_file'
) {
44
continue
;
45
}
46
$connection = GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable($tableName);
47
$quotedHashes = array_map([$connection,
'quote'
], $this->folderHashes);
48
$constraints[] = $expressionBuilder->
in
($tableAlias .
'.folder_hash'
, $quotedHashes);
49
}
50
51
return
$expressionBuilder->
orX
(...$constraints);
52
}
53
}
TYPO3\CMS\Core\Resource\Search\QueryRestrictions\FolderHashesRestriction
Definition:
FolderHashesRestriction.php:28
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
Definition:
ExpressionBuilder.php:33
TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface
Definition:
QueryRestrictionInterface.php:25
TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression
Definition:
CompositeExpression.php:23
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\in
string in(string $fieldName, $value)
Definition:
ExpressionBuilder.php:242
TYPO3\CMS\Core\Resource\Search\QueryRestrictions\FolderHashesRestriction\__construct
__construct(array $folderHashes)
Definition:
FolderHashesRestriction.php:33
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\orX
CompositeExpression orX(... $expressions)
Definition:
ExpressionBuilder.php:80
TYPO3\CMS\Core\Resource\Search\QueryRestrictions\FolderHashesRestriction\$folderHashes
array $folderHashes
Definition:
FolderHashesRestriction.php:31
TYPO3\CMS\Core\Resource\Search\QueryRestrictions
Definition:
ConsistencyRestriction.php:3
TYPO3\CMS\Core\Resource\Search\QueryRestrictions\FolderHashesRestriction\buildExpression
buildExpression(array $queriedTables, ExpressionBuilder $expressionBuilder)
Definition:
FolderHashesRestriction.php:38
TYPO3\CMS\Core\Database\ConnectionPool
Definition:
ConnectionPool.php:44
TYPO3\CMS\Core\Utility\GeneralUtility
Definition:
GeneralUtility.php:45
doxygen
typo3
sysext
core
Classes
Resource
Search
QueryRestrictions
FolderHashesRestriction.php
Generated on Tue Oct 5 2021 01:57:13 for TYPO3CMS by
1.8.18