[TYPO3-templavoila] Problem with Method checkRecordUpdateAccess() of Class tx_templavoila_tcemain

Christoph Roth christoph.roth at lka.ekvw.de
Tue Jul 15 12:17:51 CEST 2014


Hi,

in the process of migrating an older website to TYPO3 6.2 and TV 1.9.2, 
I am facing a problem.

If a non-admin-user tries to rename an existing page, TYPO3 throws the 
following exception:

#1: PHP Warning: Illegal string offset 'data' in 
/var/www/ekvw2013/typo3conf/ext/templavoila/class.tx_templavoila_tcemain.php 
line 630

I looked into the source code at the mentioned line. I am not an 
Templavoila-expert, so I do not understand everything that's going on 
there, but this is what I found out:

In $data the method receives an array with data for the page record that 
has to be saved. In my system, this array looks like the following:

array(18) {
   ["doktype"]=>
   string(1) "1"
   ["title"]=>
   string(16) "Daten und Fakten"
   ["nav_title"]=>
   string(0) ""
   ["subtitle"]=>
   string(0) ""
   ["tx_templavoila_flex"]=>
   array(1) {

(and so on and so on...)


Now, the loop beginning from line 624 walks over any field in that 
array, and in line 629 it performs this check:

if (!is_array($data[$field]['data'])) {
	res = FALSE;
	break;
}

This must always fail, because the first array field is "doktype", so it 
checks if $data['doktype']['data'] is an array which cannot happen. Is 
there a case in which the doktype field of the pages table is an array?

I would appreciate any help or hint.

System is TYPO3 6.2.4 with TV 1.9.2, migrated from 4.5.

Have a nice and happy time,

Christoph

--

Evangelische Kirche von Westfalen
Das Landeskirchenamt
Arbeitsbereich Kommunikation / Webentwicklung
Altstädter Kirchplatz 5
33602 Bielefeld

E-Mail:   christoph.roth at lka.ekvw.de





More information about the TYPO3-project-templavoila mailing list