<?php

namespace Wga\Core\Utility;

use TYPO3\CMS\Core\TypoScript\TypoScriptService;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManager;

class ExtensionUtility
{
    /**
     * @param $extensionName
     * @return mixed
     */
    public static function getExtensionGlobalConfig($extensionName)
    {
        return $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS'][$extensionName];
    }

    /**
     * @return array
     * @throws \TYPO3\CMS\Extbase\Configuration\Exception\InvalidConfigurationTypeException
     */
    public static function getFullTyposcript()
    {
        $configManager = GeneralUtility::makeInstance(ConfigurationManager::class);
        return $configManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
    }

    /**
     * @param $extName
     * @return mixed
     * @throws \TYPO3\CMS\Extbase\Configuration\Exception\InvalidConfigurationTypeException
     */
    public static function getTyposcriptByExtName($extName)
    {
        $setup = self::getFullTyposcript();
        $typoScriptService = GeneralUtility::makeInstance(TypoScriptService::class);
        if($setup['plugin.'][$extName.'.']){
            return $typoScriptService->convertTypoScriptArrayToPlainArray($setup['plugin.'][$extName.'.']);
        }
        return [];
    }
}