Blame view

sources/3rdparty/sabre/vobject/lib/Sabre/VObject/Component/VJournal.php 1.23 KB
03e52840d   Kload   Init
1
2
3
4
5
6
7
8
9
10
  <?php
  
  namespace Sabre\VObject\Component;
  
  use Sabre\VObject;
  
  /**
   * VJournal component
   *
   * This component contains some additional functionality specific for VJOURNALs.
6d9380f96   Cédric Dupont   Update sources OC...
11
12
13
   *
   * @copyright Copyright (C) 2007-2013 fruux GmbH (https://fruux.com/).
   * @author Evert Pot (http://evertpot.com/)
03e52840d   Kload   Init
14
15
16
17
18
   * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
   */
  class VJournal extends VObject\Component {
  
      /**
6d9380f96   Cédric Dupont   Update sources OC...
19
20
       * Returns true or false depending on if the event falls in the specified
       * time-range. This is used for filtering purposes.
03e52840d   Kload   Init
21
       *
6d9380f96   Cédric Dupont   Update sources OC...
22
       * The rules used to determine if an event falls within the specified
03e52840d   Kload   Init
23
24
25
       * time-range is based on the CalDAV specification.
       *
       * @param DateTime $start
6d9380f96   Cédric Dupont   Update sources OC...
26
27
       * @param DateTime $end
       * @return bool
03e52840d   Kload   Init
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
       */
      public function isInTimeRange(\DateTime $start, \DateTime $end) {
  
          $dtstart = isset($this->DTSTART)?$this->DTSTART->getDateTime():null;
          if ($dtstart) {
              $effectiveEnd = clone $dtstart;
              if ($this->DTSTART->getDateType() == VObject\Property\DateTime::DATE) {
                  $effectiveEnd->modify('+1 day');
              }
  
              return ($start <= $effectiveEnd && $end > $dtstart);
  
          }
          return false;
  
  
      }
  
  }