Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Sstalle\php7cc\NodeVisitor; use PhpParser\Node; use Sstalle\php7cc\Compa..
Decoded Output download
<?php
namespace Sstalle\php7cc\NodeVisitor;
use PhpParser\Node;
use Sstalle\php7cc\CompatibilityViolation\Message;
class GlobalVariableVariableVisitor extends AbstractVisitor
{
const LEVEL = Message::LEVEL_ERROR;
/**
* {@inheritdoc}
*/
public function enterNode(Node $node)
{
if (!$node instanceof Node\Stmt\Global_) {
return;
}
foreach ($node->vars as $globalVariable) {
if (!(
$globalVariable->name instanceof Node\Expr\PropertyFetch
|| $globalVariable->name instanceof Node\Expr\StaticPropertyFetch
|| $globalVariable->name instanceof Node\Expr\ArrayDimFetch
)
) {
continue;
}
$startTokenPosition = $globalVariable->getAttribute('startTokenPos') + 1;
$endTokenPosition = $globalVariable->getAttribute('endTokenPos');
if ($this->tokenCollection->isTokenEqualToOrPrecededBy($startTokenPosition, '{')
&& $this->tokenCollection->isTokenEqualToOrFollowedBy($endTokenPosition, '}')
) {
continue;
}
$this->addContextMessage(
'Complex variable without curly braces in global keyword',
$node
);
}
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Sstalle\php7cc\NodeVisitor;
use PhpParser\Node;
use Sstalle\php7cc\CompatibilityViolation\Message;
class GlobalVariableVariableVisitor extends AbstractVisitor
{
const LEVEL = Message::LEVEL_ERROR;
/**
* {@inheritdoc}
*/
public function enterNode(Node $node)
{
if (!$node instanceof Node\Stmt\Global_) {
return;
}
foreach ($node->vars as $globalVariable) {
if (!(
$globalVariable->name instanceof Node\Expr\PropertyFetch
|| $globalVariable->name instanceof Node\Expr\StaticPropertyFetch
|| $globalVariable->name instanceof Node\Expr\ArrayDimFetch
)
) {
continue;
}
$startTokenPosition = $globalVariable->getAttribute('startTokenPos') + 1;
$endTokenPosition = $globalVariable->getAttribute('endTokenPos');
if ($this->tokenCollection->isTokenEqualToOrPrecededBy($startTokenPosition, '{')
&& $this->tokenCollection->isTokenEqualToOrFollowedBy($endTokenPosition, '}')
) {
continue;
}
$this->addContextMessage(
'Complex variable without curly braces in global keyword',
$node
);
}
}
}
Function Calls
None |
Stats
MD5 | 67274d2fa291da80446c7096dc4ad3e4 |
Eval Count | 0 |
Decode Time | 76 ms |