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\ExtensionService;
use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
use Blueways\BwCaptcha\Validation\Validator\CaptchaValidator;
use TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication;
use TYPO3\CMS\Core\Utility\DebugUtility;
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');
if (!$captchaPhrases || !is_array($captchaPhrases) || !is_string($value)) {
$this->addValidationError(
@ -863,7 +863,7 @@ class ActionController extends BaseController
unset($captchaPhrases[$lifetime]);
$this->getFeUser()->setKey('ses', 'captchaPhrases', $captchaPhrases);
$this->getFeUser()->storeSessionData();
return true;
return ;
}
}
$this->addValidationError(

View File

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

View File

@ -37,4 +37,22 @@ class InterfaceUtility
}, ARRAY_FILTER_USE_KEY);
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\Extbase\Configuration\ConfigurationManagerInterface;
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) {
$extensionKey = 'site_templates';
}
return implode([
'LLL:EXT:',
$extensionKey,
'/Resources/Private/Language/locallang_db.xlf:',
$key
]);
$translation = LocalizationUtility::translate(
'LLL:EXT:'
. $extensionKey
. '/Resources/Private/Language/locallang_db.xlf:'
. $key
);
return $translation;
} else {
if ($extensionKey) {
$translation = LocalizationUtility::translate(