Browse Source

Fixes for issues found with Static Code Analysis with Php Inspections (EA Extended) (#13606)

* Php Inspections (EA Extended): language level migration fixes
* Php Inspections (EA Extended): instanceof a trait always return false
* Php Inspections (EA Extended): fixed preg_quote (/ is not escaped by default)
* Php Inspections (EA Extended): fixed a greedy regex
* Php Inspections (EA Extended): refereted instanceof self in a trait
* Php Inspections (EA Extended): revert language level changes in requirements checker
* Php Inspections (EA Extended): revert language level changes in requirements checker
* Php Inspections (EA Extended): more greedy regexes fixed
tags/2.0.12
Vladimir Reznichenko 8 years ago committed by Alexander Makarov
parent
commit
a182ce57fc
  1. 4
      build/controllers/PhpDocController.php
  2. 2
      framework/db/pgsql/QueryBuilder.php
  3. 2
      framework/i18n/I18N.php
  4. 2
      framework/rbac/DbManager.php
  5. 2
      framework/rbac/PhpManager.php
  6. 2
      framework/validators/IpValidator.php
  7. 2
      framework/web/MultipartFormDataParser.php

4
build/controllers/PhpDocController.php

@ -172,7 +172,7 @@ class PhpDocController extends Controller
$except[] = "/extensions/$ext$path";
}
}
} elseif (preg_match('~extensions/([\w\d-]+)[\\\\/]?$~', $root, $matches)) {
} elseif (preg_match('~extensions/([\w-]+)[\\\\/]?$~', $root, $matches)) {
$extensionPath = dirname(rtrim($root, '\\/'));
$this->setUpExtensionAliases($extensionPath);
@ -196,7 +196,7 @@ class PhpDocController extends Controller
// if ($extension === 'composer') {
// return [];
// }
} elseif (preg_match('~apps/([\w\d-]+)[\\\\/]?$~', $root, $matches)) {
} elseif (preg_match('~apps/([\w-]+)[\\\\/]?$~', $root, $matches)) {
$extensionPath = dirname(dirname(rtrim($root, '\\/'))) . '/extensions';
$this->setUpExtensionAliases($extensionPath);

2
framework/db/pgsql/QueryBuilder.php

@ -188,7 +188,7 @@ class QueryBuilder extends \yii\db\QueryBuilder
public function checkIntegrity($check = true, $schema = '', $table = '')
{
$enable = $check ? 'ENABLE' : 'DISABLE';
$schema = $schema ? $schema : $this->db->getSchema()->defaultSchema;
$schema = $schema ?: $this->db->getSchema()->defaultSchema;
$tableNames = $table ? [$table] : $this->db->getSchema()->getTableNames($schema);
$viewNames = $this->db->getSchema()->getViewNames($schema);
$tableNames = array_diff($tableNames, $viewNames);

2
framework/i18n/I18N.php

@ -109,7 +109,7 @@ class I18N extends Component
return $message;
}
if (preg_match('~{\s*[\d\w]+\s*,~u', $message)) {
if (preg_match('~{\s*[\w]+\s*,~u', $message)) {
$formatter = $this->getMessageFormatter();
$result = $formatter->format($message, $params, $language);
if ($result === false) {

2
framework/rbac/DbManager.php

@ -480,7 +480,7 @@ class DbManager extends BaseManager
{
$role = $this->getRole($roleName);
if (is_null($role)) {
if ($role === null) {
throw new InvalidParamException("Role \"$roleName\" not found.");
}

2
framework/rbac/PhpManager.php

@ -410,7 +410,7 @@ class PhpManager extends BaseManager
{
$role = $this->getRole($roleName);
if (is_null($role)) {
if ($role === null) {
throw new InvalidParamException("Role \"$roleName\" not found.");
}

2
framework/validators/IpValidator.php

@ -527,7 +527,7 @@ class IpValidator extends Validator
*/
private function getIpParsePattern()
{
return '/^(' . preg_quote(static::NEGATION_CHAR) . '?)(.+?)(\/(\d+))?$/';
return '/^(' . preg_quote(static::NEGATION_CHAR, '/') . '?)(.+?)(\/(\d+))?$/';
}
/**

2
framework/web/MultipartFormDataParser.php

@ -132,7 +132,7 @@ class MultipartFormDataParser extends Object implements RequestParserInterface
}
$boundary = $matches[1];
$bodyParts = preg_split('/\\R?-+' . preg_quote($boundary) . '/s', $rawBody);
$bodyParts = preg_split('/\\R?-+' . preg_quote($boundary, '/') . '/s', $rawBody);
array_pop($bodyParts); // last block always has no data, contains boundary ending like `--`
$bodyParams = [];

Loading…
Cancel
Save