Esempio n. 1
0
 /**
  * Get the TCA information of the given data sets
  *
  * @param $implementations
  * @param $table
  *
  * @return array
  */
 public function getTcaInformation(array $implementations, $table)
 {
     $dataSetObjects = $this->getDataSetObjects($implementations);
     $return = [];
     foreach ($dataSetObjects as $object) {
         /** @var $object DataSetInterface */
         $return = ArrayUtility::mergeRecursiveDistinct($return, $object->getTca($table));
     }
     return $return;
 }
<?php

/**
 * TCA Structure for ConfigurationGroups
 */
$base = \HDNET\Autoloader\Utility\ModelUtility::getTcaInformation('HDNET\\Calendarize\\Domain\\Model\\ConfigurationGroup');
$custom = array('ctrl' => array('searchFields' => 'uid,title'), 'columns' => array('configurations' => array('config' => array('type' => 'inline', 'foreign_table' => 'tx_calendarize_domain_model_configuration', 'minitems' => 1))));
return \HDNET\Autoloader\Utility\ArrayUtility::mergeRecursiveDistinct($base, $custom);
 /**
  * Pre build TCA information for the given model
  *
  * @param string $modelClassName
  *
  * @return array
  */
 public function getTcaInformation($modelClassName)
 {
     $modelInformation = ClassNamingUtility::explodeObjectModelName($modelClassName);
     $extensionName = GeneralUtility::camelCaseToLowerCaseUnderscored($modelInformation['extensionName']);
     $reflectionTableName = ModelUtility::getTableNameByModelReflectionAnnotation($modelClassName);
     $tableName = ModelUtility::getTableNameByModelName($modelClassName);
     $searchFields = [];
     $customFields = $this->getCustomModelFieldTca($modelClassName, $searchFields);
     if ($reflectionTableName !== '') {
         $customConfiguration = ['columns' => $customFields];
         $base = is_array($GLOBALS['TCA'][$reflectionTableName]) ? $GLOBALS['TCA'][$reflectionTableName] : [];
         return ArrayUtility::mergeRecursiveDistinct($base, $customConfiguration);
     }
     $excludes = ModelUtility::getSmartExcludesByModelName($modelClassName);
     $dataSet = $this->getDataSet();
     $dataImplementations = $dataSet->getAllAndExcludeList($excludes);
     $baseTca = $dataSet->getTcaInformation($dataImplementations, $tableName);
     // title
     $fields = array_keys($customFields);
     $labelField = 'title';
     if (!in_array($labelField, $fields)) {
         $labelField = $fields[0];
     }
     try {
         TranslateUtility::assureLabel($tableName, $extensionName);
     } catch (\Exception $ex) {
         // @todo handle
     }
     if (!is_array($baseTca['columns'])) {
         $baseTca['columns'] = [];
     }
     $baseTca['columns'] = ArrayUtility::mergeRecursiveDistinct($baseTca['columns'], $customFields);
     // items
     $showitem = $fields;
     if (!in_array('language', $excludes)) {
         $showitem[] = '--palette--;LLL:EXT:lang/locallang_general.xlf:LGL.language;language';
     }
     if (!in_array('workspaces', $excludes)) {
         $baseTca['ctrl']['shadowColumnsForNewPlaceholders'] .= ',' . $labelField;
     }
     if (GeneralUtility::compat_version('7.0')) {
         $languagePrefix = 'LLL:EXT:frontend/Resources/Private/Language/';
     } else {
         $languagePrefix = 'LLL:EXT:cms/';
     }
     if (!in_array('enableFields', $excludes)) {
         $showitem[] = '--div--;' . $languagePrefix . 'locallang_ttc.xlf:tabs.access';
         $showitem[] = '--palette--;' . $languagePrefix . 'locallang_tca.xlf:pages.palettes.access;access';
     }
     $showitem[] = '--div--;' . $languagePrefix . 'locallang_ttc.xlf:tabs.extended';
     $overrideTca = ['ctrl' => ['title' => TranslateUtility::getLllOrHelpMessage($tableName, $extensionName), 'label' => $labelField, 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'dividers2tabs' => true, 'sortby' => 'sorting', 'delete' => 'deleted', 'searchFields' => implode(',', $searchFields), 'iconfile' => IconUtility::getByModelName($modelClassName, GeneralUtility::compat_version('7.0'))], 'interface' => ['showRecordFieldList' => implode(',', array_keys($baseTca['columns']))], 'types' => ['1' => ['showitem' => implode(',', $showitem)]], 'palettes' => ['access' => ['showitem' => 'starttime, endtime, --linebreak--, hidden, editlock, --linebreak--, fe_group']]];
     return ArrayUtility::mergeRecursiveDistinct($baseTca, $overrideTca);
 }
Esempio n. 4
0
 /**
  * Add a hook
  *
  * @param string $location The location of the hook separated bei pipes
  * @param string $configuration
  */
 public static function addHook($location, $configuration)
 {
     $location = GeneralUtility::trimExplode('|', $location, true);
     array_push($location, 'via_autoloader_' . GeneralUtility::shortMD5($configuration));
     ArrayUtility::setNodes([implode('|', $location) => $configuration], $GLOBALS);
 }
<?php

/**
 * Base TCA generation for the model HDNET\\Focuspoint\\Domain\\Model\\FileStandalone
 */
use HDNET\Autoloader\Utility\ArrayUtility;
use HDNET\Autoloader\Utility\ModelUtility;
use HDNET\Focuspoint\Utility\TcaUtility;
$base = ModelUtility::getTcaInformation('HDNET\\Focuspoint\\Domain\\Model\\FileStandalone');
$custom = ['ctrl' => ['hideTable' => true], 'columns' => ['focus_point_y' => TcaUtility::getBaseConfiguration(), 'focus_point_x' => TcaUtility::getBaseConfiguration()]];
return ArrayUtility::mergeRecursiveDistinct($base, $custom);
Esempio n. 6
0
<?php

/**
 * Base TCA generation for the table tt_content
 */
$GLOBALS['TCA']['tt_content'] = \HDNET\Autoloader\Utility\ModelUtility::getTcaOverrideInformation('focuspoint', 'tt_content');
$custom = array('columns' => array('image_ratio' => array('config' => array('type' => 'select', 'items' => array(array('', ''), array('1:1 / Square', '1:1'), array('Images (landscape)', '--div--'), array('10×7', '10:7'), array('13×9', '13:9'), array('Postcard', '14.8:10.5'), array('13×10', '13:10'), array('15×10', '15:10'), array('18×13', '18:13'), array('19×13', '19:13'), array('24×18', '24:18'), array('Images (Portrait)', '--div--'), array('7×10', '7:10'), array('9×13', '9:13'), array('Postcard', '10.5:14.8'), array('10×13', '10:13'), array('10×15', '10:15'), array('13×18', '13:18'), array('13×19', '13:19'), array('18×24', '18:24'), array('Movie', '--div--'), array('4:3 / original 35 mm silent movie', '4:3'), array('15:10 / 35 mm movie', '15:10'), array('16:9 / Widescreen Default (HD)', '16:9'), array('16:10 / Widescreen', '16:10'), array('11:5, 22:10 / 70 mm standard', '11:5'), array('64:27 / 4^3:3^3 television', '64:27'), array('8:3, 24:9 / Full frame Super 16 mm', '8:3'))))), 'palettes' => array('image_settings' => array('showitem' => str_replace('imageborder;', 'image_ratio,imageborder;', $GLOBALS['TCA']['tt_content']['palettes']['image_settings']['showitem']))));
$GLOBALS['TCA']['tt_content'] = \HDNET\Autoloader\Utility\ArrayUtility::mergeRecursiveDistinct($GLOBALS['TCA']['tt_content'], $custom);
Esempio n. 7
0
<?php

/**
 * Base TCA generation for the table sys_file_reference
 */
use HDNET\Autoloader\Utility\ArrayUtility;
use HDNET\Autoloader\Utility\ModelUtility;
use HDNET\Focuspoint\Utility\TcaUtility;
$GLOBALS['TCA']['sys_file_reference'] = ModelUtility::getTcaOverrideInformation('focuspoint', 'sys_file_reference');
$custom = ['columns' => ['focus_point_y' => TcaUtility::getBaseConfiguration(), 'focus_point_x' => TcaUtility::getBaseConfiguration()]];
$GLOBALS['TCA']['sys_file_reference'] = ArrayUtility::mergeRecursiveDistinct($GLOBALS['TCA']['sys_file_reference'], $custom);
Esempio n. 8
0
<?php

/**
 * Base TCA generation for the table sys_file_metadata
 */
use HDNET\Autoloader\Utility\ArrayUtility;
use HDNET\Autoloader\Utility\ModelUtility;
use HDNET\Focuspoint\Utility\TcaUtility;
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
$GLOBALS['TCA']['sys_file_metadata'] = ModelUtility::getTcaOverrideInformation('focuspoint', 'sys_file_metadata');
$custom = ['columns' => ['focus_point_y' => TcaUtility::getBaseConfiguration(), 'focus_point_x' => TcaUtility::getBaseConfiguration()]];
$GLOBALS['TCA']['sys_file_metadata'] = ArrayUtility::mergeRecursiveDistinct($GLOBALS['TCA']['sys_file_metadata'], $custom);
ExtensionManagementUtility::addToAllTCAtypes('sys_file_metadata', 'focus_point_y,focus_point_x');
<?php

/**
 * Base TCA generation for the table tx_faq_mm_question_questioncategory
 */
$GLOBALS['TCA']['tx_faq_mm_question_questioncategory'] = \HDNET\Autoloader\Utility\ModelUtility::getTcaOverrideInformation('faq', 'tx_faq_mm_question_questioncategory');
$custom = array('ctrl' => array('hideTable' => true));
$GLOBALS['TCA']['tx_faq_mm_question_questioncategory'] = \HDNET\Autoloader\Utility\ArrayUtility::mergeRecursiveDistinct($GLOBALS['TCA']['tx_faq_mm_question_questioncategory'], $custom);