function getJsPathMarker(&$page, &$sims, &$rems, $view) { $sims['###JS_PATH###'] = \TYPO3\CMS\Cal\Utility\Functions::expandPath($this->conf['view.']['javascriptPath']); }
/** * * @return string */ public function loadTodos() { $type = $this->conf['type']; $pidList = $this->conf['pidList']; $hookObjectsArr = $this->getHookObjectsArray('drawLoadTodosClass'); $modelObj =& \TYPO3\CMS\Cal\Utility\Registry::Registry('basic', 'modelcontroller'); $availableTypes = $modelObj->getServiceTypes('cal_event_model', 'event'); if (!in_array($type, $availableTypes)) { $type = ''; } $result_array = $modelObj->findCurrentTodos($type, $pidList); // Hook: preLoadTodosRendering foreach ($hookObjectsArr as $hookObj) { if (method_exists($hookObj, 'preLoadTodosRendering')) { $hookObj->preLoadTodosRendering($result_array, $this); } } $ajaxStringArray = array(); $this->conf['view'] = $this->piVars['targetView']; if (!empty($result_array)) { // use array keys for the loop in order to be able to use referenced events instead of copies and save some memory $resultArrayKeys = array_keys($result_array); foreach ($resultArrayKeys as $resultArrayKey) { $masterArrayKeys = array_keys($result_array[$resultArrayKey]); foreach ($masterArrayKeys as $dateKey) { $dateArray =& $result_array[$resultArrayKey][$dateKey]; $dateArrayKeys = array_keys($dateArray); foreach ($dateArrayKeys as $timeKey) { $arrayOfEvents =& $dateArray[$timeKey]; $eventKeys = array_keys($arrayOfEvents); foreach ($eventKeys as $eventKey) { $event =& $arrayOfEvents[$eventKey]; $ajaxStringArray[] = '{' . $this->getEventAjaxString($event) . '}'; } } } } } $this->conf['view'] = 'load_todos'; $sims = array(); $rems = array(); $wrapped = array(); $sims['###IMG_PATH###'] = \TYPO3\CMS\Cal\Utility\Functions::expandPath($this->conf['view.']['imagePath']); $page = \TYPO3\CMS\Cal\Utility\Functions::substituteMarkerArrayNotCached('[' . implode(',', $ajaxStringArray) . ']', $sims, $rems, $wrapped); // Hook: postLoadTodosRendering foreach ($hookObjectsArr as $hookObj) { if (method_exists($hookObj, 'postLoadTodosRendering')) { $hookObj->postLoadTodosRendering($page, $this); } } return $page; }