getRegisteredFlexFormProviders() public static method

Gets the defined FlexForms configuration providers based on parameters
public static getRegisteredFlexFormProviders ( ) : array
return array
Example #1
0
 /**
  * Teardown
  */
 public function setup()
 {
     $providers = Core::getRegisteredFlexFormProviders();
     if (TRUE === in_array('FluidTYPO3\\Flux\\Service\\FluxService', $providers)) {
         Core::unregisterConfigurationProvider('FluidTYPO3\\Flux\\Service\\FluxService');
     }
 }
Example #2
0
 /**
  * @test
  */
 public function canUnregisterNotCurrentlyRegisteredProviders()
 {
     $fakeClass = 'MyFakeClass';
     Core::unregisterConfigurationProvider($fakeClass);
     core::registerConfigurationProvider($fakeClass);
     $this->assertNotContains($fakeClass, Core::getRegisteredFlexFormProviders());
 }
 /**
  * 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 #4
0
 /**
  * @return array
  */
 protected function loadCoreRegisteredProviders()
 {
     return Core::getRegisteredFlexFormProviders();
 }