summaryrefslogtreecommitdiff
path: root/vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-10-25 16:22:10 -0700
committerFrederic Guillot <fred@kanboard.net>2017-10-25 16:22:10 -0700
commit9e2b2a32fd0e967ad3184e9a5d091a29953acb91 (patch)
tree00822e24aa1110c73ca455a8d096ef296c008cbc /vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php
parentc507c5416251c505cb3e088a03c6664bed73c812 (diff)
Include composer dependencies in repo
Diffstat (limited to 'vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php')
-rw-r--r--vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php151
1 files changed, 151 insertions, 0 deletions
diff --git a/vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php b/vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php
new file mode 100644
index 00000000..9e0f0c1b
--- /dev/null
+++ b/vendor/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php
@@ -0,0 +1,151 @@
+<?php
+
+/*
+ * This file is part of the eluceo/iCal package.
+ *
+ * (c) Markus Poerschke <markus@eluceo.de>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace Eluceo\iCal\Component;
+
+use Eluceo\iCal\Component;
+use Eluceo\iCal\PropertyBag;
+use Eluceo\iCal\Property;
+
+/**
+ * Implementation of the VALARM component.
+ */
+class Alarm extends Component
+{
+ /**
+ * Alarm ACTION property.
+ *
+ * According to RFC 5545: 3.8.6.1. Action
+ *
+ * @link http://tools.ietf.org/html/rfc5545#section-3.8.6.1
+ */
+ const ACTION_AUDIO = 'AUDIO';
+ const ACTION_DISPLAY = 'DISPLAY';
+ const ACTION_EMAIL = 'EMAIL';
+
+ protected $action;
+ protected $repeat;
+ protected $duration;
+ protected $description;
+ protected $attendee;
+ protected $trigger;
+
+ public function getType()
+ {
+ return 'VALARM';
+ }
+
+ public function getAction()
+ {
+ return $this->action;
+ }
+
+ public function getRepeat()
+ {
+ return $this->repeat;
+ }
+
+ public function getDuration()
+ {
+ return $this->duration;
+ }
+
+ public function getDescription()
+ {
+ return $this->description;
+ }
+
+ public function getAttendee()
+ {
+ return $this->attendee;
+ }
+
+ public function getTrigger()
+ {
+ return $this->trigger;
+ }
+
+ public function setAction($action)
+ {
+ $this->action = $action;
+
+ return $this;
+ }
+
+ public function setRepeat($repeat)
+ {
+ $this->repeat = $repeat;
+
+ return $this;
+ }
+
+ public function setDuration($duration)
+ {
+ $this->duration = $duration;
+
+ return $this;
+ }
+
+ public function setDescription($description)
+ {
+ $this->description = $description;
+
+ return $this;
+ }
+
+ public function setAttendee($attendee)
+ {
+ $this->attendee = $attendee;
+
+ return $this;
+ }
+
+ public function setTrigger($trigger)
+ {
+ $this->trigger = $trigger;
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function buildPropertyBag()
+ {
+ $propertyBag = new PropertyBag();
+
+ if (null != $this->trigger) {
+ $propertyBag->set('TRIGGER', $this->trigger);
+ }
+
+ if (null != $this->action) {
+ $propertyBag->set('ACTION', $this->action);
+ }
+
+ if (null != $this->repeat) {
+ $propertyBag->set('REPEAT', $this->repeat);
+ }
+
+ if (null != $this->duration) {
+ $propertyBag->set('DURATION', $this->duration);
+ }
+
+ if (null != $this->description) {
+ $propertyBag->set('DESCRIPTION', $this->description);
+ }
+
+ if (null != $this->attendee) {
+ $propertyBag->set('ATTENDEE', $this->attendee);
+ }
+
+ return $propertyBag;
+ }
+}