Probleme beim Anlegen eines Artikels

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » So 18. Dez 2005, 15:59

aua der fehler tut echt weh...
ganz eine andere lösung... (ich habs nicht verbrochen, obwohl mein name in der datei steht..)

includes/globals_off.inc.php

Code: Alles auswählen

/* Emulate magic_quotes_gpc if it is not set */
if (@ get_magic_quotes_gpc() == 0)
{
	foreach ($_GET as $key => $value)
	{
		$_GET[$key] = addslashes($_GET[$key]);
	}
	foreach ($_POST as $key => $value)
	{
		$_POST[$key] = addslashes($_POST[$key]);
	}
	foreach ($_COOKIE as $key => $value)
	{
		$_COOKIE[$key] = addslashes($_COOKIE[$key]);
	}

}
if (!isset ($_REQUEST))
{
	/* Register post,get and cookie variables into $_REQUEST */
	$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
} else
{
	if (@ ini_get("magic_quotes_gpc") == 0)
	{
		foreach ($_GET as $key => $value)
		{
			$_GET[$key] = stripslashes($_GET[$key]);
		}
		 foreach ($_POST as $key => $value)
                {
                        $_POST[$key] = stripslashes($_POST[$key]);
                }
                foreach ($_REQUEST as $key => $value)
                {
                        $_REQUEST[$key] = stripslashes($_REQUEST[$key]);
                }
	}
}
ersetzen durch

Code: Alles auswählen

if (!isset ($_REQUEST))
{
	/* Register post,get and cookie variables into $_REQUEST */
	$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
}
*** make your own tools (wishlist :: thx)

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » So 18. Dez 2005, 16:03

die anderen änderungen in der functions.con.php kann wieder auf das orginal zurückstellen...
*** make your own tools (wishlist :: thx)

Parklife
Beiträge: 102
Registriert: Sa 19. Nov 2005, 20:28
Kontaktdaten:

Beitrag von Parklife » So 18. Dez 2005, 16:06

Jaaaaaaaa, jetzt geht's! :D Super, vielen Dank! Der Advent ist gerettet!

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 18. Dez 2005, 17:08

Ähm, emergence, ist das ein Contenido-Bug? Sollte man das generell ändern?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

katharina
Beiträge: 5
Registriert: Sa 17. Dez 2005, 19:14
Kontaktdaten:

Beitrag von katharina » So 18. Dez 2005, 17:14

Herzlichsten Dank!!! Ich wollte das Programm schon wieder deinstallieren...

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » So 18. Dez 2005, 17:20

HerrB hat geschrieben:...ist das ein Contenido-Bug?
ja schon... und noch ein schwerer dazu...
HerrB hat geschrieben:Sollte man das generell ändern?
hmm... ja wäre nicht schlecht...
ich weiss zwar was da versucht worden ist aber so ist das momentan leider nicht brauchbar... entweder schreibt man den teil komplett um sodas es richtig funktioniert oder man nimmts raus...
meine lösung war nur das rausnehmen...
*** make your own tools (wishlist :: thx)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 18. Dez 2005, 17:54

Der Lösungsvorschlag löst auch die gemeldeten Probleme bei der Bearbeitung der Artikeleigenschaften. Und das ist ein echter Knaller: Mit einem OK kann der ganze Artikel im Nirwana verschwinden...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 18. Dez 2005, 19:17

Achtung! Das folgende ist kein Bugfix, sondern nur für die Entwickler gedacht! Nicht einbauen!

Ich habe mal gesucht (für den Fall, dass magic_quotes=off). Die folgende Funktion entfernt die Slashes (hat also eigentlich genau das falsche Ziel), sollte aber einfach umgebaut werden können:

Code: Alles auswählen

function fix_magic_quotes ($var = NULL, $sybase = NULL)
{
	// if sybase style quoting isn't specified, use ini setting
	if ( !isset ($sybase) )
	{
		$sybase = ini_get ('magic_quotes_sybase');
	}

	// if no var is specified, fix all affected superglobals
	if ( !isset ($var) )
	{
		// if magic quotes is enabled
		if ( get_magic_quotes_gpc () )
		{
			// workaround because magic_quotes does not change $_SERVER['argv']
			$argv = isset($_SERVER['argv']) ? $_SERVER['argv'] : NULL; 

			// fix all affected arrays
			foreach ( array ('_ENV', '_REQUEST', '_GET', '_POST', '_COOKIE', '_SERVER') as $var )
			{
				$GLOBALS[$var] = fix_magic_quotes ($GLOBALS[$var], $sybase);
			}

			$_SERVER['argv'] = $argv;

			// turn off magic quotes, this is so scripts which
			// are sensitive to the setting will work correctly
			ini_set ('magic_quotes_gpc', 0);
		}

		// disable magic_quotes_sybase
		if ( $sybase )
		{
			ini_set ('magic_quotes_sybase', 0);
		}

		// disable magic_quotes_runtime
		set_magic_quotes_runtime (0);
		return TRUE;
	}

	// if var is an array, fix each element
	if ( is_array ($var) )
	{
		foreach ( $var as $key => $val )
		{
			$var[$key] = fix_magic_quotes ($val, $sybase);
		}

		return $var;
	}

	// if var is a string, strip slashes
	if ( is_string ($var) )
	{
		return $sybase ? str_replace ('\'\'', '\'', $var) : stripslashes ($var);
	}

	// otherwise ignore
	return $var;
}
Aus Sicherheitgründen sollte man vielleicht noch eine maximale Rekursionstiefe einprogrammieren...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » So 18. Dez 2005, 21:44

ähm... seltsame funktion...
das betreffend sybase ist via globals_off.inc.php nicht handlebar

