ShoutBox 1.2

Prezentuję kolejną wersję ShoutBox 1.2. Wizualnie w zasadzie nic się nie zmieniło. Główne zmiany dotyczą poprawienia funkcjonalności i łatwości użycia.

Pager 2.5.1 oraz EPager

Po dość długim okresie milczenia wrzucam nową wersję Pagera. Wnosi ona parę drobnych poprawek.
Dołączam dodatkowo klasę EPager, która dziedziczy po Pager i rozszerza go o parę ciekawych rzeczy:

  • Automatycznie wyliczanie liczby rekordów
  • Automatyczne rozpoznawanie sortowania
  • Automatyczna generacja wynikowego zapytania na podstawie dwóch powyższych wyliczeń

Co nam to daje? Ano to, że nie musimy się już martwić o budowanie zapytania które będzie stronicowało, które będzie sortowało. Wszystko to zostania samo utworzone na podstawie podstawowego zapytania i podaniu nazw kolumn po których będzie można sortować.
Czyli zamiast tworzyć takie zapytanie na podstawie różnych czynników:

select * from tabela order by pole asc limit 10,5

to tworzymy tylko takie:

select * from tabela

i o nic już się nie martwimy

Klasa dostępna w paczce 2.5.1 w katalogu epager.

ps: Przykład korzystać będzie z bazy danych. Niezbędne zapytania dostępne są w pliku epager.sql w katalogu epager.

ShoutBox - błąd cache'owania

Dzięki testom użytkownika fomicza wyszło na jaw, że ShoutBox od wersji 1.0 wzwyż ma błąd. Wynikiem tego błędu jest ciągłe odwoływanie się do bazy danych po nowe wiadomości, nawet gdy tych nie ma. Założeniem ShoutBoxa było, by odwoływać się do bazy tylko wtedy, gdy pojawią się nowe wiadomości, a tu taki bug... Wszystkie wersje od 1.0 wzwyż są już na serwerze w wersji poprawionej. Błąd można poprawić również samemu. W tym celu należy edytować plik ShoutBox.class.php i znaleźć tam funkcję Read a w niej następujący kod:

<?php
if (is_null($_lastId) || $_lastId >= $this->_idMsg){
?>

i zamienić ją na:

<?php
if (is_null($_lastId) || $_lastId > $this->_idMsg){
?>

Jak zapewne zauważyliście, znalazł się o jeden znak za dużo (=).

Formularz i stronicowanie - pamiętanie stanu

Pisząc wszelkiego rodzaju wyszukiwarki korzystamy z formularzy, w których wprowadzamy warunki wyszukiwania. Sprawa komplikuje się trochę, gdy użyjemy stronicowania znalezionych wyników. Przechodząc na kolejną stronę znalezionych wyników, tracimy warunki wyszukiwania (dane z formularza). Aby temu zapobiec, należy zapamiętać stan wyszukiwania. Można to zrobić na dwa sposoby:

ShoutBox i dźwięki

Wraz z pojawieniem się ShoutBox 1.1.1 możliwe stało się łatwe przypisywanie własnych akcji dla nowych wiadomości. Jedną z takich akcji może być sygnał dźwiękowy, informujący nas o tym, że właśnie ktoś coś napisał.

ShoutBox 1.1.1

Prezentuję kolejną wersję ShoutBox. Wszystkie główne zmiany zmiany zaszły w kodzie js. Kody php pozostały w zasadzie nie naruszone. Oto lista nowych rzeczy:

  • Pluginy pod różne liby js
    Do tej pory ShoutBox był oparty na bibliotece advAjax. Teraz oduzależniłem shouta od tego liba. Wystarczy załadować odpowiedni plugin i shout może chodzić również na prototype czy też jquery. Można łatwo dopisać własne pluginy pod inne liby
  • "Down" or "Up"
    Do tej pory wiadomości pojawiały się na dole. Teraz jak chcemy możemy mieć je na górze.
  • Zdarzenia
    Można podpiąć własny kod pod zdarzenie pojawienia się nowej wiadomości. Może to być wykorzystane, np. do dodania dźwięku.
  • Nowy sterownik bazy danych MsSQL
    Począwszy od tej wersji dołączam sterownik dla bazy MsSQL napisany przez Michała Macierzyńskiego.

Pager 2.5

Publikuję kolejną wersję pagera. W trakcie korzystania z niego wyszło mi parę rzeczy, których brakowało lub też trzeba było je troche zmienić. W związi z tym nowa wersja nie jest kompatybilna wstecz.

ActionsManager

ActionsManager to biblioteka js, która umożliwia zarządzanie akcjami ajaxowymi na naszej stronie. Prosty przykład:
Mamy tabelę i chcemy zrobić podgląd jej jakiegoś wiersza. Podgląd miałby być w divie. Zamiast pisać długie kody do pobrania danych poprzez ajax, wstawienie tego do diva, wystarczy wywołać prostą komendę i już. Klasa dostarcza również kilka pluginów, które odpowiadają za przesuwanie okienka (diva), zmiane jego rozmiarów, pozycjonowanie. Ponadto sama w sobie zawiera dużą możliwość konfiguracji. Można ją dowolnie rozszerzać by dostosować do własnych specyficznych potrzeb.

Atutem tej klasy może być również fakt, iż dzięki niej można zachować jednolitą obsługę wszystkich naszych akcji. Dodatkowo klasa może działać z dowolnymi bibliotekami ajaxowymi, wystarczy tylko załadować odpowiedni plugin.

<  1  2  3  4    >

Ostatnio komentowane

  1. Mysql - FAQ Paweł
  2. Pager 2.5.1 oraz EPa... Na szybko2
  3. Pager 2.5.1 oraz EPa... Sławek
  4. Mysql - FAQ Piotr
  5. Liczba dni roboczych Na szybko2
  6. Liczba dni roboczych Naszybko
  7. Klasa widoku nospor

Skrypty użytkowników

  1. Klasa obsługi szablo... Lirdoner
  2. Sekcje user76
  3. Klasa walidująca for... user76
  4. Licznik Gości online korey
  5. Form Builder Comandeer
  6. Dynamiczny licznik z... korey
  7. Captcha Comandeer