Quick-access API methods to easily integrate with Flux
 /**
  * @return void
  */
 public function processData()
 {
     $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
     /** @var FluxService $fluxService */
     $fluxService = $objectManager->get('FluidTYPO3\\Flux\\Service\\FluxService');
     $fluxService->initializeObject();
     /** @var DataMapFactory $dataMapFactory */
     $dataMapFactory = $objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Mapper\\DataMapFactory');
     $forms = Core::getRegisteredFormsForTables();
     $models = Core::getRegisteredFormsForModelObjectClasses();
     foreach ($forms as $fullTableName => $form) {
         $this->processFormForTable($fullTableName, $form);
     }
     foreach ($models as $modelClassName => $form) {
         $map = $dataMapFactory->buildDataMap($modelClassName);
         $fullTableName = $map->getTableName();
         if (NULL === $form) {
             $form = $this->generateFormInstanceFromClassName($modelClassName, $fullTableName);
         }
         if (NULL === $form->getName()) {
             $form->setName($fullTableName);
         }
         $this->processFormForTable($fullTableName, $form);
     }
 }
Example #2
0
 /**
  * Setup
  */
 public function setup()
 {
     $providers = Core::getRegisteredFlexFormProviders();
     if (TRUE === in_array('FluidTYPO3\\Flux\\Service\\FluxService', $providers)) {
         Core::unregisterConfigurationProvider('FluidTYPO3\\Flux\\Service\\FluxService');
     }
 }
 public function testGetContentConfiguration()
 {
     Core::registerProviderExtensionKey('FluidTYPO3.Fluidcontent', 'Content');
     $service = $this->getMock('FluidTYPO3\\Fluidcontent\\Service\\ConfigurationService', array('dummy'), array(), '', FALSE);
     $service->injectConfigurationManager(GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager')->get('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManagerInterface'));
     $result = $service->getContentConfiguration();
     $this->assertEquals(array('FluidTYPO3.Fluidcontent' => array('templateRootPaths' => array(10 => 'EXT:fluidcontent/Resources/Private/Templates/'), 'partialRootPaths' => array(10 => 'EXT:fluidcontent/Resources/Private/Partials/'), 'layoutRootPaths' => array(10 => 'EXT:fluidcontent/Resources/Private/Layouts/'))), $result);
 }
 /**
  * Includes static template from extensions
  *
  * @param array $params
  * @param TemplateService $pObj
  * @return void
  */
 public function preprocessIncludeStaticTypoScriptSources(array &$params, TemplateService $pObj)
 {
     if (TRUE === isset($params['row']['root']) && TRUE === (bool) $params['row']['root']) {
         $existingTemplates = GeneralUtility::trimExplode(',', $params['row']['include_static_file']);
         $globalStaticTemplates = Core::getStaticTypoScript();
         $staticTemplates = array_merge($globalStaticTemplates, $existingTemplates);
         $params['row']['include_static_file'] = implode(',', array_unique($staticTemplates));
     }
 }
 /**
  * @test
  */
 public function throwsExceptionWhenResolvingInvalidConfigurationProviderInstances()
 {
     $instance = $this->createInstance();
     $record = array('test' => 'test');
     Core::registerConfigurationProvider('FluidTYPO3\\Flux\\Service\\FluxService');
     $this->setExpectedException('RuntimeException', NULL, 1327173536);
     $instance->flushCache();
     $instance->resolveConfigurationProviders('tt_content', 'pi_flexform', $record);
     Core::unregisterConfigurationProvider('FluidTYPO3\\Flux\\Service\\FluxService');
 }
Example #6
0
 /**
  * @test
  */
 public function testResolveDomainFormClassInstancesFromPackages()
 {
     $modelClassName = 'FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\Domain\\Model\\Dummy';
     Core::registerAutoFormForModelObjectClassName($modelClassName);
     $classNames = array('FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\Domain\\Form\\DummyForm');
     $resolver = $this->getMock('FluidTYPO3\\Flux\\Helper\\Resolver', array('resolveClassNamesInPackageSubNamespace'));
     $resolver->expects($this->once())->method('resolveClassNamesInPackageSubNamespace')->willReturn($classNames);
     $result = $resolver->resolveDomainFormClassInstancesFromPackages(array('foobar'));
     $this->assertInstanceOf($classNames[0], $result[$modelClassName]);
 }
 /**
  * @test
  */
 public function leavesRecordsWhichAreNotRootsUntouched()
 {
     Core::addStaticTypoScript(self::FIXTURE_TYPOSCRIPT_DIR);
     $function = 'FluidTYPO3\\Flux\\Backend\\TypoScriptTemplate->preprocessIncludeStaticTypoScriptSources';
     $template = $this->objectManager->get('TYPO3\\CMS\\Core\\TypoScript\\TemplateService');
     $parameters = array('row' => Records::$sysTemplateRoot);
     $parameters['row']['root'] = 0;
     GeneralUtility::callUserFunction($function, $parameters, $template);
     $this->assertNotContains(self::FIXTURE_TYPOSCRIPT_DIR, $parameters['row']['include_static_file']);
     $this->assertSame(Records::$sysTemplateRoot['include_static_file'], $parameters['row']['include_static_file']);
 }
 /**
  * @test
  */
 public function leavesRecordsWhichAreNotRootsUntouched()
 {
     \FluidTYPO3\Flux\Core::addStaticTypoScript(self::FIXTURE_TYPOSCRIPT_DIR);
     $function = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources']['flux'];
     $template = $this->objectManager->get('t3lib_TStemplate');
     $parameters = array('row' => \FluidTYPO3\Flux\Tests\Fixtures\Data\Records::$sysTemplateRoot);
     $parameters['row']['root'] = 0;
     GeneralUtility::callUserFunction($function, $parameters, $template);
     $this->assertNotContains(self::FIXTURE_TYPOSCRIPT_DIR, $parameters['row']['include_static_file']);
     $this->assertSame(\FluidTYPO3\Flux\Tests\Fixtures\Data\Records::$sysTemplateRoot['include_static_file'], $parameters['row']['include_static_file']);
 }
 /**
  * @test
  */
 public function triggersDomainModelAnalysisWhenFormsAreRegistered()
 {
     $class = 'FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\Domain\\Model\\Dummy';
     $form = Form::create();
     $form->setExtensionName('FluidTYPO3.Flux');
     Core::registerAutoFormForModelObjectClassName($class);
     $object = GeneralUtility::getUserObj('FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor');
     $object->processData();
     Core::registerFormForModelObjectClassName($class, $form);
     $result = $object->processData();
     $this->assertEmpty($result);
 }
 /**
  * @dataProvider getRegisterModuleBasedOnFluxFormTestValues
  * @param string $extension
  * @param Form $form
  * @param boolean $expectsException
  */
 public function testRegisterModuleBasedOnFluxForm($extension, Form $form, $expectsException)
 {
     $instance = new ConfigurationService();
     Core::registerProviderExtensionKey($extension, 'Backend');
     if (TRUE === $expectsException) {
         $this->setExpectedException('RuntimeException');
     }
     $GLOBALS['TBE_MODULES'] = array('fake' => array());
     $instance->registerModuleBasedOnFluxForm($extension, $form);
     if (FALSE === $expectsException) {
         $this->assertNotEmpty($GLOBALS['TBE_MODULES']);
     }
     unset($GLOBALS['TBE_MODULES']);
 }
Example #11
0
 /**
  * @param string $name
  * @return void
  */
 protected function createPipeSheet($name)
 {
     $sheet = $this->createContainer('Sheet', $name)->createContainer('Section', $name);
     $namespace = 'FluidTYPO3\\Flux\\Outlet\\Pipe\\';
     $pipes = FluxCore::getPipes();
     foreach ($pipes as $pipeTypeOrClassName) {
         $className = TRUE === class_exists($pipeTypeOrClassName) ? $pipeTypeOrClassName : $namespace . ucfirst($pipeTypeOrClassName) . 'Pipe';
         if ('FluidTYPO3\\Flux\\Outlet\\Pipe\\StandardPipe' === $className) {
             continue;
         }
         $instance = $this->objectManager->get($className);
         $label = $instance->getLabel();
         /** @var PipeObject $pipe */
         $pipe = $sheet->createContainer('FluidTYPO3\\Fromage\\Backend\\FormComponent\\PipeObject', $pipeTypeOrClassName);
         $pipe->setLabel($label)->addAll($instance->getFormFields());
     }
 }
 /**
  * Get definitions of paths for Page Templates defined in TypoScript
  *
  * @param string $extensionName
  * @return array
  * @api
  */
 public function getPageConfiguration($extensionName = null)
 {
     if (null !== $extensionName && true === empty($extensionName)) {
         // Note: a NULL extensionName means "fetch ALL defined collections" whereas
         // an empty value that is not null indicates an incorrect caller. Instead
         // of returning ALL paths here, an empty array is the proper return value.
         // However, dispatch a debug message to inform integrators of the problem.
         $this->message('Template paths have been attempted fetched using an empty value that is NOT NULL in ' . get_class($this) . '. This indicates a potential problem with your TypoScript configuration - a ' . 'value which is expected to be an array may be defined as a string. This error is not fatal but may ' . 'prevent the affected collection (which cannot be identified here) from showing up', GeneralUtility::SYSLOG_SEVERITY_NOTICE);
         return [];
     }
     if (null !== $extensionName) {
         return $this->getViewConfigurationForExtensionName($extensionName);
     }
     $configurations = [];
     $registeredExtensionKeys = Core::getRegisteredProviderExtensionKeys('Page');
     foreach ($registeredExtensionKeys as $registeredExtensionKey) {
         $configurations[$registeredExtensionKey] = $this->getViewConfigurationForExtensionName($registeredExtensionKey);
     }
     return $configurations;
 }
 /**
  * @return void
  */
 public function processData()
 {
     if (TYPO3_REQUESTTYPE_INSTALL !== (TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) {
         $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
         $objectManager->get('FluidTYPO3\\Flux\\Provider\\ProviderResolver')->loadTypoScriptConfigurationProviderInstances();
         $forms = Core::getRegisteredFormsForTables();
         $models = Core::getRegisteredFormsForModelObjectClasses();
         $packages = array_keys(Core::getRegisteredPackagesForAutoForms());
         foreach ($packages as $packageName) {
             list($vendorName, $extensionName) = explode('.', $packageName);
             $namespace = $vendorName . '\\' . $extensionName . '\\Domain\\';
             $extensionKey = ExtensionNamingUtility::getExtensionKey($packageName);
             $folder = ExtensionManagementUtility::extPath($extensionKey, 'Classes/Domain/Form/');
             $files = glob($folder . '*Form.php');
             $files = FALSE === $files ? array() : $files;
             foreach ($files as $fileName) {
                 $basename = pathinfo($fileName, PATHINFO_FILENAME);
                 $formClassName = $namespace . 'Form\\' . $basename;
                 $modelClassName = $namespace . 'Model\\' . substr($basename, 0, -4);
                 $fullTableName = $this->resolveTableName($modelClassName);
                 $models[$modelClassName] = $formClassName::create();
                 $models[$modelClassName]->setName($fullTableName);
                 $models[$modelClassName]->setExtensionName($packageName);
             }
         }
         foreach ($forms as $fullTableName => $form) {
             $this->processFormForTable($fullTableName, $form);
         }
         foreach ($models as $modelClassName => $form) {
             $fullTableName = $this->resolveTableName($modelClassName);
             if (NULL === $form) {
                 $form = $this->generateFormInstanceFromClassName($modelClassName, $fullTableName);
             }
             if (NULL === $form->getName()) {
                 $form->setName($fullTableName);
             }
             $this->processFormForTable($fullTableName, $form);
         }
     }
 }
Example #14
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Gloggi Abteilungen');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('Bm.' . $_EXTKEY, 'Content');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('Bm.' . $_EXTKEY, 'Page');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey('Bm.' . $_EXTKEY, 'Backend');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_gloggiabteilungen_domain_model_abteilung', 'EXT:gloggiabteilungen/Resources/Private/Language/locallang_csh_tx_gloggiabteilungen_domain_model_abteilung.xlf');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_gloggiabteilungen_domain_model_abteilung');
$GLOBALS['TCA']['tx_gloggiabteilungen_domain_model_abteilung'] = array('ctrl' => array('title' => 'Gloggi Abteilung', 'label' => 'name', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'dividers2tabs' => TRUE, 'versioningWS' => 2, 'versioning_followPages' => TRUE, 'origUid' => 't3_origuid', 'languageField' => 'sys_language_uid', 'transOrigPointerField' => 'l10n_parent', 'transOrigDiffSourceField' => 'l10n_diffsource', 'delete' => 'deleted', 'enablecolumns' => array('disabled' => 'hidden', 'starttime' => 'starttime', 'endtime' => 'endtime'), 'searchFields' => 'name,abkuerzung,logo,einzugsgebiet,koordinaten,beschreib,internet,email,', 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Configuration/TCA/Abteilung.php', 'iconfile' => 'EXT:gloggiabteilungen/Resources/Public/Icons/ext_icon.png'));
 /**
  * @return void
  */
 protected function performDummyRegistration()
 {
     Core::registerProviderExtensionKey($this->extensionName, $this->getControllerName());
     $this->assertContains($this->extensionName, Core::getRegisteredProviderExtensionKeys($this->getControllerName()));
 }
Example #16
0
 /**
  * Resolves a ConfigurationProvider which can provide a working FlexForm
  * configuration based on the given parameters.
  *
  * @param string $table
  * @param string $fieldName
  * @param array $row
  * @param string $extensionKey
  * @throws \RuntimeException
  * @return ProviderInterface[]
  */
 public function resolveConfigurationProviders($table, $fieldName, array $row = NULL, $extensionKey = NULL)
 {
     $row = FALSE === is_array($row) ? array() : $row;
     $providers = Core::getRegisteredFlexFormProviders();
     $typoScriptConfigurationProviders = $this->loadTypoScriptConfigurationProviderInstances();
     $providers = array_merge($providers, $typoScriptConfigurationProviders);
     $prioritizedProviders = array();
     foreach ($providers as $providerClassNameOrInstance) {
         if (TRUE === is_object($providerClassNameOrInstance)) {
             $provider =& $providerClassNameOrInstance;
         } else {
             $provider = $this->objectManager->get($providerClassNameOrInstance);
         }
         if (FALSE === in_array('FluidTYPO3\\Flux\\Provider\\ProviderInterface', class_implements($providerClassNameOrInstance))) {
             throw new \RuntimeException(is_object($providerClassNameOrInstance) ? get_class($providerClassNameOrInstance) : $providerClassNameOrInstance . ' must implement ProviderInterfaces from Flux/Provider', 1327173536);
         }
         if (TRUE === $provider->trigger($row, $table, $fieldName, $extensionKey)) {
             $priority = $provider->getPriority($row);
             if (FALSE === is_array($prioritizedProviders[$priority])) {
                 $prioritizedProviders[$priority] = array();
             }
             $prioritizedProviders[$priority][] = $provider;
         }
     }
     ksort($prioritizedProviders);
     $providersToReturn = array();
     foreach ($prioritizedProviders as $providerSet) {
         foreach ($providerSet as $provider) {
             array_push($providersToReturn, $provider);
         }
     }
     return $providersToReturn;
 }
Example #17
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Fluidcontent', 'Content', array('Content' => 'render'), array(), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT);
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidcontent\\Provider\\ContentProvider');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidcontent\\Provider\\BackendUserGroupProvider');
if ('BE' === TYPO3_MODE) {
    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']['fluidcontent'] = 'FluidTYPO3\\Fluidcontent\\Hooks\\WizardItemsHookSubscriber';
    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauthgroup.php']['fetchGroups_postProcessing']['fluidcontent'] = 'FluidTYPO3\\Fluidcontent\\Hooks\\GroupAccessListPostProcessor->addAccessLists';
    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['extTablesInclusion-PostProcessing']['fluidcontent'] = 'FluidTYPO3\\Fluidcontent\\Backend\\TableConfigurationPostProcessor';
}
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['fluidcontent'])) {
    $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['fluidcontent'] = array('groups' => array('system'));
}
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\FluidTYPO3\Flux\Core::unregisterConfigurationProvider('Tx_Fed_Provider_Configuration_PageConfigurationProvider');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidpages\\Provider\\PageProvider');
\FluidTYPO3\Flux\Core::addStaticTypoScript('EXT:fluidpages/Configuration/TypoScript/');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin($_EXTKEY, 'Page', array('Page' => 'render,error'), array(), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_PLUGIN);
$GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] .= ($GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] == '' ? '' : ',') . 'tx_fed_page_controller_action,tx_fed_page_controller_action_sub,tx_fed_page_flexform,tx_fed_page_flexform_sub,';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Backend\\View\\BackendLayoutView'] = array('className' => 'FluidTYPO3\\Fluidpages\\Override\\Backend\\View\\BackendLayoutView');
$GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects']['TYPO3\\CMS\\Backend\\View\\PageLayoutView'] = array('className' => 'FluidTYPO3\\Fluidpages\\Override\\Backend\\View\\PageLayoutView');
Example #19
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fromage']['setup'] = unserialize($_EXTCONF);
if (FALSE === isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fromage']['setup']['defaultFormClassName'])) {
    $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fromage']['setup']['defaultFormClassName'] = 'FluidTYPO3\\Fromage\\Form\\StandardForm';
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Fromage', 'Form', array('Form' => 'form,submit,receipt'), array('Form' => 'submit'), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT);
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Fromage', 'Receipt', array('Form' => 'form,submit,receipt'), array('Form' => 'submit'), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT);
if (TRUE === class_exists('FluidTYPO3\\Flux\\Core')) {
    \FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fromage\\Provider\\FromageProvider');
}
if (TRUE === class_exists('FluidTYPO3\\Fromage\\Core')) {
    // native field type registrations. Added using simple names which are easy to target (see Core class' doc comment)
    \FluidTYPO3\Fromage\Core::registerFieldObject('content');
    \FluidTYPO3\Fromage\Core::registerFieldObject('row');
    \FluidTYPO3\Fromage\Core::registerFieldObject('input');
    \FluidTYPO3\Fromage\Core::registerFieldObject('text');
    \FluidTYPO3\Fromage\Core::registerFieldObject('checkbox');
    \FluidTYPO3\Fromage\Core::registerFieldObject('select');
    \FluidTYPO3\Fromage\Core::registerFieldObject('relation');
    // native button types
    \FluidTYPO3\Fromage\Core::registerButtonObject('submit');
    \FluidTYPO3\Fromage\Core::registerButtonObject('reset');
    \FluidTYPO3\Fromage\Core::registerButtonObject('button');
    // native sheet types, there's only one of these and it is called "Grouping" and allows all fields to be used
    \FluidTYPO3\Fromage\Core::registerSheetObject('grouping');
}
<?php

\FluidTYPO3\Flux\Core::registerProviderExtensionKey('AppZap.ThemeFoundationApps', 'Page');
Example #21
0
 /**
  * @param string $function
  * @param mixed $caller
  */
 protected function callUserFunction($function, $caller)
 {
     $drawItem = TRUE;
     $headerContent = '';
     $itemContent = '';
     $row = Records::$contentRecordWithoutParentAndWithoutChildren;
     $row['pi_flexform'] = Xml::SIMPLE_FLEXFORM_SOURCE_DEFAULT_SHEET_ONE_FIELD;
     Core::registerConfigurationProvider('FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\DummyConfigurationProvider');
     $instance = $this->getMock($function, array('attachAssets'));
     $instance->preProcess($caller, $drawItem, $headerContent, $itemContent, $row);
     Core::unregisterConfigurationProvider('FluidTYPO3\\Flux\\Tests\\Fixtures\\Classes\\DummyConfigurationProvider');
 }
Example #22
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Fluid - Flux template');
\FluidTYPO3\Flux\Core::registerProviderExtensionKey($_EXTKEY, 'Content');
 /**
  * Get definitions of paths for FCEs defined in TypoScript
  *
  * @param string $extensionName
  * @return array
  * @api
  */
 public function getContentConfiguration($extensionName = NULL)
 {
     if (NULL !== $extensionName) {
         return $this->getViewConfigurationForExtensionName($extensionName);
     }
     $registeredExtensionKeys = (array) Core::getRegisteredProviderExtensionKeys('Content');
     $configuration = array();
     foreach ($registeredExtensionKeys as $registeredExtensionKey) {
         $configuration[$registeredExtensionKey] = $this->getContentConfiguration($registeredExtensionKey);
     }
     return $configuration;
 }
Example #24
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
// Use dashboard instead of the default page module
//\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('
// 	setup.override.startModule = moox_MooxCoreDashboard
//	mod.moox_MooxCoreDashboard.sideBarEnable = 0
// ');
if (FALSE === isset($GLOBALS['TYPO3_CONF_VARS']['FE']['contentRenderingTemplates'])) {
    \TYPO3\CMS\Core\Utility\GeneralUtility::sysLog('MooxCore requires an additional configuration file in typo3conf/AdditionalConfiguration.php - ' . 'you can have MooxCore generate this file for you from the extension manager by running the MooxCore update script. A dummy ' . 'has been created, but you will only be able to render content (not plugins!) until the file is created', 'moox_core', \TYPO3\CMS\Core\Utility\GeneralUtility::SYSLOG_SEVERITY_WARNING);
    $GLOBALS['TYPO3_CONF_VARS']['FE']['contentRenderingTemplates'] = array('mooxcore/Configuration/TypoScript/');
}
$GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['types'] = array('header', 'text', 'image', 'textpic', 'bullets', 'uploads', 'table', 'media', 'mailform', 'search', 'menu', 'shortcut', 'div', 'html', 'default');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('DCNGmbH\\MooxCore\\Provider\\CoreContentProvider');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']['moox_core'] = 'DCNGmbH\\MooxCore\\Hooks\\WizardItemsHookSubscriber';
// Prepare a global variants registration array indexed by CType value.
// To add your own, do fx: $GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['variants']['textpic'][] = 'myextensionkey';
$GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['variants'] = array_combine(array_values($GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['types']), array_fill(0, count($GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['types']), array()));
$types = count($GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['types']);
for ($i = 0; $i < $types; $i++) {
    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('DCNGmbH.MooxCore', ucfirst($GLOBALS['TYPO3_CONF_VARS']['DCNGmbH.MooxCore']['types'][$i]), array('CoreContent' => 'render,error'), array());
}
unset($types, $i);
// Include new content elements to modWizards
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:moox_core/Configuration/PageTS/modWizards.ts">');
// If the form extension is loaded, then include the mailform element to modWizards
if (TRUE === \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('form')) {
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:moox_core/Configuration/PageTS/modWizardsMailform.ts">');
}
 /**
  * @return void
  */
 public function testGetPageConfigurationWithoutExtensionNameReadsRegisteredProviders()
 {
     /** @var ConfigurationService|\PHPUnit_Framework_MockObject_MockObject $instance */
     $instance = $this->getMock('FluidTYPO3\\Fluidpages\\Service\\ConfigurationService', array('getViewConfigurationForExtensionName'));
     Core::registerProviderExtensionKey('foo', 'Page');
     Core::registerProviderExtensionKey('bar', 'Page');
     $instance->expects($this->exactly(2))->method('getViewConfigurationForExtensionName');
     $result = $instance->getPageConfiguration();
     $this->assertCount(2, $result);
 }
	}
	plugin.tx_flux.settings {
		flexform {
			rteDefaults = richtext[*]:rte_transform[mode=ts_css]
		}
	}
