Zum Inhalt springen

Powermail: Fatal Error Call to a member function getTSConfig()

Erstellt am 21. April 2008 · 4 Antworten · letzte Antwort am 12. Juni 2008

Tags: Powermail, Frage

cschnell ·

Wie der Titel sagt, gibt es bei mir bei Powermail einen Fatalen Fehler. Allerdings nur, wenn ich die Seite nicht als BE-User anschauen will. Wenn ich BE-User bin, ist alles in Ordnung.

Ich benutze TYPO3 4.1.6 und Powermail 1.1.9

Hier nochmal die komplette Fehlermeldung:

Fatal error: Call to a member function getTSConfig() on a non-object in /opt/typo3_src-4.1.6/t3lib/class.t3lib_befunc.php on line 2419

cschnell ·

Ja, und genau das scheint das Problem zu sein. Sobald ich das entsprechende Feld auf "textfeld" umschalte, geht es.

bri ·

Moin,

weiß nicht, ob's hilft.

Ich habe TYPO 4.1.3, Powermail 1.1.8 und date2cal 7.1.0

Bei mir war folgender Fehler, wenn ich nicht im Backend angemeldet war:

Class 't3lib_BEfunc' not found in .../typo3conf/ext/date2cal/src/class.jscalendar.php on line 106

Angezeigt wurde ein weißer Bildschirm.

Dann habe ich nach diesem Link:

http://bugs.typo3.org/bug_view_advanced_page.php?bug_id=7217

am Anfang der Datei class.jscalendar.php die Zeile

require_once(PATH_t3lib.'class.t3lib_befunc.php');

eingefügt. Dann kam auch bei mir die Fehlermeldung:

Call to a member function getTSConfig() on a non-object in /srv/www/typo3/typo3_src-4.1.3/t3lib/class.t3lib_befunc.php on line 2419

Dann habe ich die Zeilen in class.jscalendar.php (ab 106)

$userProps = t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'], 'tx_date2cal');
if (!is_array($userProps))
  $extConfig = array_merge($extConfig, $userProps['properties']);

auskommentiert und konnte auch die am Anfang eingefügte Zeile wieder rausnehmen.

Jetzt sieht's gut aus. Wobei mir nicht ganz klar ist, was die auskommentierten Zeilen bewirken. Ich kann keine Einschränkungen feststellen.

Ich hab soviel Wissen aus diesem Forum gezogen, dass ich jhoffe, jetzt auch mal was zurückgeben zu können.

Hilft es? Ich hoffe es.

Herzliche Grüße
Inge

cschnell ·

@bri,

das könnte Probleme bei den Berechtigungen im BE geben. Ich habe es jetzt folgendermassen gelöst (Bin mir nicht sicher, ob das State-Of-The-Art Programmierung ist, aber es geht):

// user/group settings
			$userProps = t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'], 'tx_date2cal');
			if (!is_array($userProps))
				$extConfig = array_merge($extConfig, $userProps['properties']);
		}

ersetzen mit

// user/group settings
		if(in_array(PATH_t3lib.'class.t3lib_befunc.php', get_included_files())){
			$userProps = t3lib_BEfunc::getModTSconfig($this->pageinfo['uid'], 'tx_date2cal');
			if (!is_array($userProps))
				$extConfig = array_merge($extConfig, $userProps['properties']);
		}

Damit wird geschaut, ob die t3lib_befunc.php irgendwie eingebunden wurde. Wenn nicht, ist der User im FE und darf den Kalender verwenden. Ansonsten gelten BE-Rechte.

Werde das auch noch kurz dem Date2Cal Entwickler schreiben, vielleicht kann man so einen Check (Aufruf aus BE oder FE) noch geschickter integrieren