TYPO3
7.6
Users
bogdan
Projects
Kapeli
Resources
Dash
Docsets
TYPO3
src
typo3
sysext
backend
Classes
Form
FormDataProvider
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
$result[
'neighborRow'
] = $neighborRow;
40
// uid of page the record is located in
41
$neighborRowPid = (int)$neighborRow[
'pid'
];
42
if
($neighborRowPid !== 0) {
43
// Fetch the parent page record only if it is not the '0' root
44
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $neighborRowPid);
45
}
46
}
elseif
($result[
'vanillaUid'
] > 0) {
47
// vanillaUid points to a page uid directly
48
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $result[
'vanillaUid'
]);
49
}
50
}
else
{
51
// On "edit", the row itself has been fetched already
52
if
($result[
'databaseRow'
][
'pid'
] > 0) {
53
$parentPageRow = $this->
getRecordFromDatabase
(
'pages'
, $result[
'databaseRow'
][
'pid'
]);
54
}
55
}
56
$result[
'parentPageRow'
] = $parentPageRow;
57
58
return
$result;
59
}
60
}
Generated on Wed Nov 11 2015 01:51:53 for TYPO3 by
1.8.3