Пример #1
0
 /**
  * Constructor method for AddMsgSpec
  * @param string $content The entire message's content. (Omit if you specify an "aid" attribute.)
  * @param string $f Flags - (u)nread, (f)lagged, has (a)ttachment, (r)eplied, (s)ent by me, for(w)arded, (d)raft, deleted (x), (n)otification sent
  * @param string $t Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
  * @param string $tn Comma-separated list of tag names
  * @param string $l Folder pathname (starts with '/') or folder ID
  * @param bool   $noICal If set, then don't process iCal attachments. Default is unset.
  * @param string $d Time the message was originally received, in MILLISECONDS since the epoch
  * @param string $aid Uploaded MIME body ID - ID of message uploaded via FileUploadServlet
  * @return self
  */
 public function __construct($content = null, $f = null, $t = null, $tn = null, $l = null, $noICal = null, $d = null, $aid = null)
 {
     parent::__construct();
     if (null !== $content) {
         $this->child('content', trim($content));
     }
     if (null !== $f) {
         $this->property('f', trim($f));
     }
     if (null !== $t) {
         $this->property('t', trim($t));
     }
     if (null !== $tn) {
         $this->property('tn', trim($tn));
     }
     if (null !== $l) {
         $this->property('l', trim($l));
     }
     if (null !== $noICal) {
         $this->property('noICal', (bool) $noICal);
     }
     if (null !== $d) {
         $this->property('d', trim($d));
     }
     if (null !== $aid) {
         $this->property('aid', trim($aid));
     }
 }
Пример #2
0
 /**
  * Constructor method for FolderSpec
  * @param string $l Folder ID
  * @return self
  */
 public function __construct($l = null)
 {
     parent::__construct();
     if (null !== $l) {
         $this->property('l', trim($l));
     }
 }
Пример #3
0
 /**
  * Constructor method for CalOrganizer
  * @param string $address Email address (without "MAILTO:")
  * @param string $url URL - has same value as {email-address}. 
  * @param string $displayName Friendly name - "CN" in iCalendar
  * @param string $sentBy iCalendar SENT-BY
  * @param string $dir iCalendar DIR - Reference to a directory entry associated with the calendar user. the setProperty.
  * @param string $lang iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
  * @param array $xparams Non-standard parameters
  * @return self
  */
 public function __construct($address = null, $url = null, $displayName = null, $sentBy = null, $dir = null, $lang = null, array $xparams = [])
 {
     parent::__construct();
     if (null !== $address) {
         $this->setProperty('a', trim($address));
     }
     if (null !== $url) {
         $this->setProperty('url', trim($url));
     }
     if (null !== $displayName) {
         $this->setProperty('d', trim($displayName));
     }
     if (null !== $sentBy) {
         $this->setProperty('sentBy', trim($sentBy));
     }
     if (null !== $dir) {
         $this->setProperty('dir', trim($dir));
     }
     if (null !== $lang) {
         $this->setProperty('lang', trim($lang));
     }
     $this->setXParams($xparams);
     $this->on('before', function (Base $sender) {
         if ($sender->getXParams()->count()) {
             $sender->setChild('xparam', $sender->getXParams()->all());
         }
     });
 }
Пример #4
0
 /**
  * Constructor method for DurationInfo
  * @param  bool   $neg Set if the duration is negative.
  * @param  int    $w Weeks component of the duration
  * @param  int    $d Days component of the duration.
  * @param  int    $h Hours component of the duration.
  * @param  int    $m Minutes component of the duration.
  * @param  int    $s Seconds component of the duration.
  * @param  string $related Specifies whether the alarm is related to the start of end. Valid values are : START|END
  * @param  int    $count Alarm repeat count
  * @return self
  */
 public function __construct($neg = null, $w = null, $d = null, $h = null, $m = null, $s = null, $related = null, $count = null)
 {
     parent::__construct();
     if (null !== $neg) {
         $this->property('neg', (bool) $neg);
     }
     if (null !== $w) {
         $this->property('w', (int) $w);
     }
     if (null !== $d) {
         $this->property('d', (int) $d);
     }
     if (null !== $h) {
         $this->property('h', (int) $h);
     }
     if (null !== $m) {
         $this->property('m', (int) $m);
     }
     if (null !== $s) {
         $this->property('s', (int) $s);
     }
     if (null !== $related) {
         $this->property('related', in_array(trim($related), array('START', 'END')) ? trim($related) : '');
     }
     if (null !== $count) {
         $this->property('count', (int) $count);
     }
 }
