Problem beim Update von 2.0.16 -> 2.0.17

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Problem beim Update von 2.0.16 -> 2.0.17

Beitrag von Dominik Müller »

Hallo zusammen,

bin gerade dabei mein Board auf den neuesten Stand zu bringen und bekomme schon bei der ersten Code-Änderung Probleme (führe also die Code-Changes durch).

In der Anleitung steht:

Code: Alles auswählen

##
##----------[ FIND ]-------------------------------------
##

		if ( $delete_all )
		{
			switch($folder)
			{
				case 'inbox':
					$delete_type = "privmsgs_to_userid = " . $userdata['user_id'] . " AND (
					privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )";
					break;

				case 'outbox':
					$delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )";
					break;

				case 'sentbox':
					$delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SENT_MAIL;
					break;

				case 'savebox':
					$delete_type = "( ( privmsgs_from_userid = " . $userdata['user_id'] . " 
						AND privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . " ) 
					OR ( privmsgs_to_userid = " . $userdata['user_id'] . " 
						AND privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . " ) )";
					break;
			}

			$sql = "SELECT privmsgs_id
				FROM " . PRIVMSGS_TABLE . "
				WHERE $delete_type";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not obtain id list to delete all messages', '', __LINE__, __FILE__, $sql);
			}

			while ( $row = $db->sql_fetchrow($result) )
			{
				$mark_list[] = $row['privmsgs_id'];
			}

			unset($delete_type);
		}

		if ( count($mark_list) )

##
##----------[ REPLACE WITH ]-----------------------------
##

		$delete_sql_id = '';

		if (!$delete_all)
		{
			for ($i = 0; $i < count($mark_list); $i++)
			{
				$delete_sql_id .= (($delete_sql_id != '') ? ', ' : '') . intval($mark_list[$i]);
			}
			$delete_sql_id = "AND privmsgs_id IN ($delete_sql_id)";
		}

		switch($folder)
		{
			case 'inbox':
				$delete_type = "privmsgs_to_userid = " . $userdata['user_id'] . " AND (
				privmsgs_type = " . PRIVMSGS_READ_MAIL . " OR privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )";
				break;

			case 'outbox':
				$delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND ( privmsgs_type = " . PRIVMSGS_NEW_MAIL . " OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )";
				break;

			case 'sentbox':
				$delete_type = "privmsgs_from_userid = " . $userdata['user_id'] . " AND privmsgs_type = " . PRIVMSGS_SENT_MAIL;
				break;

			case 'savebox':
				$delete_type = "( ( privmsgs_from_userid = " . $userdata['user_id'] . " 
					AND privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . " ) 
				OR ( privmsgs_to_userid = " . $userdata['user_id'] . " 
					AND privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . " ) )";
				break;
		}

		$sql = "SELECT privmsgs_id
			FROM " . PRIVMSGS_TABLE . "
			WHERE $delete_type $delete_sql_id";

		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain id list to delete messages', '', __LINE__, __FILE__, $sql);
		}

		$mark_list = array();
		while ( $row = $db->sql_fetchrow($result) )
		{
			$mark_list[] = $row['privmsgs_id'];
		}

		unset($delete_type);

		if ( count($mark_list) )
Allerdings finde ich diese Passage nicht...
Wo soll ich diese Änderung also durchführen?

Hier meine Datei:
http://www.forum.schildkroeten-farm.de/primsg.txt

Grüße
Dominik
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

Bei dir sind dort Sachen vom Attachment Mod dazwischen...

Suche in der Datei nach "$delete_all" dann ist die dritte (und auch letzte) Stelle die richtige.
Ersetze die Sachen dann Stückweise, sodass du geänderte Sachen beibehalten kannst.
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

mr.no-name hat geschrieben:Ersetze die Sachen dann Stückweise, sodass du geänderte Sachen beibehalten kannst.
Wie meinst du das jetzt genau? Bin in Sachen php sehr unerfahren... :-?
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

In dem Stück Code, den du laut Anleitung suchen und ersetzen sollst, befinden sich bei dir Dinge, die anders sind.
So ist relativ weit unten die Stelle
"$attachment_mod['pm']->delete_all_pm_attachments($mark_list);"
drin, die anscheinend zum Attachment Mod gehört.
Das heißt, du müsstest dieses dann an entsprechender Stelle wieder einbauen.
mr.no-name
Mitglied
Beiträge: 1883
Registriert: 20.10.2003 12:07
Wohnort: Hannover

Beitrag von mr.no-name »

Ich habe mir das mal angesehen:

Wenn du die Zeile

Code: Alles auswählen

$attachment_mod['pm']->delete_all_pm_attachments($mark_list);
Vorher aus der Datei entfernst, erhälst du genau den Code, den du suchen sollst.
Diesen dann also wie in der Anleitung beschrieben ersetzen...
Danach dann die oben entfernte Zeile wieder über

Code: Alles auswählen

if ( count($mark_list) )
einfügen.
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

Ok, das hab ich...
Da gibt es aber noch ein Problem:

Code: Alles auswählen

##
##----------[ FIND ]-------------------------------------
##

	//
	// Front end
	//
	$sql = "SELECT * 
		FROM " . FORUMS_TABLE . " f
		ORDER BY forum_order";

##
##----------[ REPLACE WITH ]-----------------------------
##

	//
	// Front end
	//
	$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 ASC";
Das finde ich bei mir auch nicht...

Grüße
Dominik
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

Kann mir da auch jemand helfen?
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

*schieb*
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

*schieb*
Benutzeravatar
Dominik Müller
Mitglied
Beiträge: 494
Registriert: 08.08.2004 19:04
Wohnort: Siegbach
Kontaktdaten:

Beitrag von Dominik Müller »

*nochmal schieb* :cry:
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“