ICalendarObjectContainer.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Sabre\CalDAV;
  3. /**
  4. * This interface represents a node that may contain calendar objects.
  5. *
  6. * This is the shared parent for both the Inbox collection and calendars
  7. * resources.
  8. *
  9. * In most cases you will likely want to look at ICalendar instead of this
  10. * interface.
  11. *
  12. * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
  13. * @author Evert Pot (http://evertpot.com/)
  14. * @license http://sabre.io/license/ Modified BSD License
  15. */
  16. interface ICalendarObjectContainer extends \Sabre\DAV\ICollection {
  17. /**
  18. * Performs a calendar-query on the contents of this calendar.
  19. *
  20. * The calendar-query is defined in RFC4791 : CalDAV. Using the
  21. * calendar-query it is possible for a client to request a specific set of
  22. * object, based on contents of iCalendar properties, date-ranges and
  23. * iCalendar component types (VTODO, VEVENT).
  24. *
  25. * This method should just return a list of (relative) urls that match this
  26. * query.
  27. *
  28. * The list of filters are specified as an array. The exact array is
  29. * documented by \Sabre\CalDAV\CalendarQueryParser.
  30. *
  31. * @param array $filters
  32. * @return array
  33. */
  34. function calendarQuery(array $filters);
  35. }