IShareableCalendar.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace Sabre\CalDAV;
  3. /**
  4. * This interface represents a Calendar that can be shared with other users.
  5. *
  6. * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
  7. * @author Evert Pot (http://evertpot.com/)
  8. * @license http://sabre.io/license/ Modified BSD License
  9. */
  10. interface IShareableCalendar extends ICalendar {
  11. /**
  12. * Updates the list of shares.
  13. *
  14. * The first array is a list of people that are to be added to the
  15. * calendar.
  16. *
  17. * Every element in the add array has the following properties:
  18. * * href - A url. Usually a mailto: address
  19. * * commonName - Usually a first and last name, or false
  20. * * summary - A description of the share, can also be false
  21. * * readOnly - A boolean value
  22. *
  23. * Every element in the remove array is just the address string.
  24. *
  25. * @param array $add
  26. * @param array $remove
  27. * @return void
  28. */
  29. function updateShares(array $add, array $remove);
  30. /**
  31. * Returns the list of people whom this calendar is shared with.
  32. *
  33. * Every element in this array should have the following properties:
  34. * * href - Often a mailto: address
  35. * * commonName - Optional, for example a first + last name
  36. * * status - See the Sabre\CalDAV\SharingPlugin::STATUS_ constants.
  37. * * readOnly - boolean
  38. * * summary - Optional, a description for the share
  39. *
  40. * @return array
  41. */
  42. function getShares();
  43. }