diff --git a/mailpoet/lib/Config/Renderer.php b/mailpoet/lib/Config/Renderer.php index 22605a739b..f53c673007 100644 --- a/mailpoet/lib/Config/Renderer.php +++ b/mailpoet/lib/Config/Renderer.php @@ -3,6 +3,7 @@ namespace MailPoet\Config; use MailPoet\Twig; +use MailPoet\WP\Functions as WPFunctions; use MailPoetVendor\Twig\Extension\DebugExtension; use MailPoetVendor\Twig\Lexer as TwigLexer; use MailPoetVendor\Twig\Loader\FilesystemLoader as TwigFileSystem; @@ -78,7 +79,8 @@ class Renderer { 'assets_url' => Env::$assetsUrl, 'assets_manifest_js' => $this->assetsManifestJs, 'assets_manifest_css' => $this->assetsManifestCss, - ])); + ], + WPFunctions::get())); } public function setupSyntax() { diff --git a/mailpoet/lib/Twig/Assets.php b/mailpoet/lib/Twig/Assets.php index 295a397415..cb99587ea2 100644 --- a/mailpoet/lib/Twig/Assets.php +++ b/mailpoet/lib/Twig/Assets.php @@ -12,14 +12,19 @@ use MailPoetVendor\Twig\TwigFunction; class Assets extends AbstractExtension { private $globals; + /** @var WPFunctions */ + private $wp; + /** @var CdnAssetUrl|null */ private $cdnAssetsUrl; public function __construct( array $globals, + WPFunctions $wp, CdnAssetUrl $cdnAssetsUrl = null ) { $this->globals = $globals; + $this->wp = $wp; $this->cdnAssetsUrl = $cdnAssetsUrl; } @@ -50,6 +55,11 @@ class Assets extends AbstractExtension { [$this, 'generateCdnUrl'], ['is_safe' => ['all']] ), + new TwigFunction( + 'language', + [$this, 'language'], + ['is_safe' => ['all']] + ), ]; } @@ -68,6 +78,10 @@ class Assets extends AbstractExtension { return join("\n", $output); } + public function language() { + return $this->wp->getBlogInfo('language'); + } + public function generateJavascript() { $scripts = func_get_args(); $output = []; diff --git a/mailpoet/tests/integration/Twig/AssetsTest.php b/mailpoet/tests/integration/Twig/AssetsTest.php index db23b172d1..092fb5916f 100644 --- a/mailpoet/tests/integration/Twig/AssetsTest.php +++ b/mailpoet/tests/integration/Twig/AssetsTest.php @@ -5,6 +5,7 @@ namespace MailPoet\Test\Twig; use MailPoet\Config\Env; use MailPoet\Twig\Assets; use MailPoet\Util\CdnAssetUrl; +use MailPoet\WP\Functions as WPFunctions; class AssetsTest extends \MailPoetTest { public $assetsExtension; @@ -22,6 +23,7 @@ class AssetsTest extends \MailPoetTest { 'assets_manifest_css' => false, 'version' => $this->version, ], + WPFunctions::get(), new CdnAssetUrl('') ); } @@ -38,6 +40,7 @@ class AssetsTest extends \MailPoetTest { 'assets_manifest_js' => $manifest, 'version' => $this->version, ], + WPFunctions::get(), new CdnAssetUrl('') ); @@ -76,6 +79,7 @@ class AssetsTest extends \MailPoetTest { 'assets_manifest_css' => $manifest, 'version' => $this->version, ], + WPFunctions::get(), new CdnAssetUrl('') );