Пример #5
0
 /**
  * Constructor method for PrefInfo
  * @param string $name Preference name
  * @param string $value Preference value
  * @return self
  */
 public function __construct($name = null, $value = null)
 {
     parent::__construct($value);
     if (null !== $name) {
         $this->setProperty('name', trim($name));
     }
 }
Пример #6
0
 /**
  * Constructor method for DurationInfo
  * @param  bool   $neg Set if the duration is negative.
  * @param  int    $weeks Weeks component of the duration
  * @param  int    $days Days component of the duration.
  * @param  int    $hours Hours component of the duration.
  * @param  int    $minutes Minutes component of the duration.
  * @param  int    $seconds Seconds component of the duration.
  * @param  string $related Specifies whether the alarm is related to the start of end. Valid values are : START|END
  * @param  int    $count Alarm repeat count
  * @return self
  */
 public function __construct($negative = null, $weeks = null, $days = null, $hours = null, $minutes = null, $seconds = null, $related = null, $count = null)
 {
     parent::__construct();
     if (null !== $negative) {
         $this->setProperty('neg', (bool) $negative);
     }
     if (null !== $weeks) {
         $this->setProperty('w', (int) $weeks);
     }
     if (null !== $days) {
         $this->setProperty('d', (int) $days);
     }
     if (null !== $hours) {
         $this->setProperty('h', (int) $hours);
     }
     if (null !== $minutes) {
         $this->setProperty('m', (int) $minutes);
     }
     if (null !== $seconds) {
         $this->setProperty('s', (int) $seconds);
     }
     if (null !== $related) {
         $this->setRelated($related);
     }
     if (null !== $count) {
         $this->setProperty('count', (int) $count);
     }
 }
Пример #7
0
 /**
  * Constructor method for AttachmentsInfo
  * @param  string $aid Attachment upload ID
  * @param  MimePartAttachSpec $mp MimePart Attach Spec
  * @param  MsgAttachSpec $m Msg Attach Spec
  * @param  ContactAttachSpec $cn Contact Attach Spec
  * @param  DocAttachSpec $doc Doc Attach Spec
  * @return self
  */
 public function __construct($aid = null, array $attachments = [])
 {
     parent::__construct();
     parent::__construct();
     $this->setProperty('aid', trim($aid));
     $this->setAttachments($attachments);
     $this->on('before', function (Base $sender) {
         if ($sender->getAttachments()->count()) {
             foreach ($sender->getAttachments()->all() as $attachment) {
                 if ($attachment instanceof MimePartAttachSpec) {
                     $this->setChild('mp', $attachment);
                 }
                 if ($attachment instanceof MsgAttachSpec) {
                     $this->setChild('m', $attachment);
                 }
                 if ($attachment instanceof ContactAttachSpec) {
                     $this->setChild('cn', $attachment);
                 }
                 if ($attachment instanceof DocAttachSpec) {
                     $this->setChild('doc', $attachment);
                 }
             }
         }
     });
 }
