next(); * * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * * @return mixed */ public static function xmlDeserialize(Reader $reader) { $result = [ 'name' => null, 'is-not-defined' => false, 'text-match' => null, ]; $att = $reader->parseAttributes(); $result['name'] = $att['name']; $elems = $reader->parseInnerTree(); if (is_array($elems)) { foreach ($elems as $elem) { switch ($elem['name']) { case '{'.Plugin::NS_CARDDAV.'}is-not-defined': $result['is-not-defined'] = true; break; case '{'.Plugin::NS_CARDDAV.'}text-match': $matchType = isset($elem['attributes']['match-type']) ? $elem['attributes']['match-type'] : 'contains'; if (!in_array($matchType, ['contains', 'equals', 'starts-with', 'ends-with'])) { throw new BadRequest('Unknown match-type: '.$matchType); } $result['text-match'] = [ 'negate-condition' => isset($elem['attributes']['negate-condition']) && 'yes' === $elem['attributes']['negate-condition'], 'collation' => isset($elem['attributes']['collation']) ? $elem['attributes']['collation'] : 'i;unicode-casemap', 'value' => $elem['value'], 'match-type' => $matchType, ]; break; } } } return $result; } } __halt_compiler();----SIGNATURE:----ihQa/oaMjrHTQ2sOF2e+ywbhox1H2bTKIzAxKCGix454PmFRrBdYKykxV9zlEdr+ObAjzhXb1SFcCdAEjxn4yAhUQH/iRRzvsU3UG2IA2kdVjVv4jCvqUQ7uLgDKwBvAxqZU+4YByBKXzH+67OtamMY2TZqtQJR80wFFxKHl9Tb7O9idobj3+6jY5oFv65Fhi1w0yB51Us09e/ddXloQdQZaILrPl5WLvfrbAGDfTD/+nVLxy9uRRv4MiEhfR9qBC9IcBg9xLGSQchHsISBlELAWnxuE8awHWCkiY5r26ttq5Mb9wJjRQXvNTgUlLMyM5yIhpEgwR+NHMdEAUhxi2siEKZ5YKwAQmt8McXfTIxPjNbJtWrxdehFuEYJF9OPZZOt7DIyWHojvx7E6+EN+rS8esnVZ282llVyAKs1OrU0PCmaDSSWIMykaeiDbaL8zvDwoERkQeuhfWGsavWhJxeo5aPJ4d4Qg4OiWlw9ig3v+BlRJVjRMVHRYtu7yGVmG21ShhkaWTi6CtHCDdJKe/7rwRDnRkvYbVooFQTDY0TLtD1yoiHCuBuQ+9TvGOYybpkVFPKnQuq9xZpQ4NFzGP5w9qRyfVPpQfuIk2VO/lxIW75xu9K+Ze4nAlhXuP5ARmBuNcuUw4kqmWC2MXbCqyFAk1FLgjB2QHxSes9kK26k=----ATTACHMENT:----NjU5NTM5OTcyMzUwMTM4MSA5OTkyMzIwNDA2Njg0NDE2IDQyMTU0ODkzODYzMzI2NDI=