[BUGFIX] Do not use deprecated $R_URI
[Packages/TYPO3.CMS.git] / typo3 / sysext / backend / Classes / Tree / View / ContentCreationPagePositionMap.php
1 <?php
2 namespace TYPO3\CMS\Backend\Tree\View;
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\Routing\UriBuilder;
18 use TYPO3\CMS\Core\Utility\GeneralUtility;
19
20 /**
21 * Local position map class when creating new Content Elements
22 */
23 class ContentCreationPagePositionMap extends PagePositionMap
24 {
25 /**
26 * @var bool
27 */
28 public $dontPrintPageInsertIcons = 1;
29
30 /**
31 * Wrapping the title of the record - here we just return it.
32 *
33 * @param string $str The title value.
34 * @param array $row The record row.
35 * @return string Wrapped title string.
36 */
37 public function wrapRecordTitle($str, $row)
38 {
39 return $str;
40 }
41
42 /**
43 * Create on-click event value.
44 *
45 * @param array $row The record.
46 * @param string $vv Column position value.
47 * @param int $moveUid Move uid
48 * @param int $pid PID value.
49 * @param int $sys_lang System language
50 * @return string
51 */
52 public function onClickInsertRecord($row, $vv, $moveUid, $pid, $sys_lang = 0)
53 {
54 $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
55 $location = (string)$uriBuilder->buildUriFromRoute('record_edit', [
56 'edit[tt_content][' . (is_array($row) ? -$row['uid'] : $pid) . ']' => 'new',
57 'defVals[tt_content][colPos]' => $vv,
58 'defVals[tt_content][sys_language_uid]' => $sys_lang,
59 'returnUrl' => GeneralUtility::_GP('returnUrl')
60 ]);
61 return $this->clientContext . '.location.href=' . GeneralUtility::quoteJSvalue($location) . '+document.editForm.defValues.value; return false;';
62 }
63 }