Skip to content

Commit cfcee72

Browse files
authored
Merge pull request #352 from odolbeau/correct-extension
Do not extends extension marked as final
2 parents 649b4aa + 35a82bc commit cfcee72

File tree

3 files changed

+17
-24
lines changed

3 files changed

+17
-24
lines changed

DependencyInjection/TranslationExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ private function enableEditInPlace(ContainerBuilder $container, array $config):
190190
$def->replaceArgument(1, $activatorRef);
191191

192192
$def = $container->getDefinition('php_translation.edit_in_place.extension.trans');
193-
$def->addMethodCall('setActivator', [$activatorRef]);
193+
$def->replaceArgument(2, $activatorRef);
194194
}
195195

196196
/**

Resources/config/edit_in_place.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ services:
2626
public: false
2727
class: Translation\Bundle\Twig\EditInPlaceExtension
2828
arguments:
29-
- '@php_translator.edit_in_place.xtrans_html_translator'
30-
calls:
31-
- [setRequestStack, ['@request_stack']]
29+
- '@twig.extension.trans'
30+
- '@request_stack'
31+
- ~
3232
tags:
3333
- { name: 'twig.extension' }
3434

Twig/EditInPlaceExtension.php

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111

1212
namespace Translation\Bundle\Twig;
1313

14+
use Symfony\Bridge\Twig\Extension\TranslationExtension;
1415
use Symfony\Component\HttpFoundation\RequestStack;
1516
use Translation\Bundle\EditInPlace\ActivatorInterface;
17+
use Twig\Extension\AbstractExtension;
1618
use Twig\TwigFilter;
1719

1820
/**
@@ -21,26 +23,27 @@
2123
*
2224
* @author Damien Alexandre <dalexandre@jolicode.com>
2325
*/
24-
final class EditInPlaceExtension extends \Symfony\Bridge\Twig\Extension\TranslationExtension
26+
final class EditInPlaceExtension extends AbstractExtension
2527
{
26-
/**
27-
* @var ActivatorInterface
28-
*/
28+
private $extension;
29+
private $requestStack;
2930
private $activator;
3031

31-
/**
32-
* @var RequestStack
33-
*/
34-
private $requestStack;
32+
public function __construct(TranslationExtension $extension, RequestStack $requestStack, ActivatorInterface $activator)
33+
{
34+
$this->extension = $extension;
35+
$this->requestStack = $requestStack;
36+
$this->activator = $activator;
37+
}
3538

3639
/**
3740
* {@inheritdoc}
3841
*/
3942
public function getFilters(): array
4043
{
4144
return [
42-
new TwigFilter('trans', [$this, 'trans'], ['is_safe_callback' => [$this, 'isSafe']]),
43-
new TwigFilter('transchoice', [$this, 'transchoice'], ['is_safe_callback' => [$this, 'isSafe']]),
45+
new TwigFilter('trans', [$this->extension, 'trans'], ['is_safe_callback' => [$this, 'isSafe']]),
46+
new TwigFilter('transchoice', [$this->extension, 'transchoice'], ['is_safe_callback' => [$this, 'isSafe']]),
4447
];
4548
}
4649

@@ -52,16 +55,6 @@ public function isSafe($node): array
5255
return $this->activator->checkRequest($this->requestStack->getMasterRequest()) ? ['html'] : [];
5356
}
5457

55-
public function setActivator(ActivatorInterface $activator): void
56-
{
57-
$this->activator = $activator;
58-
}
59-
60-
public function setRequestStack(RequestStack $requestStack): void
61-
{
62-
$this->requestStack = $requestStack;
63-
}
64-
6558
/**
6659
* {@inheritdoc}
6760
*/

0 commit comments

Comments
 (0)