Updateanleitung von phpBB 2.0.17 auf 2.0.18

Sicherheit des Webservers, der Server und rund um phpBB
Antworten
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Updateanleitung von phpBB 2.0.17 auf 2.0.18

Beitrag von volker58 »

gibt wieder mal arbeit, hat einer schon ne anleitung dafür gefunden?
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

ach du sch.....


kann das mal einer in deutsch erklären was sein muß und was man nicht unbedingt braucht?

http://www.phpbb.com/phpBB/viewtopic.php?f=14&t=336756

kann leider kein englisch
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Und da treten bei mir massenhaft Probleme auf
Folgende Anweisungen kann ich nicht umsetzen

Code: Alles auswählen

privmsg.php
#
#-----[ FIND ]---------------------------------------------
#
			$privmsg_subject = $privmsg_message = '';

#
#-----[ REPLACE WITH ]---------------------------------------------
#
			$privmsg_subject = $privmsg_message = $to_username = '';

viewtopic.php
#
#-----[ FIND ]---------------------------------------------
#
			$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
		}

		if ( $bbcode_uid != '' )
		{
			$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
		}
	}

#
#-----[ REPLACE WITH ]---------------------------------------------
#
		$user_sig = ($board_config['allow_bbcode']) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace("/\:$user_sig_bbcode_uid/si", '', $user_sig);
	}

	if ($bbcode_uid != '')
	{
		$message = ($board_config['allow_bbcode']) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace("/\:$bbcode_uid/si", '', $message);
	}

admin_ug_auth.php
#
#-----[ FIND ]---------------------------------------------
#
	if( count($name) )
	{
		$t_usergroup_list = $t_pending_list = '';

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	$t_usergroup_list = $t_pending_list = '';
	if( count($name) )
	{

function_validate.php
#
#-----[ FIND ]---------------------------------------------
# NOTE --- Removing trailing whitespaces
#
	$username = phpbb_clean_username($username);
	
	$sql = "SELECT username 
		FROM " . USERS_TABLE . " 

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	$username = phpbb_clean_username($username);

	$sql = "SELECT username 
		FROM " . USERS_TABLE . "

session.php (CTracker)
#
#-----[ FIND ]---------------------------------------------
#
	$current_time = time();
	$expiry_time = $current_time - $board_config['session_length'];

	//
	// Try and pull the last time stored in a cookie, if it exists
	//
	$sql = "SELECT * 
		FROM " . USERS_TABLE . " 
		WHERE user_id = $user_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(CRITICAL_ERROR, 'Could not obtain lastvisit data from user table', '', __LINE__, __FILE__, $sql);
	}

	$userdata = $db->sql_fetchrow($result);

	if ( $user_id != ANONYMOUS )
	{
		$auto_login_key = $userdata['user_password'];

		if ( $auto_create )
		{
			if ( isset($sessiondata['autologinid']) && $userdata['user_active'] )
			{
				// We have to login automagically
				if( $sessiondata['autologinid'] === $auto_login_key )
				{
					// autologinid matches password
					$login = 1;
					$enable_autologin = 1;
				}
				else
				{
					// No match; don't login, set as anonymous user
					$login = 0; 
					$enable_autologin = 0; 
					$user_id = $userdata['user_id'] = ANONYMOUS;
				
					$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
					$result = $db->sql_query($sql);
					$userdata = $db->sql_fetchrow($result);
					$db->sql_freeresult($result);
				}
			}
			else
			{
				// Autologin is not set. Don't login, set as anonymous user
				$login = 0;
				$enable_autologin = 0;
				$user_id = $userdata['user_id'] = ANONYMOUS;

				$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
				$result = $db->sql_query($sql);
				$userdata = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);
			}
		}
		else
		{
			$login = 1;
		}
	}
	else
	{
		$login = 0;
		$enable_autologin = 0;
	}

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	$current_time = time();

	//
	// Are auto-logins allowed?
	// If allow_autologin is not set or is true then they are
	// (same behaviour as old 2.0.x session code)
	//
	if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])
	{
		$enable_autologin = $sessiondata['autologinid'] = false;
	}

	// 
	// First off attempt to join with the autologin value if we have one
	// If not, just use the user_id value
	//
	$userdata = array();

	if ($user_id != ANONYMOUS)
	{
		if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)
		{
			$sql = 'SELECT u.* 
				FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k
				WHERE u.user_id = ' . (int) $user_id . "
					AND u.user_active = 1
					AND k.user_id = u.user_id
					AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";
			if (!($result = $db->sql_query($sql)))
			{
				message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
			}

			$userdata = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);
		
			$enable_autologin = $login = 1;
		}
		else if (!$auto_create)
		{
			$sessiondata['autologinid'] = '';
			$sessiondata['userid'] = $user_id;

			$sql = 'SELECT *
				FROM ' . USERS_TABLE . '
				WHERE user_id = ' . (int) $user_id . '
					AND user_active = 1';
			if (!($result = $db->sql_query($sql)))
			{
				message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
			}

			$userdata = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);

			$login = 1;
		}
	}

	//
	// At this point either $userdata should be populated or
	// one of the below is true
	// * Key didn't match one in the DB
	// * User does not exist
	// * User is inactive
	//
	if (!sizeof($userdata) || !is_array($userdata) || !$userdata)
	{
		$sessiondata['autologinid'] = '';
		$sessiondata['userid'] = $user_id = ANONYMOUS;
		$enable_autologin = $login = 0;

		$sql = 'SELECT *
			FROM ' . USERS_TABLE . '
			WHERE user_id = ' . (int) $user_id;
		if (!($result = $db->sql_query($sql)))
		{
			message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
		}

		$userdata = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);
	}


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

