Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Nieprzeczytane posty

Założony przez Łukasz Tkacz.

Nieprzeczytane posty
Modyfikacja dodaje możliwość przeglądania nieprzeczytanych postów (funkcjonalność taka jak analogiczna funkcja w phpBB 3.0.6+).

Plugin w najnowszej wersji dostępny w oficjalnej bazie dodatków MyBB:
http://community.mybb.com/mods.php?action=view&pid=116

Zalecam pobieranie właśnie z tej strony.

Instalacja

  1. Umieść wszystkie pliki z katalogu root na serwerze w katalogu z forum MyBB

  2. Wejdź do Panelu Administracyjnego -> Pluginy i zainstaluj oraz aktywuj "Nieprzeczytane posty"

Instalacja

Sposób instalacji:

1. Dezaktywuj plugin.
2. Wyślij na serwer pliki z archiwum zachowując strukturę katalogów.
3. Aktywuj ponownie plugin.
  1. Umieść wszystkie pliki z katalogu root na serwerze w katalogu z forum MyBB
  2. Wejdź do Panelu Administracyjnego -> Pluginy i zainstaluj oraz aktywuj "Nieprzeczytane posty"
Paczka zaktualizowana do wersji 1.2:
- poprawiony mechanizm wyszukiwania postów
- poprawiony problem z linkiem do szukania, który nie był usuwany podczas dezaktywacji
- kompatybilność z MyBB 1.6 (nadal jest kompatybilne z MyBB 1.4)
Paczka zaktualizowana do wersji 1.4


Poprawki w 1.4:
- poprawiony system wyszukiwania nieprzeczytanych postów


Poprawki w 1.3:
- poprawiony kod zapytania do bazy danych
(04.10.2010, 21:13)lukasamd napisał(a): Ok, dzięki za info, załącznik zaktualizowany :)

Teraz pięknie działa.


Starałem się sam poprawić tego buga z błędem bazy ale utknąłem na hook'ach (nie wiedziałem którego/których użyć). Chciałem poznać czy user jest zalogowany po jego uid.

function unreadposts_link()
{
  global 
$lang$unreadspost$mybb$uid;
  
$uid $mybb->user['uid'];
  if(
$uid 0)
  {
      
$lang->load("unreadsposts"); 
      
      
$unreadspost =  ' | <a href="' $mybb->settings['bburl'] . '/search.php?action=unreads">' $lang->unreadsposts_plugin_Link '</a>';
      return 
true;
  }
  else
  {
        
//i tu jest już dupa, gdy user nie jest zalogowany to wyświetla się
        //strona z samym tym errorem.
        
error("Zaloguj się aby zobaczyć nieprzeczytane posty");
  }


Jednak wole C# :p
Pytanie: po co?
Obecnie gdy user nie jest zalogowany po prostu wyszukiwanie nie jest wykonywane.

Zmiana tego co Ty chcesz zmienić nie zapobiegnie ewentualnemu błędowi, a tylko ukryje przed gościem link. Jeżeli wejdzie on "ręcznie" poprzez podanie adresu z parametrem to i tak skrypt się wykona i wywali błąd zapytania (o ile używamy starszej wersji, bo w nowej szukanie nie będzie wykonywane).

Dodajmy do tego fakt, że link jest dodawany dla szablonu używanego gdy natykamy się na użytkownika, osobę zarejestrowaną i zalogowaną.
Na naszym forum jest KOSZ, gdzie są przenoszone koszowe posty, których nieraz nie czytam (bo robotę robi moderator). Czy istniałaby możliwość dorobienia opcji, aby plugin nie szukał w wybranych działach? Działy pomijane konfigurowałby administrator z poziomu ACP.
Tak, jest taka możliwość.
Postaram się jutro to dodać.
Paczka zaktualizowana do wersji 1.5:
- dodana możliwość wykluczania for po ID z szukania
- dodany licznik nieprzeczytanych postów wyświetlany obok linka (eksperymentalne)
Wersja 1.6:
- dodana opcja do ukrywania licznika nieprzeczytanych, jeżeli takie posty nie istnieją (domyślnie licznik pokazuje w takim wypadku stan 0).
- poprawiony błąd powodujący "uszkodzenie" górnej nawigacji gdy licznik nieprzeczytanych był włączony
- poprawiony mechanizm usuwania pluginu
- pełna kompatybilność z MyBB 1.4
Pobierz załącznik jeszcze raz.
Wersja 1.7:
- poprawka w funkcjach dodatkowych
- poprawka i usunięcie niepotrzebnych zmiennych w funkcjach podstawowych

Załącznik zaktualizowany.
Dzień bez błędu dniem straconym :)

Wersja 1.8:
- poprawka związana z fatal error przy użyciu linku do szukania
Jeżeli ktoś ma włączoną opcję wyświetlania ilości nieprzeczytanych postów obok linku przy braku jakiejkolwiek kategorii, czyli także działów, MyBB wyświetli mu oto taki błąd:

   

Rozwiązania tego problemu są dwa:
  • Wyłączyć opcję wyświetlania ilości nieprzeczytanych postów obok linku
  • Stworzyć kategorię.

Błąd o tyle mało spotykany, ponieważ rzadko zdarza się forum bez kategorii.
Potwierdzam błąd. Przy okazji wyszło na jaw, że błąd ten dotyczy również całej szukajki MyBB - opis błędu i proponowane rozwiązanie poleciały na ich redmine.
Będzie poprawione w wersji 1.9 (może przyszły tydzień).
Wersja 2.0:
- poprawa mechanizmu wyszukiwania nieczytanych postów
- naprawa problemu związanego z szkicami postów
- naprawa problemu z bardzo długim zapytaniem i błędem SQL
- dodana opcja zamiany linków do ostatniego postu na linki do pierwszego nieczytanego postu w temacie
- dodana opcja wyświetlania informacji o tym, że użytkownik nie czytał danego postu
- dodany limit wyświetlania licznika nieprzeczytanych postów na konkretne podstrony
- kod przepisany na OOP
Wersja 2.1:
- Dodana kompatybilność z MyBB 1.6.5 - plugin powinien działać poprawnie również z wersją 1.6.4 oraz niższymi, w razie problemów proszę o zakładanie wątków na forum i ewentualne informowanie mnie poprzez pw.
Wersja 2.2:
- dodana możliwość wyświetlania linków "Oznacz wszystkie tematy jako przeczytane" w wynikach wyszukiwania
- mała poprawka w polskim pliku językowym
Wersja 2.3:
- niewielka poprawka w funkcji aktywującej


Wersja 2.4:
- ulepszony sposób czyszczenia ze zbędnych danych
- dodana natywna funkcja do obsługi linku pierwszego nieczytanego postu w temacie



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

1 gości