Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/sitepres.../lib/twig/src/Node
File: SetNode.php
<?php
[0] Fix | Delete
[1] Fix | Delete
/*
[2] Fix | Delete
* This file is part of Twig.
[3] Fix | Delete
*
[4] Fix | Delete
* (c) Fabien Potencier
[5] Fix | Delete
*
[6] Fix | Delete
* For the full copyright and license information, please view the LICENSE
[7] Fix | Delete
* file that was distributed with this source code.
[8] Fix | Delete
*/
[9] Fix | Delete
namespace WPML\Core\Twig\Node;
[10] Fix | Delete
[11] Fix | Delete
use WPML\Core\Twig\Compiler;
[12] Fix | Delete
use WPML\Core\Twig\Node\Expression\ConstantExpression;
[13] Fix | Delete
/**
[14] Fix | Delete
* Represents a set node.
[15] Fix | Delete
*
[16] Fix | Delete
* @author Fabien Potencier <fabien@symfony.com>
[17] Fix | Delete
*/
[18] Fix | Delete
class SetNode extends \WPML\Core\Twig\Node\Node implements \WPML\Core\Twig\Node\NodeCaptureInterface
[19] Fix | Delete
{
[20] Fix | Delete
public function __construct($capture, \WPML\Core\Twig_NodeInterface $names, \WPML\Core\Twig_NodeInterface $values, $lineno, $tag = null)
[21] Fix | Delete
{
[22] Fix | Delete
parent::__construct(['names' => $names, 'values' => $values], ['capture' => $capture, 'safe' => \false], $lineno, $tag);
[23] Fix | Delete
/*
[24] Fix | Delete
* Optimizes the node when capture is used for a large block of text.
[25] Fix | Delete
*
[26] Fix | Delete
* {% set foo %}foo{% endset %} is compiled to $context['foo'] = new Twig\Markup("foo");
[27] Fix | Delete
*/
[28] Fix | Delete
if ($this->getAttribute('capture')) {
[29] Fix | Delete
$this->setAttribute('safe', \true);
[30] Fix | Delete
$values = $this->getNode('values');
[31] Fix | Delete
if ($values instanceof \WPML\Core\Twig\Node\TextNode) {
[32] Fix | Delete
$this->setNode('values', new \WPML\Core\Twig\Node\Expression\ConstantExpression($values->getAttribute('data'), $values->getTemplateLine()));
[33] Fix | Delete
$this->setAttribute('capture', \false);
[34] Fix | Delete
}
[35] Fix | Delete
}
[36] Fix | Delete
}
[37] Fix | Delete
public function compile(\WPML\Core\Twig\Compiler $compiler)
[38] Fix | Delete
{
[39] Fix | Delete
$compiler->addDebugInfo($this);
[40] Fix | Delete
if (\count($this->getNode('names')) > 1) {
[41] Fix | Delete
$compiler->write('list(');
[42] Fix | Delete
foreach ($this->getNode('names') as $idx => $node) {
[43] Fix | Delete
if ($idx) {
[44] Fix | Delete
$compiler->raw(', ');
[45] Fix | Delete
}
[46] Fix | Delete
$compiler->subcompile($node);
[47] Fix | Delete
}
[48] Fix | Delete
$compiler->raw(')');
[49] Fix | Delete
} else {
[50] Fix | Delete
if ($this->getAttribute('capture')) {
[51] Fix | Delete
if ($compiler->getEnvironment()->isDebug()) {
[52] Fix | Delete
$compiler->write("ob_start();\n");
[53] Fix | Delete
} else {
[54] Fix | Delete
$compiler->write("ob_start(function () { return ''; });\n");
[55] Fix | Delete
}
[56] Fix | Delete
$compiler->subcompile($this->getNode('values'));
[57] Fix | Delete
}
[58] Fix | Delete
$compiler->subcompile($this->getNode('names'), \false);
[59] Fix | Delete
if ($this->getAttribute('capture')) {
[60] Fix | Delete
$compiler->raw(" = ('' === \$tmp = ob_get_clean()) ? '' : new Markup(\$tmp, \$this->env->getCharset())");
[61] Fix | Delete
}
[62] Fix | Delete
}
[63] Fix | Delete
if (!$this->getAttribute('capture')) {
[64] Fix | Delete
$compiler->raw(' = ');
[65] Fix | Delete
if (\count($this->getNode('names')) > 1) {
[66] Fix | Delete
$compiler->write('[');
[67] Fix | Delete
foreach ($this->getNode('values') as $idx => $value) {
[68] Fix | Delete
if ($idx) {
[69] Fix | Delete
$compiler->raw(', ');
[70] Fix | Delete
}
[71] Fix | Delete
$compiler->subcompile($value);
[72] Fix | Delete
}
[73] Fix | Delete
$compiler->raw(']');
[74] Fix | Delete
} else {
[75] Fix | Delete
if ($this->getAttribute('safe')) {
[76] Fix | Delete
$compiler->raw("('' === \$tmp = ")->subcompile($this->getNode('values'))->raw(") ? '' : new Markup(\$tmp, \$this->env->getCharset())");
[77] Fix | Delete
} else {
[78] Fix | Delete
$compiler->subcompile($this->getNode('values'));
[79] Fix | Delete
}
[80] Fix | Delete
}
[81] Fix | Delete
}
[82] Fix | Delete
$compiler->raw(";\n");
[83] Fix | Delete
}
[84] Fix | Delete
}
[85] Fix | Delete
\class_alias('WPML\\Core\\Twig\\Node\\SetNode', 'WPML\\Core\\Twig_Node_Set');
[86] Fix | Delete
[87] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function