Thema verschieben -> Präfix weg |
C-Board unregistriert
|
|
Wie sind den die Foreneinstellungen des Zielforums in Bezug auf Präfixe?
Gruß Mike
|
|
05.07.12 12:03 |
|
|
C-Board unregistriert
|
|
Ich hatte das gestern mal per print_r($ch_prefix) ausgeben lassen. Und in Zeile 13 wird explizit nach dem Präfix in dem Array gesucht. Wenn das nicht übereinstimmt (bei mir war nur ein Zeichen anders), dann wird die Variable nicht gefüllt.
Gruß Mike
|
|
06.07.12 18:18 |
|
|
C-Board unregistriert
|
|
Es ist klar, dass das "QuellPrefix" entweder in den globalen Einstellungen ($default_prefix) vorhanden sein muss, oder aber explizit im Zielforum in den Einstellungen.
Dreh- und Angelpunkt ist hier in jedem Falle die Zeile 13. Kommt das Quell-Prefix nicht in dem Array vor, ist $prefix=''.
Und somit wird dann das Prefix nicht mit ins Zielforum verschoben.
Gruß Mike
|
|
06.07.12 19:45 |
|
|
C-Board unregistriert
|
|
Das ist doch genau das, was ich sage/Schreibe
Beispiel aus meinem Testforum. In einem Unterforum (nennen wir es "Forum-1") habe ich diverse Präfixe in den Foreneinstellungen, u.A. das Präfix "Wird in v1.7pl3 umgesetzt".
Im Unterforum "Forum-2" habe ich ebenfalls einige Präfixe, allerdings nicht genau das o.g., sondern "Wird in v1.7pl3 korrigiert".
In den globalen Einstellungen (also über die Variable $default_prefix) sind keine eingetragen.
Verschiebe ich nun ein Thema aus dem Forum-1 ins Forum-2, taucht es dort ohne Präfix auf.
Nachdem ich dieses Präfix auch in Forum-2 eingesetzt habe und den Test wiederholt habe, wurde auch das Präfix mit verschoben.
Schrimm, ich hoffe nicht, dass wir beide hier seit einem Tag aneinander vorbeireden oder uns missverstehen
Gruß Mike
|
|
07.07.12 09:07 |
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Anscheinend reden wir aneinander vorbei.
Der User hat in den globalen Einstellungen($default_prefix) ein Präfix definiert.
Nun hat er in Forum 1 ein Thema, dass das Präfix von den globalen Einstellungen verwendet.
Er verschiebt das Theman von Forum 1 nach Forum 2 und das Präfix wird nicht mitverschoben.
Erst wenn er das Präfix von den globalen Einstellungen auch als Forumpräfix definiert, wird jenes übernommen.
Da stimmt also etwas nicht.
|
|
07.07.12 14:59 |
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
Mensch, bin ich blöd
Wir haben wirklich aneinander vorbei "geredet".
Ich habe mit den Vorgaben nochmal getestet und muss feststellen, dass da ein Fehler im Script ist. Wenn man den Code abändert auf:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
// verify prefix
$prefix = $thread['prefix'];
if ($thread['prefix'] != '') {
// get allowed prefixes in newboard
if ($newboard['prefixuse'] == 1) $ch_prefix = $default_prefix;
else if ($newboard['prefixuse'] == 2) $ch_prefix = $default_prefix."\n".$newboard['prefix'];
else if ($newboard['prefixuse'] == 3) $ch_prefix = $newboard['prefix'];
else $ch_prefix = "";
$ch_prefix = preg_replace("/\s*\n\s*/", "\n", wbb_trim($ch_prefix));
$ch_prefix = explode("\n", $ch_prefix);
// thread's prefix is not allowed in new board -> delete prefix
if (!in_array($thread['prefix'], $ch_prefix)) {
$prefix='';
}
} |
|
klappt das wunderbar (Zeilen 6 und 7 sind verändert worden - aus if wurde else if).
Gruß Mike
|
|
07.07.12 15:56 |
|
|
Schrimm
Banned
Dabei seit: 21.08.11
Beiträge: 700
|
|
Ich sehe momentan nicht, warum dies eine Änderung herbeiführen sollte.
"prefixuse" kann doch eh nicht gleichzeitig mehrere Werte annehmen.
D.h. Es ist entweder 1, 2 oder 3.
Dadurch sollte es auch zu keiner Überschreibung durch die If-Bedingungen kommen, da eh nur eines der drei Möglichkeiten ausgeführt wird.
Seltsam...
|
|
07.07.12 16:05 |
Finden
Als Freund hinzufügen
|
|
C-Board unregistriert
|
|
Naja, wenn wir uns den alten Code vornehmen, dann wird da in Zeile 6 nach $newboard['prefixuse'] == 2 "gefragt". Die Variable $ch_prefix wird richtigerweise übergeben.
Nun kommt aber Zeile 7, wo abgefragt wird, ob $newboard['prefixuse'] == 3 ist. Und die Zeile 8 bezieht sich eben nur auf diese Zeile 7 und somit ist die Variable $ch_prefix leer. Egal, was in Zeile 6 für ein Inhalt übergeben worden ist.
Prickelnder wäre hier auch ein switch gewesen, da mittels break die Abfolge sofort unterbrochen wird.
Gruß Mike
|
|
07.07.12 18:23 |
|
|
|