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
DocumentTypeExclusionRestriction.php
Go to the documentation of this file.
1
<?php
2
declare(strict_types = 1);
3
namespace
TYPO3\CMS\Core\Database\Query\Restriction
;
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\Query\Expression\CompositeExpression
;
19
use
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
;
20
24
class
DocumentTypeExclusionRestriction
implements
QueryRestrictionInterface
25
{
29
protected
$doktypes
;
30
34
public
function
__construct
($doktype)
35
{
36
if
(is_array($doktype)) {
37
$this->doktypes = $doktype;
38
}
else
{
39
$this->doktypes = [$doktype];
40
}
41
}
42
50
public
function
buildExpression
(array $queriedTables,
ExpressionBuilder
$expressionBuilder):
CompositeExpression
51
{
52
$constraints = [];
53
54
foreach
($queriedTables as $tableAlias => $tableName) {
55
if
($tableName !==
'pages'
) {
56
continue
;
57
}
58
59
$constraints[] = $expressionBuilder->
notIn
($tableAlias .
'.doktype'
, $this->doktypes);
60
}
61
62
return
$expressionBuilder->
andX
(...$constraints);
63
}
64
}
TYPO3\CMS\Core\Database\Query\Restriction\DocumentTypeExclusionRestriction
Definition:
DocumentTypeExclusionRestriction.php:25
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder
Definition:
ExpressionBuilder.php:33
TYPO3\CMS\Core\Database\Query\Restriction\DocumentTypeExclusionRestriction\$doktypes
int[] $doktypes
Definition:
DocumentTypeExclusionRestriction.php:28
TYPO3\CMS\Core\Database\Query\Restriction\QueryRestrictionInterface
Definition:
QueryRestrictionInterface.php:25
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\notIn
string notIn(string $fieldName, $value)
Definition:
ExpressionBuilder.php:260
TYPO3\CMS\Core\Database\Query\Expression\CompositeExpression
Definition:
CompositeExpression.php:23
TYPO3\CMS\Core\Database\Query\Expression\ExpressionBuilder\andX
CompositeExpression andX(... $expressions)
Definition:
ExpressionBuilder.php:68
TYPO3\CMS\Core\Database\Query\Restriction
Definition:
AbstractRestrictionContainer.php:3
TYPO3\CMS\Core\Database\Query\Restriction\DocumentTypeExclusionRestriction\__construct
__construct($doktype)
Definition:
DocumentTypeExclusionRestriction.php:33
TYPO3\CMS\Core\Database\Query\Restriction\DocumentTypeExclusionRestriction\buildExpression
CompositeExpression buildExpression(array $queriedTables, ExpressionBuilder $expressionBuilder)
Definition:
DocumentTypeExclusionRestriction.php:49
doxygen
typo3
sysext
core
Classes
Database
Query
Restriction
DocumentTypeExclusionRestriction.php
Generated on Tue Oct 5 2021 01:57:04 for TYPO3CMS by
1.8.18