PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.32
Booking for Appointments and Events Calendar – Amelia v1.2.32
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / eluceo / ical / examples / example5.php
ameliabooking / vendor / eluceo / ical / examples Last commit date
example1.php 7 years ago example2.php 7 years ago example3.php 7 years ago example4.php 7 years ago example5.php 7 years ago example6.php 7 years ago example7.php 7 years ago
example5.php
67 lines
1 <?php
2
3 /**
4 * example to show how to create an ICal calendar which
5 * provides a full timezone definition
6 */
7
8 // use composer autoloader
9 require_once __DIR__ . '/../vendor/autoload.php';
10
11 // set default timezone (PHP 5.4)
12 $tz = 'Europe/Berlin';
13 $dtz = new \DateTimeZone($tz);
14 date_default_timezone_set($tz);
15
16 // 1. Create new calendar
17 $vCalendar = new \Eluceo\iCal\Component\Calendar('www.example.com');
18
19 // 2. Create timezone rule object for Daylight Saving Time
20 $vTimezoneRuleDst = new \Eluceo\iCal\Component\TimezoneRule(\Eluceo\iCal\Component\TimezoneRule::TYPE_DAYLIGHT);
21 $vTimezoneRuleDst->setTzName('CEST');
22 $vTimezoneRuleDst->setDtStart(new \DateTime('1981-03-29 02:00:00', $dtz));
23 $vTimezoneRuleDst->setTzOffsetFrom('+0100');
24 $vTimezoneRuleDst->setTzOffsetTo('+0200');
25 $dstRecurrenceRule = new \Eluceo\iCal\Property\Event\RecurrenceRule();
26 $dstRecurrenceRule->setFreq(\Eluceo\iCal\Property\Event\RecurrenceRule::FREQ_YEARLY);
27 $dstRecurrenceRule->setByMonth(3);
28 $dstRecurrenceRule->setByDay('-1SU');
29 $vTimezoneRuleDst->setRecurrenceRule($dstRecurrenceRule);
30
31 // 3. Create timezone rule object for Standard Time
32 $vTimezoneRuleStd = new \Eluceo\iCal\Component\TimezoneRule(\Eluceo\iCal\Component\TimezoneRule::TYPE_STANDARD);
33 $vTimezoneRuleStd->setTzName('CET');
34 $vTimezoneRuleStd->setDtStart(new \DateTime('1996-10-27 03:00:00', $dtz));
35 $vTimezoneRuleStd->setTzOffsetFrom('+0200');
36 $vTimezoneRuleStd->setTzOffsetTo('+0100');
37 $stdRecurrenceRule = new \Eluceo\iCal\Property\Event\RecurrenceRule();
38 $stdRecurrenceRule->setFreq(\Eluceo\iCal\Property\Event\RecurrenceRule::FREQ_YEARLY);
39 $stdRecurrenceRule->setByMonth(10);
40 $stdRecurrenceRule->setByDay('-1SU');
41 $vTimezoneRuleStd->setRecurrenceRule($stdRecurrenceRule);
42
43 // 4. Create timezone definition and add rules
44 $vTimezone = new \Eluceo\iCal\Component\Timezone($tz);
45 $vTimezone->addComponent($vTimezoneRuleDst);
46 $vTimezone->addComponent($vTimezoneRuleStd);
47 $vCalendar->setTimezone($vTimezone);
48
49 // 5. Create an event
50 $vEvent = new \Eluceo\iCal\Component\Event();
51 $vEvent->setDtStart(new \DateTime('2012-12-24', $dtz));
52 $vEvent->setDtEnd(new \DateTime('2012-12-24', $dtz));
53 $vEvent->setSummary('Summary with some german "umlauten" and a backslash \\: Kinder mögen Äpfel pflücken.');
54
55 // 6. Adding Timezone
56 $vEvent->setUseTimezone(true);
57
58 // 7. Add event to calendar
59 $vCalendar->addComponent($vEvent);
60
61 // 8. Set headers
62 header('Content-Type: text/calendar; charset=utf-8');
63 header('Content-Disposition: attachment; filename="cal.ics"');
64
65 // 9. Output
66 echo $vCalendar->render();
67