private function ConvertPropertiesToArray(array $props) { $request = $this->request; $response = $this->response; $arr = array(); foreach ($props as $prop) { switch ($prop['xmlns']) { case 'DAV:': $xmlns = 'DAV'; break; case self::CALDAV: $xmlns = 'CalDAV'; break; case self::CARDDAV: $xmlns = 'CardDAV'; break; case self::GROUPDAV: $xmlns = 'GroupDAV'; break; default: $xmlns = $prop['xmlns']; } $xmlnsDefs = ''; $xmlnsHash = array($prop['xmlns'] => $xmlns, 'DAV:' => 'D'); $arr[$xmlns . ':' . $prop['tagname']] = is_array($prop['content']) ? CDavResource::EncodeHierarchicalProp($prop['content'], $prop['xmlns'], $xmlnsDefs, $xmlnsHash, $response, $request) : $prop['content']; } return $arr; }