');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['getFlexFormDSClass']['flux'] = 'FluidTYPO3\\Flux\\Backend\\DynamicFlexForm';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['moveRecordClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain->clearCacheCommand';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources']['flux'] = 'FluidTYPO3\\Flux\\Backend\\TypoScriptTemplate->preprocessIncludeStaticTypoScriptSources';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['extTablesInclusion-PostProcessing']['flux'] = 'FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['flux'] = 'FluidTYPO3\\Flux\\Backend\\Preview';
if (TRUE === class_exists('FluidTYPO3\\Flux\\Core')) {
    \FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Flux\\Provider\\ContentProvider');
    // native Outlets, replaceable by short name in subsequent registerOutlet() calls by adding second argument (string, name of type)
    \FluidTYPO3\Flux\Core::registerOutlet('standard');
    // native Pipes, replaceable by short name in subsequent registerPipe() calls by adding second argument (string, name of type)
    \FluidTYPO3\Flux\Core::registerPipe('standard');
    \FluidTYPO3\Flux\Core::registerPipe('controller');
    \FluidTYPO3\Flux\Core::registerPipe('email');
    \FluidTYPO3\Flux\Core::registerPipe('flashMessage');
    \FluidTYPO3\Flux\Core::registerPipe('typeConverter');
}
/** @var $extbaseObjectContainer \TYPO3\CMS\Extbase\Object\Container\Container */
$extbaseObjectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\Container\\Container');
$extbaseObjectContainer->registerImplementation('TYPO3\\CMS\\Extbase\\Configuration\\ConfigurationManagerInterface', 'FluidTYPO3\\Flux\\Configuration\\ConfigurationManager');
unset($extbaseObjectContainer);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']['flux'] = 'FluidTYPO3\\Flux\\Hooks\\WizardItemsHookSubscriber';
 /**
  * @return array
  */
 protected function getInstalledFluxPackages()
 {
     return array_keys(Core::getRegisteredPackagesForAutoForms());
 }