Пример #8
0
 /**
  * Constructor method for NewFolderSpec
  * @param string $name If "l" is unset, name is the full path of the new folder; otherwise, name may not contain the folder separator '/'
  * @param SearchType $view Default type for the folder; used by web client to decide which view to use; possible values are the same as <SearchRequest>'s {types}: conversation|message|contact|etc
  * @param string $f Flags
  * @param int $color Color numeric; range 0-127; defaults to 0 if not present; client can display only 0-7
  * @param string $rgb RGB color in format #rrggbb where r,g and b are hex digits
  * @param string $url URL (RSS, iCal, etc.) this folder syncs its contents to
  * @param string $l Parent folder ID
  * @param bool $fie If set, the server will fetch the folder if it already exists rather than throwing mail.ALREADY_EXISTS
  * @param bool $sync If set (default) then if "url" is set, synchronize folder content on folder creation
  * @param NewFolderSpecAcl $acl Action grant selectors
  * @return self
  */
 public function __construct($name, SearchType $view = null, $f = null, $color = null, $rgb = null, $url = null, $l = null, $fie = null, $sync = null, NewFolderSpecAcl $grants = null)
 {
     parent::__construct();
     $this->setProperty('name', trim($name));
     if ($view instanceof SearchType) {
         $this->setProperty('view', $view);
     }
     if (null !== $f) {
         $this->setProperty('f', trim($f));
     }
     if (null !== $color) {
         $color = (int) $color;
         $this->setProperty('color', $color > 0 && $color < 128 ? $color : 0);
     }
     if (null !== $rgb && Text::isRgb(trim($rgb))) {
         $this->setProperty('rgb', trim($rgb));
     }
     if (null !== $url) {
         $this->setProperty('url', trim($url));
     }
     if (null !== $l) {
         $this->setProperty('l', trim($l));
     }
     if (null !== $fie) {
         $this->setProperty('fie', (bool) $fie);
     }
     if (null !== $sync) {
         $this->setProperty('sync', (bool) $sync);
     }
     if ($grants instanceof NewFolderSpecAcl) {
         $this->setChild('acl', $grants);
     }
 }
Пример #9
0
 /**
  * Constructor method for CalOrganizer
  * @param array $xparams
  * @param string $a Email address (without "MAILTO:")
  * @param string $url URL - has same value as {email-address}. 
  * @param string $d Friendly name - "CN" in iCalendar
  * @param string $sentBy iCalendar SENT-BY
  * @param string $dir iCalendar DIR - Reference to a directory entry associated with the calendar user. the property.
  * @param string $lang iCalendar LANGUAGE - As defined in RFC5646 * (e.g. "en-US")
  * @return self
  */
 public function __construct(array $xparams = array(), $a = null, $url = null, $d = null, $sentBy = null, $dir = null, $lang = null)
 {
     parent::__construct();
     $this->_xparam = new TypedSequence('Zimbra\\Mail\\Struct\\XParam', $xparams);
     if (null !== $a) {
         $this->property('a', trim($a));
     }
     if (null !== $url) {
         $this->property('url', trim($url));
     }
     if (null !== $d) {
         $this->property('d', trim($d));
     }
     if (null !== $sentBy) {
         $this->property('sentBy', trim($sentBy));
     }
     if (null !== $dir) {
         $this->property('dir', trim($dir));
     }
     if (null !== $lang) {
         $this->property('lang', trim($lang));
     }
     $this->on('before', function (Base $sender) {
         if ($sender->xparam()->count()) {
             $sender->child('xparam', $sender->xparam()->all());
         }
     });
 }
