Blame view

sources/3rdparty/Sabre/DAV/IProperties.php 2.23 KB
03e52840d   Kload   Init
1
2
3
4
5
6
7
8
9
10
11
12
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
69
70
  <?php
  
  /**
   * IProperties interface
   *
   * Implement this interface to support custom WebDAV properties requested and sent from clients.
   *
   * @package Sabre
   * @subpackage DAV
   * @copyright Copyright (C) 2007-2013 Rooftop Solutions. All rights reserved.
   * @author Evert Pot (http://www.rooftopsolutions.nl/)
   * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
   */
  interface Sabre_DAV_IProperties extends Sabre_DAV_INode {
  
      /**
       * 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);
  
  }