The Zap Cal Library is an open source PHP library for reading and writing iCalendar files.  The library has been in development for over 10 years supporting the Zap Calendar program, an open source application for the Joomla CMS, and more recently the iCalendar validator project at iCalendar.org.  It is now available as a standalone library for PHP developers.

The library can be downloaded at GitHub at https://github.com/zcontent/icalendar

The API documentation can be found at http://iCalendar.org/zapcallibdocs

The Zap Calendar iCalendar Library is a PHP library for supporting the iCalendar (RFC 5545) standard. Several examples of reading and writing iCalendar files are included in the library

This PHP library is for reading and writing iCalendar formatted feeds and files. Features of the library include:

  • Read AND write support for iCalendar files
  • Object based creation and manipulation of iCalendar files
  • Supports expansion of RRULE to a list of repeating dates
  • Supports adding timezone info to iCalendar file

All iCalendar data is stored in a PHP object tree. This allows any property to be added to the iCalendar feed without requiring specialized library function calls. With power comes responsibility. Missing or invalid properties can cause the resulting iCalendar file to be invalid. Visit iCalendar.org to view valid properties and test your feed using the site's iCalendar validator tool.

Here is an example of a PHP program to create a single event iCalendar file:

 

<?php
$title = "Simple Event"; // date/time is in SQL datetime format $event_start = "2020-01-01 12:00:00"; $event_end = "2020-01-01 13:00:00"; // create the ical object $icalobj = new ZCiCal(); // create the event within the ical object $eventobj = new ZCiCalNode("VEVENT", $icalobj->curnode); // add title $eventobj->addNode(new ZCiCalDataNode("SUMMARY:" . $title)); // add start date $eventobj->addNode(new ZCiCalDataNode("DTSTART:" . ZCiCal::fromSqlDateTime($event_start))); // add end date $eventobj->addNode(new ZCiCalDataNode("DTEND:" . ZCiCal::fromSqlDateTime($event_end))); // UID is a required item in VEVENT, create unique string for this event // Adding your domain to the end is a good way of creating uniqueness $uid = date('Y-m-d-H-i-s') . "@demo.icalendar.org"; $eventobj->addNode(new ZCiCalDataNode("UID:" . $uid)); // DTSTAMP is a required item in VEVENT $eventobj->addNode(new ZCiCalDataNode("DTSTAMP:" . ZCiCal::fromSqlDateTime())); // Add description $eventobj->addNode(new ZCiCalDataNode("Description:" . ZCiCal::formatContent( "This is a simple event, using the Zap Calendar PHP library. " . "Visit http://icalendar.org to validate icalendar files."))); // write iCalendar feed to stdout echo $icalobj->export();

 

