Pin It

We wszystkich wersjach skryptu phpBB by Przemo, także w najnowszej 1.12.6 pojawił się błąd związany z rokiem przestępnym.
Pojawia się tylko gdy mamy na forum włączony panel pokazujący użytkowników obchodzących urodziny.
Błąd ten charakteryzuje taki początek:

Could not obtain user/day information
DEBUG MODE
SQL Error : 1054 Nieznana kolumna 'error' w where clause

Pojawia się ponieważ w jednej z funkcji jest błąd, który ujawnił się
dopiero gdy nastała data ’29 lutego’.

Można go łatwo poprawić, wykonując poniższe operacje:

OTWÓRZ plik includes/functions_add.php

ZNAJDŹ

else if ( $month == 2 && $day > 28)
{
return 'error'; //only 28 days in feb.
}

ZAMIEŃ NA

else if ( date("L") == 0 && $month == 2 && $day > 28)
{
return 'error 28'; //only 28 days in feb.
}
else if ( date("L") == 1 && $month == 2 && $day > 29)
{
return 'error 29'; //only 29 days in feb. leap-year
//fixed by Widmo
}

UWAGA!
1. Jeśli posiadasz swoje forum na darmowym serwerze np.: xad, forka, ovh, vdd itp., zgłoś problem do supportu świadczonego przez ten hosting. Jeśli nie masz dostępu do plików forum to samodzielnie nie naprawisz tego błędu – może to zrobić wyłącznie administrator danego serwisu.

2. Jeśli nie masz dostępu do plików forum i nie możesz zastosować poprawki, możesz usunąć ten błąd wyłączając panel urodzinowy.
– zaloguj się jako administrator,
– wejdź do Panelu Administratora | Konfiguracja | Strony głównej
– znajdź opcję Pokazuj obchodzących urodziny
– zmień na NIE i zatwierdź ustawienia

Poprawkę napisał Widmo.
Gotowy, poprawiony plik możesz znaleźć na forum supportu phpBB by Przemo.