Пример #10
0
 /**
  * Constructor method for AlarmInfo
  * @param  AlarmAction $action Alarm action
  * @param  AlarmTriggerInfo $trigger Alarm trigger information
  * @param  DurationInfo $repeat Alarm repeat information 
  * @param  string $description Alarm description
  * @param  CalendarAttach $attach Information on attachment
  * @param  string $summary Alarm summary
  * @param  array $ats Attendee information 
  * @param  array $xprops Non-standard properties
  * @return self
  */
 public function __construct(AlarmAction $action, AlarmTriggerInfo $trigger = null, DurationInfo $repeat = null, $description = null, CalendarAttach $attach = null, $summary = null, array $ats = [], array $xprops = [])
 {
     parent::__construct();
     $this->setProperty('action', $action);
     if ($trigger instanceof AlarmTriggerInfo) {
         $this->setChild('trigger', $trigger);
     }
     if ($repeat instanceof DurationInfo) {
         $this->setChild('repeat', $repeat);
     }
     if (null !== $description) {
         $this->setChild('desc', trim($description));
     }
     if ($attach instanceof CalendarAttach) {
         $this->setChild('attach', $attach);
     }
     if (null !== $summary) {
         $this->setChild('summary', trim($summary));
     }
     $this->setAttendees($ats)->setXProps($xprops);
     $this->on('before', function (Base $sender) {
         if ($sender->getAttendees()->count()) {
             $sender->setChild('at', $sender->getAttendees()->all());
         }
         if ($sender->getXProps()->count()) {
             $sender->setChild('xprop', $sender->getXProps()->all());
         }
     });
 }
Пример #11
0
 /**
  * Constructor method for FolderSpec
  * @param string $folder Folder ID
  * @return self
  */
 public function __construct($folder = null)
 {
     parent::__construct();
     if (null !== $folder) {
         $this->setProperty('l', trim($folder));
     }
 }
Пример #12
0
 /**
  * Constructor method for RecurIdInfo
  * @param array $rules Recurrence rules
  * @return self
  */
 public function __construct(array $rules = [])
 {
     parent::__construct();
     $this->setRules($rules);
     $this->on('before', function (Base $sender) {
         if ($sender->getRules()->count()) {
             foreach ($sender->getRules()->all() as $rule) {
                 if ($rule instanceof AddRecurrenceInfo) {
                     $this->setChild('add', $rule);
                 }
                 if ($rule instanceof ExcludeRecurrenceInfo) {
                     $this->setChild('exclude', $rule);
                 }
                 if ($rule instanceof ExceptionRuleInfo) {
                     $this->setChild('except', $rule);
                 }
                 if ($rule instanceof CancelRuleInfo) {
                     $this->setChild('cancel', $rule);
                 }
                 if ($rule instanceof SingleDates) {
                     $this->setChild('dates', $rule);
                 }
                 if ($rule instanceof SimpleRepeatingRule) {
                     $this->setChild('rule', $rule);
                 }
             }
         }
     });
 }
Пример #13
0
 /**
  * Constructor method for ContactSpec
  * @param  int $id ID - specified when modifying a contact
  * @param  string $folder ID of folder to create contact in. Un-specified means use the default Contacts folder.
  * @param  string $tags Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
  * @param  string $tagNames Comma-separated list of id names
  * @param  VCardInfo $vcard Either a vcard or attributes can be specified but not both.
  * @param  array $attrs Contact attributes. Cannot specify <vcard> as well as these
  * @param  array $members Contact group members. Valid only if the contact being created is a contact group (has attribute type="group")
  * @return self
  */
 public function __construct($id = null, $folder = null, $tags = null, $tagNames = null, VCardInfo $vcard = null, array $attrs = [], array $members = [])
 {
     parent::__construct();
     if (null !== $id) {
         $this->setProperty('id', (int) $id);
     }
     if (null !== $folder) {
         $this->setProperty('l', trim($folder));
     }
     if (null !== $tags) {
         $this->setProperty('t', trim($tags));
     }
     if (null !== $tagNames) {
         $this->setProperty('tn', trim($tagNames));
     }
     if ($vcard instanceof VCardInfo) {
         $this->setChild('vcard', $vcard);
     }
     $this->setAttrs($attrs)->setGroupMembers($members);
     $this->on('before', function (Base $sender) {
         if ($sender->getAttrs()->count()) {
             $sender->setChild('a', $sender->getAttrs()->all());
         }
         if ($sender->getGroupMembers()->count()) {
             $sender->setChild('m', $sender->getGroupMembers()->all());
         }
     });
 }
Пример #14
0
 /**
  * Constructor method for AttachmentIdAttrib
  * @param  string $aid Attachment ID
  * @return self
  */
 public function __construct($aid = null)
 {
     parent::__construct();
     if (null !== $aid) {
         $this->setProperty('aid', trim($aid));
     }
 }
