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.

PHP - FAQ

Przedstawię tu faq odnośnie php. Niby dużo tego jest w sieci, jednak przeglądając fora i zadawane pytania, śmiem twierdzić, że za mało... albo ta nasza "młodzież" zaleniwa jest by do nich zaglądać... tak czy siak "dobrego" faq nigdy za duzo

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:

Mysql - FAQ

Przeglądając różne fora widzę, iż użytkownicy często pytają o te same rzeczy. Podawać tu będę rozwiązania na większość z nich. Artykuł stopniowo będzie uzupełniany o kolejne rzeczy.

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

Liczba dni roboczych

Liczenie ile minęło dni między jedną datą a drugą to dość częsty "problem" piszących w php. Samo policzenie dni bez rozróżniania na dni robocze jest banalnie proste:

<?php
echo (strtotime('2005-03-30 GMT')-strtotime('2005-03-01 GMT'))/86400;
?>

Jednak wyliczenie dni roboczych to już większa sprawa. By ułatwić sobie i Wam życie, napisałem funkcję, która wylicza liczbę dni roboczych. Pierwotnie funkcja nie uwzględniała świąt ruchomych jednak użytkownik kajko84 dopisał do tego i święta ruchome. Ja to trochę zoptymalizowałem i mamy w pełni funkcjonalną funkcję do wyliczania liczby roboczych.

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.

PHPowy substr_count() w MySQL

Niedawno potrzebowałem zliczyć w MySQL liczbę wystąpień danego znaku w jednym z pól tekstowych. No to biegniem do manuala a tam.... kiszka. Nie ma czegoś takiego W php to jest substr_count() i po bólu. Trzeba było więc wymyślić własne cudo.

<  1  2  3  4  5  6  7    >

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