. * * This file is a part of iCalcreator. */ namespace Kigkonsult\Icalcreator; use Kigkonsult\Icalcreator\Util\Util; use function sprintf; use function strtoupper; /** * iCalcreator VJOURNAL component class * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.26 - 2018-11-10 */ class Vjournal extends CalendarComponent { use Traits\ATTACHtrait, Traits\ATTENDEEtrait, Traits\CATEGORIEStrait, Traits\CLASStrait, Traits\COMMENTtrait, Traits\CONTACTtrait, Traits\CREATEDtrait, Traits\DESCRIPTIONtrait, Traits\DTSTAMPtrait, Traits\DTSTARTtrait, Traits\EXDATEtrait, Traits\EXRULEtrait, Traits\LAST_MODIFIEDtrait, Traits\ORGANIZERtrait, Traits\RDATEtrait, Traits\RECURRENCE_IDtrait, Traits\RELATED_TOtrait, Traits\REQUEST_STATUStrait, Traits\RRULEtrait, Traits\SEQUENCEtrait, Traits\STATUStrait, Traits\SUMMARYtrait, Traits\UIDtrait, Traits\URLtrait; /** * Constructor for calendar component VJOURNAL object * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.22.20 - 2017-02-01 * @param array $config */ public function __construct( $config = [] ) { static $J = 'j'; parent::__construct(); $this->setConfig( Util::initConfig( $config )); $this->cno = $J . parent::getObjectNo(); } /** * Destructor * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.26 - 2018-11-10 */ public function __destruct() { unset( $this->xprop, $this->components, $this->unparsed, $this->config, $this->compix, $this->propix, $this->propdelix ); unset( $this->compType, $this->cno, $this->srtk ); unset( $this->attach, $this->attendee, $this->categories, $this->class, $this->comment, $this->contact, $this->created, $this->description, $this->dtstamp, $this->dtstart, $this->exdate, $this->exrule, $this->lastmodified, $this->organizer, $this->rdate, $this->recurrenceid, $this->relatedto, $this->requeststatus, $this->rrule, $this->sequence, $this->status, $this->summary, $this->uid, $this->url ); } /** * Return formatted output for calendar component VJOURNAL object instance * * @author Kjell-Inge Gustafsson, kigkonsult * @since 2.26 - 2018-11-10 * @return string */ public function createComponent() { $compType = strtoupper( $this->compType ); $component = sprintf( Util::$FMTBEGIN, $compType ); $component .= $this->createUid(); $component .= $this->createDtstamp(); $component .= $this->createAttach(); $component .= $this->createAttendee(); $component .= $this->createCategories(); $component .= $this->createClass(); $component .= $this->createComment(); $component .= $this->createContact(); $component .= $this->createCreated(); $component .= $this->createDescription(); $component .= $this->createDtstart(); $component .= $this->createExdate(); $component .= $this->createExrule(); $component .= $this->createLastModified(); $component .= $this->createOrganizer(); $component .= $this->createRdate(); $component .= $this->createRequestStatus(); $component .= $this->createRecurrenceid(); $component .= $this->createRelatedTo(); $component .= $this->createRrule(); $component .= $this->createSequence(); $component .= $this->createStatus(); $component .= $this->createSummary(); $component .= $this->createUrl(); $component .= $this->createXprop(); return $component . sprintf( Util::$FMTEND, $compType ); } }