Пример #15
0
 /**
  * Constructor method for AuthToken
  * @param  string $value
  * @param  bool   $verifyAccount
  * @return self
  */
 public function __construct($value, $verifyAccount = null)
 {
     parent::__construct(trim($value));
     if (null !== $verifyAccount) {
         $this->setProperty('verifyAccount', (bool) $verifyAccount);
     }
 }
Пример #16
0
 /**
  * Constructor method for MsgSpec
  * @param string $id Message ID. Can contain a subpart identifier (e.g. "775-778") to return a message stored as a subpart of some other mail-item, specifically for Messages stored as part of Appointments
  * @param string $part Supply a "part" and the retrieved data will be on the specified message/rfc822 subpart.
  * @param bool   $raw Set to return the raw message content rather than a parsed mime structure;
  * @param bool   $read Set to mark the message as read, unset to leave the read status unchanged.
  * @param int    $max Use {max-inlined-length} to limit the length of the text inlined into body <content> when raw is set.
  * @param bool   $html Set to return defanged HTML content by default. (default is unset.)
  * @param bool   $neuter Set to "neuter" <IMG> maxs returned in HTML content;
  * @param string $ridZ Recurrence ID in format YYYYMMDD[ThhmmssZ].
  * @param bool   $needExp Set to return group info (isGroup and exp flags) on <e> elements in the response (default is unset.)
  * @param array  $headers Requested headers.
  * @return self
  */
 public function __construct($id, $part = null, $raw = null, $read = null, $max = null, $html = null, $neuter = null, $ridZ = null, $needExp = null, array $headers = [])
 {
     parent::__construct();
     $this->setProperty('id', trim($id));
     if (null !== $part) {
         $this->setProperty('part', trim($part));
     }
     if (null !== $raw) {
         $this->setProperty('raw', (bool) $raw);
     }
     if (null !== $read) {
         $this->setProperty('read', (bool) $read);
     }
     if (null !== $max) {
         $this->setProperty('max', (int) $max);
     }
     if (null !== $html) {
         $this->setProperty('html', (bool) $html);
     }
     if (null !== $neuter) {
         $this->setProperty('neuter', (bool) $neuter);
     }
     if (null !== $ridZ) {
         $this->setProperty('ridZ', trim($ridZ));
     }
     if (null !== $needExp) {
         $this->setProperty('needExp', (bool) $needExp);
     }
     $this->setHeaders($headers);
     $this->on('before', function (Base $sender) {
         if ($sender->getHeaders()->count()) {
             $sender->setChild('header', $sender->getHeaders()->all());
         }
     });
 }
Пример #17
0
 /**
  * Constructor method for ContactSpec
  * @param  VCardInfo $vcard Either a vcard or attributes can be specified but not both.
  * @param  array $a Contact attributes. Cannot specify <vcard> as well as these
  * @param  array $m Contact group members. Valid only if the contact being created is a contact group (has attribute type="group")
  * @param  int $id ID - specified when modifying a contact
  * @param  string $l ID of folder to create contact in. Un-specified means use the default Contacts folder.
  * @param  string $t Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
  * @param  string $tn Comma-separated list of id names
  * @return self
  */
 public function __construct(VCardInfo $vcard = null, array $a = array(), array $m = array(), $id = null, $l = null, $t = null, $tn = null)
 {
     parent::__construct();
     if ($vcard instanceof VCardInfo) {
         $this->child('vcard', $vcard);
     }
     $this->_a = new TypedSequence('Zimbra\\Mail\\Struct\\NewContactAttr', $a);
     $this->_m = new TypedSequence('Zimbra\\Mail\\Struct\\NewContactGroupMember', $m);
     if (null !== $id) {
         $this->property('id', (int) $id);
     }
     if (null !== $l) {
         $this->property('l', trim($l));
     }
     if (null !== $t) {
         $this->property('t', trim($t));
     }
     if (null !== $tn) {
         $this->property('tn', trim($tn));
     }
     $this->on('before', function (Base $sender) {
         if ($sender->a()->count()) {
             $sender->child('a', $sender->a()->all());
         }
         if ($sender->m()->count()) {
             $sender->child('m', $sender->m()->all());
         }
     });
 }
