Ejemplo n.º 1
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);
 }
Ejemplo n.º 2
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);
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }