Skip to content

Commit

Permalink
Merge branch 'trunk' into 691-show-errors-with-severity-less-than-a-n…
Browse files Browse the repository at this point in the history
…umber-as-a-warning
  • Loading branch information
davidperezgar authored Oct 10, 2024
2 parents 56c77f7 + 54ddd84 commit fb7717e
Show file tree
Hide file tree
Showing 19 changed files with 479 additions and 320 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/behat-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v4.6.0
with:
files: ${{ steps.coverage_files.outputs.files }}
flags: feature
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/php-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@893cfea3da0870ceb77096be8b5fe014720f3c32
uses: codecov/codecov-action@68708a9f7a6b6b5fe33673f782f93725c5eff3c6
with:
file: build/logs/*.xml
flags: unit
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:
- name: Upload code coverage report
if: ${{ matrix.coverage }}
uses: codecov/codecov-action@893cfea3da0870ceb77096be8b5fe014720f3c32
uses: codecov/codecov-action@68708a9f7a6b6b5fe33673f782f93725c5eff3c6
with:
file: build/logs/*.xml
flags: phpcs-sniffs
Expand Down
10 changes: 5 additions & 5 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 43 additions & 2 deletions includes/Checker/Checks/Plugin_Repo/File_Type_Check.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ class File_Type_Check extends Abstract_File_Check {
const TYPE_VCS = 4;
const TYPE_HIDDEN = 8;
const TYPE_APPLICATION = 16;
const TYPE_ALL = 31; // Same as all of the above with bitwise OR.
const TYPE_BADLY_NAMED = 32;
const TYPE_ALL = 63; // Same as all of the above with bitwise OR.

/**
* Bitwise flags to control check behavior.
Expand Down Expand Up @@ -90,6 +91,10 @@ protected function check_files( Check_Result $result, array $files ) {
if ( $this->flags & self::TYPE_APPLICATION ) {
$this->look_for_application_files( $result, $files );
}
if ( $this->flags & self::TYPE_BADLY_NAMED ) {
// Check for badly named files.
$this->look_for_badly_named_files( $result, $files );
}
}

/**
Expand Down Expand Up @@ -244,6 +249,42 @@ protected function look_for_application_files( Check_Result $result, array $file
}
}

/**
* Looks for application files and amends the given result with an error if found.
*
* @since 1.2.0
*
* @param Check_Result $result The check result to amend, including the plugin context to check.
* @param array $files List of absolute file paths.
*/
protected function look_for_badly_named_files( Check_Result $result, array $files ) {
$conflict_chars = '!@#$%^&*()+=[]{};:"\'<>,?/\\|`~';

foreach ( $files as $file ) {
$badly_name = false;
if ( preg_match( '/\s/', $file ) ) {
$badly_name = true;
}

if ( preg_match( '/[' . preg_quote( $conflict_chars, '/' ) . ']/', basename( $file ) ) ) {
$badly_name = true;
}

if ( $badly_name ) {
$this->add_result_error_for_file(
$result,
__( 'Badly named files are not permitted.', 'plugin-check' ),
'badly_named_files',
$file,
0,
0,
'',
8
);
}
}
}

/**
* Gets the description for the check.
*
Expand All @@ -254,7 +295,7 @@ protected function look_for_application_files( Check_Result $result, array $file
* @return string Description.
*/
public function get_description(): string {
return __( 'Detects the usage of hidden and compressed files, VCS directories, and application files.', 'plugin-check' );
return __( 'Detects the usage of hidden and compressed files, VCS directories, application files and badly named files.', 'plugin-check' );
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,7 @@ private function normalize_licenses( $license ) {
$license = str_replace( '-', '', $license );
$license = str_replace( 'GNU General Public License (GPL)', 'GPL', $license );
$license = str_replace( 'GNU General Public License', 'GPL', $license );
$license = str_replace( ' version ', 'v', $license );
$license = preg_replace( '/GPL\s*[-|\.]*\s*[v]?([0-9])(\.[0])?/i', 'GPL$1', $license, 1 );
$license = str_replace( '.', '', $license );

Expand Down
5 changes: 4 additions & 1 deletion includes/Checker/Checks/Security/Direct_DB_Queries_Check.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ class Direct_DB_Queries_Check extends Abstract_PHP_CodeSniffer_Check {
* @return array The categories for the check.
*/
public function get_categories() {
return array( Check_Categories::CATEGORY_SECURITY );
return array(
Check_Categories::CATEGORY_SECURITY,
Check_Categories::CATEGORY_PLUGIN_REPO,
);
}

/**
Expand Down
5 changes: 4 additions & 1 deletion includes/Checker/Checks/Security/Late_Escaping_Check.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,10 @@ class Late_Escaping_Check extends Abstract_PHP_CodeSniffer_Check {
* @return array The categories for the check.
*/
public function get_categories() {
return array( Check_Categories::CATEGORY_SECURITY );
return array(
Check_Categories::CATEGORY_SECURITY,
Check_Categories::CATEGORY_PLUGIN_REPO,
);
}

/**
Expand Down
Loading

0 comments on commit fb7717e

Please sign in to comment.