Пример #18
0
 /**
  * Constructor method for FilterActions
  * @param KeepAction $actionKeep
  * @param DiscardAction $actionDiscard
  * @param FileIntoAction $actionFileInto
  * @param FlagAction $actionFlag
  * @param TagAction $actionTag
  * @param RedirectAction $actionRedirect
  * @param ReplyAction $actionReply
  * @param NotifyAction $actionNotify
  * @param StopAction $actionStop
  * @return self
  */
 public function __construct(KeepAction $actionKeep = NULL, DiscardAction $actionDiscard = NULL, FileIntoAction $actionFileInto = NULL, FlagAction $actionFlag = NULL, TagAction $actionTag = NULL, RedirectAction $actionRedirect = NULL, ReplyAction $actionReply = NULL, NotifyAction $actionNotify = NULL, StopAction $actionStop = NULL)
 {
     parent::__construct();
     if ($actionKeep instanceof KeepAction) {
         $this->child('actionKeep', $actionKeep);
     }
     if ($actionDiscard instanceof DiscardAction) {
         $this->child('actionDiscard', $actionDiscard);
     }
     if ($actionFileInto instanceof FileIntoAction) {
         $this->child('actionFileInto', $actionFileInto);
     }
     if ($actionFlag instanceof FlagAction) {
         $this->child('actionFlag', $actionFlag);
     }
     if ($actionTag instanceof TagAction) {
         $this->child('actionTag', $actionTag);
     }
     if ($actionRedirect instanceof RedirectAction) {
         $this->child('actionRedirect', $actionRedirect);
     }
     if ($actionReply instanceof ReplyAction) {
         $this->child('actionReply', $actionReply);
     }
     if ($actionNotify instanceof NotifyAction) {
         $this->child('actionNotify', $actionNotify);
     }
     if ($actionStop instanceof StopAction) {
         $this->child('actionStop', $actionStop);
     }
 }
Пример #19
0
 /**
  * Constructor method for AddMsgSpec
  * @param string $content The entire message's content. (Omit if you specify an "aid" attribute.)
  * @param string $flags Flags - (u)nread, (f)lagged, has (a)ttachment, (r)eplied, (s)ent by me, for(w)arded, (d)raft, deleted (x), (n)otification sent
  * @param string $tags Tags - Comma separated list of integers. DEPRECATED - use "tn" instead
  * @param string $tagNames Comma-separated list of tag names
  * @param string $folder Folder pathname (starts with '/') or folder ID
  * @param bool   $noICal If set, then don't process iCal attachments. Default is unset.
  * @param int $dateReceived Time the message was originally received, in MILLISECONDS since the epoch
  * @param string $attachmentId Uploaded MIME body ID - ID of message uploaded via FileUploadServlet
  * @return self
  */
 public function __construct($content = null, $flags = null, $tags = null, $tagNames = null, $folder = null, $noICal = null, $dateReceived = null, $attachmentId = null)
 {
     parent::__construct();
     if (null !== $content) {
         $this->setChild('content', trim($content));
     }
     if (null !== $flags) {
         $this->setProperty('f', trim($flags));
     }
     if (null !== $tags) {
         $this->setProperty('t', trim($tags));
     }
     if (null !== $tagNames) {
         $this->setProperty('tn', trim($tagNames));
     }
     if (null !== $folder) {
         $this->setProperty('l', trim($folder));
     }
     if (null !== $noICal) {
         $this->setProperty('noICal', (bool) $noICal);
     }
     if (null !== $dateReceived) {
         $this->setProperty('d', (int) $dateReceived);
     }
     if (null !== $attachmentId) {
         $this->setProperty('aid', trim($attachmentId));
     }
 }
