Project

General

Profile

Actions

Bug #35170

closed

Flexform cannot be rendered for non admins in 4.5.13

Added by Anonymous about 12 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2012-03-23
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

After the changes made in #29019 (TYPO3 4.5.13) a non admin user cannot access the flexform field in a powermail_field record anymore, because it wouldn't be rendered. maybe this affects other flexforms too, that's why i posted it here as a core issue.

the critical change was made in t3lib/class.t3lib_tceforms.php:

2488     $dataStructArray = $flexFormHelper->modifyFlexFormDS($dataStructArray, $table, $field, $row, $PA['fieldConf']['config']);

to
2488     $dataStructArray = $flexFormHelper->modifyFlexFormDS($dataStructArray, $table, $field, $row, $PA['fieldConf']);

Powermail's tca for powermail_field looks like this:
typo3conf/ext/powermail/tca.php:

377                 'flexform' => array (
378                         'exclude' => 1,
379                         'label' => 'LLL:EXT:powermail/locallang_db.xml:tx_powermail_fields.field',
380                         'config' => array (
381                                 'type' => 'flex',
382                                 'ds_pointerField' => 'formtype',
383                                 'ds' => array(
384                                         'default' => 'FILE:EXT:powermail/lib/def/def_field_error.xml',
385                                         'button' => 'FILE:EXT:powermail/lib/def/def_field_button.xml',
386                                         'captcha' => 'FILE:EXT:powermail/lib/def/def_field_captcha.xml',
387                                         'check' => 'FILE:EXT:powermail/lib/def/def_field_check.xml',
388                                         'content' => 'FILE:EXT:powermail/lib/def/def_field_content.xml',
389                                         'countryselect' => 'FILE:EXT:powermail/lib/def/def_field_countryselect.xml',
390                                         'date' => 'FILE:EXT:powermail/lib/def/def_field_date.xml',
391                                         'datetime' => 'FILE:EXT:powermail/lib/def/def_field_datetime.xml',
392                                         'file' => 'FILE:EXT:powermail/lib/def/def_field_file.xml',
393                                         'hidden' => 'FILE:EXT:powermail/lib/def/def_field_hidden.xml',
394                                         'html' => 'FILE:EXT:powermail/lib/def/def_field_html.xml',
395                                         'label' => 'FILE:EXT:powermail/lib/def/def_field_label.xml',
396                                         'password' => 'FILE:EXT:powermail/lib/def/def_field_password.xml',
397                                         'radio' => 'FILE:EXT:powermail/lib/def/def_field_radio.xml',
398                                         'reset' => 'FILE:EXT:powermail/lib/def/def_field_reset.xml',
399                                         'select' => 'FILE:EXT:powermail/lib/def/def_field_select.xml',
400                                         'submit' => 'FILE:EXT:powermail/lib/def/def_field_submit.xml',
401                                         'submitgraphic' => 'FILE:EXT:powermail/lib/def/def_field_submitgraphic.xml',
402                                         'text' => 'FILE:EXT:powermail/lib/def/def_field_text.xml',
403                                         'textarea' => 'FILE:EXT:powermail/lib/def/def_field_textarea.xml',
404                                         'typoscript' => 'FILE:EXT:powermail/lib/def/def_field_typoscript.xml',
405                                 ),
406                         )
407                 ),

So obviously the config wont be read anymore at all. i'm not sure whether it's a powermail or a core issue ;-/


Related issues 1 (0 open1 closed)

Is duplicate of TYPO3 Core - Bug #31831: "Allowed excludefields" setting for the non-tt_content flexformsClosed2011-11-15

Actions
Actions #1

Updated by Markus Klein about 12 years ago

Hi Philipp,

whatever causes this (I didn't test), the change you mentioned is not the reason.
In modifyFlexFormDS(,,,$tableConf) references are used correctly like $tableConf['config']['ds_pointerField'].

There must be some other reason.

Actions #2

Updated by Anonymous about 12 years ago

oh yes, you're right.

tracked it down to t3lib/tceforms/class.t3lib_tceforms_flexforms.php:

301         protected function getFlexFormNonExcludeFields($table, $tableField, $extIdent) {
...
306                 $accessListFields = t3lib_div::trimExplode(',', $GLOBALS['BE_USER']->groupData['non_exclude_fields']);
307                 $identPrefix = $table . ':' . $tableField . ';' . $extIdent . ';';
308                 $nonExcludeFields = array();
309
310                         // Collect only FlexForm fields
311                 foreach ($accessListFields as $field) {
312                         if (strpos($field, $identPrefix) !== FALSE) {
313                                 list(, , $sheetName, $fieldName) = explode(';', $field);
314                                 $nonExcludeFields[$sheetName][$fieldName] = TRUE;
315                         }
316                 }

the comparision in line 312 fails for all $accessListFields. therefore the returned array of $nonExcludeFields is empty. that's whats causing the non rendering of the flexform fields.

in the settings for the usergroup i only can control the users access to the flexform field itself, not the single fields within that flexform field.

Actions #3

Updated by Anonymous about 12 years ago

is duplicate of #31831. Issue can be closed.

Actions #4

Updated by Kai Vogel about 12 years ago

  • Status changed from New to Resolved
Actions #5

Updated by Benni Mack over 5 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF