コード例 #1
0
ファイル: Hooks.php プロジェクト: c2po/autoloader
 /**
  * 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;
 }
コード例 #2
0
ファイル: ContentController.php プロジェクト: c2po/autoloader
 /**
  * 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);
 }
コード例 #3
0
ファイル: Xclass.php プロジェクト: phogl/autoloader
 /**
  * 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;
 }
コード例 #4
0
ファイル: Mapper.php プロジェクト: c2po/autoloader
 /**
  * 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;
 }
コード例 #5
0
 /**
  * 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();
 }
コード例 #6
0
 /**
  * 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);
 }
コード例 #7
0
ファイル: ModelUtility.php プロジェクト: c2po/autoloader
 /**
  * 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();
 }
コード例 #8
0
ファイル: RegisterAspect.php プロジェクト: phogl/autoloader
 /**
  * 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);
 }
コード例 #9
0
ファイル: ModelUtility.php プロジェクト: sirdiego/autoloader
 /**
  * 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();
 }