Der Standard von YaBB 2.6x hat in den Foreneinstellungen die Möglichkeit, dass Startjahr anzugeben. Tag, Monat und Jahr sowie die Zeitangaben mit Stunde und Minute werden über Selectmenus ausgewählt.
Der Standard geht aber nur bis zum Jahr 2020!
Um auch andere Jahre auswählen zu können. muss wieder eine Datei verändert werden. Es schreit wiederum nach einem Mod.
Es findet in der Datei
/yabb2/Admin/Settings_Main.pm eine Berechnung statt. Die Berechnungsparameter begrenzen das Jahr auf 2020 und sieht im Code wie folgt aus:
my $sel_year = qq~<select name="forumstart_year">\n~;
foreach my $i ( 90 .. 120 ) {
if ( $i < 100 ) { $z = $i; $year_pre = q~19~; }
else { $z = $i - 100; $year_pre = q~20~; }
$year_val = sprintf '%02d', $z;
$sel_year .=
qq~<option value="$year_val" ${isselected($forumstart_year == $z)}>$year_pre$year_val</option>\n~;
}
$sel_year .= qq~</select>\n~;
In der Zeile "foreach my...." ist die Grenze gesetzt, und zwar mit der Zahl 120.
Um auch das Jahr 2024 auswählen zu können, muss die Obergrenze hochgesetzt werden. Ich habe mich dafür entschieden, die Obergrenze auf 130 zu setzen.
my $sel_year = qq~<select name="forumstart_year">\n~;
foreach my $i ( 90 .. 130 ) {
if ( $i < 100 ) { $z = $i; $year_pre = q~19~; }
else { $z = $i - 100; $year_pre = q~20~; }
$year_val = sprintf '%02d', $z;
$sel_year .=
qq~<option value="$year_val" ${isselected($forumstart_year == $z)}>$year_pre$year_val</option>\n~;
}
$sel_year .= qq~</select>\n~;
Damit wird im Selectmenü das letzte auswählbare Jahr mit
2030 angegeben.
Beim Speichern der Einstellungen, wird das Jahr 2024 nicht gespeichert und stattdessen wieder das Jahr 1990 eingesetzt. Die Auswahl in dem Selectmenü muss also noch anderweitig verarbeitet werden. Und das wird wohl beim Speichern erfolgt.
Aktuell habe ich herausgefunden, dass das Startdatum des Forum in der Datei /Variables/Settings.pm gespeichert wird, und zwar wie folgt (Datum steht im Moment auf 01.04.1994):
$mbname = "Jopii\'s\ YaBB\ Forum"; # The name of your YaBB forum
$forumstart = "04\/01\/94\ um\ 08\:00\:58"; # The start date of your YaBB Forum
Nun habe ich das Startdatum auf 01.04.2020 hochgesetzt und sehe in der Datei folgenden Eintrag:
$mbname = "Jopii\'s\ YaBB\ Forum"; # The name of your YaBB forum
$forumstart = "04\/01\/20\ um\ 08\:00\:58"; # The start date of your YaBB Forum
Es ist klar zu sehen, dass das auf 20 steht. Die 20 für das Jahrtausend bzw. die 19 werden über ein sogenanntes preyear davor gesetzt.
Nun stelle ich das Startdatum auf den 01.04.2024 und sehe in der Datei dann folgenden Eintrag:
$mbname = "Jopii\'s\ YaBB\ Forum"; # The name of your YaBB forum
$forumstart = "04\/01\/24\ um\ 08\:00\:58"; # The start date of your YaBB Forum
Wiederum ist klar zu sehen, dass das Jahr auf 24 steht. Allerdings wird in den Einstellung wieder 1990 angezeigt, also scheint die einfache Änderung im Selectmenü nicht ausreichend zu sein.
Auch dieses Rätsel ist gelöst, denn in der Datei
/yabb2/Admin/Settings_Main.pm müssen insgesamt drei weitere Änderung vorgenommen werden, damit der Zeitraum bis 2030 ausgewählt werden kann und das ausgewählte Jahr auch tatsächlich angezeigt wird. Anstelle der Zahl 20, die das Jahr auf 2020 begrenzte, muss die Zahl 30 eingesetzt werden, um die weitere Berechnung nicht nur in die Settingsdatei zu speichern, sondern auch die Anzeige innerhalb des Formulars richtig erscheinen zu lassen:
if ($forumstart_year < 90 && $forumstart_year > 30) { $forumstart_year = 90; }
if ($forumstart_year > 30 && $forumstart_year < 90) { $forumstart_year = 30; }
if ($forumstart_hour > 23) { $forumstart_hour = 23; }
if ($forumstart_minute > 59) { $forumstart_minute = 59; }
if ($forumstart_secund > 59) { $forumstart_secund = 59; }