Seite 1 von 1

problem beim code changes Update in includes/functions

Verfasst: 11.01.2007 01:13
von Lumpi007
Hallo Leute.

ich mache gerade ein Update auf 2.0.22 von 2.0.21 ausgehend und die Datei includes Function hat nen Fehler in Zeile 931.
Hier die Datei --> klick mich

Das ist genau die Reihe, die ich laut Anleitung ändern soll.

Code: Alles auswählen

 				
#-----[ OPEN ]--------------------------------------------- 				
# 				
includes/functions.php				

#				
#-----[ FIND ]---------------------------------------------				
# Line 915				
	"if (strstr(urldecode($url), ""\n"") || strstr(urldecode($url), ""\r""))"			

#				
#-----[ REPLACE WITH ]---------------------------------------------	
#	
	"if (strstr(urldecode($url), ""\n"") || strstr(urldecode($url), ""\r"") || strstr(urldecode($url), ';url'))"
Ich habe das ersetzt und nun kommt die Fehlermeldung in Reihe 931.
Parse error: parse error, unexpected T_STRING in /...../forum/includes/functions.php on line 931
Was kann das sein?

Verfasst: 11.01.2007 01:18
von andreasOymann
Ersetze

Code: Alles auswählen

"if (strstr(urldecode($url), ""\n"") || strstr(urldecode($url), ""\r"") || strstr(urldecode($url), ';url'))"
bitte mal mit

Code: Alles auswählen

if (strstr(urldecode($url), ""\n"") || strstr(urldecode($url), ""\r"") || strstr(urldecode($url), ';url'))
... oder entferne einfach die Anführungszeichen am Anfang und am Ende dieser Zeile...

A.

Verfasst: 11.01.2007 01:23
von Lumpi007
Die Idee hatte ich auch, aber das geht ebenso nicht. :-?

Verfasst: 11.01.2007 08:33
von andreasOymann
"Geht nicht" ist weder Fehlermeldung noch Fehlerbeschreibung... ;)

Re: problem beim code changes Update in includes/functions

Verfasst: 11.01.2007 09:58
von Lumpi007
Hallo,
es tritt die selbe Fehlermeldung auf.
Lumpi007 hat geschrieben:
Ich habe das ersetzt und nun kommt die Fehlermeldung in Reihe 931.
Parse error: parse error, unexpected T_STRING in /...../forum/includes/functions.php on line 931
Was kann das sein?

Verfasst: 11.01.2007 11:38
von andreasOymann
suche

Code: Alles auswählen

function redirect($url)
{
    global $db, $board_config;

    if (!empty($db))
    {
        $db->sql_close();
    }

    "if ( strstr(urldecode($url), ""\n"") || strstr(urldecode($url), ""\r"") || strstr(urldecode($url), ';url') )"
    {
        message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
    }

    $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
    $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
    $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
    $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
    $script_name = ($script_name == '') ? $script_name : '/' . $script_name;
    $url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));

    // Redirect via an HTML form for PITA webservers
    if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
    {
        header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
        echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
        exit;
    }

    // Behave as per HTTP/1.1 spec for others
    header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
    exit;
}
und ersetze mit

Code: Alles auswählen

function redirect($url)
{
	global $db, $board_config;

	if (!empty($db))
	{
		$db->sql_close();
	}

	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r") || strstr(urldecode($url), ';url'))
	{
		message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');
	}

	$server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://';
	$server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name']));
	$server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : '';
	$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
	$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
	$url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url));

	// Redirect via an HTML form for PITA webservers
	if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')))
	{
		header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url);
		echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>';
		exit;
	}

	// Behave as per HTTP/1.1 spec for others
	header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url);
	exit;
}
... das ist die original-redirect-Funktion aus dem phpBB 2.0.22... die sollte funktionieren. Denke bitte daran, die Datei nach der Änderung auch hochzuladen... mein ursprünglich geposteter Code entspricht nämlich ebenfalls dem Original-Code eome phpBB 2.0.22...

A.

Verfasst: 11.01.2007 12:08
von Lumpi007
Mit der Änderung geht es.
Aber im folgenden kommen noch weitere Dateien mit Fehlermeldungen.

Der Fehler scheint wohl in jeder Datei die " am Anfang und am Ende der eingefügten Änderung zu sein.

Verfasst: 11.01.2007 12:42
von andreasOymann
in der update-Anleitung unter dem Link auf unserer DL-Seite ( http://prdownloads.sourceforge.net/phpb ... hanges.zip ) finde ich keinerlei Anführungszeichen. Ein kurzer Auszug daraus:

Code: Alles auswählen

# 
#-----[ OPEN ]--------------------------------------------- 
# 
includes/functions.php

#
#-----[ FIND ]---------------------------------------------
# Line 915
	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r"))

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r") || strstr(urldecode($url), ';url'))
Ich weiss nicht, woher du deine update-Anleitung her hast...

A.

Verfasst: 11.01.2007 13:34
von Lumpi007
Hallo Andreas.

Ich bin über das acp auf download gegangen und habe mir auf dem Link die code changes herruntergeladen.

Deine Anleitung war gut und jetzt geht es.

Hab vielen Dank :grin: