Compare commits

..

7 Commits

Author SHA1 Message Date
Philipp Dieter
b2f9fa6846 [MERGE] Branch 'task-customerportal-paidfeatures-pr555' 2026-03-03 12:03:50 +01:00
Philipp Dieter
a38cc25301 [TASK] Add features to apiUtility and interfaceUtility 2026-03-03 12:03:26 +01:00
Philipp Dieter
52f18c53ea [CLEANUP] Code formatting 2026-02-17 11:43:51 +01:00
Wadii Chaaben
115ba55cd5 [BUGFIX] Change Translation fit 2026-02-17 10:10:16 +01:00
Wadii Chaaben
e53cca6393 [BUGFIX] Fix Translation in Typo3 11.5 2025-11-05 21:33:24 +01:00
Wadii Chaaben
b33989a340 [TASK] Update CaptchaValidtor 2025-10-24 13:29:21 +01:00
Wadii Chaaben
8ea39bd09c [BUGFIX] Fix PageRepository in Typo3 11.5 2025-10-13 15:40:37 +01:00
5 changed files with 40 additions and 14 deletions

View File

@ -27,8 +27,8 @@ use TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationBuilder;
use TYPO3\CMS\Extbase\Service\EnvironmentService; use TYPO3\CMS\Extbase\Service\EnvironmentService;
use TYPO3\CMS\Extbase\Service\ExtensionService; use TYPO3\CMS\Extbase\Service\ExtensionService;
use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
use Blueways\BwCaptcha\Validation\Validator\CaptchaValidator;
use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication; use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication;
use TYPO3\CMS\Core\Utility\DebugUtility;
class ActionController extends BaseController class ActionController extends BaseController
{ {
@ -838,8 +838,8 @@ class ActionController extends BaseController
} }
} }
/** **/ /** **/
protected function valideCaptcha($captchaId, $value protected function valideCaptcha($value
) { ): void {
$captchaPhrases = $this->getFeUser()->getKey('ses', 'captchaPhrases'); $captchaPhrases = $this->getFeUser()->getKey('ses', 'captchaPhrases');
if (!$captchaPhrases || !is_array($captchaPhrases) || !is_string($value)) { if (!$captchaPhrases || !is_array($captchaPhrases) || !is_string($value)) {
$this->addValidationError( $this->addValidationError(
@ -863,7 +863,7 @@ class ActionController extends BaseController
unset($captchaPhrases[$lifetime]); unset($captchaPhrases[$lifetime]);
$this->getFeUser()->setKey('ses', 'captchaPhrases', $captchaPhrases); $this->getFeUser()->setKey('ses', 'captchaPhrases', $captchaPhrases);
$this->getFeUser()->storeSessionData(); $this->getFeUser()->storeSessionData();
return true; return ;
} }
} }
$this->addValidationError( $this->addValidationError(

View File

@ -44,7 +44,8 @@ class ApiUtility
$queryResult, $queryResult,
$additionalAttributes = [], $additionalAttributes = [],
$mapping = [], $mapping = [],
$rootRowClass = null $rootRowClass = null,
$options = []
) { ) {
$this->objectManager = GeneralUtility::makeInstance( $this->objectManager = GeneralUtility::makeInstance(
ObjectManager::class ObjectManager::class
@ -130,7 +131,8 @@ class ApiUtility
$methodResult, $methodResult,
$additionalAttributes[$attributeName], $additionalAttributes[$attributeName],
$mapping, $mapping,
$nextLevelClass $nextLevelClass,
$options
); );
if ($imageStorage) { if ($imageStorage) {
foreach ($attributeResult as &$attributeResultRow) { foreach ($attributeResult as &$attributeResultRow) {
@ -167,7 +169,8 @@ class ApiUtility
[$methodResult], [$methodResult],
$additionalAttributes[$attributeName], $additionalAttributes[$attributeName],
$mapping, $mapping,
$nextLevelClass $nextLevelClass,
$options
)[0]; )[0];
$rowResult[$attributeName . 'Uid'] $rowResult[$attributeName . 'Uid']
= $rowResult[$attributeName]['uid']; = $rowResult[$attributeName]['uid'];
@ -218,6 +221,10 @@ class ApiUtility
} }
} }
} }
if (($options['clearIds'] ?? '' ) === true) {
unset($rowResult['uid']);
unset($rowResult['pid']);
}
$result[] = $rowResult; $result[] = $rowResult;
} }
return $result; return $result;

View File

@ -37,4 +37,22 @@ class InterfaceUtility
}, ARRAY_FILTER_USE_KEY); }, ARRAY_FILTER_USE_KEY);
return array_values($constants); return array_values($constants);
} }
/**
* Get all interface constants per prefix
*/
public static function parseInterfaceConstantsAssoc(
$interfaceClass, $prefix
) {
$constants = (new \ReflectionClass($interfaceClass))
->getConstants();
$constants = array_filter($constants, function($key) use ($prefix) {
if (substr($key, 0, strlen($prefix) + 1)
== strtoupper($prefix) . '_'
) {
return true;
}
}, ARRAY_FILTER_USE_KEY);
return $constants;
}
} }

View File

@ -21,7 +21,7 @@ use TYPO3\CMS\Fluid\View\StandaloneView;
use TYPO3\CMS\Fluid\View\TemplatePaths; use TYPO3\CMS\Fluid\View\TemplatePaths;
use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface; use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
use Symfony\Component\Mime\Address; use Symfony\Component\Mime\Address;
use TYPO3\CMS\Frontend\Page\PageRepository; use TYPO3\CMS\Core\Domain\Repository\PageRepository;
/** /**
* *
*/ */

View File

@ -65,12 +65,13 @@ class TranslationUtility
if (!$extensionKey) { if (!$extensionKey) {
$extensionKey = 'site_templates'; $extensionKey = 'site_templates';
} }
return implode([ $translation = LocalizationUtility::translate(
'LLL:EXT:', 'LLL:EXT:'
$extensionKey, . $extensionKey
'/Resources/Private/Language/locallang_db.xlf:', . '/Resources/Private/Language/locallang_db.xlf:'
$key . $key
]); );
return $translation;
} else { } else {
if ($extensionKey) { if ($extensionKey) {
$translation = LocalizationUtility::translate( $translation = LocalizationUtility::translate(