mirror of
https://github.com/joomla-extensions/jedchecker.git
synced 2024-12-01 01:03:55 +00:00
check BOM in the Framework rule
This commit is contained in:
parent
448b5c59a9
commit
3aa1682131
@ -55,6 +55,7 @@ COM_JEDCHECKER_OLD_RULE_X_PHP_FILE_REMOVED="Removed PHP file for '%s' rule."
|
|||||||
COM_JEDCHECKER_OLD_RULE_X_INI_FILE_REMOVED="Removed 'ini' file for '%s' rule."
|
COM_JEDCHECKER_OLD_RULE_X_INI_FILE_REMOVED="Removed 'ini' file for '%s' rule."
|
||||||
COM_JEDCHECKER_RULE_FRAMEWORK="Joomla Framework deprecated and unsafe"
|
COM_JEDCHECKER_RULE_FRAMEWORK="Joomla Framework deprecated and unsafe"
|
||||||
COM_JEDCHECKER_RULE_FRAMEWORK_DESC="Warns about <ul><li>superglobals</li><li>commonly used but deprecated functions</li><li>highly unsafe functions</li></ul>Find more info <a href='https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3.0_and_Joomla_Platform_12.1' target='_blank'>on Joomla! backward compatibility for Joomla! 3</a> and <a href="https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4">Joomla! 4</a>"
|
COM_JEDCHECKER_RULE_FRAMEWORK_DESC="Warns about <ul><li>superglobals</li><li>commonly used but deprecated functions</li><li>highly unsafe functions</li></ul>Find more info <a href='https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3.0_and_Joomla_Platform_12.1' target='_blank'>on Joomla! backward compatibility for Joomla! 3</a> and <a href="https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4">Joomla! 4</a>"
|
||||||
|
COM_JEDCHECKER_ERROR_FRAMEWORK_BOM_FOUND="The byte order mark (BOM) is detected"
|
||||||
COM_JEDCHECKER_ERROR_FRAMEWORK_SHORT_PHP_TAG="Short PHP tag found. As short tags can be disabled in PHP, it is recommended to only use the normal tags (<?php) to maximise compatibility."
|
COM_JEDCHECKER_ERROR_FRAMEWORK_SHORT_PHP_TAG="Short PHP tag found. As short tags can be disabled in PHP, it is recommended to only use the normal tags (<?php) to maximise compatibility."
|
||||||
COM_JEDCHECKER_ERROR_FRAMEWORK_SUPERGLOBALS="Use of superglobals is strongly discouraged"
|
COM_JEDCHECKER_ERROR_FRAMEWORK_SUPERGLOBALS="Use of superglobals is strongly discouraged"
|
||||||
COM_JEDCHECKER_ERROR_FRAMEWORK_DIRECTDB="Use of direct database access is strongly discouraged"
|
COM_JEDCHECKER_ERROR_FRAMEWORK_DIRECTDB="Use of direct database access is strongly discouraged"
|
||||||
|
@ -140,15 +140,23 @@ class JedcheckerRulesFramework extends JEDcheckerRule
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result = false;
|
||||||
|
|
||||||
$content = file_get_contents($file);
|
$content = file_get_contents($file);
|
||||||
|
|
||||||
|
// Check BOM
|
||||||
|
if (strncmp($content, "\xEF\xBB\xBF", 3) === 0)
|
||||||
|
{
|
||||||
|
$this->report->addError($file, JText::_('COM_JEDCHECKER_ERROR_FRAMEWORK_BOM_FOUND'));
|
||||||
|
$result = true;
|
||||||
|
}
|
||||||
|
|
||||||
$content = JEDCheckerHelper::cleanPhpCode(
|
$content = JEDCheckerHelper::cleanPhpCode(
|
||||||
$content,
|
$content,
|
||||||
JEDCheckerHelper::CLEAN_HTML | JEDCheckerHelper::CLEAN_COMMENTS | JEDCheckerHelper::CLEAN_STRINGS
|
JEDCheckerHelper::CLEAN_HTML | JEDCheckerHelper::CLEAN_COMMENTS | JEDCheckerHelper::CLEAN_STRINGS
|
||||||
);
|
);
|
||||||
$cleanContent = JEDCheckerHelper::splitLines($content);
|
$cleanContent = JEDCheckerHelper::splitLines($content);
|
||||||
|
|
||||||
$result = false;
|
|
||||||
|
|
||||||
if (preg_match('/<\?\s/', $content, $match, PREG_OFFSET_CAPTURE))
|
if (preg_match('/<\?\s/', $content, $match, PREG_OFFSET_CAPTURE))
|
||||||
{
|
{
|
||||||
$lineno = substr_count($content, "\n", 0, $match[0][1]);
|
$lineno = substr_count($content, "\n", 0, $match[0][1]);
|
||||||
|
Loading…
Reference in New Issue
Block a user