/**
  * Check if the index or one of the given indices is on the given day
  *
  * @param \DateTime $day
  * @param Index     $index
  * @param array     $indices
  *
  * @return bool
  */
 public function render(\DateTime $day, Index $index = null, $indices = [])
 {
     foreach ($indices as $idx) {
         /** @var $idx Index */
         if ($idx->getStartDate()->format('d.m.Y') === $day->format('d.m.Y')) {
             return true;
         }
     }
     if ($index instanceof Index) {
         return $index->getStartDate()->format('d.m.Y') === $day->format('d.m.Y');
     }
     return false;
 }
 /**
  * Check if the index or one of the given indices is on the given day
  *
  * @param \DateTime $day
  * @param Index     $index
  * @param array     $indices
  *
  * @return bool
  */
 public function render(\DateTime $day, Index $index = NULL, $indices = array())
 {
     foreach ($indices as $idx) {
         /** @var $idx Index */
         if ($idx->getStartDate()->format('d.m.Y') === $day->format('d.m.Y')) {
             return TRUE;
         }
     }
     if ($index instanceof Index) {
         return $index->getStartDate()->format('d.m.Y') === $day->format('d.m.Y');
     }
     return FALSE;
 }
示例#3
0
 /**
  * Check if the Index is part of the range
  *
  * @param Index     $index
  * @param \DateTime $rangeStart
  * @param \DateTime $rangeEnd
  *
  * @see IndexRepository::addTimeFrameConstraints
  *
  * @return bool
  */
 public static function isIndexInRange($index, \DateTime $rangeStart, \DateTime $rangeEnd)
 {
     $indexStart = $index->getStartDateComplete();
     $indexEnd = $index->getEndDateComplete();
     // start in
     if ($indexStart >= $rangeStart && $indexStart <= $rangeEnd) {
         return true;
     }
     // end in
     if ($indexEnd >= $rangeStart && $indexEnd <= $rangeEnd) {
         return true;
     }
     // around range
     if ($indexStart <= $rangeStart && $indexEnd >= $rangeEnd) {
         return true;
     }
     return false;
 }
示例#4
0
 /**
  * Find by traversing information
  *
  * @param Index      $index
  * @param bool|true  $future
  * @param bool|false $past
  * @param int        $limit
  * @param string     $sort
  *
  * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
  */
 public function findByTraversing(Index $index, $future = true, $past = false, $limit = 100, $sort = QueryInterface::ORDER_ASCENDING)
 {
     if (!$future && !$past) {
         return [];
     }
     $query = $this->createQuery();
     $now = DateTimeUtility::getNow()->getTimestamp();
     $constraints = [];
     $constraints[] = $query->logicalNot($query->equals('uid', $index->getUid()));
     $constraints[] = $query->equals('foreignTable', $index->getForeignTable());
     $constraints[] = $query->equals('foreignUid', $index->getForeignUid());
     if (!$future) {
         $constraints[] = $query->lessThanOrEqual('startDate', $now);
     }
     if (!$past) {
         $constraints[] = $query->greaterThanOrEqual('startDate', $now);
     }
     $query->setLimit($limit);
     $sort = $sort === QueryInterface::ORDER_ASCENDING ? QueryInterface::ORDER_ASCENDING : QueryInterface::ORDER_DESCENDING;
     $query->setOrderings($this->getSorting($sort));
     return $this->matchAndExecute($query, $constraints);
 }
示例#5
0
 /**
  * Render the link to the given index
  *
  * @param Index $index
  * @param int   $pageUid
  *
  * @return string
  */
 public function render(Index $index, $pageUid = NULL)
 {
     $additionalParams = array('tx_calendarize_calendar' => array('index' => $index->getUid()));
     return parent::render($this->getPageUid($pageUid, 'detailPid'), $additionalParams);
 }
示例#6
0
 /**
  * @param string $base
  * @param Index  $index
  *
  * @return string
  */
 protected function generateRealUrl($base, Index $index)
 {
     $datePart = $index->isAllDay() ? 'Y-m-d' : 'Y-m-d-h-i';
     /** @var \tx_realurl_advanced $realUrl */
     $realUrl = GeneralUtility::makeInstance('tx_realurl_advanced');
     $configuration = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT']['pagePath'];
     if (is_array($configuration)) {
         ObjectAccess::setProperty($realUrl, 'conf', $configuration, true);
     }
     return $realUrl->encodeTitle($base . '-' . $index->getStartDateComplete()->format($datePart));
 }
 /**
  * Render the link to the given index
  *
  * @param Index $index
  * @param int   $pageUid
  *
  * @return string
  */
 public function render(Index $index, $pageUid = null)
 {
     $additionalParams = ['tx_calendarize_calendar' => ['index' => $index->getUid()]];
     return parent::render($this->getPageUid($pageUid, 'detailPid'), $additionalParams);
 }