. * * This file is a part of iCalcreator. */ namespace Kigkonsult\Icalcreator; use Exception; use function sprintf; use function strtoupper; /** * iCalcreator VALARM component class * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.27.4 - 2018-12-19 */ final class Valarm extends CalendarComponent { use Traits\ACTIONtrait, Traits\ATTACHtrait, Traits\ATTENDEEtrait, Traits\DESCRIPTIONtrait, Traits\DURATIONtrait, Traits\REPEATtrait, Traits\SUMMARYtrait, Traits\TRIGGERtrait; /** * @var string */ protected static $compSgn = 'a'; /** * Destructor * * @since 2.27.3 - 2018-12-28 */ public function __destruct() { unset( $this->compType, $this->xprop, $this->components, $this->unparsed, $this->config, $this->propIx, $this->propDelIx ); unset( $this->cno, $this->srtk ); unset( $this->action, $this->attach, $this->attendee, $this->description, $this->duration, $this->repeat, $this->summary, $this->trigger ); } /** * Return formatted output for calendar component VALARM object instance * * @return string * @throws Exception (on Duration/Trigger err) * @since 2.26 - 2018-11-10 */ public function createComponent() { $compType = strtoupper( $this->getCompType()); $component = sprintf( self::$FMTBEGIN, $compType ); $component .= $this->createAction(); $component .= $this->createAttach(); $component .= $this->createAttendee(); $component .= $this->createDescription(); $component .= $this->createDuration(); $component .= $this->createRepeat(); $component .= $this->createSummary(); $component .= $this->createTrigger(); $component .= $this->createXprop(); return $component . sprintf( self::$FMTEND, $compType ); } }