Seite 1 von 2

4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 27. Feb 2013, 21:22
von Seelauer
Hallo Zusammen,
eingangs ein großes Lob und Dankeschön an alle Beteiligten und Entwickler für die vielen sinnvollen Ergänzungen und Zusatzfunktionen in der aktuellen Version von 4.9.0-rc1 !
Beim ersten Antesten habe ich festgestellt, daß in
1. Style -> Layouts und
2. Style -> Module
bei mir die Fehlermeldung

Code: Alles auswählen

Fatal error: Call to undefined function stripslashes_deep() in /***/***/***/contenido/includes/include.mod_overview.php on line 115
erscheint. Ein weiteres Bearbeiten ist hierbei dann nicht möglich.
Kennt einer von den "Contenido-Gurus" eine schnelle Lösung ?
Vielen Dank, einen schönen Abend!

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 27. Feb 2013, 23:37
von xmurrix
Hallo Seelauer,

die Funktion stripslashes_deep() ist in der "contenido/includes/globals_off.inc.php". Versuche herauszufinden, warum die Datei "contenido/includes/globals_off.inc.php" bei dir nicht eingebunden wird.

In der "contenido/includes/startup.php" gibt es folgende Zeile, die das macht:

Code: Alles auswählen

require_once(dirname(__FILE__) . '/globals_off.inc.php');
Falls du mit symlinks arbeitest, könnte folgendes helfen:

Code: Alles auswählen

require_once(realpath(dirname(__FILE__)) . '/globals_off.inc.php');
Gruß
xmurrix

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Do 28. Feb 2013, 08:01
von Seelauer
Danke xmurrix für Deine schnelle Antwort und Hilfe.
Ich habe nach Deinem Vorschlag die Ergänzung eingebaut, der Pfad ist richtig, es hat sich aber an diesem Fehler beim Aufruf im Backend von Style -> Layouts oder Style -> Module nichts geändert.
Dann habe ich zwei "schmutzige" Änderungen vorgenommen und nun funktioniert es bei mir. Ich kann aber mit meinem Halbwissen zur Contenido-Verwaltung nicht die Tragweite meiner Änderungen erkennen oder einen besseren Vorschlag bringen.
Die Änderungen sind:
1. contenido/includes/include.lay_overview.php, ca. Zeile 32, den Original-Code mit diesem

Code: Alles auswählen

$name = conHtmlSpecialChars($layout->get("name"));
gewechselt und
2. contenido/includes/include.mod_overview.php, ca. Zeile 115, mit diesem

Code: Alles auswählen

$sName = conHtmlSpecialChars($module ['name']);
und
3. contenido/includes/include.mod_edit_form.php das gleiche Spiel.
Also einfach die Function stripslashes_deep() lahm gelegt, ob das die allg. und gültige Lösung ist, sei natürlich dahin gestellt.
Diese Testversion läuft in einer Subdomän.

Installierte Versionen
CONTENIDO Version: 4.9.0-rc1
Webserver-Version: Apache/2.2.22
Installierte PHP-Version: 5.3.10
Datenbankserver-Version: 5.5.28-log
PHP-Datenbankerweiterung: mysql

4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Sa 2. Mär 2013, 08:07
von Seelauer
Guten Morgähn,
nach der im Anfangspost geschilderten Fehlermeldung habe ich bei mir in der php.ini die magic_quotes_gpc auf OFF gesetzt. Dann läuft in Contenido alles ohne Fehlermeldung.

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Do 7. Mär 2013, 14:10
von malsdgtac
Hallo,
danke für die Info - magic_quotes_gpc auf OFF - war auch bei mir die Lösung

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Do 7. Mär 2013, 17:07
von xmurrix
Genau das ist eines der Aufgaben in der Datei "contenido/includes/globals_off.inc.php". Ermitteln der PHP-Einstellung magic_quotes_gpc und entsprechend darauf reagieren.

Das Umstellen von magic_quotes_gpc auf OFF löst das Problem, aber die Frage ist, wird die "contenido/includes/globals_off.inc.php" bei euch nicht geladen oder nicht? Wenn nicht, warum nicht.

