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

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/sitepres.../lib/twig/src
File: ExpressionParser.php
}
[500] Fix | Delete
$name = null;
[501] Fix | Delete
if ($namedArguments && ($token = $stream->nextIf(\WPML\Core\Twig\Token::OPERATOR_TYPE, '='))) {
[502] Fix | Delete
if (!$value instanceof \WPML\Core\Twig\Node\Expression\NameExpression) {
[503] Fix | Delete
throw new \WPML\Core\Twig\Error\SyntaxError(\sprintf('A parameter name must be a string, "%s" given.', \get_class($value)), $token->getLine(), $stream->getSourceContext());
[504] Fix | Delete
}
[505] Fix | Delete
$name = $value->getAttribute('name');
[506] Fix | Delete
if ($definition) {
[507] Fix | Delete
$value = $this->parsePrimaryExpression();
[508] Fix | Delete
if (!$this->checkConstantExpression($value)) {
[509] Fix | Delete
throw new \WPML\Core\Twig\Error\SyntaxError(\sprintf('A default value for an argument must be a constant (a boolean, a string, a number, or an array).'), $token->getLine(), $stream->getSourceContext());
[510] Fix | Delete
}
[511] Fix | Delete
} else {
[512] Fix | Delete
$value = $this->parseExpression(0, $allowArrow);
[513] Fix | Delete
}
[514] Fix | Delete
}
[515] Fix | Delete
if ($definition) {
[516] Fix | Delete
if (null === $name) {
[517] Fix | Delete
$name = $value->getAttribute('name');
[518] Fix | Delete
$value = new \WPML\Core\Twig\Node\Expression\ConstantExpression(null, $this->parser->getCurrentToken()->getLine());
[519] Fix | Delete
}
[520] Fix | Delete
$args[$name] = $value;
[521] Fix | Delete
} else {
[522] Fix | Delete
if (null === $name) {
[523] Fix | Delete
$args[] = $value;
[524] Fix | Delete
} else {
[525] Fix | Delete
$args[$name] = $value;
[526] Fix | Delete
}
[527] Fix | Delete
}
[528] Fix | Delete
}
[529] Fix | Delete
$stream->expect(\WPML\Core\Twig\Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
[530] Fix | Delete
return new \WPML\Core\Twig\Node\Node($args);
[531] Fix | Delete
}
[532] Fix | Delete
public function parseAssignmentExpression()
[533] Fix | Delete
{
[534] Fix | Delete
$stream = $this->parser->getStream();
[535] Fix | Delete
$targets = [];
[536] Fix | Delete
while (\true) {
[537] Fix | Delete
$token = $this->parser->getCurrentToken();
[538] Fix | Delete
if ($stream->test(\WPML\Core\Twig\Token::OPERATOR_TYPE) && \preg_match(\WPML\Core\Twig\Lexer::REGEX_NAME, $token->getValue())) {
[539] Fix | Delete
// in this context, string operators are variable names
[540] Fix | Delete
$this->parser->getStream()->next();
[541] Fix | Delete
} else {
[542] Fix | Delete
$stream->expect(\WPML\Core\Twig\Token::NAME_TYPE, null, 'Only variables can be assigned to');
[543] Fix | Delete
}
[544] Fix | Delete
$value = $token->getValue();
[545] Fix | Delete
if (\in_array(\strtolower($value), ['true', 'false', 'none', 'null'])) {
[546] Fix | Delete
throw new \WPML\Core\Twig\Error\SyntaxError(\sprintf('You cannot assign a value to "%s".', $value), $token->getLine(), $stream->getSourceContext());
[547] Fix | Delete
}
[548] Fix | Delete
$targets[] = new \WPML\Core\Twig\Node\Expression\AssignNameExpression($value, $token->getLine());
[549] Fix | Delete
if (!$stream->nextIf(\WPML\Core\Twig\Token::PUNCTUATION_TYPE, ',')) {
[550] Fix | Delete
break;
[551] Fix | Delete
}
[552] Fix | Delete
}
[553] Fix | Delete
return new \WPML\Core\Twig\Node\Node($targets);
[554] Fix | Delete
}
[555] Fix | Delete
public function parseMultitargetExpression()
[556] Fix | Delete
{
[557] Fix | Delete
$targets = [];
[558] Fix | Delete
while (\true) {
[559] Fix | Delete
$targets[] = $this->parseExpression();
[560] Fix | Delete
if (!$this->parser->getStream()->nextIf(\WPML\Core\Twig\Token::PUNCTUATION_TYPE, ',')) {
[561] Fix | Delete
break;
[562] Fix | Delete
}
[563] Fix | Delete
}
[564] Fix | Delete
return new \WPML\Core\Twig\Node\Node($targets);
[565] Fix | Delete
}
[566] Fix | Delete
private function parseNotTestExpression(\WPML\Core\Twig_NodeInterface $node)
[567] Fix | Delete
{
[568] Fix | Delete
return new \WPML\Core\Twig\Node\Expression\Unary\NotUnary($this->parseTestExpression($node), $this->parser->getCurrentToken()->getLine());
[569] Fix | Delete
}
[570] Fix | Delete
private function parseTestExpression(\WPML\Core\Twig_NodeInterface $node)
[571] Fix | Delete
{
[572] Fix | Delete
$stream = $this->parser->getStream();
[573] Fix | Delete
list($name, $test) = $this->getTest($node->getTemplateLine());
[574] Fix | Delete
$class = $this->getTestNodeClass($test);
[575] Fix | Delete
$arguments = null;
[576] Fix | Delete
if ($stream->test(\WPML\Core\Twig\Token::PUNCTUATION_TYPE, '(')) {
[577] Fix | Delete
$arguments = $this->parseArguments(\true);
[578] Fix | Delete
}
[579] Fix | Delete
return new $class($node, $name, $arguments, $this->parser->getCurrentToken()->getLine());
[580] Fix | Delete
}
[581] Fix | Delete
private function getTest($line)
[582] Fix | Delete
{
[583] Fix | Delete
$stream = $this->parser->getStream();
[584] Fix | Delete
$name = $stream->expect(\WPML\Core\Twig\Token::NAME_TYPE)->getValue();
[585] Fix | Delete
if ($test = $this->env->getTest($name)) {
[586] Fix | Delete
return [$name, $test];
[587] Fix | Delete
}
[588] Fix | Delete
if ($stream->test(\WPML\Core\Twig\Token::NAME_TYPE)) {
[589] Fix | Delete
// try 2-words tests
[590] Fix | Delete
$name = $name . ' ' . $this->parser->getCurrentToken()->getValue();
[591] Fix | Delete
if ($test = $this->env->getTest($name)) {
[592] Fix | Delete
$stream->next();
[593] Fix | Delete
return [$name, $test];
[594] Fix | Delete
}
[595] Fix | Delete
}
[596] Fix | Delete
$e = new \WPML\Core\Twig\Error\SyntaxError(\sprintf('Unknown "%s" test.', $name), $line, $stream->getSourceContext());
[597] Fix | Delete
$e->addSuggestions($name, \array_keys($this->env->getTests()));
[598] Fix | Delete
throw $e;
[599] Fix | Delete
}
[600] Fix | Delete
private function getTestNodeClass($test)
[601] Fix | Delete
{
[602] Fix | Delete
if ($test instanceof \WPML\Core\Twig\TwigTest && $test->isDeprecated()) {
[603] Fix | Delete
$stream = $this->parser->getStream();
[604] Fix | Delete
$message = \sprintf('Twig Test "%s" is deprecated', $test->getName());
[605] Fix | Delete
if (!\is_bool($test->getDeprecatedVersion())) {
[606] Fix | Delete
$message .= \sprintf(' since version %s', $test->getDeprecatedVersion());
[607] Fix | Delete
}
[608] Fix | Delete
if ($test->getAlternative()) {
[609] Fix | Delete
$message .= \sprintf('. Use "%s" instead', $test->getAlternative());
[610] Fix | Delete
}
[611] Fix | Delete
$src = $stream->getSourceContext();
[612] Fix | Delete
$message .= \sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $stream->getCurrent()->getLine());
[613] Fix | Delete
@\trigger_error($message, \E_USER_DEPRECATED);
[614] Fix | Delete
}
[615] Fix | Delete
if ($test instanceof \WPML\Core\Twig\TwigTest) {
[616] Fix | Delete
return $test->getNodeClass();
[617] Fix | Delete
}
[618] Fix | Delete
return $test instanceof \WPML\Core\Twig_Test_Node ? $test->getClass() : 'Twig\\Node\\Expression\\TestExpression';
[619] Fix | Delete
}
[620] Fix | Delete
protected function getFunctionNodeClass($name, $line)
[621] Fix | Delete
{
[622] Fix | Delete
if (\false === ($function = $this->env->getFunction($name))) {
[623] Fix | Delete
$e = new \WPML\Core\Twig\Error\SyntaxError(\sprintf('Unknown "%s" function.', $name), $line, $this->parser->getStream()->getSourceContext());
[624] Fix | Delete
$e->addSuggestions($name, \array_keys($this->env->getFunctions()));
[625] Fix | Delete
throw $e;
[626] Fix | Delete
}
[627] Fix | Delete
if ($function instanceof \WPML\Core\Twig\TwigFunction && $function->isDeprecated()) {
[628] Fix | Delete
$message = \sprintf('Twig Function "%s" is deprecated', $function->getName());
[629] Fix | Delete
if (!\is_bool($function->getDeprecatedVersion())) {
[630] Fix | Delete
$message .= \sprintf(' since version %s', $function->getDeprecatedVersion());
[631] Fix | Delete
}
[632] Fix | Delete
if ($function->getAlternative()) {
[633] Fix | Delete
$message .= \sprintf('. Use "%s" instead', $function->getAlternative());
[634] Fix | Delete
}
[635] Fix | Delete
$src = $this->parser->getStream()->getSourceContext();
[636] Fix | Delete
$message .= \sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $line);
[637] Fix | Delete
@\trigger_error($message, \E_USER_DEPRECATED);
[638] Fix | Delete
}
[639] Fix | Delete
if ($function instanceof \WPML\Core\Twig\TwigFunction) {
[640] Fix | Delete
return $function->getNodeClass();
[641] Fix | Delete
}
[642] Fix | Delete
return $function instanceof \WPML\Core\Twig_Function_Node ? $function->getClass() : 'Twig\\Node\\Expression\\FunctionExpression';
[643] Fix | Delete
}
[644] Fix | Delete
protected function getFilterNodeClass($name, $line)
[645] Fix | Delete
{
[646] Fix | Delete
if (\false === ($filter = $this->env->getFilter($name))) {
[647] Fix | Delete
$e = new \WPML\Core\Twig\Error\SyntaxError(\sprintf('Unknown "%s" filter.', $name), $line, $this->parser->getStream()->getSourceContext());
[648] Fix | Delete
$e->addSuggestions($name, \array_keys($this->env->getFilters()));
[649] Fix | Delete
throw $e;
[650] Fix | Delete
}
[651] Fix | Delete
if ($filter instanceof \WPML\Core\Twig\TwigFilter && $filter->isDeprecated()) {
[652] Fix | Delete
$message = \sprintf('Twig Filter "%s" is deprecated', $filter->getName());
[653] Fix | Delete
if (!\is_bool($filter->getDeprecatedVersion())) {
[654] Fix | Delete
$message .= \sprintf(' since version %s', $filter->getDeprecatedVersion());
[655] Fix | Delete
}
[656] Fix | Delete
if ($filter->getAlternative()) {
[657] Fix | Delete
$message .= \sprintf('. Use "%s" instead', $filter->getAlternative());
[658] Fix | Delete
}
[659] Fix | Delete
$src = $this->parser->getStream()->getSourceContext();
[660] Fix | Delete
$message .= \sprintf(' in %s at line %d.', $src->getPath() ? $src->getPath() : $src->getName(), $line);
[661] Fix | Delete
@\trigger_error($message, \E_USER_DEPRECATED);
[662] Fix | Delete
}
[663] Fix | Delete
if ($filter instanceof \WPML\Core\Twig\TwigFilter) {
[664] Fix | Delete
return $filter->getNodeClass();
[665] Fix | Delete
}
[666] Fix | Delete
return $filter instanceof \WPML\Core\Twig_Filter_Node ? $filter->getClass() : 'Twig\\Node\\Expression\\FilterExpression';
[667] Fix | Delete
}
[668] Fix | Delete
// checks that the node only contains "constant" elements
[669] Fix | Delete
protected function checkConstantExpression(\WPML\Core\Twig_NodeInterface $node)
[670] Fix | Delete
{
[671] Fix | Delete
if (!($node instanceof \WPML\Core\Twig\Node\Expression\ConstantExpression || $node instanceof \WPML\Core\Twig\Node\Expression\ArrayExpression || $node instanceof \WPML\Core\Twig\Node\Expression\Unary\NegUnary || $node instanceof \WPML\Core\Twig\Node\Expression\Unary\PosUnary)) {
[672] Fix | Delete
return \false;
[673] Fix | Delete
}
[674] Fix | Delete
foreach ($node as $n) {
[675] Fix | Delete
if (!$this->checkConstantExpression($n)) {
[676] Fix | Delete
return \false;
[677] Fix | Delete
}
[678] Fix | Delete
}
[679] Fix | Delete
return \true;
[680] Fix | Delete
}
[681] Fix | Delete
}
[682] Fix | Delete
\class_alias('WPML\\Core\\Twig\\ExpressionParser', 'WPML\\Core\\Twig_ExpressionParser');
[683] Fix | Delete
[684] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function