From 989bde3625a496413e4762154fdd56ade80e46b3 Mon Sep 17 00:00:00 2001 From: Denis Ryabov Date: Wed, 3 Aug 2022 16:33:39 +0300 Subject: [PATCH] fix displaying unmodified file content in error message(s) --- .../components/com_jedchecker/libraries/rules/encoding.php | 3 ++- .../com_jedchecker/libraries/rules/errorreporting.php | 3 ++- .../components/com_jedchecker/libraries/rules/jamss.php | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_jedchecker/libraries/rules/encoding.php b/administrator/components/com_jedchecker/libraries/rules/encoding.php index 5ac1d09..30fef02 100644 --- a/administrator/components/com_jedchecker/libraries/rules/encoding.php +++ b/administrator/components/com_jedchecker/libraries/rules/encoding.php @@ -105,6 +105,7 @@ class JedcheckerRulesEncoding extends JEDcheckerRule protected function find($file) { $content = file_get_contents($file); + $origContent = JEDCheckerHelper::splitLines($content); // Exclude comments $content = JEDCheckerHelper::cleanPhpCode( @@ -120,7 +121,7 @@ class JedcheckerRulesEncoding extends JEDcheckerRule if (preg_match($this->encodingsRegex, $line)) { $found = true; - $this->report->addWarning($file, JText::_('COM_JEDCHECKER_ERROR_ENCODING'), $i + 1, $line); + $this->report->addWarning($file, JText::_('COM_JEDCHECKER_ERROR_ENCODING'), $i + 1, $origContent[$i]); } } diff --git a/administrator/components/com_jedchecker/libraries/rules/errorreporting.php b/administrator/components/com_jedchecker/libraries/rules/errorreporting.php index e36036d..6d398cf 100644 --- a/administrator/components/com_jedchecker/libraries/rules/errorreporting.php +++ b/administrator/components/com_jedchecker/libraries/rules/errorreporting.php @@ -106,6 +106,7 @@ class JedcheckerRulesErrorreporting extends JEDcheckerRule protected function find($file) { $content = file_get_contents($file); + $origContent = JEDCheckerHelper::splitLines($content); // Exclude non-code content $content = JEDCheckerHelper::cleanPhpCode( @@ -121,7 +122,7 @@ class JedcheckerRulesErrorreporting extends JEDcheckerRule if (preg_match($this->errorreportingRegex, $line)) { $found = true; - $this->report->addWarning($file, JText::_('COM_JEDCHECKER_ERROR_ERRORREPORTING'), $i + 1, $line); + $this->report->addWarning($file, JText::_('COM_JEDCHECKER_ERROR_ERRORREPORTING'), $i + 1, $origContent[$i]); } } diff --git a/administrator/components/com_jedchecker/libraries/rules/jamss.php b/administrator/components/com_jedchecker/libraries/rules/jamss.php index 1d73c6a..3303ff3 100644 --- a/administrator/components/com_jedchecker/libraries/rules/jamss.php +++ b/administrator/components/com_jedchecker/libraries/rules/jamss.php @@ -340,6 +340,7 @@ class JedcheckerRulesJamss extends JEDcheckerRule } else { + $origContent = JEDCheckerHelper::splitLines($content); $scopes = array( 'full' => $content, 'clean' => JEDCheckerHelper::cleanPhpCode($content, JEDCheckerHelper::CLEAN_COMMENTS), @@ -403,8 +404,8 @@ class JedcheckerRulesJamss extends JEDcheckerRule $end = strlen($scoped_content); } - $first_code = substr($scoped_content, $start, min($end - $start, 200)); $first_line = $this->calculate_line_number($offset, $scoped_content); + $first_code = $origContent[$first_line - 1]; break; }