Gruß
xmurrix

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Do 7. Mär 2013, 18:27
von malsdgtac
Hallo xmurrix,

das Problem ist nicht die Einbindung der Datei - diese wird eingebunden. Das Problem ist wohl die Definition der Konstante "CON_STRIPSLASHES" (bzw. die alte Version "CONTENIDO_STRIPSLASHES").

Ich habe jetzt mal folgenden Code:

Code: Alles auswählen

define('CONTENIDO_STRIPSLASHES', (get_magic_quotes_gpc() == 0));
define('CON_STRIPSLASHES', (get_magic_quotes_gpc() == 0));
in

Code: Alles auswählen

define('CONTENIDO_STRIPSLASHES', get_magic_quotes_gpc());
define('CON_STRIPSLASHES', get_magic_quotes_gpc());
geändert.

Jetzt geht's

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Do 7. Mär 2013, 23:18
von xmurrix
Hallo smac,

danke für deinen Fix, das behebt das Problem.

Nachtrag:
Habe mich leider zu früh gefreut, das ist es nicht...

Gruß
xmurrix

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Fr 8. Mär 2013, 00:09
von malsdgtac
Also bei mir funktioniert es. Wo hast du noch ein Problem?

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Fr 8. Mär 2013, 00:34
von xmurrix
Der Code ist seit Jahren gleich, d. h. es wurde nicht geändert. Dass es auf einmal Probleme macht, ist etwas ungewöhnlich und das ja auch nicht bei vielen Usern der Fall.

Dass es bei dir funktioniert ist gut, aber es ann sein, dass das bei anderen Usern wiederum nicht funktioniert.

Ich würde eher die Logik in der Datei "contenido/includes/globals_off.inc.php" unter die Lupe nehmen und gegebenenfalls auf Unterschiede in neuen PHP-Versionen anpassen.

Habe auf jeden Fall ein Ticket dazu erstellt. Das Problem wird geprüft und gefixt. Vielleicht wird sogar deine Lösung hergenommen, aber das wird sich ergeben...

Gruß
xmurrix

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Fr 8. Mär 2013, 17:32
von malsdgtac
Hallo xmurrix,

du hast Recht, wenn die Magic Quots aus sind - dann führt mein neuer Code zu anderen Fehlern: http://forum.contenido.org/viewtopic.php?f=92&t=32822

Deswegen habe ich die Änderungen rückgängig gemacht und die Magic Quots ausgeschalten.

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 3. Apr 2013, 10:38
von derju
Hallo

Ich habe leider das selbe Problem.

Die RC1 wurde auf MAMP mit PHP 5.3.14 installiert, dass Problem ist direkt nach der Installation aufgetreten.

Gruß derJu

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 3. Apr 2013, 10:49
von xmurrix
derju hat geschrieben:...Ich habe leider das selbe Problem...
Ersetze die Zeile 115 in contenido/includes/include.mod_overview.php

Code: Alles auswählen

        $sName = stripslashes_deep(conHtmlSpecialChars($module ['name'])); //$cApiModule->get("name");
gegen

Code: Alles auswählen

        $sName = stripslashes(conHtmlSpecialChars($module['name']));
Das sollte das Problem lösen.

Gruß
xmurrix

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 3. Apr 2013, 12:39
von derju
Danke, noch ein Nachtrag:

Ersetze die Zeile 38 in contenido/includes/include.lay_overview.php

Code: Alles auswählen

$name  = stripslashes_deep($layout->get('name'));
gegen

Code: Alles auswählen

$name  = stripslashes($layout->get('name'));
Dann erhalte ich keine Fehlermeldung mehr.

Gruß derju

Re: 4.9.0-rc1 undefined function stripslashes_deep()

Verfasst: Mi 3. Apr 2013, 12:44
von derju
Es gibt aber noch mehr Probleme:

Code: Alles auswählen

Fatal error: Call to undefined function stripslashes_deep() in /Users/***/Documents/***/SERVER/contenido/www.***.de/contenido/includes/include.lay_edit_form.php on line 115
Grundsätzlich kann die Funktion nicht gefunden werden.

Code: Alles auswählen

stripslashes_deep()

LG - derJu