Example #1
0
 /**
  * 
  * @param string $takeFirstInsteadOfLast
  * @return Ambigous <multitype:NULL string Ambigous <NULL, string> , \TYPO3\CMS\Cal\Controller\multitype:>
  */
 public function shortenLastViewAndGetTargetViewParameters($takeFirstInsteadOfLast = false)
 {
     $returnParams = array();
     if (count($this->conf['view.']['allowedViews']) == 1 && count($this->conf['view.']['allowedViewsToLinkTo']) == 1) {
         $returnParams['lastview'] = null;
         $returnParams['view'] = $this->conf['view.']['allowedViews'][0];
     } else {
         $views = explode('||', $this->conf['lastview']);
         if ($takeFirstInsteadOfLast) {
             $target = array_shift($views);
             $views = array();
         } else {
             $target = array_pop($views);
         }
         $lastview = implode('||', $views);
         $viewParams = Controller::convertLastViewParamsToArray($target);
         $returnParams = $viewParams[0];
         switch (trim($returnParams['view'])) {
             case 'event':
             case 'organizer':
             case 'location':
             case 'edit_calendar':
             case 'edit_category':
             case 'edit_location':
             case 'edit_organizer':
             case 'edit_event':
                 break;
             case 'rss':
                 $returnParams['uid'] = null;
                 $returnParams['type'] = null;
                 $returnParams['gettime'] = null;
                 $returnParams['getdate'] = $this->conf['getdate'];
                 $returnParams['page_id'] = $returnParams['page_id'] . ',151';
                 break;
             default:
                 $returnParams['uid'] = null;
                 $returnParams['type'] = null;
                 $returnParams['gettime'] = null;
                 $returnParams['getdate'] = empty($returnParams['getdate']) ? $this->conf['getdate'] : $returnParams['getdate'];
                 break;
         }
         switch ($this->conf['view']) {
             case 'search_event':
                 $returnParams['start_day'] = null;
                 $returnParams['end_day'] = null;
                 $returnParams['category'] = null;
                 $returnParams['query'] = null;
                 break;
             case 'event':
                 $returnParams['ts_table'] = null;
                 break;
         }
         $returnParams['lastview'] = $lastview;
     }
     return $returnParams;
 }