ACP-Module nach Update auf 2.0.20 defekt

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

ACP-Module nach Update auf 2.0.20 defekt

Beitrag von oxpus »

Die Module admin/admin_ranks.php, admin/admin_smilies.php und admin/admin_words.php lassen nach dem Update des phpBB auf 2.0.20 sowie bei einer Neuinstallation der Vanilla-Version den Administrator das Löschen von Datensätzen nicht mehr abbrechen. Die angezeigte Löschbestätigung wird lediglich neu geladen.
Hier nun ein Snippet, das diese Fehler behebt:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
admin/admin_ranks.php

#
#-----[ FIND ]-----
#
// Restrict mode input to valid options
$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';

#
#-----[ AFTER, ADD ]-----
#
if (isset($HTTP_POST_VARS['cancel']))
{
	$mode = "";
}

#
#-----[ OPEN ]-----
#
admin/admin_smilies.php

#
#-----[ FIND ]-----
#
//
// Check to see what mode we should operate in.
//
if( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) )
{
	$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
	$mode = htmlspecialchars($mode);
}
else
{
	$mode = "";
}

#
#-----[ AFTER, ADD ]-----
#
if (isset($HTTP_POST_VARS['cancel']))
{
	$mode = "";
}

#
#-----[ OPEN ]-----
#
admin/admin_words.php

#
#-----[ FIND ]-----
#
// Restrict mode input to valid options
$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';

#
#-----[ AFTER, ADD ]-----
#
if (isset($HTTP_POST_VARS['cancel']))
{
	$mode = "";
}


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
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
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Danke dir scheint zu funktionieren alles, hab mal bei ränge, smilies, words jefalls was hinzugefügt, bearbeitet und dann gelöscht mal mit "Ja" und "Nein" bestätigt so solls auch sein :) jetzt muss ich weg, mal nachher den abend schauen, in die andere dateien die man in phpBB update musste fehler auftauchen.
Danke nochmal an dieser stelle, dann kann ich auch späteste morgen auf die momentanen seite das Update durchführen wenn mir keine fehler mehr im test-board bekannt werden.

EDIT: Ist es besser das Snippet wieder auszubauen und die änderrungen von der phpBB Group bei version 2.0.21 zu verwenden? Oder kann ich den code von der phpBB Group einbauen allerdings ausgeklammert, weils egal ist?
Zuletzt geändert von Christian_N am Do 08.Jun, 2006 21:29, insgesamt 1-mal geändert.
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Erstmal die Änderungen von hier weglassen und das Update zuende machen.
Wenn es ohne die Codes von hier geht, ist es ja schon okay...
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
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Habe erstmal die von hier ausgeklammert und nur die 3 Dateien bearbeiten mit dem Code welche die phpBB Group schrieb eingefügt, also damit gehts immer noch, also kann ich nach dem Update des Snippet, was ich ausgeklammert habe sogar löschen in die 3 Dateien :)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

mal als indirekte Frage eine andere Lösung, da (wohl auch gerade wegen meiner Lösung) das Update auf 0.21 mich NICHT wieder zurückführt bei Klick auf Abbruch...

Original:

Code: Alles auswählen

$cancel = ( isset($HTTP_POST_VARS['cancel']) ) ? true : false;
$no_page_header = $cancel;

require('./pagestart.' . $phpEx);

if ($cancel)
{
	redirect('admin/' . append_sid("admin_ranks.$phpEx", true));
}

if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
	$mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
	$mode = htmlspecialchars($mode);
}
else 
{
	//
	// These could be entered via a form button
	//
	if( isset($HTTP_POST_VARS['add']) )
	{
		$mode = "add";
	}
	else if( isset($HTTP_POST_VARS['save']) )
	{
		$mode = "save";
	}
	else
	{
		$mode = "";
	}
}

// Restrict mode input to valid options
$mode = ( in_array($mode, array('add', 'edit', 'save', 'delete')) ) ? $mode : '';

Code: Alles auswählen

$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

		message_die(GENERAL_MESSAGE, $message);

	}
	else if( $mode == "delete" )
	{
		//
		// Ok, they want to delete their rank
		//
		
		if( isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id']) )
		{
			$rank_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);
		}
		else
		{
			$rank_id = 0;
		}

		$confirm = isset($HTTP_POST_VARS['confirm']);
Meine Variante:

Code: Alles auswählen

if (isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode'])) {
    $mode = (isset($HTTP_GET_VARS['mode'])) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
    $mode = htmlspecialchars($mode);
} else {
    if (isset($HTTP_POST_VARS['add'])) {
        $mode = "add";
    } else if (isset($HTTP_POST_VARS['save'])) {
        $mode = "save";
    } else {
        $mode = "";
    }
}

$mode = (in_array($mode, array('add', 'edit', 'save', 'delete'))) ? $mode : '';

$confirm = (isset($HTTP_POST_VARS['confirm'])) ? true : 0;
$cancel = (isset($HTTP_POST_VARS['cancel'])) ? true : 0;

Code: Alles auswählen

$message .= "<br /><br />" . sprintf($lang['Click_return_rankadmin'], "<a href=\"" . append_sid("admin_ranks.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");

        message_die(GENERAL_MESSAGE, $message);
    } else if ($mode == "delete") {
        if ($cancel) {
            redirect(append_sid("admin/admin_ranks.$phpEx", true));
        }
        if (isset($HTTP_POST_VARS['id']) || isset($HTTP_GET_VARS['id'])) {
            $rank_id = (isset($HTTP_POST_VARS['id'])) ? intval($HTTP_POST_VARS['id']) : intval($HTTP_GET_VARS['id']);
        } else {
            $rank_id = 0;
        }
Ich kann zumindest hiermit keine Fehler feststellen...oder hab ich da was falsch gemacht!?
Rettet den Wald, esst mehr Specht!

Forum [ sofern im Beitrag darauf verwiesen :-) ]
Antworten