Blame view

sources/3rdparty/sabre/dav/lib/Sabre/CalDAV/ShareableCalendar.php 2.03 KB
03e52840d   Kload   Init
1
  <?php
6d9380f96   Cédric Dupont   Update sources OC...
2
  namespace Sabre\CalDAV;
03e52840d   Kload   Init
3
4
5
6
  /**
   * This object represents a CalDAV calendar that can be shared with other
   * users.
   *
6d9380f96   Cédric Dupont   Update sources OC...
7
8
9
   * @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
10
   */
6d9380f96   Cédric Dupont   Update sources OC...
11
  class ShareableCalendar extends Calendar implements IShareableCalendar {
03e52840d   Kload   Init
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
  
      /**
       * Updates the list of shares.
       *
       * The first array is a list of people that are to be added to the
       * calendar.
       *
       * Every element in the add array has the following properties:
       *   * href - A url. Usually a mailto: address
       *   * commonName - Usually a first and last name, or false
       *   * summary - A description of the share, can also be false
       *   * readOnly - A boolean value
       *
       * Every element in the remove array is just the address string.
       *
       * @param array $add
       * @param array $remove
       * @return void
       */
      public function updateShares(array $add, array $remove) {
  
          $this->caldavBackend->updateShares($this->calendarInfo['id'], $add, $remove);
  
      }
  
      /**
       * Returns the list of people whom this calendar is shared with.
       *
       * Every element in this array should have the following properties:
       *   * href - Often a mailto: address
       *   * commonName - Optional, for example a first + last name
6d9380f96   Cédric Dupont   Update sources OC...
43
       *   * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
03e52840d   Kload   Init
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
       *   * readOnly - boolean
       *   * summary - Optional, a description for the share
       *
       * @return array
       */
      public function getShares() {
  
          return $this->caldavBackend->getShares($this->calendarInfo['id']);
  
      }
  
      /**
       * Marks this calendar as published.
       *
       * Publishing a calendar should automatically create a read-only, public,
       * subscribable calendar.
       *
       * @param bool $value
       * @return void
       */
      public function setPublishStatus($value) {
  
          $this->caldavBackend->setPublishStatus($this->calendarInfo['id'], $value);
  
      }
  
  }