Skocz do zawartości
Urlop / Vacation Czytaj dalej... ×
  • Zarejestruj się

Centrum IP.Board

Zaloguj się, aby obserwować  
  • wpisy
    44
  • komentarzy
    0
  • wyświetleń
    57655

IP.Board 4 - Cykliczne wydarzenia kalendarza

IP.Calendar wspiera proste powtarzające się wydarzenia w wielu wersjach. Wydarzenia mogą się powtarzać tygodniowo, miesięcznie lub rocznie i zostaną wyświetlone według harmonogramu. Funkcjonalność ta jest napewno przydatna, ale IPS postanowił w nowej wersji IP.Calendar rozbudować ją nieco.

Nowe opcje

Powtarzalność w każdy tydzień, miesiąc, rok jest użyteczna, ale istnieją jeszcze inne sposoby na powtarzalność wydarzeń. IP.Calendar w wersji 3.x nie posiada innych możliwości, ale w wersji 4.0 zostały one dodane.

Powtarzalność dzienna, tygodniowa, miesięczna i roczna

Oprócz trzech opcji jakie były dostępne dotychczas pojawiła się kolejna opcja. Powtarzalność codzienna.

Częstotliwość powtarzalności

Już nie ma restrykcji powtarzalności co tydzień (lub inny okres czasu). Teraz można skonfigurować wydarzenia tak, że będą się powtarzać co 2 tygodnie, albo co trzy miesiące. Można też wybrać inny przedział czasu.

Tygodniowa powtarzalność: dni tygodnia

Jeśli wydarzenia powtarzają się co tydzień można określić dzień tygodnia, w którym wydarzenie powinno się powtarzać. Oznacza to, że możemy dodać wydarzenie, które będzie się powtarzać w każdy wtorek i czwartek.

Przedział czasu powtarzalności

W poprzednich wersjach IP.Calendar data zakończenia była ustawiana wtedy, gdy kończyła się powtarzalność wydarzenia. W wersji 4.0 datę/czas określa oryginalną datę zakończenia powtarzalności. Oznacza to, że możesz mieć wydarzenie, które trwa 2 dni i powtarza się co roku. Podczas dodawania masz 3 opcje określające powtarzalnośći:

  • Nigdy się nie kończy
  • Koniec po określonej liczbie powtórzeń
  • Koniec w określonym terminie

Teraz można konfigurować wydarzenia takie jak Boże Narodzenie, które nigdy się nie kończy. Można skonfigurować spotkania, które kończą się po pewnej liczbie powtórzeń oraz wydarzenia, które się kończą w określonym terminie.

Jak widzisz powtarzalność wydarzeń znacznie się poszerzyła, aby się dostosować do większej ilości rodzajów powtórzeń.

blogentry-46197-0-65850600-1392823512.png

Szczegóły techniczne

Na poziomie technicznym powtarzalność wydarzeń przechowywana jest jako "RRULE" zgodnie ze specyfikacją iCalendar. W rzeczywistości dane są odwzorowywane w stosunku 1:1. Podczas importu wydarzeń w standardzie iCalendar, jeśli jakaś powtarzalność jest nieobsługiwana przez kalendarz, wydarzenia takie zostaną pominięte, jednakże aktualnie nie ma zbyt wielu powtarzalności, które nie są obsługiwane.

Przechowując dokładną wartość RRULE mamy kilka zalet w stosunku do poprzednich wersji kalendarza:

  • Importowanie wydarzeń jest prostsze, ponieważ możemy skopiować do bazy niezmodyfikowaną regułę (po sprawdzeniu obsługi wszystkich parametrów)
  • Eksportowanie wydarzeń jest prostsze z tego samego powodu
  • Możemy poszerzyć powtarzalność wydarzeń w razie potrzeby dokonując tylko kilku niezbędnych zmian

Używając PHP możemy w prosty sposób odnaleźć szczegóły przyszłego wydarzenia używając metody nextOccurrence()

     /**
     * Find the next occurrence of an event starting from a specified start point
     *
     * @param    \IPS\calendar\Date        $date        Date to start from
     * @param    string                    $type        Type of date to check against (startDate or endDate)
     * @return    \IPS\calendar\Date|NULL
     */
    public function nextOccurrence( $date, $type='startDate')

 



0 komentarzy


Rekomendowane komentarze

Brak komentarzy do wyświetlenia.

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
×

Ważne informacje

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.