Example #28
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluidpages']['setup'] = unserialize($_EXTCONF);
if (FALSE === isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluidpages']['setup']['autoload']) || TRUE === (bool) $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['fluidpages']['setup']['autoload']) {
    \FluidTYPO3\Flux\Core::addStaticTypoScript('EXT:fluidpages/Configuration/TypoScript/');
}
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidpages\\Provider\\PageProvider');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidpages\\Provider\\SubPageProvider');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidpages\\Provider\\PageLanguageOverlayProvider');
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidpages\\Provider\\SubPageLanguageOverlayProvider');
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Fluidpages', 'Page', ['Page' => 'render,error'], [], \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_PLUGIN);
$GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] .= ($GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields'] == '' ? '' : ',') . 'tx_fed_page_controller_action,tx_fed_page_controller_action_sub,tx_fed_page_flexform,tx_fed_page_flexform_sub,';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['BackendLayoutDataProvider']['fluidpages'] = 'FluidTYPO3\\Fluidpages\\Backend\\BackendLayoutDataProvider';
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/db_layout.php']['drawHeaderHook'][] = \FluidTYPO3\Fluidpages\Hooks\PagePreviewRenderer::class . '->render';
Example #29
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Fluidcontent', 'Content', array('Content' => 'render'), array(), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT);
\FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidcontent\\Provider\\ContentProvider');
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook']['fluidcontent'] = 'FluidTYPO3\\Fluidcontent\\Hooks\\WizardItemsHookSubscriber';
if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['fluidcontent'])) {
    $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['fluidcontent'] = array('groups' => array('system'));
}
<?php

\FluidTYPO3\Flux\Core::registerProviderExtensionKey('AppZap.CategorizedContent', 'Content');