| @@ 28-47 (lines=20) @@ | ||
| 25 | use Sabre\Xml\XmlDeserializable; |
|
| 26 | use OCA\DAV\CalDAV\Search\SearchPlugin; |
|
| 27 | ||
| 28 | class CompFilter implements XmlDeserializable { |
|
| 29 | ||
| 30 | /** |
|
| 31 | * @param Reader $reader |
|
| 32 | * @throws BadRequest |
|
| 33 | * @return string |
|
| 34 | */ |
|
| 35 | static function xmlDeserialize(Reader $reader) { |
|
| 36 | $att = $reader->parseAttributes(); |
|
| 37 | $componentName = $att['name']; |
|
| 38 | ||
| 39 | $reader->parseInnerTree(); |
|
| 40 | ||
| 41 | if (!is_string($componentName)) { |
|
| 42 | throw new BadRequest('The {' . SearchPlugin::NS_Nextcloud . '}comp-filter requires a valid name attribute'); |
|
| 43 | } |
|
| 44 | ||
| 45 | return $componentName; |
|
| 46 | } |
|
| 47 | } |
|
| 48 | ||
| @@ 28-47 (lines=20) @@ | ||
| 25 | use Sabre\Xml\XmlDeserializable; |
|
| 26 | use OCA\DAV\CalDAV\Search\SearchPlugin; |
|
| 27 | ||
| 28 | class PropFilter implements XmlDeserializable { |
|
| 29 | ||
| 30 | /** |
|
| 31 | * @param Reader $reader |
|
| 32 | * @throws BadRequest |
|
| 33 | * @return string |
|
| 34 | */ |
|
| 35 | static function xmlDeserialize(Reader $reader) { |
|
| 36 | $att = $reader->parseAttributes(); |
|
| 37 | $componentName = $att['name']; |
|
| 38 | ||
| 39 | $reader->parseInnerTree(); |
|
| 40 | ||
| 41 | if (!is_string($componentName)) { |
|
| 42 | throw new BadRequest('The {' . SearchPlugin::NS_Nextcloud . '}prop-filter requires a valid name attribute'); |
|
| 43 | } |
|
| 44 | ||
| 45 | return $componentName; |
|
| 46 | } |
|
| 47 | } |
|
| 48 | ||