Błąd Moderacja zbiorowa nie działa (cookies is not defined)

Założony przez Stannis.

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://mybboard.pl/thread-70313.html



Edit:
Nie wiem czy to ma znaczenie, ale w konsoli wyskakuje mi jeszcze taki błąd:
   
TaniDedyk.pl
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.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
(09.08.2018, 08:38)ficus napisał(a): Przebuduj też cache z poziomu ACP.

   
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.
Moja oferta - pomoc (prywatna) przy tworzeniu i edycji forum MyBB.


Nieoficjalny serwer discord MyBBoard - szybka i bezpośrednia pomoc: https://discord.gg/Y8Yd3dG
(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://mybboard.pl/thread-73420.html
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
(09.08.2018, 10:05)ficus napisał(a): Powtórz działania z tematu:
https://mybboard.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ę:
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/jquery.plugins_e.js?ver=1817"></script>

podmienię linijką z domyślnego szablonu:
<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:

<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.

       

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:
<script src="https://cdn.jsdelivr.net/npm/[email protected]/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.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?
(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/[email protected]/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/[email protected]/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.
"Try not. Do... or do not. There is no try."
Poświęć 5 minut. Nie bądź ignorantem!  -  Jak zbadać element?


Użytkownicy przeglądający ten wątek:

1 gości