Ok, habe das Problem gelöst. Genau genommen waren es zwei Probleme.
Zum einen war in meiner language/lang_german/lang_main.php tatsächlich ein Fehler, da fehlte ein Apostroph bei einer Zuweisung (wobei mich trotzdem wundert, wie das relevant sein kann, wenn ich gar nicht deutsch als Sprache eingestellt habe... egal).
Das andere war, dass er tatsächlich immer versuchte, die themes id 1 zu benutzen. Das ist tatsächlich ein Fehler in diesem Snippet, der auch früher bei meinem phpBB 2.0.6 aufgetreten wäre - nur hatte es da mein CoAdmin schon repariert, ohne dass ich davon wusste (wie ich gerade bemerkt habe)
Es muss nicht heißen
Code: Alles auswählen
if($_REQUEST['force_style']>0)
{
$theme=setup_style($_REQUEST['force_style']>0);
return;
}
sondern
Code: Alles auswählen
if($_REQUEST['force_style']>0)
{
$theme=setup_style($_REQUEST['force_style']);
return;
}
Logisch. Der Aufruf von setup_style($_REQUEST['force_style']>0) geschieht nur dann, wenn sowieso gilt, dass $_REQUEST['force_style']>0 (wegen der if Abfrage darüber). Darum können wir davon ausgehen, dass an dieser Stelle der Aufruf von $_REQUEST['force_style']>0 immer TRUE zurückliefert... oder anders gesagt,
1. Deshalb wird, egal, was in dem Cookie steht, setup_style(int) mit dem Parameter
1 aufgerufen. Drum versucht das Board immer, die style id 1 zu benutzen, die wohl nie existiert, statt der style id, die $_REQUEST['force_style'] tatsächlich zurückliefert.
Dass da keiner von euch drauf gekommen ist, überrascht mich jetzt schon ziemlich...
Also hier nochmal das ganze als funktionierender Mod
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------------
#
includes/functions.php
#
#-----[ FIND ]------------------------------------------------
#
//
// Set up style
//
#
#-----[ AFTER, ADD ]-----------------------------------------
#
if($_GET['use_style']>0)
{
$theme=setup_style($_GET['use_style']);
return;
}
if(isset($_GET['force_style']))
{
setcookie('force_style', $_GET['force_style'], $_GET['force_style'] == '-1' ? -1 : 0, $cookiepath, $cookiedomain, $cookiesecure);
}
if($_REQUEST['force_style']>0)
{
$theme=setup_style($_REQUEST['force_style']);
return;
}