#
#-----[ FIND ]---------------------------------------------
#
		if (intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $userdata['user_level'] != ADMIN)
		{
			message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
		}

#
#-----[ REPLACE WITH ]---------------------------------------------
#
		if (intval($board_config['require_activation']) == USER_ACTIVATION_ADMIN && $row['user_newpasswd'] == '')
		{
			if (!$userdata['session_logged_in'])
			{
				redirect(append_sid('login.' . $phpEx . '?redirect=profile.' . $phpEx . '&mode=activate&' . POST_USERS_URL . '=' . $row['user_id'] . '&act_key=' . trim($HTTP_GET_VARS['act_key'])));
			}
			else if ($userdata['user_level'] != ADMIN)
			{
				message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
			}
		}
index_body.tpl
#
#
# NOTE --- The following action is related to the new autologin option (it can be disabled from the ACP).
#
#-----[ FIND ]---------------------------------------------
#
		     {L_AUTO_LOGIN} 
		<input class="text" type="checkbox" name="autologin" />

#
#-----[ BEFORE, ADD ]---------------------------------------------
#
		<!-- BEGIN switch_allow_autologin -->

#
#-----[ AFTER, ADD ]---------------------------------------------
#
		<!-- END switch_allow_autologin -->

#
#-----[ OPEN ]---------------------------------------------
# NOTE --- Remember to do this for all your installed styles!
#
templates/subSilver/admin/forum_admin_body.tpl

#
#
# NOTE --- The following action fixes a bug in the subSilver template
#
#-----[ FIND ]---------------------------------------------
#
		<td class="catRight" align="center" valign="middle"><span class="gen">&nbsp</span></td>

#
#-----[ REPLACE WITH ]---------------------------------------------
#
		<td class="catRight" align="center" valign="middle"><span class="gen">&nbsp;</span></td>
Kann mir jemand helfen?
Hab die betroffenen Dateien mal angehägt. In der Session.php macht mir der CTracker einen Strich durch die Rechnung! Bei den anderen?

Danke im voraus!
Dateianhänge
update.zip
(29.24 KiB) 151-mal heruntergeladen
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Betreffs dem Cbacktracker hab ich auch einen Thread verfasst.Hier lang.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@karstenkurt
Mir scheint, hast Du das letzte/vorletzte Update nicht gemacht.
In der privmsg.php kannst Du daher die angegebene Stelle nicht finden!

Die viewtopic.php und function_validate.php fehlen im Anhang ;)

index_body.tpl ist nicht zu ändern, da kein Login mehr enthalten ist.
Die forum_admin_body.tpl auch nicht, da der Fehler bereits durch einen Teil des Categories Hierarchy MOD ersetzt wurde.

Die sessions.php erstmal mit Vorsicht geniessen! Ich weiß noch nicht genau, ob der Cracker Tracker dort an der richtigen Stelle eingefügt wurde.

@tom10
Habe ich gesehen. Wie eben erwähnt: Cback sollte sich das dort mal anschauen.
Zuletzt geändert von oxpus am Mo 31.Okt, 2005 10:55, insgesamt 1-mal geändert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Ich werd das 17er Update nochmal überprüfen.

viewtopic hab ich selber hinbekommen, hab da noch den Signature Control drin gehabt :)
Dateianhänge
functions_validate.zip
(1.97 KiB) 155-mal heruntergeladen
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Deine functions_validate.php ist okay. Hier gings nur im Leerzeichen anstelle Tabs vor den angegebene Zeilen.
Bei Deiner Datei sind das schon Tabs.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

ok. Werde allerdings warten bis cback durch ist. Dann mach ich alles auf einmal.
Edit:
So, hab das 2.0.17 draufgemacht (das fehlte tatsächlich noch ;) ) Es ergeben sich jetzt aber immer noch 1-5 Fragen.
index.php

Code: Alles auswählen

