Compare commits

..

8 Commits

Author SHA1 Message Date
Philipp Dieter
0e77b7a75a [BUGIFX] Translations action only returning default language 2026-03-12 17:22:28 +01:00
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
6 changed files with 45 additions and 19 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

@@ -46,18 +46,18 @@ class TranslationController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionCont
} else {
$language = $GLOBALS['TYPO3_REQUEST']->getAttribute('language');
}
$locale = $language->getLocale();
//\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump(
// $locale, '$locale', 3, true, false
//);
$language = $language->getTypo3language();
$langfileContent = $languageFactory->getParsedData(
$langfilePath,
$locale
$language
);
$langfileResult = [];
foreach (reset($langfileContent) as $key => $row) {
$langfileResult[$key] = reset($row)['target'];
}
foreach ($langfileContent[$language] as $key => $row) {
$langfileResult[$key] = reset($row)['target'];
}
$result[$extension] = $langfileResult;
}
$GLOBALS['TSFE']->setContentType('application/json');

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(