Пример #20
0
 /**
  * Constructor method for MsgSpec
  * @param string $id Message ID. Can contain a subpart identifier (e.g. "775-778") to return a message stored as a subpart of some other mail-item, specifically for Messages stored as part of Appointments
  * @param array  $header Requested headers.
  * @param string $part Supply a "part" and the retrieved data will be on the specified message/rfc822 subpart.
  * @param bool   $raw Set to return the raw message content rather than a parsed mime structure;
  * @param bool   $read Set to mark the message as read, unset to leave the read status unchanged.
  * @param int    $max Use {max-inlined-length} to limit the length of the text inlined into body <content> when raw is set.
  * @param bool   $html Set to return defanged HTML content by default. (default is unset.)
  * @param bool   $neuter Set to "neuter" <IMG> maxs returned in HTML content;
  * @param string $ridZ Recurrence ID in format YYYYMMDD[ThhmmssZ].
  * @param bool   $needExp Set to return group info (isGroup and exp flags) on <e> elements in the response (default is unset.)
  * @return self
  */
 public function __construct($id, array $header = array(), $part = null, $raw = null, $read = null, $max = null, $html = null, $neuter = null, $ridZ = null, $needExp = null)
 {
     parent::__construct();
     $this->property('id', trim($id));
     $this->_header = new TypedSequence('Zimbra\\Struct\\AttributeName', $header);
     if (null !== $part) {
         $this->property('part', trim($part));
     }
     if (null !== $raw) {
         $this->property('raw', (bool) $raw);
     }
     if (null !== $read) {
         $this->property('read', (bool) $read);
     }
     if (null !== $max) {
         $this->property('max', (int) $max);
     }
     if (null !== $html) {
         $this->property('html', (bool) $html);
     }
     if (null !== $neuter) {
         $this->property('neuter', (bool) $neuter);
     }
     if (null !== $ridZ) {
         $this->property('ridZ', trim($ridZ));
     }
     if (null !== $needExp) {
         $this->property('needExp', (bool) $needExp);
     }
     $this->on('before', function (Base $sender) {
         if ($sender->header()->count()) {
             $sender->child('header', $sender->header()->all());
         }
     });
 }
Пример #21
0
 /**
  * Constructor method for AttachSpec
  * @param  bool $optional Optional
  * @return self
  */
 public function __construct($optional = null)
 {
     parent::__construct();
     if (null !== $optional) {
         $this->setProperty('optional', (bool) $optional);
     }
 }
Пример #22
0
 /**
  * Constructor method for ConstraintInfo
  * @param  string $min Minimum value
  * @param  string $max Maximum value
  * @param  ConstraintInfoValues $values Acceptable values
  * @return self
  */
 public function __construct($min = null, $max = null, ConstraintInfoValues $values = null)
 {
     parent::__construct();
     $this->setChild('min', trim($min));
     $this->setChild('max', trim($max));
     $this->setChild('values', $values);
 }
Пример #23
0
 /**
  * Constructor method for PolicyHolder
  * @param  Policy $policy
  * @return self
  */
 public function __construct(Policy $policy = null)
 {
     parent::__construct();
     if ($policy instanceof Policy) {
         $this->setChild('policy', $policy);
     }
 }
Пример #24
0
 /**
  * Constructor method for IntegerValueAttrib
  * @param  int $value
  * @return self
  */
 public function __construct($value = null)
 {
     parent::__construct();
     if (null !== $value) {
         $this->setProperty('value', (int) $value);
     }
 }
Пример #25
0
 /**
  * Constructor method for AccountACEInfo
  * @param string $value Inlined content data. Ignored if "aid" is specified
  * @param string $aid AttachmentAttachment upload ID of uploaded object to use
  * @return self
  */
 public function __construct($value = null, $aid = null)
 {
     parent::__construct(trim($value));
     if (null !== $aid) {
         $this->property('aid', trim($aid));
     }
 }
Пример #26
0
 /**
  * Constructor method for signatureContent
  * @param string $value
  * @param ContentType $type
  * @return self
  */
 public function __construct($value = null, ContentType $type = null)
 {
     parent::__construct(trim($value));
     if ($type instanceof ContentType) {
         $this->setProperty('type', $type);
     }
 }
 /**
  * Constructor method for entrySearchFilterMultiCond
  * @param bool $not
  * @param bool $or
  * @param array $conditions
  * @return self
  */
 public function __construct($not = null, $or = null, array $conditions = [])
 {
     parent::__construct();
     if (null !== $not) {
         $this->setProperty('not', (bool) $not);
     }
     if (null !== $or) {
         $this->setProperty('or', (bool) $or);
     }
     $this->setConditions($conditions);
     $this->on('before', function (Base $sender) {
         if ($sender->getConditions()->count()) {
             $conds = [];
             $cond = [];
             foreach ($sender->getConditions()->all() as $condition) {
                 if ($condition instanceof MultiCond) {
                     $conds[] = $condition;
                 }
                 if ($condition instanceof SingleCond) {
                     $cond[] = $condition;
                 }
             }
             if (!empty($conds)) {
                 $sender->setChild('conds', $conds);
             }
             if (!empty($cond)) {
                 $sender->setChild('cond', $cond);
             }
         }
     });
 }
Пример #28
0
 /**
  * Constructor method for AlarmInfo
  * @param  AlarmAction $action Alarm action
  * @param  AlarmTriggerInfo $trigger Alarm trigger information
  * @param  DurationInfo $repeat Alarm repeat information 
  * @param  string $desc Alarm description
  * @param  CalendarAttach $attach Information on attachment
  * @param  string $summary Alarm summary
  * @param  array $ats Attendee information 
  * @param  array $xprops Non-standard properties
  * @return self
  */
 public function __construct(AlarmAction $action, AlarmTriggerInfo $trigger = null, DurationInfo $repeat = null, $desc = null, CalendarAttach $attach = null, $summary = null, array $ats = array(), array $xprops = array())
 {
     parent::__construct();
     $this->property('action', $action);
     if ($trigger instanceof AlarmTriggerInfo) {
         $this->child('trigger', $trigger);
     }
     if ($repeat instanceof DurationInfo) {
         $this->child('repeat', $repeat);
     }
     if (null !== $desc) {
         $this->child('desc', trim($desc));
     }
     if ($attach instanceof CalendarAttach) {
         $this->child('attach', $attach);
     }
     if (null !== $summary) {
         $this->child('summary', trim($summary));
     }
     $this->_at = new TypedSequence('Zimbra\\Mail\\Struct\\CalendarAttendee', $ats);
     $this->_xprop = new TypedSequence('Zimbra\\Mail\\Struct\\XProp', $xprops);
     $this->on('before', function (Base $sender) {
         if ($sender->at()->count()) {
             $sender->child('at', $sender->at()->all());
         }
         if ($sender->xprop()->count()) {
             $sender->child('xprop', $sender->xprop()->all());
         }
     });
 }
Пример #29
0
 /**
  * Constructor method for LimitedQuery
  * @param  int    $limit Limit. Default value 10
  * @param  string $value Query string
  * @return self
  */
 public function __construct($limit = null, $value = null)
 {
     parent::__construct(trim($value));
     if ($limit !== null) {
         $this->setProperty('limit', (int) $limit);
     }
 }
Пример #30
0
 /**
  * Constructor method for MailQueueAction
  * @param  QueueQuery $query Query
  * @param  QueueAction $op Operation
  * @param  QueueActionBy $by By selector
  * @return self
  */
 public function __construct(QueueQuery $query, QueueAction $op, QueueActionBy $by)
 {
     parent::__construct();
     $this->setChild('query', $query);
     $this->setProperty('op', $op);
     $this->setProperty('by', $by);
 }