This commit is contained in:
Fabien Potencier
2023-12-10 20:24:52 +01:00
parent 54d34b969b
commit aa7c454e2d
13 changed files with 30 additions and 24 deletions
@@ -33,7 +33,7 @@ class CssInlinerExtension extends AbstractExtension
if (null === $inliner) {
$inliner = new CssToInlineStyles();
}
return $inliner->convert($body, implode("\n", $css));
}
}
@@ -13,6 +13,7 @@ namespace Twig\Extra\CssInliner;
/**
* @internal
*
* @deprecated since Twig 3.9.0
*/
function twig_inline_css(string $body, string ...$css): string
@@ -13,6 +13,7 @@ namespace Twig\Extra\CssInliner\Tests;
use PHPUnit\Framework\TestCase;
use Twig\Extra\CssInliner\CssInlinerExtension;
use function Twig\Extra\CssInliner\twig_inline_css;
/**
+1
View File
@@ -13,6 +13,7 @@ use Twig\Extra\Html\HtmlExtension;
/**
* @internal
*
* @deprecated since Twig 3.9.0
*/
function twig_html_classes(...$args): string
+1
View File
@@ -13,6 +13,7 @@ namespace Twig\Extra\Inky;
/**
* @internal
*
* @deprecated since Twig 3.9.0
*/
function twig_inky(string $body): string
@@ -13,6 +13,7 @@ namespace Twig\Extra\Inky\Tests;
use PHPUnit\Framework\TestCase;
use Twig\Extra\Inky\InkyExtension;
use function Twig\Extra\Inky\twig_inky;
/**
+4 -4
View File
@@ -31,21 +31,21 @@ final class MarkdownExtension extends AbstractExtension
public static function htmlToMarkdown(string $body, array $options = []): string
{
static $converters;
if (!class_exists(HtmlConverter::class)) {
throw new \LogicException('You cannot use the "html_to_markdown" filter as league/html-to-markdown is not installed; try running "composer require league/html-to-markdown".');
}
$options += [
'hard_break' => true,
'strip_tags' => true,
'remove_nodes' => 'head style',
];
if (!isset($converters[$key = serialize($options)])) {
$converters[$key] = new HtmlConverter($options);
}
return $converters[$key]->convert($body);
}
}
@@ -13,6 +13,7 @@ namespace Twig\Extra\Markdown;
/**
* @internal
*
* @deprecated since Twig 3.9.0
*/
function html_to_markdown(string $body, array $options = []): string
@@ -12,9 +12,11 @@
namespace Twig\Extra\Markdown\Tests;
use PHPUnit\Framework\TestCase;
use Twig\Extra\Markdown\MarkdownExtension;
use function Twig\Extra\Markdown\html_to_markdown;
use Twig\Extra\Markdown\MarkdownExtension;
/**
* @group legacy
*/
+1 -2
View File
@@ -653,7 +653,6 @@ final class CoreExtension extends AbstractExtension
return $result;
}
/**
* Slices a variable.
*
@@ -1215,7 +1214,7 @@ final class CoreExtension extends AbstractExtension
/**
* Strips HTML and PHP tags from a string.
*
* @param string|null $string
* @param string|null $string
* @param string[]|string|null $string
*
* @return string
+5 -5
View File
@@ -12,9 +12,9 @@
namespace Twig\Extension;
use Twig\Environment;
use Twig\TwigFunction;
use Twig\Template;
use Twig\TemplateWrapper;
use Twig\TwigFunction;
final class DebugExtension extends AbstractExtension
{
@@ -43,9 +43,9 @@ final class DebugExtension extends AbstractExtension
if (!$env->isDebug()) {
return;
}
ob_start();
if (!$vars) {
$vars = [];
foreach ($context as $key => $value) {
@@ -53,12 +53,12 @@ final class DebugExtension extends AbstractExtension
$vars[$key] = $value;
}
}
var_dump($vars);
} else {
var_dump(...$vars);
}
return ob_get_clean();
}
}
+9 -10
View File
@@ -21,7 +21,6 @@ use Twig\NodeVisitor\EscaperNodeVisitor;
use Twig\TokenParser\AutoEscapeTokenParser;
use Twig\TwigFilter;
final class EscaperExtension extends AbstractExtension
{
private $defaultStrategy;
@@ -177,7 +176,7 @@ final class EscaperExtension extends AbstractExtension
* @param bool $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
*
* @return string
*
*
* @internal
*/
public static function escape(Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
@@ -190,7 +189,7 @@ final class EscaperExtension extends AbstractExtension
if (\is_object($string) && method_exists($string, '__toString')) {
if ($autoescape) {
$c = \get_class($string);
$ext = $env->getExtension(EscaperExtension::class);
$ext = $env->getExtension(self::class);
if (!isset($ext->safeClasses[$c])) {
$ext->safeClasses[$c] = [];
foreach (class_parents($string) + class_implements($string) as $class) {
@@ -256,7 +255,7 @@ final class EscaperExtension extends AbstractExtension
return htmlspecialchars($string, \ENT_QUOTES | \ENT_SUBSTITUTE, $charset);
}
$string = twig_convert_encoding($string, 'UTF-8', $charset);
$string = CoreExtension::convertEncoding($string, 'UTF-8', $charset);
$string = htmlspecialchars($string, \ENT_QUOTES | \ENT_SUBSTITUTE, 'UTF-8');
return iconv('UTF-8', $charset, $string);
@@ -265,7 +264,7 @@ final class EscaperExtension extends AbstractExtension
// escape all non-alphanumeric characters
// into their \x or \uHHHH representations
if ('UTF-8' !== $charset) {
$string = twig_convert_encoding($string, 'UTF-8', $charset);
$string = CoreExtension::convertEncoding($string, 'UTF-8', $charset);
}
if (!preg_match('//u', $string)) {
@@ -316,7 +315,7 @@ final class EscaperExtension extends AbstractExtension
case 'css':
if ('UTF-8' !== $charset) {
$string = twig_convert_encoding($string, 'UTF-8', $charset);
$string = CoreExtension::convertEncoding($string, 'UTF-8', $charset);
}
if (!preg_match('//u', $string)) {
@@ -337,7 +336,7 @@ final class EscaperExtension extends AbstractExtension
case 'html_attr':
if ('UTF-8' !== $charset) {
$string = twig_convert_encoding($string, 'UTF-8', $charset);
$string = CoreExtension::convertEncoding($string, 'UTF-8', $charset);
}
if (!preg_match('//u', $string)) {
@@ -404,14 +403,14 @@ final class EscaperExtension extends AbstractExtension
return rawurlencode($string);
default:
$escapers = $env->getExtension(EscaperExtension::class)->getEscapers();
$escapers = $env->getExtension(self::class)->getEscapers();
if (\array_key_exists($strategy, $escapers)) {
return $escapers[$strategy]($env, $string, $charset);
}
$validStrategies = implode(', ', array_merge(['html', 'js', 'url', 'css', 'html_attr'], array_keys($escapers)));
$validStrategies = implode('", "', array_merge(['html', 'js', 'url', 'css', 'html_attr'], array_keys($escapers)));
throw new RuntimeError(sprintf('Invalid escaping strategy "%s" (valid ones: %s).', $strategy, $validStrategies));
throw new RuntimeError(sprintf('Invalid escaping strategy "%s" (valid ones: "%s").', $strategy, $validStrategies));
}
}
}
+1 -1
View File
@@ -31,7 +31,7 @@ final class StringLoaderExtension extends AbstractExtension
*
* @param string $template A template as a string or object implementing __toString()
* @param string $name An optional name of the template to be used in error messages
*
*
* @internal
*/
public static function templateFromString(Environment $env, $template, string $name = null): TemplateWrapper