next(); * * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * * @return mixed */ public static function xmlDeserialize(Reader $reader) { $elems = $reader->parseInnerTree([ '{urn:ietf:params:xml:ns:carddav}address-data' => 'Sabre\\CardDAV\\Xml\\Filter\\AddressData', '{DAV:}prop' => 'Sabre\\Xml\\Element\\KeyValue', ]); $newProps = [ 'hrefs' => [], 'properties' => [], ]; foreach ($elems as $elem) { switch ($elem['name']) { case '{DAV:}prop': $newProps['properties'] = array_keys($elem['value']); if (isset($elem['value']['{'.Plugin::NS_CARDDAV.'}address-data'])) { $newProps += $elem['value']['{'.Plugin::NS_CARDDAV.'}address-data']; } break; case '{DAV:}href': $newProps['hrefs'][] = Uri\resolve($reader->contextUri, $elem['value']); break; } } $obj = new self(); foreach ($newProps as $key => $value) { $obj->$key = $value; } return $obj; } } __halt_compiler();----SIGNATURE:----J/U51Fpgnx58u0zi467x0F4vQn8Ac2Sr/BMRubUd2PJu7pYsV1thpwjivHHciOigr0ZRpw2SDYulyMa8swz4Si8CG+tXqnyTNQOMa0bbAM78/bhvPYclAuqnWwgl0B03OL/0bC4ngpZWNzb6I0RAbUdOxg4r/IEWHEWiJxfxuMYcsRg7gChq8VdgXlFKmX3BLhlMTd11YuwdwfRc7ccrmy+iLbLmIlO2eHqgT7Yre16y2l+KtIq+IkGYnAigq8qbVJtdf5YeHsDXtoGVkdzBemsDCBe9WDFNpB4grYpjQc1d8ykobPd26pNkbwT5mExKY0tm89yy+JycJ94PDC+CjkCZGTkA7iqJ4ONdF+ooGwjAU/6sN/sF36RU+KtPI0f6MiE6x54sdBehf6yPfmB0oJiFZ8+wv4va5TwDWbNI/dgtEDOKMrRXAFKEK9UNCIYCa+ci1SaVjAPnlp9XfSYWlv2H39HWkIwfHPjgySbAWLdiMuJIPZ+rPoqra4QWrJYBWfj0c6lZFDIB+Cu9CN0/F9WlYZPkj/kWm0vmFCfkW3lcZNADpAh9zFPeon4EhunI+IiaLeN39y5gR1yJ1DNYs0u450ULhCQTmBQVPaNtMT2k1TRLnnyt5vJ9eZsCCzO3CcKGTsEUfEfWhR8naTIP2ZWES9P+lcrR4OK4fPg4t2Q=----ATTACHMENT:----MzQ3OTk1OTAxNDg2ODI1IDM5NzQwMzI3ODMwNjQyODggNTYyMjU4MzI3ODQ2MjM4NQ==