function _parseString($value) { $value = strtolower($value); switch ($value) { case 'last': array_push($this->stack, array('range' => 'last')); break; case 'next': array_push($this->stack, array('range' => 'next')); break; case 'now': array_push($this->stack, array('abs' => $this->timeObj->getTime())); break; case 'today': array_push($this->stack, array('today' => $this->timeObj->getTime())); break; case 'current': array_push($this->stack, array('today' => $this->timeObj->getTime())); break; case 'tomorrow': array_push($this->stack, array('tomorrow' => $this->timeObj->getTime())); break; case 'yesterday': array_push($this->stack, array('yesterday' => $this->timeObj->getTime())); break; case 'yearstart': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateStartYearTime($this->timeObj))); break; case 'monthstart': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateStartMonthTime($this->timeObj))); break; case 'weekstart': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateStartWeekTime($this->timeObj))); break; case 'weekend': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateEndWeekTime($this->timeObj))); break; case 'monthend': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateEndMonthTime($this->timeObj))); break; case 'yearend': array_push($this->stack, array('date' => \TYPO3\CMS\Cal\Controller\Calendar::calculateEndYearTime($this->timeObj))); break; case 'quarterstart': $timeObj = $this->timeObj; $startMonth = '01'; switch ($timeObj->getQuarterOfYear()) { case 2: $startMonth = '04'; break; case 3: $startMonth = '07'; break; case 4: $startMonth = '10'; break; } $timeObj->setDay(1); $timeObj->setMonth($startMonth); $timeObj->setHour(0); $timeObj->setMinute(0); $timeObj->setSecond(0); array_push($this->stack, array('date' => $timeObj)); break; case 'quarterend': $timeObj = $this->timeObj; $endDay = '31'; $endMonth = '03'; switch ($timeObj->getQuarterOfYear()) { case 2: $endDay = '30'; $endMonth = '06'; break; case 3: $endDay = '30'; $endMonth = '09'; break; case 4: $endDay = '31'; $endMonth = '12'; break; } $timeObj->setDay($endDay); $timeObj->setMonth($endMonth); $timeObj->setHour(23); $timeObj->setMinute(59); $timeObj->setSecond(59); array_push($this->stack, array('date' => $timeObj)); break; case 'day': case 'days': array_push($this->stack, array('value' => 86400)); break; case 'week': case 'weeks': array_push($this->stack, array('value' => 604800)); break; case 'h': case 'hour': case 'hours': $value = array_pop(array_pop($this->stack)); array_push($this->stack, array('range' => $value)); array_push($this->stack, array('value' => 'hour')); break; case 'm': case 'minute': case 'minutes': $value = array_pop(array_pop($this->stack)); array_push($this->stack, array('range' => $value)); array_push($this->stack, array('value' => 'minute')); break; case 'month': case 'months': array_push($this->stack, array('value' => 'month')); break; case 'year': case 'years': array_push($this->stack, array('value' => 'year')); break; case 'mon': case 'monday': array_push($this->stack, array('weekday' => 1)); break; case 'tue': case 'tuesday': array_push($this->stack, array('weekday' => 2)); break; case 'wed': case 'wednesday': array_push($this->stack, array('weekday' => 3)); break; case 'thu': case 'thursday': array_push($this->stack, array('weekday' => 4)); break; case 'fri': case 'friday': array_push($this->stack, array('weekday' => 5)); break; case 'sat': case 'saturday': array_push($this->stack, array('weekday' => 6)); break; case 'sun': case 'sunday': array_push($this->stack, array('weekday' => 0)); break; case 'jan': case 'january': array_push($this->stack, array('month' => 1)); break; case 'feb': case 'february': array_push($this->stack, array('month' => 2)); break; case 'mar': case 'march': array_push($this->stack, array('month' => 3)); break; case 'apr': case 'april': array_push($this->stack, array('month' => 4)); break; case 'may': array_push($this->stack, array('month' => 5)); break; case 'jun': case 'june': array_push($this->stack, array('month' => 6)); break; case 'jul': case 'july': array_push($this->stack, array('month' => 7)); break; case 'aug': case 'august': array_push($this->stack, array('month' => 8)); break; case 'sep': case 'september': array_push($this->stack, array('month' => 9)); break; case 'oct': case 'october': array_push($this->stack, array('month' => 10)); break; case 'nov': case 'november': array_push($this->stack, array('month' => 11)); break; case 'dec': case 'december': array_push($this->stack, array('month' => 12)); break; default: break; } }
function findTodosForYear(&$dateObject, $type = '', $pidList = '', $eventType = '4') { $starttime = \TYPO3\CMS\Cal\Controller\Calendar::calculateStartYearTime($dateObject); $endtime = \TYPO3\CMS\Cal\Controller\Calendar::calculateEndYearTime($dateObject); return $this->findAllWithin('cal_event_model', $starttime, $endtime, $type, $this->todoSubtype, $pidList, $eventType); }
function getYearMenuMarker(&$page, &$sims, &$rems, $view) { // gmdate is ok. $conf = $this->conf['view.']['other.']['yearMenu.']; $year = gmdate('Y'); if ($conf['yearStart.']['thisYear']) { $year_time = \TYPO3\CMS\Cal\Controller\Calendar::calculateStartYearTime(); } else { $year_time = \TYPO3\CMS\Cal\Controller\Calendar::calculateStartYearTime(); $this->initLocalCObject(); $year_time->setYear($this->local_cObj->cObjGetSingle($conf['yearStart'], $conf['yearStart.'])); $year = $conf['yearStart']; } for ($i = 0; $i < $conf['count']; $i++) { $yeardate = $year_time->format('%Y%m%d'); $select_year = $year_time->format($conf['format']); $this->initLocalCObject(); $this->local_cObj->setCurrentVal($select_year); if ($this->rightsObj->isViewEnabled('year') || $this->conf['view.']['year.']['yearViewPid']) { $this->controller->getParametersForTyposcriptLink($this->local_cObj->data, array('getdate' => $yeardate, 'view' => 'year', $this->pointerName => NULL), $this->conf['cache'], $this->conf['clear_anyway'], $this->conf['view.']['year.']['yearViewPid']); } $link = $this->local_cObj->cObjGetSingle($this->conf['view.']['year.']['yearViewLink'], $this->conf['view.']['year.']['yearViewLink.']); $return .= $this->cObj->stdWrap($link, $conf['year_stdWrap.']); $year_time->setYear($year_time->getYear() + 1); } $sims['###YEAR_MENU###'] = $return; }
/** * * @param string $dateObject * @return \TYPO3\CMS\Cal\Model\CalDate */ public static function calculateEndYearTime($dateObject = '') { $timeObj = Calendar::calculateStartYearTime($dateObject); $timeObj->setYear($timeObj->getYear() + 1); $timeObj->subtractSeconds(1); return $timeObj; }