Awas Melewatkan Cuan! Rahasia Pola Black Scatter untuk Pecahkan Rekor Kemenangan Hari IniCara Gila! Tingkatkan Akurasi Taruhan Roulette Lewat Teknik Fibonacci Anti-RugiCuan Meledak! Ini Dia Pola Scatter Mahjong Ways 2 yang Paling Nge-Hits Saat IniCuci Mata dan Kantong! Aksi Pemain Sukses Raup Cuan di Black ScatterDari Patah Hati Jadi Heart Attack! Kisah Pemain Sukses di Baccarat dengan Trik SederhanaGak Nyangka! Rumus Sederhana Ini Bikin Peluang Menang Parlay Naik 80%Hati-Hati! Kesalahan Kecil di Baccarat Bisa Bikin Anda Kehilangan Jackpot Besar!Jangan Lewatkan! 3 Sinyal Kemenangan di Mahjong Wins yang Jarang Diketahui Pemain LamaMahjong Wins 2 Dari Pemula Jadi Sultan! Ini 4 Jurus Jitu yang Wajib DikuasaiMenang Terus! Strategi Taruhan Roulette yang Bikin Dealer Sampai Geleng-GelengMode Gila! Simak Trik Menguasai Freespin di Black Scatter Tanpa Modal BesarNgaku Pecinta Gates of Olympus? Wajib Baca 5 Kesalahan Fatal Ini Sebelum Spin!Parlay Panas! Kombinasi Tim Ini Dijamin Bikin Dompet Mbledos Terbukti!Perhatikan Jam Main! Ini Waktu Terbaik untuk Menang di Gates of OlympusPeringatan Keras! Jangan Mainkan Mahjong Ways 2 Sebelum Baca 7 Petunjuk Ini!Roulette Bukan Sekadar Tebak Angka! Strategi Jitu Ini Bikin Meja BergetarScroll Berhenti! Spill Pola Scatter Mahjong Wins dari Grup Telegram Paling DipercayaSensasi Maxwin! Bocoran Pola Scatter Mahjong Ways 2 yang Bikin Saldo Nambah Nol!Turun Gunung! Eks Member Kasino Bagikan Pola Andalan di Mahjong Ways 2Viral! Pemain Ini Raup Cuan Besar di Gates of Olympus Hanya Modal 20 Ribu, Caranya?Catat Tanggalnya! Peringatan Kemenangan Besar di Black Scatter Akan Segera TerjadiCurhat Pro Player Cara Saya Konsisten Cuan dari Parlay Tanpa RibetHati-Hati Scatter Palsu! Kenali Perbedaan Scatter Asli di Mahjong WaysIni Dia! Tanda-Tanda Mesin Mahjong Wins 2 Siap Memberikan JackpotModal Uang Kembalian? Coba Trik Ini di Baccarat, Bisa Jadi Cuan Besar!Sering Kena Scatter? Itu Tanda Anda Salah Main, Coba Simak Strategi Gates of Olympus Ini!Stop! Jangan Spin Sebelum Tau Pola Scatter Gates of Olympus yang TerupdateTakut Kalah? Pakai Saja Trik Anti-Panas di Mahjong Wins 2, Dijaman Aman!Tingkatkan Level! Cara Jago Main Roulette Ala Pro Player Dalam Waktu SingkatTips Sakti! Menaklukkan Meja Roulette Hanya dengan 3 Putaran Awal
Beda Tipis Beda Jackpot! Perhatikan 5 Perbedaan Pola Scatter Ini di Mahjong WaysKesempatan Emas! Mainkan Gates of Olympus Hari Ini dengan Pola Gacor Versi KamiTarget Kemenangan? Terapkan Rumus 30 Menit di Baccarat, Auto Profit!Gercep! Cara Membaca Nafas Mesin Mahjong Ways 2 untuk Mendapatkan ScatterInfo Penting! Update Pola Kemenangan Parlay Liga Top Eropa Pekan IniSiapa Bilang Susah? Buktikan Sendiri Kekuatan Pola Scatter Mahjong Wins Ini!Sikat Abis! 5 Teknik Melipatgandakan Modal di Roulette yang Sedang TrenDijamin Anti Boncos! Panduan Lengkap Bermain Black Scatter dengan Modal KecilSpesial Akhir Pekan! Pola Gacor Gates of Olympus yang Siap Mengguncang HP AndaPahami Ini! Rahasia Kartu Ketiga di Baccarat yang Sering Bikin Pemain KayaBaca Dulu, Main Kemudian! 7 Penyebab Utama Kekalahan di Mahjong Ways 2Langsung Praktek! Formula Jitu Memanfaatkan Free Spin di Black ScatterRevolusi Main! Bukan Cuma Hoki, Ini Data yang Bikin Anda Menang di RouletteGacor Parah! Pola Scatter Mahjong Ways 2 yang Bikin Warganet Ramai BahasSikat Pola Turbo di Gates of Olympus, Dijamin Kemenangan Lebih Cepat!Jangan Sampai Ketinggalan! Bocoran Skill Pengecualian di Permainan Mahjong WinsParlay 2 Tim vs 5 Tim? Ini Dia Pilihan Cerdas yang Bikin Cuan MaksimalMain Mahjong Ways 2 di HP? Setting Ini Wajib Diubah Agar Scatter Sering Muncul!Hari Ini Juga! Buktikan Sendiri Pola Black Scatter yang Paling Lembut di KantongInfo Viral! Deretan Kejutan Saat Bermain Baccarat yang Sering TerlewatkanMahjong Ways 2 Panduan Lengkap Membaca Pola Scatter untuk PemulaStrategi Dasar Bermain Mahjong Wins Fokus pada Manajemen TaruhanGates of Olympus Demystified Memahami Mekanisme Pengganda dan FreespinBlack Scatter Tips Mengoptimalkan Putaran Gratis untuk Kemenangan MaksimalParlay 101 Cara Cerdas Menggabungkan Taruhan Tanpa Mengorbankan PeluangBaccarat untuk Pemula Memahami Aturan Dasar dan Istilah PentingRoulette Mengenal Jenis Taruhan dan Peluang Matematis di DalamnyaTips Memilih Agen Terpercaya untuk Main Mahjong Ways 2 di IndonesiaMahjong Wins Perbedaan Pola Scatter di Versi Lama dan TerbaruGates of Olympus Waktu Terbaik untuk Memicu Fitur Anti Lag
toto togel
bandar togel