first commit
This commit is contained in:
338
vendor/johngrogg/ics-parser/examples/ICal.ics
vendored
Normal file
338
vendor/johngrogg/ics-parser/examples/ICal.ics
vendored
Normal file
@@ -0,0 +1,338 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Google Inc//Google Calendar 70.9054//EN
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
METHOD:PUBLISH
|
||||
X-WR-CALNAME:Testkalender
|
||||
X-WR-TIMEZONE:UTC
|
||||
X-WR-CALDESC:Nur zum testen vom Google Kalender
|
||||
BEGIN:VFREEBUSY
|
||||
UID:f06ff6b3564b2f696bf42d393f8dea59
|
||||
ORGANIZER:MAILTO:jane_smith@host1.com
|
||||
DTSTAMP:20170316T204607Z
|
||||
DTSTART:20170213T204607Z
|
||||
DTEND:20180517T204607Z
|
||||
URL:https://www.host.com/calendar/busytime/jsmith.ifb
|
||||
FREEBUSY;FBTYPE=BUSY:20170623T070000Z/20170223T110000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20170624T131500Z/20170316T151500Z
|
||||
FREEBUSY;FBTYPE=BUSY:20170715T131500Z/20170416T150000Z
|
||||
FREEBUSY;FBTYPE=BUSY:20170716T131500Z/20170516T100500Z
|
||||
END:VFREEBUSY
|
||||
BEGIN:VEVENT
|
||||
DTSTART:20171032T000000
|
||||
DTEND:20171101T2300
|
||||
DESCRIPTION:Invalid date - parser will skip the event
|
||||
SUMMARY:Invalid date - parser will skip the event
|
||||
DTSTAMP:20170406T063924
|
||||
LOCATION:
|
||||
UID:f81b0b41a2e138ae0903daee0a966e1e
|
||||
SEQUENCE:0
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE;TZID=America/Los_Angeles:19410512
|
||||
DTEND;VALUE=DATE;TZID=America/Los_Angeles:19410512
|
||||
DTSTAMP;TZID=America/Los_Angeles:19410512T195741Z
|
||||
UID:dh3fki5du0opa7cs5n5s87ca02@google.com
|
||||
CREATED:20380101T141901Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:
|
||||
LAST-MODIFIED:20380101T141901Z
|
||||
LOCATION:
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:Before 1970-Test: Konrad Zuse invents the Z3, the "first
|
||||
digital Computer"
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20380201
|
||||
DTEND;VALUE=DATE:20380202
|
||||
DTSTAMP;TZID="GMT Standard Time":20380101T195741Z
|
||||
UID:dh3fki5du0opa7cs5n5s87ca01@google.com
|
||||
CREATED:20380101T141901Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:
|
||||
LAST-MODIFIED:20380101T141901Z
|
||||
LOCATION:
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:Year 2038 problem test
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART:20160105T090000Z
|
||||
DTEND:20160107T173000Z
|
||||
DTSTAMP;TZID="Greenwich Mean Time:Dublin; Edinburgh; Lisbon; London":20110121T195741Z
|
||||
UID:15lc1nvupht8dtfiptenljoiv4@google.com
|
||||
CREATED:20110121T195616Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:This is a short description\nwith a new line. Some "special" 's
|
||||
igns' may be interesting\, too.
|
||||
And a non-breaking space.
|
||||
LAST-MODIFIED:20150409T150000Z
|
||||
LOCATION:Kansas
|
||||
SEQUENCE:2
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:My Holidays
|
||||
TRANSP:TRANSPARENT
|
||||
ORGANIZER;CN="My Name":mailto:my.name@mydomain.com
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
ATTENDEE;CN="Page, Larry <l.page@google.com> (l.page@google.com)";ROLE=REQ-PARTICIPANT;RSVP=FALSE:mailto:l.page@google.com
|
||||
ATTENDEE;CN="Brin, Sergey <s.brin@google.com> (s.brin@google.com)";ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:s.brin@google.com
|
||||
DTSTART;VALUE=DATE:20160112
|
||||
DTEND;VALUE=DATE:20160116
|
||||
DTSTAMP;TZID="GMT Standard Time":20110121T195741Z
|
||||
UID:1koigufm110c5hnq6ln57murd4@google.com
|
||||
CREATED:20110119T142901Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:Project xyz Review Meeting Minutes\n
|
||||
Agenda\n1. Review of project version 1.0 requirements.\n2.
|
||||
Definition
|
||||
of project processes.\n3. Review of project schedule.\n
|
||||
Participants: John Smith, Jane Doe, Jim Dandy\n-It was
|
||||
decided that the requirements need to be signed off by
|
||||
product marketing.\n-Project processes were accepted.\n
|
||||
-Project schedule needs to account for scheduled holidays
|
||||
and employee vacation time. Check with HR for specific
|
||||
dates.\n-New schedule will be distributed by Friday.\n-
|
||||
Next weeks meeting is cancelled. No meeting until 3/23.
|
||||
LAST-MODIFIED:20150409T150000Z
|
||||
LOCATION:
|
||||
SEQUENCE:2
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:Test 2
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160119
|
||||
DTEND;VALUE=DATE:20160120
|
||||
DTSTAMP;TZID="GMT Standard Time":20110121T195741Z
|
||||
UID:rq8jng4jgq0m1lvpj8486fttu0@google.com
|
||||
CREATED:20110119T141904Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:
|
||||
LAST-MODIFIED:20150409T150000Z
|
||||
LOCATION:
|
||||
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:DST Change
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20160119
|
||||
DTEND;VALUE=DATE:20160120
|
||||
DTSTAMP;TZID="GMT Standard Time":20110121T195741Z
|
||||
UID:dh3fki5du0opa7cs5n5s87ca00@google.com
|
||||
CREATED:20110119T141901Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:
|
||||
LAST-MODIFIED:20150409T150000Z
|
||||
LOCATION:
|
||||
RRULE:FREQ=WEEKLY;COUNT=5;INTERVAL=2;BYDAY=TU
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:Test 1
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Duration Test
|
||||
DTSTART:20160425T150000Z
|
||||
DTSTAMP:20160424T150000Z
|
||||
DURATION:PT1H15M5S
|
||||
RRULE:FREQ=DAILY;COUNT=2
|
||||
UID:calendar-62-e7c39bf02382917349672271dd781c89
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:BYMONTHDAY Test
|
||||
DTSTART:20160922T130000Z
|
||||
DTEND:20160922T150000Z
|
||||
DTSTAMP:20160921T130000Z
|
||||
RRULE:FREQ=MONTHLY;UNTIL=20170923T000000Z;INTERVAL=1;BYMONTHDAY=23
|
||||
UID:33844fe8df15fbfc13c97fc41c0c4b00392c6870@google.com
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;TZID=Europe/Paris:20160921T080000
|
||||
DTEND;TZID=Europe/Paris:20160921T090000
|
||||
RRULE:FREQ=WEEKLY;BYDAY=WE
|
||||
DTSTAMP:20161117T165045Z
|
||||
UID:884bc8350185031337d9ec49d2e7e101dd5ae5fb@google.com
|
||||
CREATED:20160920T133918Z
|
||||
DESCRIPTION:
|
||||
LAST-MODIFIED:20160920T133923Z
|
||||
LOCATION:
|
||||
SEQUENCE:1
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Paris Timezone Test
|
||||
TRANSP:OPAQUE
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART:20160215T080000Z
|
||||
DTEND:20160515T090000Z
|
||||
DTSTAMP:20161121T113027Z
|
||||
CREATED:20161121T113027Z
|
||||
UID:65323c541a30dd1f180e2bbfa2724995
|
||||
DESCRIPTION:
|
||||
LAST-MODIFIED:20161121T113027Z
|
||||
LOCATION:
|
||||
SEQUENCE:1
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Long event covering the range from example with special chars:
|
||||
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÕÖÒÓÔØÙÚÛÜÝÞß
|
||||
àáâãäåæçèéêėëìíîïðñòóôõöøùúûüūýþÿž
|
||||
‘ ’ ‚ ‛ “ ” „ ‟ – — …
|
||||
TRANSP:OPAQUE
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
CLASS:PUBLIC
|
||||
CREATED:20160706T161104Z
|
||||
DTEND;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160409T110000
|
||||
DTSTAMP:20160706T150005Z
|
||||
DTSTART;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160409T090000
|
||||
EXDATE;TZID="(UTC-05:00) Eastern Time (US & Canada)":
|
||||
20160528T090000,
|
||||
20160625T090000
|
||||
LAST-MODIFIED:20160707T182011Z
|
||||
EXDATE;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160709T090000
|
||||
EXDATE;TZID="(UTC-05:00) Eastern Time (US & Canada)":20160723T090000
|
||||
LOCATION:Sanctuary
|
||||
PRIORITY:5
|
||||
RRULE:FREQ=WEEKLY;COUNT=15;BYDAY=SA
|
||||
SEQUENCE:0
|
||||
SUMMARY:Microsoft Unicode CLDR EXDATE Test
|
||||
TRANSP:OPAQUE
|
||||
UID:040000008200E00074C5B7101A82E0080000000020F6512D0B48CF0100000000000000001000000058BFB8CBB85D504CB99FBA637BCFD6BF
|
||||
X-MICROSOFT-CDO-BUSYSTATUS:BUSY
|
||||
X-MICROSOFT-CDO-IMPORTANCE:1
|
||||
X-MICROSOFT-DISALLOW-COUNTER:FALSE
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170118
|
||||
DTEND;VALUE=DATE:20170118
|
||||
DTSTAMP;TZID="GMT Standard Time":20170121T195741Z
|
||||
RRULE:FREQ=MONTHLY;BYSETPOS=3;BYDAY=WE;COUNT=5
|
||||
UID:4dnsuc3nknin15kv25cn7ridss@google.com
|
||||
CREATED:20170119T142059Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYDAY Test 1
|
||||
LAST-MODIFIED:20170409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYDAY Test 1
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190101
|
||||
DTEND;VALUE=DATE:20190101
|
||||
DTSTAMP;TZID="GMT Standard Time":20190101T195741Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=1
|
||||
UID:4dnsuc3nknin15kv25cn7ridssy@google.com
|
||||
CREATED:20190101T142059Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYSETPOS First weekday of every month
|
||||
LAST-MODIFIED:20190101T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYSETPOS First weekday of every month
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20190131
|
||||
DTEND;VALUE=DATE:20190131
|
||||
DTSTAMP;TZID="GMT Standard Time":20190121T195741Z
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYSETPOS=-1
|
||||
UID:4dnsuc3nknin15kv25cn7ridssx@google.com
|
||||
CREATED:20190119T142059Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYSETPOS Last day of every month
|
||||
LAST-MODIFIED:20190409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYSETPOS Last day of every month
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170301
|
||||
DTEND;VALUE=DATE:20170301
|
||||
DTSTAMP;TZID="GMT Standard Time":20170121T195741Z
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=WE
|
||||
UID:h6f7sdjbpt47v3dkral8lnsgcc@google.com
|
||||
CREATED:20170119T142040Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYDAY Test 2
|
||||
LAST-MODIFIED:20170409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYDAY Test 2
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170111
|
||||
DTEND;VALUE=DATE:20170111
|
||||
DTSTAMP;TZID="GMT Standard Time":20170121T195741Z
|
||||
RRULE:FREQ=YEARLY;INTERVAL=2;COUNT=5;BYMONTH=1,2,3
|
||||
UID:f50e8b89a4a3b0070e0b687d03@google.com
|
||||
CREATED:20170119T142040Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYMONTH Multiple Test 1
|
||||
LAST-MODIFIED:20170409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYMONTH Multiple Test 1
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;VALUE=DATE:20170405
|
||||
DTEND;VALUE=DATE:20170405
|
||||
DTSTAMP;TZID="GMT Standard Time":20170121T195741Z
|
||||
RRULE:FREQ=YEARLY;BYMONTH=4,5,6;BYDAY=WE;COUNT=5
|
||||
UID:675f06aa795665ae50904ebf0e@google.com
|
||||
CREATED:20170119T142040Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:BYMONTH Multiple Test 2
|
||||
LAST-MODIFIED:20170409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:BYMONTH Multiple Test 2
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
BEGIN:VALARM
|
||||
TRIGGER;VALUE=DURATION:-PT30M
|
||||
ACTION:DISPLAY
|
||||
DESCRIPTION:Buzz buzz
|
||||
END:VALARM
|
||||
DTSTART;VALUE=DATE;TZID=Germany/Berlin:20170123
|
||||
DTEND;VALUE=DATE;TZID=Germany/Berlin:20170123
|
||||
DTSTAMP;TZID="GMT Standard Time":20170121T195741Z
|
||||
RRULE:FREQ=MONTHLY;BYDAY=-2MO;COUNT=5
|
||||
EXDATE;VALUE=DATE:20171020
|
||||
UID:d287b7ec808fcf084983f10837@google.com
|
||||
CREATED:20170119T142040Z
|
||||
DESCRIPTION;LANGUAGE=en-gb:Negative BYDAY
|
||||
LAST-MODIFIED:20170409T150000Z
|
||||
SEQUENCE:0
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY;LANGUAGE=en-gb:Negative BYDAY
|
||||
TRANSP:TRANSPARENT
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;TZID=Australia/Sydney:20170813T190000
|
||||
DTEND;TZID=Australia/Sydney:20170813T213000
|
||||
RRULE:FREQ=MONTHLY;INTERVAL=2;BYDAY=2SU;COUNT=2
|
||||
DTSTAMP:20170809T114431Z
|
||||
UID:testuid@google.com
|
||||
CREATED:20170802T135539Z
|
||||
DESCRIPTION:
|
||||
LAST-MODIFIED:20170802T135935Z
|
||||
LOCATION:
|
||||
SEQUENCE:1
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Parent Recurrence Event
|
||||
TRANSP:OPAQUE
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTART;TZID=Australia/Sydney:20170813T190000
|
||||
DTEND;TZID=Australia/Sydney:20170813T213000
|
||||
DTSTAMP:20170809T114431Z
|
||||
UID:testuid@google.com
|
||||
RECURRENCE-ID;TZID=Australia/Sydney:20170813T190000
|
||||
CREATED:20170802T135539Z
|
||||
DESCRIPTION:
|
||||
LAST-MODIFIED:20170809T105604Z
|
||||
LOCATION:Melbourne VIC\, Australia
|
||||
SEQUENCE:1
|
||||
STATUS:CONFIRMED
|
||||
SUMMARY:Override Parent Recurrence Event
|
||||
TRANSP:OPAQUE
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
175
vendor/johngrogg/ics-parser/examples/index.php
vendored
Normal file
175
vendor/johngrogg/ics-parser/examples/index.php
vendored
Normal file
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
// phpcs:disable Generic.Arrays.DisallowLongArraySyntax
|
||||
|
||||
require_once '../vendor/autoload.php';
|
||||
|
||||
use ICal\ICal;
|
||||
|
||||
try {
|
||||
$ical = new ICal('ICal.ics', array(
|
||||
'defaultSpan' => 2, // Default value
|
||||
'defaultTimeZone' => 'UTC',
|
||||
'defaultWeekStart' => 'MO', // Default value
|
||||
'disableCharacterReplacement' => false, // Default value
|
||||
'filterDaysAfter' => null, // Default value
|
||||
'filterDaysBefore' => null, // Default value
|
||||
'httpUserAgent' => null, // Default value
|
||||
'skipRecurrence' => false, // Default value
|
||||
));
|
||||
// $ical->initFile('ICal.ics');
|
||||
// $ical->initUrl('https://raw.githubusercontent.com/u01jmg3/ics-parser/master/examples/ICal.ics', $username = null, $password = null, $userAgent = null);
|
||||
} catch (\Exception $e) {
|
||||
die($e);
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<!-- Latest compiled and minified CSS -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
|
||||
<title>PHP ICS Parser example</title>
|
||||
<style>body { background-color: #eee }</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<h4 class="mt-3 mb-2">PHP ICS Parser example</h3>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
The number of events
|
||||
<span class="badge rounded-pill bg-secondary float-end"><?php echo $ical->eventCount ?></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
The number of free/busy time slots
|
||||
<span class="badge rounded-pill bg-secondary float-end"><?php echo $ical->freeBusyCount ?></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
The number of todos
|
||||
<span class="badge rounded-pill bg-secondary float-end"><?php echo $ical->todoCount ?></span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
The number of alarms
|
||||
<span class="badge rounded-pill bg-secondary float-end"><?php echo $ical->alarmCount ?></span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<?php
|
||||
$showExample = array(
|
||||
'interval' => true,
|
||||
'range' => true,
|
||||
'all' => true,
|
||||
);
|
||||
?>
|
||||
|
||||
<?php
|
||||
if ($showExample['interval']) {
|
||||
$events = $ical->eventsFromInterval('1 week');
|
||||
|
||||
if ($events) {
|
||||
echo '<h4 class="mt-3 mb-2">Events in the next 7 days:</h4>';
|
||||
}
|
||||
|
||||
$count = 1;
|
||||
?>
|
||||
<div class="row">
|
||||
<?php
|
||||
foreach ($events as $event) : ?>
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h4 class="mt-3 mb-2"><?php
|
||||
$dtstart = $ical->iCalDateToDateTime($event->dtstart_array[3]);
|
||||
echo $event->summary . ' (' . $dtstart->format('d-m-Y H:i') . ')';
|
||||
?></h3>
|
||||
<?php echo $event->printData() ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($count > 1 && $count % 3 === 0) {
|
||||
echo '</div><div class="row">';
|
||||
}
|
||||
|
||||
$count++;
|
||||
?>
|
||||
<?php
|
||||
endforeach
|
||||
?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ($showExample['range']) {
|
||||
$events = $ical->eventsFromRange('2017-03-01 12:00:00', '2017-04-31 17:00:00');
|
||||
|
||||
if ($events) {
|
||||
echo '<h4 class="mt-3 mb-2">Events March through April:</h4>';
|
||||
}
|
||||
|
||||
$count = 1;
|
||||
?>
|
||||
<div class="row">
|
||||
<?php
|
||||
foreach ($events as $event) : ?>
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h4 class="mt-3 mb-2"><?php
|
||||
$dtstart = $ical->iCalDateToDateTime($event->dtstart_array[3]);
|
||||
echo $event->summary . ' (' . $dtstart->format('d-m-Y H:i') . ')';
|
||||
?></h3>
|
||||
<?php echo $event->printData() ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($count > 1 && $count % 3 === 0) {
|
||||
echo '</div><div class="row">';
|
||||
}
|
||||
|
||||
$count++;
|
||||
?>
|
||||
<?php
|
||||
endforeach
|
||||
?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ($showExample['all']) {
|
||||
$events = $ical->sortEventsWithOrder($ical->events());
|
||||
|
||||
if ($events) {
|
||||
echo '<h4 class="mt-3 mb-2">All Events:</h4>';
|
||||
}
|
||||
?>
|
||||
<div class="row">
|
||||
<?php
|
||||
$count = 1;
|
||||
foreach ($events as $event) : ?>
|
||||
<div class="col-md-4">
|
||||
<div class="card mb-4">
|
||||
<div class="card-body">
|
||||
<h4 class="mt-3 mb-2"><?php
|
||||
$dtstart = $ical->iCalDateToDateTime($event->dtstart_array[3]);
|
||||
echo $event->summary . ' (' . $dtstart->format('d-m-Y H:i') . ')';
|
||||
?></h3>
|
||||
<?php echo $event->printData() ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ($count > 1 && $count % 3 === 0) {
|
||||
echo '</div><div class="row">';
|
||||
}
|
||||
|
||||
$count++;
|
||||
?>
|
||||
<?php
|
||||
endforeach
|
||||
?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user