2 namespace TYPO3\CMS\Backend\Controller;
37 $currentLink = isset($this->parameters[
'currentValue']) ? trim($this->parameters[
'currentValue']) :
'';
44 parent::initCurrentUrl();
54 parent::initDocumentTemplate();
57 $this->parameters[
'fieldChangeFunc'] = array();
59 unset($this->parameters[
'fieldChangeFunc'][
'alert']);
61 foreach ($this->parameters[
'fieldChangeFunc'] as $v) {
62 $update[] =
'parent.opener.' . $v;
64 $inlineJS = implode(LF, $update);
67 $pageRenderer->loadJquery();
68 $pageRenderer->loadRequireJsModule(
'TYPO3/CMS/Backend/FormEngineLinkBrowserAdapter',
'function(FormEngineLinkBrowserAdapter) {
69 FormEngineLinkBrowserAdapter.updateFunctions = function() {' . $inlineJS .
'};
85 if (isset($typoLinkParts[
'params'])) {
86 $typoLinkParts[
'additionalParams'] = $typoLinkParts[
'params'];
87 unset($typoLinkParts[
'params']);
92 $response->
getBody()->write(json_encode([
'typoLink' => $typoLink]));
106 if (isset($this->parameters[
'fieldChangeFunc']) && is_array($this->parameters[
'fieldChangeFunc']) && isset($this->parameters[
'fieldChangeFuncHash'])) {
108 $pattern =
'#\\[el\\]\\[(([^]-]+-[^]-]+-)(idx\\d+-)([^]]+))\\]#i';
109 $fieldChangeFunctions = $this->parameters[
'fieldChangeFunc'];
112 if ($handleFlexformSections && preg_match($pattern, $this->parameters[
'itemName'], $matches)) {
113 $originalName = $matches[1];
114 $cleanedName = $matches[2] . $matches[4];
115 foreach ($fieldChangeFunctions as &$value) {
116 $value = str_replace($originalName, $cleanedName, $value);
120 $result = $this->parameters[
'fieldChangeFuncHash'] ===
GeneralUtility::hmac(serialize($fieldChangeFunctions));
134 $formEngineParameters[
'fieldChangeFunc'] = $this->parameters[
'fieldChangeFunc'];
135 $formEngineParameters[
'fieldChangeFuncHash'] =
GeneralUtility::hmac(serialize($this->parameters[
'fieldChangeFunc']));
151 if (isset($browserParameters[
'pid'])) {
152 $pageId = $browserParameters[
'pid'];
153 }
elseif (isset($browserParameters[
'itemName'])) {
155 if (preg_match(
'~data\[([^]]*)\]\[([^]]*)\]~', $browserParameters[
'itemName'], $matches)) {
157 if (is_array($recordArray)) {
158 $pageId = $recordArray[
'pid'];