wenn man will das die obrige funktionalität erhalten bleiben soll würde das wie folgt aussehen...

includes/globals_off.inc.php

Code: Alles auswählen

/* Emulate magic_quotes_gpc if it is not set */
if (@ get_magic_quotes_gpc() == 0)
{
	foreach ($_GET as $key => $value)
	{
		$_GET[$key] = addslashes($_GET[$key]);
	}
	foreach ($_POST as $key => $value)
	{
		$_POST[$key] = addslashes($_POST[$key]);
	}
	foreach ($_COOKIE as $key => $value)
	{
		$_COOKIE[$key] = addslashes($_COOKIE[$key]);
	}

}
if (!isset ($_REQUEST))
{
	/* Register post,get and cookie variables into $_REQUEST */
	$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
} else
{
	if (@ ini_get("magic_quotes_gpc") == 0)
	{
		foreach ($_GET as $key => $value)
		{
			$_GET[$key] = stripslashes($_GET[$key]);
		}
		 foreach ($_POST as $key => $value)
                {
                        $_POST[$key] = stripslashes($_POST[$key]);
                }
                foreach ($_REQUEST as $key => $value)
                {
                        $_REQUEST[$key] = stripslashes($_REQUEST[$key]);
                }
	}
}
ersetzen durch...

Code: Alles auswählen

	// simulate get_magic_quotes_gpc on if turned off
	if (!get_magic_quotes_gpc()) {
		function addslashes_deep($value)
		{
			$value = is_array($value) ?
					 array_map('addslashes_deep', $value) :
					 addslashes($value);

			return $value;
		}

		$_POST = array_map('addslashes_deep', $_POST);
		$_GET = array_map('addslashes_deep', $_GET);
		$_COOKIE = array_map('addslashes_deep', $_COOKIE);

		$cfg['simulate_magic_quotes'] = true;
	}

	if (!isset($_REQUEST) || $cfg['simulate_magic_quotes']) {
		/* Register post,get and cookie variables into $_REQUEST */
		$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
	}

	// this should be the default setting
	if (get_magic_quotes_runtime()) {
		@set_magic_quotes_runtime(0);
	}
nicht wundern betreffend der $cfg variable...

der nächste teil ist in der
includes/functions.general.php zu fixen

Code: Alles auswählen

function set_magic_quotes_gpc(&$code) {
...
}
wird ersetzt durch

Code: Alles auswählen

function set_magic_quotes_gpc(&$code) {
		global $cfg;
		if (!$cfg['simulate_magic_quotes']) {
				if (get_magic_quotes_gpc() == 0) $code = addslashes($code);
		}

}
und das läuft dann so wie es gedacht ist...

zusätzlich könnte man dann sämtliche aufrufe der funktion set_magic_quotes_gpc aus dem core code entfernen... (ist dann unsinnig...)

contenido ist es dann somit egal ob magic_quotes on oder off ist...

[Edit HerrB: "Vorher" ergänzt, damit besser verlinkt werden kann]
*** make your own tools (wishlist :: thx)

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 19. Dez 2005, 11:52

Bist eine Perle. Ich wollte noch ergänzen, dass ich das im Leben nicht gefunden hätte...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mo 19. Dez 2005, 20:43

das leben ist lang...
*** make your own tools (wishlist :: thx)

jenal
Beiträge: 10
Registriert: Di 19. Okt 2004, 08:35
Wohnort: Zürich
Kontaktdaten:

Lösung funktioniert bei mir nicht ...

Beitrag von jenal » Mi 18. Jan 2006, 19:00

Ich habe dieselben Fehlermeldungen, wie hier zu Beginn beschrieben. Wenn ich nun die von emergence vorgeschlagene Lösung im File globals_off.inc.php einbaue (bzw. den Teil ersetze), kann ich nachher gar nichts mehr machen, ich bekomme immer die Meldung
Parse error: parse error, unexpected T_STRING in /usr/www/www.cms3.irdium.ch/wwwroot/contenido/in ... ff.inc.php on line 45
An was liegt das?
Danke für die schnelle Hilfe, mein Kunde würde gerne bald mal online gehen ...

Grüsse
Marcus

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 18. Jan 2006, 21:05

Dann hast Du beim Einfügen etwas falsch gemacht. Und jetzt der Spitzen-Tipp: Was steht denn in Zeile 45 der Datei?

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

quokka
Beiträge: 48
Registriert: Sa 12. Mär 2005, 00:07
Wohnort: Tilburg - The Netherlands
Kontaktdaten:

I can't see the solution..any english speaking persons here?

Beitrag von quokka » Mo 13. Feb 2006, 19:52

Hi,
Sometimes it's very difficult for me to get support because everything is in German, I can read it a little but now I'm stuck.
I see this topic should be able to get me to fix those errors when saving an article.

Because of my bad german I can't figure out what the exact solution is, hat files to edeit etc.

Any help would be highly appreciated.

Thanks
Quokka

BTW, this is my error:

Warning: Invalid argument supplied for foreach() in /home/.sites/4/site114/web/contenido/includes/functions.con.php on line 219

Warning: in_array(): Wrong datatype for second argument in /home/.sites/4/site114/web/contenido/includes/functions.con.php on line 247

Warning: in_array(): Wrong datatype for second argument in /home/.sites/4/site114/web/contenido/main.php(274) : eval()'d code on line 33

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: I can't see the solution..any english speaking persons h

Beitrag von mvf » Mo 13. Feb 2006, 20:10

did ya try the first post of emergence on this page

http://contenido.org/forum/viewtopic.ph ... c&start=15

replace the first part with second in the
includes/globals_off.inc.php

just a guess never came across that prob :?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

Gesperrt