Blame view

sources/3rdparty/sabre/dav/lib/Sabre/DAV/IProperties.php 2.16 KB
03e52840d   Kload   Init
1
  <?php
6d9380f96   Cédric Dupont   Update sources OC...
2
  namespace Sabre\DAV;
03e52840d   Kload   Init
3
4
5
6
7
  /**
   * IProperties interface
   *
   * Implement this interface to support custom WebDAV properties requested and sent from clients.
   *
6d9380f96   Cédric Dupont   Update sources OC...
8
9
10
   * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
   * @author Evert Pot (http://evertpot.com/)
   * @license http://sabre.io/license/ Modified BSD License
03e52840d   Kload   Init
11
   */
6d9380f96   Cédric Dupont   Update sources OC...
12
  interface IProperties extends INode {
03e52840d   Kload   Init
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  
      /**
       * Updates properties on this node,
       *
       * The properties array uses the propertyName in clark-notation as key,
       * and the array value for the property value. In the case a property
       * should be deleted, the property value will be null.
       *
       * This method must be atomic. If one property cannot be changed, the
       * entire operation must fail.
       *
       * If the operation was successful, true can be returned.
       * If the operation failed, false can be returned.
       *
       * Deletion of a non-existent property is always successful.
       *
       * Lastly, it is optional to return detailed information about any
       * failures. In this case an array should be returned with the following
       * structure:
       *
       * array(
       *   403 => array(
       *      '{DAV:}displayname' => null,
       *   ),
       *   424 => array(
       *      '{DAV:}owner' => null,
       *   )
       * )
       *
       * In this example it was forbidden to update {DAV:}displayname.
       * (403 Forbidden), which in turn also caused {DAV:}owner to fail
       * (424 Failed Dependency) because the request needs to be atomic.
       *
       * @param array $mutations
       * @return bool|array
       */
      function updateProperties($mutations);
  
      /**
       * Returns a list of properties for this nodes.
       *
       * The properties list is a list of propertynames the client requested,
       * encoded in clark-notation {xmlnamespace}tagname
       *
       * If the array is empty, it means 'all properties' were requested.
       *
       * Note that it's fine to liberally give properties back, instead of
       * conforming to the list of requested properties.
       * The Server class will filter out the extra.
       *
       * @param array $properties
       * @return void
       */
      function getProperties($properties);
  
  }