From edf06dc1353b50f105ad183d471f9bd8e058986b Mon Sep 17 00:00:00 2001 From: Denis Ryabov Date: Tue, 9 Mar 2021 23:39:05 +0300 Subject: [PATCH] Allow declare/namespace/use statements before the JEXEC guard --- .../components/com_jedchecker/libraries/rules/jexec.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/administrator/components/com_jedchecker/libraries/rules/jexec.php b/administrator/components/com_jedchecker/libraries/rules/jexec.php index 34aba0a..25bbfc8 100644 --- a/administrator/components/com_jedchecker/libraries/rules/jexec.php +++ b/administrator/components/com_jedchecker/libraries/rules/jexec.php @@ -122,6 +122,9 @@ class JedcheckerRulesJexec extends JEDcheckerRule $this->regex = '#^' // at the beginning of the file . '<\?php\s+' // there is an opening php tag + . '(?:declare ?\(strict_types ?= ?1 ?\) ?; ?)?' // optionally followed by declare(strict_types=1) directive + . '(?:namespace [0-9A-Za-z_\\\\]+ ?; ?)?' // optionally followed by namespace directive + . '(?:use [0-9A-Za-z_\\\\]+ ?(?:as [0-9A-Za-z_]+ ?)?; ?)*' // optionally followed by use directives . 'defined ?\( ?' // followed by defined test . '([\'"])(?:' . implode('|', $defines) . ')\1' // of any of given constant . ' ?\) ?(?:or |\|\| ?)(?:die|exit)\b' // or exit