Webboard

Pełna wersja: Moderacja zbiorowa nie działa (cookies is not defined)
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Adres forum:
http://dyskusjebiblijne.info.pl/index.php


Wersja silnika:
1.8.17


Opis problemu:
Po aktualizacji do 1.8.17 nie działa moderacja zbiorowa. Przy próbie usunięcia postu wyskakuje:
"Nie zaznaczono żadnego posta lub twoja poprzednia sesja minęła (automatycznie po 1 godzinie nieaktywności). Wybierz inne posty i spróbuj ponownie."

Próbowałem robić tak jak poniżej, zmieniając wersję na aktualną, ale bez zmian.
https://webboard.pl/thread-70313.html



Edit:
Nie wiem czy to ma znaczenie, ale w konsoli wyskakuje mi jeszcze taki błąd:
[attachment=14052]
Nie tyle co z ciasteczkami co ze skryptami js obsługującymi ciasteczka.
To, że stało się to "nagle" pod odświeżeniu może mieć związek z tym, że miałeś poprawną wersję w cache przeglądarki i właśnie ją usunąłeś.

Na początek zerknij w headerinclude i zaktualizuj skrypty do bieżącej wersji

jscripts/general.js?ver=1810 do jscripts/general.js?ver=1817

I przy jquery oraz jquery.plugins w zasadzie też możesz - nie zaszkodzi.
Przebuduj też cache z poziomu ACP.
(09.08.2018, 08:38)ficus napisał(a): [ -> ]Przebuduj też cache z poziomu ACP.

[attachment=14053]
Tutaj?
Mam przebudować wszystkie pliki jakie tam są?
(09.08.2018, 09:00)Stannis napisał(a): [ -> ]
(09.08.2018, 08:38)ficus napisał(a): [ -> ]Przebuduj też cache z poziomu ACP.

[attachment=14053]
Tutaj?
Mam przebudować wszystkie pliki jakie tam są?
No tak.
(09.08.2018, 08:38)ficus napisał(a): [ -> ]Na początek zerknij w headerinclude i zaktualizuj skrypty do bieżącej wersji

jscripts/general.js?ver=1810 do jscripts/general.js?ver=1817

I przy jquery oraz jquery.plugins w zasadzie też możesz - nie zaszkodzi.
Przebuduj też cache z poziomu ACP.

Zrobione, ale nadal bez zmian. Błąd nadal jest, tyle że teraz ver=1817.
Powtórz działania z tematu:
https://webboard.pl/thread-73420.html
(09.08.2018, 10:05)ficus napisał(a): [ -> ]Powtórz działania z tematu:
https://webboard.pl/thread-73420.html

Skopiowałem headerinclude z domyślnego z szablonu i dodałem brakujące linijki z mojego aktualnego.
Problem z moderacją zbiorową i shoutboxem zniknął, ale pojawiły się inne problemy. Okno logowania
nie wyskakuje na środku, ale ląduje w stopce. Po powrocie do poprzedniej zawartości headerinclude
okno wyskakuje normalnie, ale moderacja nie działa.

Udało mi się ustalić, które linijki odpowiadają za problemy z moderacją zbiorową i shoutboxem.

Problem z shoutboxem znika, gdy linijkę:
Kod:
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/jquery.plugins_e.js?ver=1817"></script>

podmienię linijką z domyślnego szablonu:
Kod:
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/jquery.plugins.min.js?ver=1817"></script>

Natomiast moderacja zaczyna działać poprawnie gdy usunę z headerinclude:

Kod:
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/everest.js"></script>

Niestety w wyniku tego dzieje się to co opisałem powyżej z oknem logowania.

[attachment=14055][attachment=14056]

Problem z logowaniem po podmianie to nie jedyny problem, bo nie można m.in. dostać się do listy znajomych.
Styl nie jest kompatybilny z nowymi wersjami.
Winowajcą jest mimo wszystko plugin do ciasteczek - wcześniej była używana wersja jQuery $.cookie, obecnie MyBB operuje na natywnym odpowiedniku - Cookies.
Teoretycznie można by zmodyfikować plik jquery.plugins_e.js?ver=1817 ale jest to trochę bezsensu - lepiej trzymać się oficjalnych plików js - w tym przypadku .min.js.

everest.js zdaje się być customowym skryptem do Twojego stylu - jest krótki, więc w nim można bez większego wysiłku rozwiązać problemy. Wystarczy elementy $.cookie dostosować do składni z przykładu: https://github.com/js-cookie/js-cookie

Gorzej z głównym plikiem - nie wiem czym on się różni ponadto od oficjalnej paczki.

Teoretycznie możesz spróbować dodać za jquery a przed general.js:
Kod:
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
Z tym, że nawet jeśli zadziała - prędzej czy później natniesz się na konsekwencje takiego obejścia.
(09.08.2018, 12:01)ficus napisał(a): [ -> ]Styl nie jest kompatybilny z nowymi wersjami.

A zatem najlepszym wyjściem byłaby zmiana stylu?

(09.08.2018, 12:01)ficus napisał(a): [ -> ]Teoretycznie możesz spróbować dodać za jquery a przed general.js:
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
Z tym, że nawet jeśli zadziała - prędzej czy później natniesz się na konsekwencje takiego obejści

Na razie dzięki temu działa.
(09.08.2018, 13:04)Stannis napisał(a): [ -> ]
(09.08.2018, 12:01)ficus napisał(a): [ -> ]Styl nie jest kompatybilny z nowymi wersjami.

A zatem najlepszym wyjściem byłaby zmiana stylu?

(09.08.2018, 12:01)ficus napisał(a): [ -> ]Teoretycznie możesz spróbować dodać za jquery a przed general.js:
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
Z tym, że nawet jeśli zadziała - prędzej czy później natniesz się na konsekwencje takiego obejści

Na razie dzięki temu działa.

Zmiana bądź dostosowanie go tak by nie wpływał na to co MyBB daje z urzędu, a jedynie rozszerzał możliwości :-)
Póki działa to w porządku - pozostaje obserwować czy się nic nie wysypie przy kolejnych aktualkach.