Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 0 additions & 15 deletions Build/phpstan/Core12/phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -94,18 +94,3 @@ parameters:
message: "#^Cannot access property \\$code on DeepL\\\\Language\\|null\\.$#"
count: 7
path: ../../../Tests/Functional/Services/DeeplServiceTest.php

-
message: "#^Call to method create\\(\\) on an unknown class TYPO3\\\\CMS\\\\Core\\\\View\\\\ViewFactoryInterface\\.$#"
count: 1
path: ../../../Tests/Functional/ViewHelpers/ExtensionActiveViewHelperTest.php

-
message: "#^Class TYPO3\\\\CMS\\\\Core\\\\View\\\\ViewFactoryInterface not found\\.$#"
count: 1
path: ../../../Tests/Functional/ViewHelpers/ExtensionActiveViewHelperTest.php

-
message: "#^Instantiated class TYPO3\\\\CMS\\\\Core\\\\View\\\\ViewFactoryData not found\\.$#"
count: 1
path: ../../../Tests/Functional/ViewHelpers/ExtensionActiveViewHelperTest.php
5 changes: 0 additions & 5 deletions Build/phpstan/Core13/phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,3 @@ parameters:
message: "#^Cannot access property \\$code on DeepL\\\\Language\\|null\\.$#"
count: 7
path: ../../../Tests/Functional/Services/DeeplServiceTest.php

-
message: "#^Call to an undefined method TYPO3\\\\CMS\\\\Core\\\\View\\\\ViewInterface\\:\\:getRenderingContext\\(\\)\\.$#"
count: 3
path: ../../../Tests/Functional/ViewHelpers/ExtensionActiveViewHelperTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php

declare(strict_types=1);

namespace WebVision\Deepltranslate\Core\Event\Listener;

use TYPO3\CMS\Backend\View\PageLayoutContext;
use WebVision\Deepl\Base\Event\ViewHelpers\ModifyInjectVariablesViewHelperEvent;
use WebVision\Deepltranslate\Core\Utility\DeeplBackendUtility;

final class RenderPageViewLocalizationDropdownEventListener
{
public function __invoke(ModifyInjectVariablesViewHelperEvent $event): void
{
if ($event->getIdentifier() !== 'languageTranslationDropdown') {
return;
}
$translationPartials = $event->getLocalVariableProvider()->get('translationPartials');
if ($translationPartials === null) {
$translationPartials = [];
}
$translationPartials[20] = 'Translation/DeeplTranslationDropdown';
$event->getLocalVariableProvider()->add('translationPartials', $translationPartials);

$deeplTranslateLanguages = [];
$event->getLocalVariableProvider()->add('deeplLanguages', []);
/** @var PageLayoutContext|null $context */
$context = $event->getGlobalVariableProvider()->get('context');
if ($context === null) {
return;
}

foreach ($context->getSiteLanguages() as $siteLanguage) {
if (
$siteLanguage->getLanguageId() != -1
&& $siteLanguage->getLanguageId() != 0
) {
if (!DeeplBackendUtility::checkCanBeTranslated(
$context->getPageId(),
$siteLanguage->getLanguageId()
)
) {
continue;
}
$deeplTranslateLanguages[$siteLanguage->getTitle()] = $siteLanguage->getLanguageId();
}
}
if ($deeplTranslateLanguages === []) {
return;
}
$options = [];
foreach ($context->getNewLanguageOptions() as $key => $possibleLanguage) {
if ($key === 0) {
continue;
}
if (!array_key_exists($possibleLanguage, $deeplTranslateLanguages)) {
continue;
}
$parameters = [
'justLocalized' => 'pages:' . $context->getPageId() . ':' . $deeplTranslateLanguages[$possibleLanguage],
'returnUrl' => $GLOBALS['TYPO3_REQUEST']->getAttribute('normalizedParams')->getRequestUri(),
];

$redirectUrl = DeeplBackendUtility::buildBackendRoute('record_edit', $parameters);
$params = [];
$params['redirect'] = $redirectUrl;
$params['cmd']['pages'][$context->getPageId()]['deepltranslate'] = $deeplTranslateLanguages[$possibleLanguage];

$targetUrl = DeeplBackendUtility::buildBackendRoute('tce_db', $params);

$options[$targetUrl] = $possibleLanguage;
}

if ($options === []) {
return;
}
$event->getLocalVariableProvider()->add('deeplLanguages', $options);
}
}
41 changes: 0 additions & 41 deletions Classes/ViewHelpers/Be/ExtensionActiveViewHelper.php

This file was deleted.

14 changes: 14 additions & 0 deletions Classes/ViewHelpers/DeeplTranslateViewHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,18 @@
use TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException;
use TYPO3\CMS\Backend\View\PageLayoutContext;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
use WebVision\Deepl\Base\Event\ViewHelpers\ModifyInjectVariablesViewHelperEvent;
use WebVision\Deepltranslate\Core\Event\Listener\RenderPageViewLocalizationDropdownEventListener;
use WebVision\Deepltranslate\Core\Utility\DeeplBackendUtility;

/**
* @deprecated Will be removed in the next major release
*
* This viewHelper is deprecated, as the registration is now done by the deepl_base
* event and directly registered during the EventListener invocation.
* @see RenderPageViewLocalizationDropdownEventListener
* @see ModifyInjectVariablesViewHelperEvent
*/
final class DeeplTranslateViewHelper extends AbstractViewHelper
{

Expand All @@ -28,6 +38,10 @@ public function initializeArguments(): void
*/
public function render(): array
{
trigger_error(
'This ViewHelper is deprecated and should no longer be used',
E_USER_DEPRECATED
);
$options = [];
/** @var PageLayoutContext $context */
$context = $this->arguments['context'];
Expand Down
7 changes: 7 additions & 0 deletions Configuration/Services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,10 @@ services:
identifier: 'deepltranslate-core/deepltranslate-core-localization-modes-process'
event: WebVision\Deepl\Base\Event\LocalizationProcessPrepareDataHandlerCommandMapEvent
after: 'deepl-base/process-default-typo3-localization-modes'

WebVision\Deepltranslate\Core\Event\Listener\RenderPageViewLocalizationDropdownEventListener:
tags:
- name: 'event.listener'
identifier: 'deepltranslate-core/translation-dropdown'
event: WebVision\Deepl\Base\Event\ViewHelpers\ModifyInjectVariablesViewHelperEvent
after: 'deepl-base/default-translation'

This file was deleted.

145 changes: 0 additions & 145 deletions Resources/Private/Backend/Partials/PageLayout/LanguageColumns.html

This file was deleted.

Loading