if ( $userdata['session_logged_in'] )
	{

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	if ($userdata['session_logged_in'])
	{
		// 60 days limit
		if ($userdata['user_lastvisit'] < (time() - 5184000))
		{
			$userdata['user_lastvisit'] = time() - 5184000;
		}
und search.php

Code: Alles auswählen

ORDER BY c.cat_id, f.forum_order";

#
#-----[ REPLACE WITH ]---------------------------------------------
#
	ORDER BY c.cat_order, f.forum_order";
und admin/admin_ug_auth.php

Code: Alles auswählen

#
#-----[ FIND ]---------------------------------------------
#
			$sql = "SELECT * 
				FROM " . FORUMS_TABLE . " f
				ORDER BY forum_order";

#
#-----[ REPLACE WITH ]---------------------------------------------
#
			$sql = 'SELECT f.* 
				FROM ' . FORUMS_TABLE . ' f, ' . CATEGORIES_TABLE . ' c
				WHERE f.cat_id = c.cat_id
				ORDER BY c.cat_order, f.forum_order';
sind alle durch den CH-Mod auskommentiert und das ist auch sicher richtig so?
In der Viewtopic.php

Code: Alles auswählen

	$user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
		}

		if ( $bbcode_uid != '' )
		{
			$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
		}
	}
kommen recht häufig vor. Vielleicht kannst Du da mal nen Blick drauf werfen. Häng die mal an. (Vielleicht ist da auch der Fehler für mein anderes Problem zu finden?)
Dateianhänge
viewtopic.zip
(15.04 KiB) 149-mal heruntergeladen
Zuletzt geändert von karstenkurt am Do 03.Nov, 2005 14:46, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

search.php und admin_ug_auth.php brauchst Du nicht anpassen.
Diese Stellen wurden durch den Categories Hierarchy MOD ersetzt.

In der index.php ist die erste Stelle zu finden, die nach der letzten "Fundstelle" abgehend zu suchen ist. Wenn vorher nichts verändert wurde, dann die erste Stelle vom Dateianfang an suchen!

Und ändere in der viewtopic.php alle Stellen ab, wenn diese gleich sind.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Hab gerade beim Posten festgestellt, das folgende Stelle nach dem Update einen SQL-Fehler bringt.
suche:

Code: Alles auswählen

$topic_type = ( !empty($HTTP_POST_VARS['topictype']) ) ? intval($HTTP_POST_VARS['topictype']) : POST_NORMAL;
ersetze

Code: Alles auswählen

$topic_type = ( in_array($topic_type, array(POST_NORMAL, POST_STICKY, POST_ANNOUNCE)) ) ? $topic_type : POST_NORMAL;
Wenn ich den "alten" Zustand wiederherstelle, klappt alles?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nicht ersetzen, danach einfügen!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

habe nun auch mal angefangen das up zu machen. nun bin ich schon bei einer fehlermeldung
phpBB : Critical Error

Error clearing session table

DEBUG MODE

SQL Error : 1146 Table 'orgi.sessions_table' doesn't exist

DELETE FROM SESSIONS_TABLE WHERE session_logged_in = 0;

Line : 190
File : sessions.php
wo könnte ich da müll gebaut haben?
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Du wirst in der constants die neue Tabelle nicht nur hinzugefügt, sondern auch die Definition der Session-Tabelle damit überschrieben haben.
Schau da nochmal rein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

oh ich hirni, danke
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Ja, na klar, "AFTER, ADD".
Benutzeravatar
volker58
Beiträge: 724
Registriert: Mo 27.Dez, 2004 19:22
Wohnort: Annaberg-Buchholz
Kontaktdaten:

Beitrag von volker58 »

habe da noch eine kleine frage, warum soll eigendlich aus den templates das class="post" raus?
soll ich das überall raushauen?
Gruss Volker

http://www.fuchsienfreunde.de
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein nicht überall. Es kommt auf den Feldtyp an und hier passte es eben nicht so recht...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

[quote="oxpus - Do 03.Nov, 2005 17:25";p="47428"]Nicht ersetzen, danach einfügen![/quote]

Wenn ich die Änderung durchführe, funktioniert aber Dein Global-Topic-Mod nicht mehr, wenn ichs weglasse, dann schon. Also, werd ich diese Zeile wohl weglassen, so wichtig schaut die für mich Laien nicht aus. Nur schauen, ob der Topic-Type in einem Array ist, sonst Normal zurückliefern.

Oder man passt das Array an

Code: Alles auswählen

$topic_type = ( in_array($topic_type, array(POST_NORMAL, POST_STICKY, POST_ANNOUNCE,POST_GLOBAL_TOPIC,POST_GLOBAL_ANNOUNCE)) ) ? $topic_type : POST_NORMAL;
Dann gehts auch wieder. Sprich etwas gegen die Anpassung?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein, das ist genau das, was auch in der neuen Fassung meines MODs so drinnen steht ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
karstenkurt
Beiträge: 597
Registriert: Do 31.Mär, 2005 20:20
Kontaktdaten:

Beitrag von karstenkurt »

Dannbin ich ja ein Fuchs ^o
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Frei nach dem Motto:

OXPUS.de animiert und weckt Ideen :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten