Skip to content

Commit

Permalink
Merge pull request #571 from TGMPA/feature/scrutinizer-config
Browse files Browse the repository at this point in the history
More comprehensive scrutinizer config.
  • Loading branch information
GaryJones committed May 3, 2016
2 parents a0aa2aa + 46b4485 commit df4d43b
Show file tree
Hide file tree
Showing 2 changed files with 226 additions and 42 deletions.
220 changes: 202 additions & 18 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,46 @@
tools:
php_sim: true
php_pdepend: true
php_analyzer: true
sensiolabs_security_checker: true

checks:
php:
useless_calls: true
unused_variables: true
unused_properties: true
unused_parameters: true
unused_methods: true
unreachable_code: true
too_many_arguments: true
no_unnecessary_if: true
no_unnecessary_final_modifier: true
no_empty_statements: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: false
order_alphabetically: true
avoid_useless_overridden_methods: true
use_self_instead_of_fqcn: true
uppercase_constants: true
single_namespace_per_use: false
simplify_boolean_return: true
return_doc_comment_if_not_inferrable: true
require_scope_for_properties: true
require_scope_for_methods: true
remove_extra_empty_lines: true
psr2_switch_declaration: true
psr2_class_declaration: true
properties_in_camelcaps: false
prefer_while_loop_over_for_loop: true
parameter_doc_comments: true
param_doc_comment_if_not_inferrable: true
parameters_in_camelcaps: false
optional_parameters_at_the_end: true
no_short_method_names:
minimum: '3'
no_long_variable_names:
maximum: '25'
no_goto: true
no_underscore_prefix_in_properties: true
no_underscore_prefix_in_methods: true
no_trailing_whitespace: true
no_new_line_at_end_of_file: false
no_error_suppression: false
no_commented_out_code: true
newline_at_end_of_file: true
naming_conventions:
local_variable: '^[a-z][a-z_0-9]*$'
Expand All @@ -27,24 +54,181 @@ checks:
type_name: '^[A-Z][a-zA-Z0-9_]*$'
exception_name: '^[A-Z][a-zA-Z0-9_]*Exception$'
isser_method_name: '^(?:is|has|should|may|supports)'
more_specific_types_in_doc_comments: true
function_in_camel_caps: false
fix_line_ending: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: false
order_alphabetically: true
encourage_single_quotes: true
encourage_postdec_operator: true
classes_in_camel_caps: false
blank_line_after_namespace_declaration: true
avoid_todo_comments: true
avoid_perl_style_comments: true
avoid_multiple_statements_on_same_line: true
avoid_length_functions_in_loops: true
avoid_fixme_comments: true
avoid_closing_tag: true
avoid_aliased_php_functions: true
align_assignments: true
no_global_keyword: false
one_class_per_file: false
duplication: true
sql_injection_vulnerabilities: true
security_vulnerabilities: true
no_eval: true
switch_fallthrough_commented: true
phpunit_assertions: false
overriding_private_members: true
non_commented_empty_catch_block: true
no_short_variable_names:
minimum: '3'
no_short_method_names:
minimum: '3'
no_long_variable_names:
maximum: '30'
no_goto: true
avoid_usage_of_logical_operators: true
return_doc_comments: true
return_doc_comment_if_not_inferrable: true
parameter_doc_comments: true
param_doc_comment_if_not_inferrable: true
more_specific_types_in_doc_comments: false
fix_doc_comments: true
verify_property_names: true
verify_argument_usable_as_reference: true
verify_access_scope_valid: true
variable_existence: true
use_statement_alias_conflict: true
symfony_request_injection: true
precedence_mistakes: true
precedence_in_conditions: true
parameter_non_unique: true
no_property_on_interface: true
no_non_implemented_abstract_methods: true
no_duplicate_arguments: true
missing_arguments: true
method_calls_on_non_object: true
instanceof_class_exists: true
foreach_usable_as_reference: true
foreach_traversable: true
encourage_shallow_comparison: true
closure_use_not_conflicting: true
closure_use_modifiable: true
catch_class_exists: true
avoid_entity_manager_injection: true
avoid_conflicting_incrementers: true
assignment_of_null_return: true
argument_type_checks: true
avoid_unnecessary_concatenation: true
deprecated_code_usage: true
side_effects_or_types: false
require_php_tag_first: true
php5_style_constructor: true
one_class_per_file: false
no_short_open_tag: true
no_global_keyword: true
no_exit: false
avoid_superglobals: false
avoid_duplicate_types: true
avoid_corrupting_byteorder_marks: true
no_debug_code: true
code_rating: true

tools:
sensiolabs_security_checker: true
coding_style:
php:
indentation:
general:
use_tabs: true
size: 4
switch:
indent_case: true
spaces:
before_parentheses:
function_declaration: false
closure_definition: false
function_call: false
if: true
for: true
while: true
switch: true
catch: true
array_initializer: false
around_operators:
assignment: true
logical: true
equality: true
relational: true
bitwise: true
additive: true
multiplicative: true
shift: true
unary_additive: false
concatenation: true
negation: true
before_left_brace:
class: true
function: true
if: true
else: true
for: true
while: true
do: true
switch: true
try: true
catch: true
finally: true
before_keywords:
else: true
while: true
catch: true
finally: true
within:
brackets: false
array_initializer: true
grouping: true
function_call: true
function_declaration: true
if: true
for: true
while: true
switch: true
catch: true
type_cast: false
ternary_operator:
before_condition: true
after_condition: true
before_alternative: true
after_alternative: true
in_short_version: true
other:
before_comma: false
after_comma: true
before_semicolon: false
after_semicolon: true
after_type_cast: true
braces:
classes_functions:
class: end-of-line
function: end-of-line
closure: end-of-line
if:
opening: end-of-line
always: true
else_on_new_line: false
for:
opening: end-of-line
always: true
while:
opening: end-of-line
always: true
do_while:
opening: end-of-line
always: true
while_on_new_line: false
switch:
opening: end-of-line
try:
opening: end-of-line
catch_on_new_line: false
finally_on_new_line: false
upper_lower_casing:
keywords:
general: lower
constants:
true_false_null: lower
48 changes: 24 additions & 24 deletions class-tgm-plugin-activation.php
Original file line number Diff line number Diff line change
Expand Up @@ -1015,11 +1015,11 @@ public function maybe_adjust_source_dir( $source, $remote_source, $upgrader ) {
$subdir_name = untrailingslashit( str_replace( trailingslashit( $remote_source ), '', $source ) );

if ( ! empty( $subdir_name ) && $subdir_name !== $desired_slug ) {
$from = untrailingslashit( $source );
$to = trailingslashit( $remote_source ) . $desired_slug;
$from_path = untrailingslashit( $source );
$to_path = trailingslashit( $remote_source ) . $desired_slug;

if ( true === $GLOBALS['wp_filesystem']->move( $from, $to ) ) {
return trailingslashit( $to );
if ( true === $GLOBALS['wp_filesystem']->move( $from_path, $to_path ) ) {
return trailingslashit( $to_path );
} else {
return new WP_Error( 'rename_failed', esc_html__( 'The remote plugin package does not contain a folder with the desired slug and renaming did not work.', 'tgmpa' ) . ' ' . esc_html__( 'Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines.', 'tgmpa' ), array( 'found' => $subdir_name, 'expected' => $desired_slug ) );
}
Expand Down Expand Up @@ -1186,7 +1186,7 @@ public function notices() {
$line_template = '<span style="display: block; margin: 0.5em 0.5em 0 0; clear: both;">%s</span>' . "\n";

if ( ! current_user_can( 'activate_plugins' ) && ! current_user_can( 'install_plugins' ) && ! current_user_can( 'update_plugins' ) ) {
$rendered = esc_html__( $this->strings['notice_cannot_install_activate'] ) . ' ' . esc_html__( $this->strings['contact_admin'] );
$rendered = esc_html__( $this->strings['notice_cannot_install_activate'] ) . ' ' . esc_html__( $this->strings['contact_admin'] );
$rendered .= $this->create_user_action_links_for_notice( 0, 0, 0, $line_template );
} else {

Expand Down Expand Up @@ -1452,13 +1452,13 @@ public function sanitize_key( $key ) {
$key = preg_replace( '`[^A-Za-z0-9_-]`', '', $key );

/**
* Filter a sanitized key string.
*
* @since 2.5.0
*
* @param string $key Sanitized key.
* @param string $raw_key The key prior to sanitization.
*/
* Filter a sanitized key string.
*
* @since 2.5.0
*
* @param string $key Sanitized key.
* @param string $raw_key The key prior to sanitization.
*/
return apply_filters( 'tgmpa_sanitize_key', $key, $raw_key );
}

Expand Down Expand Up @@ -1501,7 +1501,7 @@ public function config( $config ) {
* @since 2.0.0
*
* @param array $install_actions Existing array of actions.
* @return array Amended array of actions.
* @return false|array Amended array of actions.
*/
public function actions( $install_actions ) {
// Remove action links on the TGMPA install page.
Expand Down Expand Up @@ -1871,7 +1871,7 @@ public function is_plugin_updatetable( $slug ) {
if ( ! $this->is_plugin_installed( $slug ) ) {
return false;
} else {
return ( $this->does_plugin_have_update( $slug ) && $this->can_plugin_update( $slug ) );
return ( false !== $this->does_plugin_have_update( $slug ) && $this->can_plugin_update( $slug ) );
}
}

Expand Down Expand Up @@ -2069,7 +2069,7 @@ public function show_tgmpa_version() {
*
* @since 2.4.0
*
* @return object The TGM_Plugin_Activation object.
* @return \TGM_Plugin_Activation The TGM_Plugin_Activation object.
*/
public static function get_instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) {
Expand Down Expand Up @@ -2275,7 +2275,7 @@ protected function _gather_plugin_data() {
if ( ! empty( $upgrade_notice ) ) {
$table_data[ $i ]['upgrade_notice'] = $upgrade_notice;

add_action( "tgmpa_after_plugin_row_$slug", array( $this, 'wp_plugin_update_row' ), 10, 2 );
add_action( "tgmpa_after_plugin_row_{$slug}", array( $this, 'wp_plugin_update_row' ), 10, 2 );
}

$table_data[ $i ] = apply_filters( 'tgmpa_table_data_item', $table_data[ $i ], $plugin );
Expand Down Expand Up @@ -3267,7 +3267,7 @@ public function run( $options ) {
*
* @param array $plugins The plugin sources needed for installation.
* @param array $args Arbitrary passed extra arguments.
* @return string|bool Install confirmation messages on success, false on failure.
* @return array|false Install confirmation messages on success, false on failure.
*/
public function bulk_install( $plugins, $args = array() ) {
// [TGMPA + ] Hook auto-activation in.
Expand Down Expand Up @@ -3566,22 +3566,22 @@ public function add_strings() {
/* translators: 1: plugin name, 2: error message. */
$this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while installing %1$s: <strong>%2$s</strong>.', 'tgmpa' );
/* translators: 1: plugin name. */
$this->upgrader->strings['skin_update_failed'] = __( 'The installation of %1$s failed.', 'tgmpa' );
$this->upgrader->strings['skin_update_failed'] = __( 'The installation of %1$s failed.', 'tgmpa' );

if ( $this->tgmpa->is_automatic ) {
// Automatic activation strings.
$this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' );
$this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' );
/* translators: 1: plugin name. */
$this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'tgmpa' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'tgmpa' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'tgmpa' ) . '</span>.</a>';
$this->upgrader->strings['skin_upgrade_end'] = __( 'All installations and activations have been completed.', 'tgmpa' );
$this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'tgmpa' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'tgmpa' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'tgmpa' ) . '</span>.</a>';
$this->upgrader->strings['skin_upgrade_end'] = __( 'All installations and activations have been completed.', 'tgmpa' );
/* translators: 1: plugin name, 2: action number 3: total number of actions. */
$this->upgrader->strings['skin_before_update_header'] = __( 'Installing and Activating Plugin %1$s (%2$d/%3$d)', 'tgmpa' );
} else {
// Default installation strings.
$this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' );
$this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' );
/* translators: 1: plugin name. */
$this->upgrader->strings['skin_update_successful'] = esc_html__( '%1$s installed successfully.', 'tgmpa' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'tgmpa' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'tgmpa' ) . '</span>.</a>';
$this->upgrader->strings['skin_upgrade_end'] = __( 'All installations have been completed.', 'tgmpa' );
$this->upgrader->strings['skin_update_successful'] = esc_html__( '%1$s installed successfully.', 'tgmpa' ) . ' <a href="#" class="hide-if-no-js" onclick="%2$s"><span>' . esc_html__( 'Show Details', 'tgmpa' ) . '</span><span class="hidden">' . esc_html__( 'Hide Details', 'tgmpa' ) . '</span>.</a>';
$this->upgrader->strings['skin_upgrade_end'] = __( 'All installations have been completed.', 'tgmpa' );
/* translators: 1: plugin name, 2: action number 3: total number of actions. */
$this->upgrader->strings['skin_before_update_header'] = __( 'Installing Plugin %1$s (%2$d/%3$d)', 'tgmpa' );
}
Expand Down

0 comments on commit df4d43b

Please sign in to comment.