diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index ab3c5f8a..f140f0c8 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -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]*$'
@@ -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
diff --git a/class-tgm-plugin-activation.php b/class-tgm-plugin-activation.php
index bc139813..7e8bac43 100755
--- a/class-tgm-plugin-activation.php
+++ b/class-tgm-plugin-activation.php
@@ -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 ) );
}
@@ -1186,7 +1186,7 @@ public function notices() {
$line_template = '%s' . "\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 {
@@ -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 );
}
@@ -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.
@@ -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 ) );
}
}
@@ -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 ) ) {
@@ -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 );
@@ -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.
@@ -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: %2$s.', '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' ) . ' ' . esc_html__( 'Show Details', 'tgmpa' ) . '' . esc_html__( 'Hide Details', 'tgmpa' ) . '.';
- $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' ) . ' ' . esc_html__( 'Show Details', 'tgmpa' ) . '' . esc_html__( 'Hide Details', 'tgmpa' ) . '.';
+ $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' ) . ' ' . esc_html__( 'Show Details', 'tgmpa' ) . '' . esc_html__( 'Hide Details', 'tgmpa' ) . '.';
- $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' ) . ' ' . esc_html__( 'Show Details', 'tgmpa' ) . '' . esc_html__( 'Hide Details', 'tgmpa' ) . '.';
+ $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' );
}