/** * Run the loading process for the ext_localconf.php file * * @param \HDNET\Autoloader\Loader $loader * @param array $loaderInformation * * @internal param \HDNET\Autoloader\Loader $autoLoader * @return NULL */ public function loadExtensionConfiguration(Loader $loader, array $loaderInformation) { foreach ($loaderInformation as $hook) { ExtendedUtility::addHooks($hook['locations'], $hook['configuration']); } return null; }
/** * Create a StandaloneView for the ContentObject. * * @return \TYPO3\CMS\Fluid\View\StandaloneView */ protected function createStandaloneView() { $extensionKey = $this->settings['extensionKey']; $name = $this->settings['contentElement']; $templatePath = 'EXT:' . $extensionKey . '/Resources/Private/Templates/Content/' . $name . '.html'; return ExtendedUtility::createExtensionStandaloneView($extensionKey, $templatePath); }
/** * Run the loading process for the ext_localconf.php file * * @param Loader $loader * @param array $loaderInformation * * @return NULL */ public function loadExtensionConfiguration(Loader $loader, array $loaderInformation) { foreach ($loaderInformation as $xclass) { ExtendedUtility::addXclass($xclass['source'], $xclass['target']); } return null; }
/** * Get all mappers * * @return array */ protected function getMappers() { $mapper = ['Boolean', 'Float', 'DateTime', 'FileReference', 'FileReferenceObjectStorage', 'ObjectStorage', 'Int', 'String', 'Model']; foreach ($mapper as $key => $value) { $mapper[$key] = ExtendedUtility::create('HDNET\\Autoloader\\Mapper\\' . $value . 'Mapper'); } return $mapper; }
/** * Render the Backend Preview Template and return the HTML. * * @param array $row * * @return string */ public function getBackendPreview($row) { if (!$this->hasBackendPreview($row)) { return ''; } $ctype = $row['CType']; /** @var array $config */ $config = $GLOBALS['TYPO3_CONF_VARS']['AUTOLOADER']['ContentObject'][$ctype]; $model = ModelUtility::getModel($config['modelClass'], $row, true); $view = ExtendedUtility::createExtensionStandaloneView($config['extensionKey'], $config['backendTemplatePath']); $view->assignMultiple(['data' => $row, 'object' => $model]); return $view->render(); }
/** * Get the right mapping * * @param $var * * @throws \HDNET\Autoloader\Exception * @return string */ protected function getDatabaseMappingByVarType($var) { /** @var Mapper $mapper */ $mapper = ExtendedUtility::create('HDNET\\Autoloader\\Mapper'); return $mapper->getDatabaseDefinition($var); }
/** * Get the target model. * * @param string $modelName * @param array $data * @param bool $ignoreEnableFields * * @return \TYPO3\CMS\Extbase\DomainObject\AbstractEntity */ public static function getModel($modelName, $data, $ignoreEnableFields = false) { $query = ExtendedUtility::getQuery($modelName); $query->getQuerySettings()->setIgnoreEnableFields($ignoreEnableFields); $query->getQuerySettings()->setRespectStoragePage(false); $query->getQuerySettings()->setRespectSysLanguage(false); $query->matching($query->equals('uid', $data['uid'])); if ($ignoreEnableFields) { // Backend selection if (isset($data['l18n_parent']) && $data['l18n_parent'] > 0 && $data['sys_language_uid']) { $query->getQuerySettings()->setLanguageOverlayMode(false); $query->getQuerySettings()->setLanguageMode(false); $query->getQuerySettings()->setRespectSysLanguage(true); $query->getQuerySettings()->setLanguageUid($data['sys_language_uid']); } $rows = $query->execute(true); $objectManager = new ObjectManager(); /** @var ExcludeIdentityMapDataMapper $dataMapper */ $dataMapper = $objectManager->get('HDNET\\Autoloader\\Persistence\\ExcludeIdentityMapDataMapper'); $objects = $dataMapper->map($modelName, $rows); return current($objects); } return $query->execute()->getFirst(); }
/** * Register the Xclass in the TYPO3_CONF_VARS. * * @param string $xClassName */ protected function registerXclass($xClassName) { // Register the Xclass in TYPO3 $shortName = $this->getXclassShortname($xClassName); $loaderClassName = 'HDNET\\Autoloader\\Xclass\\' . $shortName; ExtendedUtility::addXclass($xClassName, $loaderClassName); }
/** * Get the target model. * * @param string $modelName * @param array $data * @param bool $backendSelection * * @return \TYPO3\CMS\Extbase\DomainObject\AbstractEntity */ public static function getModel($modelName, $data, $backendSelection = false) { $query = ExtendedUtility::getQuery($modelName); $query->getQuerySettings()->setIgnoreEnableFields($backendSelection); $query->getQuerySettings()->setRespectStoragePage(false); $query->getQuerySettings()->setRespectSysLanguage(false); $query->matching($query->equals('uid', $data['uid'])); if ($backendSelection) { $_GET['L'] = (int) $data['sys_language_uid']; GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Session')->destroy(); if (isset($data['l18n_parent']) && $data['l18n_parent'] > 0 && $data['sys_language_uid']) { $query->getQuerySettings()->setLanguageOverlayMode(false); $query->getQuerySettings()->setLanguageMode(false); $query->getQuerySettings()->setRespectSysLanguage(true); $query->getQuerySettings()->setLanguageUid($data['sys_language_uid']); } $rows = $query->execute(true); $objectManager = new ObjectManager(); /** @var ExcludeIdentityMapDataMapper $dataMapper */ $dataMapper = $objectManager->get('HDNET\\Autoloader\\Persistence\\ExcludeIdentityMapDataMapper'); $objects = $dataMapper->map($modelName, $rows); $selection = current($objects); $_GET['L'] = 0; return $selection; } return $query->execute()->getFirst(); }