[TASK] Move some functions to traits for reuse

This commit is contained in:
Philipp Dieter
2021-11-05 13:14:54 +01:00
parent f206c8fb0e
commit f427ab7cd6
4 changed files with 182 additions and 64 deletions

View File

@@ -12,6 +12,8 @@ namespace Cjel\TemplatesAide\Controller;
*
***/
use Cjel\TemplatesAide\Traits\ValidationTrait;
use Cjel\TemplatesAide\Traits\FormatResultTrait;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Cache\CacheManager;
@@ -21,10 +23,10 @@ use TYPO3\CMS\Core\Log\LogManager;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Frontend\Plugin\AbstractPlugin;
use TYPO3\CMS\Frontend\Utility\EidUtility;
use TYPO3\CMS\Extbase\Reflection\ClassSchema;
use TYPO3\CMS\Extbase\Reflection\ReflectionService;
use TYPO3\CMS\Frontend\Plugin\AbstractPlugin;
use TYPO3\CMS\Frontend\Utility\EidUtility;
/**
* AbstractEIDController
@@ -32,6 +34,18 @@ use TYPO3\CMS\Extbase\Reflection\ReflectionService;
class AbstractEIDController
{
/**
* ValidationTrait
*/
use ValidationTrait {
validateAgainstSchema as traitValidateAgainstSchema;
}
/**
* FormatResultTrait
*/
use FormatResultTrait;
/**
* @var BackendConfigurationManager
*/
@@ -99,11 +113,13 @@ class AbstractEIDController
$this->apiUtility = $this->objectManager->get(
\Cjel\TemplatesAide\Utility\ApiUtility::class
);
$this->configurationManager->setConfiguration(array());
$frameworkConfiguration = $this->configurationManager->getConfiguration(
ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK,
$this->getExtensionKey()
);
$this->configurationManager->setConfiguration(
$frameworkConfiguration
);
$this->settings = $frameworkConfiguration;
$this->storagePids = explode(
',',
@@ -241,4 +257,20 @@ class AbstractEIDController
}
}
/**
* return function
*
* @param array $result
* @return void
*/
protected function returnFunction(
$result = []
) {
$result = $this->formatResult($result);
unset($result['cid']);
unset($result['componentMode']);
unset($result['isValid']);
return $result;
}
}

View File

@@ -3,7 +3,7 @@ namespace Cjel\TemplatesAide\Controller;
/***
*
* This file is part of the "Templates Aide" Extension for TYPO3 CMS.
/ This file is part of the "Templates Aide" Extension for TYPO3 CMS.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
@@ -415,31 +415,6 @@ class ActionController extends BaseController
return false;
}
/**
* shortcut to get translation
*
* @return void
*/
protected function getTranslation($key, $arguments = null)
{
$translation = LocalizationUtility::translate(
$key,
$this->getExtensionKey(),
$arguments
);
if ($translation) {
return $translation;
}
$translation = LocalizationUtility::translate(
$key,
'site_templates',
$arguments
);
if ($translation) {
return $translation;
}
return null;
}
/**
*
@@ -454,41 +429,6 @@ class ActionController extends BaseController
strtolower($reflection->getShortName());
}
/**
* gets error label based on field and keyword, uses predefined extensionkey
*/
protected function getErrorLabel($field, $keyword) {
$path = 'error.' . $field . '.' . $keyword;
$errorLabel = $this->getTranslation($path);
if ($errorLabel == null) {
return $path;
}
return $errorLabel;
}
/**
* function to add validation error manually in the controller
*/
protected function addValidationError(
$field, $keyword, $overwrite = false
) {
$this->isValid = false;
$this->responseStatus = [400 => 'validationError'];
if (!array_key_exists($field, $this->errors)
|| $overwrite == true
) {
$this->errors[$field] = [
'keyword' => $keyword,
];
$this->errorLabels[$field] = $this->getErrorLabel(
$field,
$keyword
);
}
}
/**
* legacy function to prevent beaking old code
*