Webboard

Pełna wersja: Przedostatni post zamiast ostatniego na stronie głównej
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam.
Poniższy błąd zauważyłem po upgradzie forum do wersji 1.8.10, jednakże nie mogę wykluczyć, że istniał wcześniej a ja go po prostu nie zauważyłem.

Problem jest w tym, ze widok strony głównej jak i widok działów podrzędnych nie wyświetla w "ostatnim poście" prawdziwego ostatniego posta tylko pokazuje przedostatni, natomiast sama lista wątków wyświetla to poprawnie.

Trochę zakręcone wytłumaczenie więc opiszę obrazkowo (wszystkie robione w jednym czasie):


Na poniższym obrazku widzimy wycinek działu ze strony głównej forum - wskazuje iż dodałem ostatni post ja, jakieś 12 minut temu
[attachment=11152]

Wchodząc jednak w dział, mamy już listę tematów, gdzie przy tym temacie jest już pokazany poprawny "ostatni post" wraz z autorem:
[attachment=11153]

Znieżność minut jest przypadkowa - w obu przypadkach jest 12 minut temu, jednakże strona główna nadal pokazuje błąd.

To samo się tyczy działów podrzędnych:

Poniższy zrzut prezentuje dział podrzędny który wskazuje błedny ostatni post:
[attachment=11156]

Natomiast wchodząc już w niego i mając już bezpośrednio listę tego tematu jest OK:
[attachment=11155]



Reasumując, strona główna z działami jak i działy podrzędne pokazują w miejscu "ostatni post" tak naprawdę przedostatni.

Ktoś ma jakiś pomysł co jest nie tak? Na 99% stało się to po upgradzie na 1.8.10



EDIT:
Pogrzebałem w szablonach i:

dla strony głównej jak i bloku z działami podrzędnymi, za wyświetlanie ostatnie posta odpowiadają zmienne: {$lastpost_date} i {$lastpost_profilelink}

dla list wątków zmienne są inne, tj: {$lastpostdate} i {$lastposterlink}

Może coś jest nie tak z tymi zmiennymi? W którym pliku są one "zaszyte" aby móc podejrzeć ich kod?



EDIT2:
Pluginy na bocznym pasku strony (topstats) również poprawnie wyświetlają datę i autora ostatniego postu, tak więc problem jest ze zmiennymi  {$lastpost_date} i {$lastpost_profilelink}. W którym pliku one się znajdują? Te działające {$lastpostdate} i {$lastposterlink} są w forumdisplay.php ale tych błędnych nigdzie nie mogę znaleźć :/




EDIT 3:
A więc tak... w ACP zrobiłem "przeliczanie i przebudowe" dla wszystkich pozycji i na stronie głównej pokazały się poprawne wartości, natomiast po dodaniu nowego postu znowu to się nie odświeża... tak jakby nie działał jakiś mechanizm w tle. Ponowne "przeliczenie i przebudowa" pokazała ostatni post.

Jakieś pomysły?
Pobierz jeszcze raz paczkę z https://mybb.com/download/ i podmień inc/datahandlers/post.php
Szczegóły: https://blog.mybb.com/2017/01/10/mybb-1-...e-release/
(13.01.2017, 15:14)Matslom napisał(a): [ -> ]Pobierz jeszcze raz paczkę z https://mybb.com/download/ i podmień inc/datahandlers/post.php
Szczegóły: https://blog.mybb.com/2017/01/10/mybb-1-...e-release/

podmienione, nadal to samo. Dla testu dodaje nowy post i w tym momencie na głównej stronie pojawia się ten co był wcześniej "ostatnim", a aktualnie jest przedostatnim. Mój natomiast aktualnie ostatni post nie jest wyświetlany
Pokaż screena z narzędzia i konserwacja -> weryfikacja plików
[attachment=11161]

w forumdisplay.php jest zmienione tylko sortowanie tematów (dodany warunek, że otwarte na górze) zgodnie z tym tematem: https://webboard.pl/thread-69125.html
w js edytora jest tlyko zmieniona kolejność bbcode od wstawiania filmów (YT jako domyślny typ)
ccs mało ważne - tło zmienione
avatar to wiadomo

w index.php admina zmienione było md5 pinu


EDIT:
widze, że juz jest na to zadanie: https://github.com/mybb/mybb/issues/2612
specjalnie pisze nowego posta zamiast edytować, aby inni widzieli, ze coś się tu dzieje.

Tymczasowe rozwiązanie problemu to edycja pliku inc/datahandlers/post.php

Linijka ~1894:

Kod:
if($visible == 1 && $thread['visible'] != 1)


zamieniamy na


Kod:
if($visible == 1)