Webboard

Pełna wersja: Błąd przy pisaniu posta lub zakładaniu tematu po aktualizacji do 1.8.21
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Hej,

kilka dni temu dokonałem testowej aktualizacji kopii mojego forum z 1.6.8 do 1.8.21. Nie obyło się bez problemów, ponieważ okazało się, że nie jestem w stanie dokonać aktualizacji tak wielu wersji naraz. Najpierw więc zupgrade'owałem forum do 1.8.12, a potem już poprzez podmianę plików do wersji 21. W ten sposób wszystko poszło pomyślnie i od kilku dni pracuję nad nowym motywem. Dziś jednak, gdy powoli wszystko kończyłem, chciałem przetestować funkcję odpowiedzi w temacie. Podczas dodania szybkiej odpowiedzi, trwa ciągłe ładowanie, a przy próbie podglądu posta lub dodaniu posta poprzez przycisk nowej odpowiedzi w temacie, pojawia się błąd:

Kod:
Fatal error: Call to undefined function get_subscription_method() in /home/becamer/domains/kwaskiewi.cz/public_html/newreply.php on line 887

Przy próbie dodania nowego tematu w dziale pojawia się niemal to samo:

Kod:
Fatal error: Call to undefined function get_subscription_method() in /home/becamer/domains/kwaskiewi.cz/public_html/newthread.php on line 677

Czy ktoś wie jakie może być źródło problemu?

Sprawdzałem czy pliki są z najnowszej wersji i wszystko się zgadza. Wgrałem jeszcze raz, ale problem nadal występuje.

Linijka 887 w newreply.php to $subscription_method = get_subscription_method($tid);
Kod:
else
{
if($mybb->user['signature'] != '')
{
$postoptionschecked['signature'] = " checked=\"checked\"";
}
$subscription_method = get_subscription_method($tid);
}

Linijka 677 w newthread.php to dokładnie to samo: $subscription_method = get_subscription_method($tid);
Kod:
else if($mybb->input['action'] == "editdraft" && $mybb->user['uid'])
{
$mybb->input['threadprefix'] = $thread['prefix'];
$message = htmlspecialchars_uni($post['message']);
$subject = htmlspecialchars_uni($post['subject']);
if($post['includesig'] != 0)
{
$postoptionschecked['signature'] = " checked=\"checked\"";
}
if($post['smilieoff'] == 1)
{
$postoptionschecked['disablesmilies'] = " checked=\"checked\"";
}
$icon = $post['icon'];
if($forum['allowpicons'] != 0)
{
$posticons = get_post_icons();
}
$subscription_method = get_subscription_method($tid); // Subscription method doesn't get saved in drafts
}
A masz tę funkcję w inc/functions.php?

Pobierz i zainstaluj ten plugin: https://community.mybb.com/mods.php?action=view&pid=980
Po tak dużym update warto zrobić test plików i bazy danych.
Problem rozwiązany. Aktualizacja chyba jednak nie do końca się udała, sporo plików nie było z 1.8.21. Miałem w ogóle problem z instalacją pluginów (tego też jeszcze nie sprawdzałem), a to za sprawą starej wersji php. Po zmianie na najnowszą wersję zainstalowałem podany plugin i sprawdziłem pliki - ponad 200 złych. Podmieniłem najważniejszą część (z folderu głównego i inc) - jak na razie wszystko działa.