Exemplo n.º 1
0
    /**
     * This method updates a resource's properties
     *
     * The properties array must be a list of properties. Array-keys are
     * property names in clarknotation, array-values are it's values.
     * If a property must be deleted, the value should be null.
     *
     * Note that this request should either completely succeed, or
     * completely fail.
     *
     * The response is an array with properties for keys, and http status codes
     * as their values.
     *
     * @param string $path
     * @param array $properties
     * @return array
     */
    function updateProperties($path, array $properties) {

        $propPatch = new PropPatch($properties);
        $this->emit('propPatch', [$path, $propPatch]);
        $propPatch->commit();

        return $propPatch->getResult();

    }
Exemplo n.º 2
0
 /**
  * This method is called during property updates.
  *
  * @param string $path
  * @param PropPatch $propPatch
  * @return void
  */
 function propPatch($path, PropPatch $propPatch)
 {
     // Mapping the old property to the new property.
     $propPatch->handle('{http://calendarserver.org/ns/}calendar-availability', function ($value) use($path) {
         $availProp = '{' . self::NS_CALDAV . '}calendar-availability';
         $subPropPatch = new PropPatch([$availProp => $value]);
         $this->server->emit('propPatch', [$path, $subPropPatch]);
         $subPropPatch->commit();
         return $subPropPatch->getResult()[$availProp];
     });
 }