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
DatabaseParentPageRow.php
Go to the documentation of this file.
1
<?php
2
namespace
TYPO3\CMS\Backend\Form\FormDataProvider
;
3
4
/*
5
* This file is part of the TYPO3 CMS project.
6
*
7
* It is free software; you can redistribute it and/or modify it under
8
* the terms of the GNU General Public License, either version 2
9
* of the License, or any later version.
10
*
11
* For the full copyright and license information, please read the
12
* LICENSE.txt file that was distributed with this source code.
13
*
14
* The TYPO3 project - inspiring people to share!
15
*/
16
17
use
TYPO3\CMS\Backend\Form\FormDataProviderInterface
;
18
22
class
DatabaseParentPageRow
extends
AbstractDatabaseRecordProvider
implements
FormDataProviderInterface
23
{
31
public
function
addData
(array $result)
32
{
33
// $parentPageRow end up NULL if a record added or edited on root node
34
$parentPageRow =
null
;
35
if
($result[
'command'
] ===
'new'
) {
36
if
($result[
'vanillaUid'
] < 0) {
37
// vanillaUid points to a neighbor record in same table - get its record and its pid from there to find parent record
38
$neighborRow = $this->
getRecordFromDatabase
($result[
'tableName'
], abs($result[
'vanillaUid'
]));
39
if
(!empty($neighborRow[
't3ver_oid'
])) {
40
$neighborRow = $this->
getRecordFromDatabase
($result[
'tableName'
], (
int
)$neighborRow[
't3ver_oid'
]);
41
}
42
$result[
'neighborRow'
] = $neighborRow;
43
// uid of page the record is located in
44
$neighborRowPid = (int)$neighborRow[
'pid'
];
45
if
($neighborRowPid !== 0) {
46
// Fetch the parent page record only if it is not the '0' root
47
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $neighborRowPid);
48
}
49
} elseif ($result[
'vanillaUid'
] > 0) {
50
// vanillaUid points to a page uid directly
51
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $result[
'vanillaUid'
]);
52
}
53
}
else
{
54
// On "edit", the row itself has been fetched already
55
if
($result[
'databaseRow'
][
'pid'
] > 0) {
56
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $result[
'databaseRow'
][
'pid'
]);
57
}
58
}
59
$result[
'parentPageRow'
] = $parentPageRow;
60
61
return
$result;
62
}
63
}
TYPO3\CMS\Backend\Form\FormDataProvider\AbstractDatabaseRecordProvider
Definition:
AbstractDatabaseRecordProvider.php:28
TYPO3\CMS\Backend\Form\FormDataProvider\AbstractDatabaseRecordProvider\getRecordFromDatabase
array getRecordFromDatabase($tableName, $uid)
Definition:
AbstractDatabaseRecordProvider.php:41
TYPO3\CMS\Backend\Form\FormDataProvider
Definition:
AbstractDatabaseRecordProvider.php:2
TYPO3\CMS\Backend\Form\FormDataProviderInterface
Definition:
FormDataProviderInterface.php:22
TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseParentPageRow
Definition:
DatabaseParentPageRow.php:23
TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseParentPageRow\addData
array addData(array $result)
Definition:
DatabaseParentPageRow.php:31
doxygen
typo3
sysext
backend
Classes
Form
FormDataProvider
DatabaseParentPageRow.php
Generated on Tue Oct 5 2021 01:56:54 for TYPO3CMS by
1.8.18