rules 2026.10.7-provisional platform PHP: WordPress (plugin header in woocommerce.php) woocommerce/assets/client/admin/admin-layout/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/admin-layout/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/app/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/app/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/components/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/components/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/csv-export/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/currency/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/customer-effort-score/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/customer-effort-score/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/data/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/date/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/email-editor-integration/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/email-editor/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/email-editor/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/embed/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/embed/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/experimental/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/experimental/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/explat/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/fulfillments/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/marketing-coupons/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/marketplace-orders-promo/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/navigation/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/notices/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/number/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/onboarding/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/onboarding/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/payment-method-promotions/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/print-shipping-label-banner/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/remote-logging/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/sanitize/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/settings-embed/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/settings-ui/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/settings-ui/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/tracks/index.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/woo-product-usage-notice/style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/add-term-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/attributes-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/category-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/command-palette-analytics.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/command-palette.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/email-editor-integration.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/fulfillments.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/marketing-coupons.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/marketplace-orders-promo.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/onboarding-homepage-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/onboarding-load-sample-products-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/onboarding-product-import-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/onboarding-tax-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/order-milestone-easter-egg.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/order-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/payment-method-promotions.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/print-shipping-label-banner.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/product-import-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/product-tour.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/product-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/settings-embed.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/settings-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/shipping-settings-region-picker.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/tags-tracking.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/variable-product-tour.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/visual-attribute-picker.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/wc-addons-tour.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/wcsettings-deprecation.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-connect-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-enable-autorenew.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-plugin-update-connect-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-product-usage-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-purchase-subscription.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-renew-subscription.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/admin/wp-admin-scripts/woo-subscriptions-notice.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-group.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-header-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-header.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-item-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-item.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-panel-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/accordion-panel.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/active-filters-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/active-filters-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/active-filters.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-form.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item-label-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item-label.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item-selector-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item-selector.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-item.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-grouped-product-selector.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-quantity-selector.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-description-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-description.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-selector-attribute-name-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-selector-attribute-name.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-selector-attribute-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-selector-attribute.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options-variation-selector.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-cart-with-options.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/add-to-wishlist-button.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/all-products-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/all-products-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/all-products.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/all-reviews-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/all-reviews.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/attribute-filter-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/attribute-filter-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/attribute-filter.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/blocks-checkout-events.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/blocks-checkout.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/blocks-components.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/blocks-json.php (other) CodeLength: not graded 1:1 [error] length.file - the file has 8679 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on file level code Duplication: 0 (F), based on 8655 code lines 115:1 [warning] duplication.repeated_block - lines 115 to 128 repeat lines 34 to 47 (65 tokens); repeated code has to be fixed in every copy 228:1 [warning] duplication.repeated_block - lines 228 to 242 repeat lines 33 to 47 (68 tokens); repeated code has to be fixed in every copy 286:1 [warning] duplication.repeated_block - lines 286 to 302 repeat lines 113 to 129 (75 tokens); repeated code has to be fixed in every copy 303:1 [warning] duplication.repeated_block - lines 303 to 311 repeat lines 130 to 138 (51 tokens); repeated code has to be fixed in every copy 492:1 [warning] duplication.repeated_block - lines 492 to 502 repeat lines 300 to 310 (57 tokens); repeated code has to be fixed in every copy 563:1 [warning] duplication.repeated_block - lines 563 to 577 repeat lines 541 to 555 (68 tokens); repeated code has to be fixed in every copy 619:1 [warning] duplication.repeated_block - lines 619 to 629 repeat lines 491 to 501 (58 tokens); repeated code has to be fixed in every copy 643:1 [warning] duplication.repeated_block - lines 643 to 660 repeat lines 541 to 558 (83 tokens); repeated code has to be fixed in every copy 1130:1 [warning] duplication.repeated_block - lines 1130 to 1152 repeat lines 1084 to 1106 (96 tokens); repeated code has to be fixed in every copy 1620:1 [warning] duplication.repeated_block - lines 1620 to 1639 repeat lines 1496 to 1515 (92 tokens); repeated code has to be fixed in every copy 1641:1 [warning] duplication.repeated_block - lines 1641 to 1687 repeat lines 1516 to 1562 (244 tokens); repeated code has to be fixed in every copy 2035:1 [warning] duplication.repeated_block - lines 2035 to 2080 repeat lines 1952 to 1997 (219 tokens); repeated code has to be fixed in every copy 2102:1 [warning] duplication.repeated_block - lines 2102 to 2118 repeat lines 298 to 314 (75 tokens); repeated code has to be fixed in every copy 2118:1 [warning] duplication.repeated_block - lines 2118 to 2141 repeat lines 1964 to 1987 (116 tokens); repeated code has to be fixed in every copy 2151:1 [warning] duplication.repeated_block - lines 2151 to 2181 repeat lines 2001 to 2031 (139 tokens); repeated code has to be fixed in every copy 2231:1 [warning] duplication.repeated_block - lines 2231 to 2245 repeat lines 2017 to 2031 (64 tokens); repeated code has to be fixed in every copy 2249:1 [warning] duplication.repeated_block - lines 2249 to 2261 repeat lines 1952 to 1964 (55 tokens); repeated code has to be fixed in every copy 2303:1 [warning] duplication.repeated_block - lines 2303 to 2318 repeat lines 1982 to 1997 (78 tokens); repeated code has to be fixed in every copy 2322:1 [warning] duplication.repeated_block - lines 2322 to 2352 repeat lines 2001 to 2031 (139 tokens); repeated code has to be fixed in every copy 2356:1 [warning] duplication.repeated_block - lines 2356 to 2419 repeat lines 2084 to 2147 (309 tokens); repeated code has to be fixed in every copy 2431:1 [warning] duplication.repeated_block - lines 2431 to 2454 repeat lines 2008 to 2031 (100 tokens); repeated code has to be fixed in every copy 2458:1 [warning] duplication.repeated_block - lines 2458 to 2470 repeat lines 1952 to 1964 (55 tokens); repeated code has to be fixed in every copy 2470:1 [warning] duplication.repeated_block - lines 2470 to 2486 repeat lines 2261 to 2277 (86 tokens); repeated code has to be fixed in every copy 2486:1 [warning] duplication.repeated_block - lines 2486 to 2499 repeat lines 2278 to 2291 (62 tokens); repeated code has to be fixed in every copy 2500:1 [warning] duplication.repeated_block - lines 2500 to 2515 repeat lines 1982 to 1997 (78 tokens); repeated code has to be fixed in every copy 2519:1 [warning] duplication.repeated_block - lines 2519 to 2531 repeat lines 1952 to 1964 (55 tokens); repeated code has to be fixed in every copy 2531:1 [warning] duplication.repeated_block - lines 2531 to 2547 repeat lines 2261 to 2277 (86 tokens); repeated code has to be fixed in every copy 2556:1 [warning] duplication.repeated_block - lines 2556 to 2585 repeat lines 1968 to 1997 (139 tokens); repeated code has to be fixed in every copy 2589:1 [warning] duplication.repeated_block - lines 2589 to 2601 repeat lines 1952 to 1964 (55 tokens); repeated code has to be fixed in every copy 2601:1 [warning] duplication.repeated_block - lines 2601 to 2658 repeat lines 2261 to 2318 (290 tokens); repeated code has to be fixed in every copy 2662:1 [warning] duplication.repeated_block - lines 2662 to 2692 repeat lines 2001 to 2031 (139 tokens); repeated code has to be fixed in every copy 2749:1 [warning] duplication.repeated_block - lines 2749 to 2760 repeat lines 348 to 359 (53 tokens); repeated code has to be fixed in every copy 2841:1 [warning] duplication.repeated_block - lines 2841 to 2854 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 2865:1 [warning] duplication.repeated_block - lines 2865 to 2878 repeat lines 1766 to 1779 (74 tokens); repeated code has to be fixed in every copy 2918:1 [warning] duplication.repeated_block - lines 2918 to 2930 repeat lines 1798 to 1810 (56 tokens); repeated code has to be fixed in every copy 3108:1 [warning] duplication.repeated_block - lines 3108 to 3121 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 3121:1 [warning] duplication.repeated_block - lines 3121 to 3197 repeat lines 2854 to 2930 (383 tokens); repeated code has to be fixed in every copy 3329:1 [warning] duplication.repeated_block - lines 3329 to 3342 repeat lines 616 to 629 (73 tokens); repeated code has to be fixed in every copy 3404:1 [warning] duplication.repeated_block - lines 3404 to 3419 repeat lines 299 to 314 (72 tokens); repeated code has to be fixed in every copy 3452:1 [warning] duplication.repeated_block - lines 3452 to 3465 repeat lines 1264 to 1277 (60 tokens); repeated code has to be fixed in every copy 3529:1 [warning] duplication.repeated_block - lines 3529 to 3541 repeat lines 3485 to 3497 (59 tokens); repeated code has to be fixed in every copy 3547:1 [warning] duplication.repeated_block - lines 3547 to 3558 repeat lines 2986 to 2997 (65 tokens); repeated code has to be fixed in every copy 3570:1 [warning] duplication.repeated_block - lines 3570 to 3582 repeat lines 3496 to 3508 (62 tokens); repeated code has to be fixed in every copy 3589:1 [warning] duplication.repeated_block - lines 3589 to 3601 repeat lines 909 to 921 (66 tokens); repeated code has to be fixed in every copy 3808:1 [warning] duplication.repeated_block - lines 3808 to 3820 repeat lines 3485 to 3497 (59 tokens); repeated code has to be fixed in every copy 3962:1 [warning] duplication.repeated_block - lines 3962 to 3982 repeat lines 3737 to 3757 (98 tokens); repeated code has to be fixed in every copy 3989:1 [warning] duplication.repeated_block - lines 3989 to 4001 repeat lines 3485 to 3497 (59 tokens); repeated code has to be fixed in every copy 4001:1 [warning] duplication.repeated_block - lines 4001 to 4045 repeat lines 3540 to 3584 (215 tokens); repeated code has to be fixed in every copy 4077:1 [warning] duplication.repeated_block - lines 4077 to 4089 repeat lines 3485 to 3497 (59 tokens); repeated code has to be fixed in every copy 4089:1 [warning] duplication.repeated_block - lines 4089 to 4137 repeat lines 3541 to 3589 (234 tokens); repeated code has to be fixed in every copy 4141:1 [warning] duplication.repeated_block - lines 4141 to 4153 repeat lines 4046 to 4058 (66 tokens); repeated code has to be fixed in every copy 4153:1 [warning] duplication.repeated_block - lines 4153 to 4166 repeat lines 3613 to 3626 (63 tokens); repeated code has to be fixed in every copy 4547:1 [warning] duplication.repeated_block - lines 4547 to 4561 repeat lines 4522 to 4536 (59 tokens); repeated code has to be fixed in every copy 4568:1 [warning] duplication.repeated_block - lines 4568 to 4581 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 4581:1 [warning] duplication.repeated_block - lines 4581 to 4657 repeat lines 2854 to 2930 (383 tokens); repeated code has to be fixed in every copy 4685:1 [warning] duplication.repeated_block - lines 4685 to 4699 repeat lines 2852 to 2866 (71 tokens); repeated code has to be fixed in every copy 4708:1 [warning] duplication.repeated_block - lines 4708 to 4721 repeat lines 1766 to 1779 (74 tokens); repeated code has to be fixed in every copy 4721:1 [warning] duplication.repeated_block - lines 4721 to 4741 repeat lines 2878 to 2898 (93 tokens); repeated code has to be fixed in every copy 4839:1 [warning] duplication.repeated_block - lines 4839 to 4854 repeat lines 4757 to 4772 (81 tokens); repeated code has to be fixed in every copy 4906:1 [warning] duplication.repeated_block - lines 4906 to 4921 repeat lines 4757 to 4772 (81 tokens); repeated code has to be fixed in every copy 4921:1 [warning] duplication.repeated_block - lines 4921 to 4934 repeat lines 4854 to 4867 (62 tokens); repeated code has to be fixed in every copy 4938:1 [warning] duplication.repeated_block - lines 4938 to 4950 repeat lines 4871 to 4883 (55 tokens); repeated code has to be fixed in every copy 4970:1 [warning] duplication.repeated_block - lines 4970 to 4985 repeat lines 4757 to 4772 (81 tokens); repeated code has to be fixed in every copy 4989:1 [warning] duplication.repeated_block - lines 4989 to 5002 repeat lines 4776 to 4789 (51 tokens); repeated code has to be fixed in every copy 5006:1 [warning] duplication.repeated_block - lines 5006 to 5023 repeat lines 4866 to 4883 (82 tokens); repeated code has to be fixed in every copy 5098:1 [warning] duplication.repeated_block - lines 5098 to 5114 repeat lines 298 to 314 (75 tokens); repeated code has to be fixed in every copy 5116:1 [warning] duplication.repeated_block - lines 5116 to 5131 repeat lines 3418 to 3433 (67 tokens); repeated code has to be fixed in every copy 5153:1 [warning] duplication.repeated_block - lines 5153 to 5173 repeat lines 2099 to 2119 (99 tokens); repeated code has to be fixed in every copy 5173:1 [warning] duplication.repeated_block - lines 5173 to 5183 repeat lines 3420 to 3430 (54 tokens); repeated code has to be fixed in every copy 5232:1 [warning] duplication.repeated_block - lines 5232 to 5243 repeat lines 491 to 502 (60 tokens); repeated code has to be fixed in every copy 5243:1 [warning] duplication.repeated_block - lines 5243 to 5264 repeat lines 5110 to 5131 (91 tokens); repeated code has to be fixed in every copy 5303:1 [warning] duplication.repeated_block - lines 5303 to 5320 repeat lines 3414 to 3431 (80 tokens); repeated code has to be fixed in every copy 5339:1 [warning] duplication.repeated_block - lines 5339 to 5350 repeat lines 5140 to 5151 (50 tokens); repeated code has to be fixed in every copy 5380:1 [warning] duplication.repeated_block - lines 5380 to 5415 repeat lines 5229 to 5264 (166 tokens); repeated code has to be fixed in every copy 5439:1 [warning] duplication.repeated_block - lines 5439 to 5464 repeat lines 5222 to 5247 (124 tokens); repeated code has to be fixed in every copy 5464:1 [warning] duplication.repeated_block - lines 5464 to 5476 repeat lines 3419 to 3431 (61 tokens); repeated code has to be fixed in every copy 5516:1 [warning] duplication.repeated_block - lines 5516 to 5526 repeat lines 5220 to 5230 (51 tokens); repeated code has to be fixed in every copy 5531:1 [warning] duplication.repeated_block - lines 5531 to 5546 repeat lines 299 to 314 (72 tokens); repeated code has to be fixed in every copy 5579:1 [warning] duplication.repeated_block - lines 5579 to 5595 repeat lines 298 to 314 (75 tokens); repeated code has to be fixed in every copy 5612:1 [warning] duplication.repeated_block - lines 5612 to 5642 repeat lines 5570 to 5600 (137 tokens); repeated code has to be fixed in every copy 5651:1 [warning] duplication.repeated_block - lines 5651 to 5691 repeat lines 5560 to 5600 (191 tokens); repeated code has to be fixed in every copy 5737:1 [warning] duplication.repeated_block - lines 5737 to 5750 repeat lines 5287 to 5300 (62 tokens); repeated code has to be fixed in every copy 5771:1 [warning] duplication.repeated_block - lines 5771 to 5782 repeat lines 4757 to 4768 (59 tokens); repeated code has to be fixed in every copy 5782:1 [warning] duplication.repeated_block - lines 5782 to 5795 repeat lines 4854 to 4867 (62 tokens); repeated code has to be fixed in every copy 5798:1 [warning] duplication.repeated_block - lines 5798 to 5809 repeat lines 4795 to 4806 (60 tokens); repeated code has to be fixed in every copy 5898:1 [warning] duplication.repeated_block - lines 5898 to 5907 repeat lines 3547 to 3556 (55 tokens); repeated code has to be fixed in every copy 5989:1 [warning] duplication.repeated_block - lines 5989 to 6009 repeat lines 5894 to 5914 (96 tokens); repeated code has to be fixed in every copy 6009:1 [warning] duplication.repeated_block - lines 6009 to 6027 repeat lines 4885 to 4903 (76 tokens); repeated code has to be fixed in every copy 6031:1 [warning] duplication.repeated_block - lines 6031 to 6042 repeat lines 4757 to 4768 (59 tokens); repeated code has to be fixed in every copy 6087:1 [warning] duplication.repeated_block - lines 6087 to 6095 repeat lines 130 to 138 (51 tokens); repeated code has to be fixed in every copy 6104:1 [warning] duplication.repeated_block - lines 6104 to 6121 repeat lines 4886 to 4903 (69 tokens); repeated code has to be fixed in every copy 6128:1 [warning] duplication.repeated_block - lines 6128 to 6141 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 6141:1 [warning] duplication.repeated_block - lines 6141 to 6185 repeat lines 2854 to 2898 (227 tokens); repeated code has to be fixed in every copy 6243:1 [warning] duplication.repeated_block - lines 6243 to 6264 repeat lines 5151 to 5172 (107 tokens); repeated code has to be fixed in every copy 6343:1 [warning] duplication.repeated_block - lines 6343 to 6356 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 6356:1 [warning] duplication.repeated_block - lines 6356 to 6432 repeat lines 2854 to 2930 (383 tokens); repeated code has to be fixed in every copy 6446:1 [warning] duplication.repeated_block - lines 6446 to 6459 repeat lines 1747 to 1760 (56 tokens); repeated code has to be fixed in every copy 6471:1 [warning] duplication.repeated_block - lines 6471 to 6489 repeat lines 1761 to 1779 (96 tokens); repeated code has to be fixed in every copy 6489:1 [warning] duplication.repeated_block - lines 6489 to 6509 repeat lines 2878 to 2898 (93 tokens); repeated code has to be fixed in every copy 6509:1 [warning] duplication.repeated_block - lines 6509 to 6522 repeat lines 1799 to 1812 (58 tokens); repeated code has to be fixed in every copy 6529:1 [warning] duplication.repeated_block - lines 6529 to 6542 repeat lines 6198 to 6211 (63 tokens); repeated code has to be fixed in every copy 6545:1 [warning] duplication.repeated_block - lines 6545 to 6556 repeat lines 348 to 359 (53 tokens); repeated code has to be fixed in every copy 6563:1 [warning] duplication.repeated_block - lines 6563 to 6573 repeat lines 3912 to 3922 (52 tokens); repeated code has to be fixed in every copy 6573:1 [warning] duplication.repeated_block - lines 6573 to 6594 repeat lines 925 to 946 (112 tokens); repeated code has to be fixed in every copy 6606:1 [warning] duplication.repeated_block - lines 6606 to 6620 repeat lines 4522 to 4536 (59 tokens); repeated code has to be fixed in every copy 6629:1 [warning] duplication.repeated_block - lines 6629 to 6644 repeat lines 871 to 886 (64 tokens); repeated code has to be fixed in every copy 6653:1 [warning] duplication.repeated_block - lines 6653 to 6668 repeat lines 871 to 886 (64 tokens); repeated code has to be fixed in every copy 6760:1 [warning] duplication.repeated_block - lines 6760 to 6771 repeat lines 348 to 359 (53 tokens); repeated code has to be fixed in every copy 6771:1 [warning] duplication.repeated_block - lines 6771 to 6784 repeat lines 6556 to 6569 (66 tokens); repeated code has to be fixed in every copy 6799:1 [warning] duplication.repeated_block - lines 6799 to 6813 repeat lines 932 to 946 (71 tokens); repeated code has to be fixed in every copy 6829:1 [warning] duplication.repeated_block - lines 6829 to 6841 repeat lines 2135 to 2147 (57 tokens); repeated code has to be fixed in every copy 6869:1 [warning] duplication.repeated_block - lines 6869 to 6885 repeat lines 6699 to 6715 (79 tokens); repeated code has to be fixed in every copy 6972:1 [warning] duplication.repeated_block - lines 6972 to 6980 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7014:1 [warning] duplication.repeated_block - lines 7014 to 7022 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7044:1 [warning] duplication.repeated_block - lines 7044 to 7052 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7053:1 [warning] duplication.repeated_block - lines 7053 to 7064 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 7074:1 [warning] duplication.repeated_block - lines 7074 to 7082 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7083:1 [warning] duplication.repeated_block - lines 7083 to 7094 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 7143:1 [warning] duplication.repeated_block - lines 7143 to 7153 repeat lines 7110 to 7120 (57 tokens); repeated code has to be fixed in every copy 7169:1 [warning] duplication.repeated_block - lines 7169 to 7198 repeat lines 7136 to 7165 (145 tokens); repeated code has to be fixed in every copy 7202:1 [warning] duplication.repeated_block - lines 7202 to 7215 repeat lines 7104 to 7117 (70 tokens); repeated code has to be fixed in every copy 7217:1 [warning] duplication.repeated_block - lines 7217 to 7234 repeat lines 7115 to 7132 (73 tokens); repeated code has to be fixed in every copy 7238:1 [warning] duplication.repeated_block - lines 7238 to 7248 repeat lines 7136 to 7146 (54 tokens); repeated code has to be fixed in every copy 7248:1 [warning] duplication.repeated_block - lines 7248 to 7263 repeat lines 7150 to 7165 (69 tokens); repeated code has to be fixed in every copy 7267:1 [warning] duplication.repeated_block - lines 7267 to 7296 repeat lines 7136 to 7165 (145 tokens); repeated code has to be fixed in every copy 7300:1 [warning] duplication.repeated_block - lines 7300 to 7329 repeat lines 7136 to 7165 (145 tokens); repeated code has to be fixed in every copy 7333:1 [warning] duplication.repeated_block - lines 7333 to 7351 repeat lines 7136 to 7154 (105 tokens); repeated code has to be fixed in every copy 7366:1 [warning] duplication.repeated_block - lines 7366 to 7374 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7403:1 [warning] duplication.repeated_block - lines 7403 to 7411 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7449:1 [warning] duplication.repeated_block - lines 7449 to 7465 repeat lines 7104 to 7120 (93 tokens); repeated code has to be fixed in every copy 7481:1 [warning] duplication.repeated_block - lines 7481 to 7489 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7490:1 [warning] duplication.repeated_block - lines 7490 to 7501 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 7511:1 [warning] duplication.repeated_block - lines 7511 to 7519 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7520:1 [warning] duplication.repeated_block - lines 7520 to 7531 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 7538:1 [warning] duplication.repeated_block - lines 7538 to 7564 repeat lines 6969 to 6995 (151 tokens); repeated code has to be fixed in every copy 7564:1 [warning] duplication.repeated_block - lines 7564 to 7577 repeat lines 7146 to 7159 (63 tokens); repeated code has to be fixed in every copy 7587:1 [warning] duplication.repeated_block - lines 7587 to 7595 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7596:1 [warning] duplication.repeated_block - lines 7596 to 7605 repeat lines 7111 to 7120 (54 tokens); repeated code has to be fixed in every copy 7621:1 [warning] duplication.repeated_block - lines 7621 to 7638 repeat lines 7104 to 7121 (99 tokens); repeated code has to be fixed in every copy 7650:1 [warning] duplication.repeated_block - lines 7650 to 7667 repeat lines 7071 to 7088 (108 tokens); repeated code has to be fixed in every copy 7682:1 [warning] duplication.repeated_block - lines 7682 to 7696 repeat lines 7136 to 7150 (76 tokens); repeated code has to be fixed in every copy 7716:1 [warning] duplication.repeated_block - lines 7716 to 7741 repeat lines 7101 to 7126 (135 tokens); repeated code has to be fixed in every copy 7748:1 [warning] duplication.repeated_block - lines 7748 to 7774 repeat lines 7133 to 7159 (141 tokens); repeated code has to be fixed in every copy 7781:1 [warning] duplication.repeated_block - lines 7781 to 7807 repeat lines 7166 to 7192 (141 tokens); repeated code has to be fixed in every copy 7814:1 [warning] duplication.repeated_block - lines 7814 to 7836 repeat lines 7235 to 7257 (119 tokens); repeated code has to be fixed in every copy 7843:1 [warning] duplication.repeated_block - lines 7843 to 7869 repeat lines 7264 to 7290 (141 tokens); repeated code has to be fixed in every copy 7876:1 [warning] duplication.repeated_block - lines 7876 to 7902 repeat lines 7297 to 7323 (141 tokens); repeated code has to be fixed in every copy 7909:1 [warning] duplication.repeated_block - lines 7909 to 7935 repeat lines 7330 to 7356 (141 tokens); repeated code has to be fixed in every copy 7945:1 [warning] duplication.repeated_block - lines 7945 to 7953 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7954:1 [warning] duplication.repeated_block - lines 7954 to 7965 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 7975:1 [warning] duplication.repeated_block - lines 7975 to 7983 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 7984:1 [warning] duplication.repeated_block - lines 7984 to 7995 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8005:1 [warning] duplication.repeated_block - lines 8005 to 8013 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 8014:1 [warning] duplication.repeated_block - lines 8014 to 8025 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8035:1 [warning] duplication.repeated_block - lines 8035 to 8043 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 8044:1 [warning] duplication.repeated_block - lines 8044 to 8055 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8065:1 [warning] duplication.repeated_block - lines 8065 to 8073 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 8074:1 [warning] duplication.repeated_block - lines 8074 to 8085 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8095:1 [warning] duplication.repeated_block - lines 8095 to 8108 repeat lines 7104 to 7117 (70 tokens); repeated code has to be fixed in every copy 8132:1 [warning] duplication.repeated_block - lines 8132 to 8140 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 8141:1 [warning] duplication.repeated_block - lines 8141 to 8154 repeat lines 8102 to 8115 (71 tokens); repeated code has to be fixed in every copy 8172:1 [warning] duplication.repeated_block - lines 8172 to 8189 repeat lines 7017 to 7034 (80 tokens); repeated code has to be fixed in every copy 8199:1 [warning] duplication.repeated_block - lines 8199 to 8208 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8209:1 [warning] duplication.repeated_block - lines 8209 to 8220 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8230:1 [warning] duplication.repeated_block - lines 8230 to 8258 repeat lines 8167 to 8195 (134 tokens); repeated code has to be fixed in every copy 8262:1 [warning] duplication.repeated_block - lines 8262 to 8271 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8271:1 [warning] duplication.repeated_block - lines 8271 to 8289 repeat lines 8208 to 8226 (82 tokens); repeated code has to be fixed in every copy 8344:1 [warning] duplication.repeated_block - lines 8344 to 8368 repeat lines 8293 to 8317 (120 tokens); repeated code has to be fixed in every copy 8372:1 [warning] duplication.repeated_block - lines 8372 to 8384 repeat lines 3019 to 3031 (54 tokens); repeated code has to be fixed in every copy 8395:1 [warning] duplication.repeated_block - lines 8395 to 8404 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8404:1 [warning] duplication.repeated_block - lines 8404 to 8416 repeat lines 8208 to 8220 (54 tokens); repeated code has to be fixed in every copy 8426:1 [warning] duplication.repeated_block - lines 8426 to 8435 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8438:1 [warning] duplication.repeated_block - lines 8438 to 8449 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy 8459:1 [warning] duplication.repeated_block - lines 8459 to 8468 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8490:1 [warning] duplication.repeated_block - lines 8490 to 8514 repeat lines 8293 to 8317 (120 tokens); repeated code has to be fixed in every copy 8514:1 [warning] duplication.repeated_block - lines 8514 to 8531 repeat lines 8368 to 8385 (79 tokens); repeated code has to be fixed in every copy 8541:1 [warning] duplication.repeated_block - lines 8541 to 8550 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8556:1 [warning] duplication.repeated_block - lines 8556 to 8577 repeat lines 8434 to 8455 (91 tokens); repeated code has to be fixed in every copy 8581:1 [warning] duplication.repeated_block - lines 8581 to 8590 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8613:1 [warning] duplication.repeated_block - lines 8613 to 8622 repeat lines 6937 to 6946 (53 tokens); repeated code has to be fixed in every copy 8653:1 [warning] duplication.repeated_block - lines 8653 to 8661 repeat lines 6937 to 6945 (51 tokens); repeated code has to be fixed in every copy 8662:1 [warning] duplication.repeated_block - lines 8662 to 8673 repeat lines 7023 to 7034 (50 tokens); repeated code has to be fixed in every copy NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/breadcrumbs-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/breadcrumbs.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/cart-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/cart-link-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/cart-link.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/cart-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/cart.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/catalog-sorting.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/category-description-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/category-description.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/category-title-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/category-title.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/checkout-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/checkout-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/checkout.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/classic-shortcode-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/classic-shortcode.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/coming-soon-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/coming-soon.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/coupon-code-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/coupon-code.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/customer-account.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/dropdown.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/email-content-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/email-content.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/featured-category-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/featured-category.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/featured-product-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/featured-product.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/filter-wrapper-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/filter-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/handpicked-products-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/handpicked-products.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/interactivity-blocks-frontend-assets.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/legacy-template-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/legacy-template.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/mini-cart-contents-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/mini-cart-contents.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/mini-cart.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-fields-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-fields-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-fields-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-fields.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-information-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-additional-information.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-billing-address-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-billing-address.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-billing-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-billing-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-create-account-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-create-account-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-create-account.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-downloads-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-downloads-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-downloads-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-downloads.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-shipping-address-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-shipping-address.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-shipping-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-shipping-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-status-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-status.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-summary-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-summary.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-totals-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-totals-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-totals-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/order-confirmation-totals.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/packages-style-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/page-content-wrapper-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/page-content-wrapper.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/payment-method-icons-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/payment-method-icons.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/price-filter-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/price-filter-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/price-filter.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/price-format.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-best-sellers-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-best-sellers.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-categories-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-categories.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-category-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-category.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-collection-no-results-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-collection-no-results.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-collection.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-description-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-description.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-details-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-details.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-active.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-attribute-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-attribute.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-checkbox-list.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-chips.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-clear-button-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-clear-button.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-price-slider.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-price.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-rating-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-rating.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-removable-chips-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-removable-chips.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-status-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-status.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-taxonomy-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filter-taxonomy.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-filters.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery-large-image-next-previous-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery-large-image-next-previous.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery-large-image.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery-thumbnails-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery-thumbnails.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-gallery.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-image-gallery-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-new-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-new.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-on-sale-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-on-sale.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-query-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-query.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-results-count-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-results-count.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-author-name-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-author-name.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-content-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-content.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-date-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-date.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-form.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-rating-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-rating.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-template-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-review-template.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-next-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-next.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-numbers-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-numbers.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-previous-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-previous.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-pagination.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-title-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews-title.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-reviews.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-search-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-search.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-specifications-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-specifications.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-tag-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-tag.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-template-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-template.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-top-rated-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/product-top-rated.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/products-by-attribute-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/products-by-attribute.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/rating-filter-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/rating-filter-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/rating-filter.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/reviews-by-category-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/reviews-by-category.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/reviews-by-product-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/reviews-by-product.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/reviews-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/saved-for-later.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/single-product-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/single-product.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/stock-filter-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/stock-filter-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/stock-filter.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/store-notices-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/store-notices.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-block-library-style-source-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-block-library.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-data.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-frontend-vendors-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-google-analytics.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-middleware.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-registry.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-shared-context.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-shared-hocs.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-style.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks-vendors.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-blocks.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-cart-checkout-base-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-cart-checkout-vendors-frontend.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-entities.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-payment-method-bacs.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-payment-method-cheque.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-payment-method-cod.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-payment-method-paypal.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-schema-parser.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-settings.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-shipping-method-pickup-location.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wc-types.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/assets/client/blocks/wishlist.asset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/i18n/continents.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 288 code lines NamingConvention: not graded Security: not graded woocommerce/i18n/countries.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 253 code lines NamingConvention: not graded Security: not graded woocommerce/i18n/currencies.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 167 code lines NamingConvention: not graded Security: not graded woocommerce/i18n/currency-info.php (other) CodeLength: not graded 1:1 [warning] length.file - the file has 960 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 950 code lines 268:1 [warning] duplication.repeated_block - lines 268 to 274 repeat lines 260 to 266 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/i18n/locale-info.php (other) CodeLength: not graded 1:1 [error] length.file - the file has 3997 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on file level code Duplication: 0 (F), based on 3985 code lines 49:1 [warning] duplication.repeated_block - lines 49 to 56 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 96:1 [warning] duplication.repeated_block - lines 96 to 105 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 129:1 [warning] duplication.repeated_block - lines 129 to 137 repeat lines 113 to 121 (61 tokens); repeated code has to be fixed in every copy 162:1 [warning] duplication.repeated_block - lines 162 to 169 repeat lines 34 to 41 (53 tokens); repeated code has to be fixed in every copy 194:1 [warning] duplication.repeated_block - lines 194 to 201 repeat lines 146 to 153 (53 tokens); repeated code has to be fixed in every copy 209:1 [warning] duplication.repeated_block - lines 209 to 217 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 225:1 [warning] duplication.repeated_block - lines 225 to 233 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 241:1 [warning] duplication.repeated_block - lines 241 to 249 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 257:1 [warning] duplication.repeated_block - lines 257 to 265 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 273:1 [warning] duplication.repeated_block - lines 273 to 281 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 289:1 [warning] duplication.repeated_block - lines 289 to 297 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 306:1 [warning] duplication.repeated_block - lines 306 to 313 repeat lines 82 to 89 (53 tokens); repeated code has to be fixed in every copy 321:1 [warning] duplication.repeated_block - lines 321 to 329 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 337:1 [warning] duplication.repeated_block - lines 337 to 345 repeat lines 113 to 121 (61 tokens); repeated code has to be fixed in every copy 354:1 [warning] duplication.repeated_block - lines 354 to 361 repeat lines 146 to 153 (59 tokens); repeated code has to be fixed in every copy 397:1 [warning] duplication.repeated_block - lines 397 to 406 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 413:1 [warning] duplication.repeated_block - lines 413 to 422 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 430:1 [warning] duplication.repeated_block - lines 430 to 438 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 446:1 [warning] duplication.repeated_block - lines 446 to 454 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 463:1 [warning] duplication.repeated_block - lines 463 to 470 repeat lines 34 to 41 (53 tokens); repeated code has to be fixed in every copy 478:1 [warning] duplication.repeated_block - lines 478 to 486 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 494:1 [warning] duplication.repeated_block - lines 494 to 502 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 510:1 [warning] duplication.repeated_block - lines 510 to 518 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 526:1 [warning] duplication.repeated_block - lines 526 to 534 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 542:1 [warning] duplication.repeated_block - lines 542 to 550 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 558:1 [warning] duplication.repeated_block - lines 558 to 566 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 574:1 [warning] duplication.repeated_block - lines 574 to 582 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 590:1 [warning] duplication.repeated_block - lines 590 to 598 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 605:1 [warning] duplication.repeated_block - lines 605 to 614 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 622:1 [warning] duplication.repeated_block - lines 622 to 630 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 638:1 [warning] duplication.repeated_block - lines 638 to 646 repeat lines 113 to 121 (61 tokens); repeated code has to be fixed in every copy 653:1 [warning] duplication.repeated_block - lines 653 to 662 repeat lines 637 to 646 (71 tokens); repeated code has to be fixed in every copy 685:1 [warning] duplication.repeated_block - lines 685 to 694 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 702:1 [warning] duplication.repeated_block - lines 702 to 710 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 719:1 [warning] duplication.repeated_block - lines 719 to 726 repeat lines 383 to 390 (53 tokens); repeated code has to be fixed in every copy 733:1 [warning] duplication.repeated_block - lines 733 to 742 repeat lines 637 to 646 (71 tokens); repeated code has to be fixed in every copy 750:1 [warning] duplication.repeated_block - lines 750 to 758 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 766:1 [warning] duplication.repeated_block - lines 766 to 773 repeat lines 65 to 72 (53 tokens); repeated code has to be fixed in every copy 783:1 [warning] duplication.repeated_block - lines 783 to 790 repeat lines 114 to 121 (53 tokens); repeated code has to be fixed in every copy 798:1 [warning] duplication.repeated_block - lines 798 to 806 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 814:1 [warning] duplication.repeated_block - lines 814 to 822 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 830:1 [warning] duplication.repeated_block - lines 830 to 838 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 845:1 [warning] duplication.repeated_block - lines 845 to 854 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 861:1 [warning] duplication.repeated_block - lines 861 to 870 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 878:1 [warning] duplication.repeated_block - lines 878 to 886 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 893:1 [warning] duplication.repeated_block - lines 893 to 902 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 910:1 [warning] duplication.repeated_block - lines 910 to 918 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 927:1 [warning] duplication.repeated_block - lines 927 to 934 repeat lines 66 to 73 (53 tokens); repeated code has to be fixed in every copy 942:1 [warning] duplication.repeated_block - lines 942 to 950 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 957:1 [warning] duplication.repeated_block - lines 957 to 966 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 974:1 [warning] duplication.repeated_block - lines 974 to 982 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 990:1 [warning] duplication.repeated_block - lines 990 to 997 repeat lines 161 to 168 (53 tokens); repeated code has to be fixed in every copy 1005:1 [warning] duplication.repeated_block - lines 1005 to 1014 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1022:1 [warning] duplication.repeated_block - lines 1022 to 1030 repeat lines 462 to 470 (61 tokens); repeated code has to be fixed in every copy 1037:1 [warning] duplication.repeated_block - lines 1037 to 1046 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 1054:1 [warning] duplication.repeated_block - lines 1054 to 1061 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 1086:1 [warning] duplication.repeated_block - lines 1086 to 1094 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1101:1 [warning] duplication.repeated_block - lines 1101 to 1110 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1118:1 [warning] duplication.repeated_block - lines 1118 to 1126 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1133:1 [warning] duplication.repeated_block - lines 1133 to 1142 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 1150:1 [warning] duplication.repeated_block - lines 1150 to 1158 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1166:1 [warning] duplication.repeated_block - lines 1166 to 1174 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1181:1 [warning] duplication.repeated_block - lines 1181 to 1190 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 1197:1 [warning] duplication.repeated_block - lines 1197 to 1206 repeat lines 941 to 950 (71 tokens); repeated code has to be fixed in every copy 1213:1 [warning] duplication.repeated_block - lines 1213 to 1222 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 1229:1 [warning] duplication.repeated_block - lines 1229 to 1238 repeat lines 637 to 646 (71 tokens); repeated code has to be fixed in every copy 1246:1 [warning] duplication.repeated_block - lines 1246 to 1254 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1261:1 [warning] duplication.repeated_block - lines 1261 to 1270 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 1278:1 [warning] duplication.repeated_block - lines 1278 to 1286 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 1293:1 [warning] duplication.repeated_block - lines 1293 to 1302 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 1309:1 [warning] duplication.repeated_block - lines 1309 to 1318 repeat lines 1245 to 1254 (71 tokens); repeated code has to be fixed in every copy 1326:1 [warning] duplication.repeated_block - lines 1326 to 1334 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1342:1 [warning] duplication.repeated_block - lines 1342 to 1350 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1358:1 [warning] duplication.repeated_block - lines 1358 to 1366 repeat lines 462 to 470 (61 tokens); repeated code has to be fixed in every copy 1374:1 [warning] duplication.repeated_block - lines 1374 to 1382 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1390:1 [warning] duplication.repeated_block - lines 1390 to 1398 repeat lines 113 to 121 (61 tokens); repeated code has to be fixed in every copy 1405:1 [warning] duplication.repeated_block - lines 1405 to 1414 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 1422:1 [warning] duplication.repeated_block - lines 1422 to 1430 repeat lines 718 to 726 (61 tokens); repeated code has to be fixed in every copy 1437:1 [warning] duplication.repeated_block - lines 1437 to 1446 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1454:1 [warning] duplication.repeated_block - lines 1454 to 1462 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1469:1 [warning] duplication.repeated_block - lines 1469 to 1478 repeat lines 176 to 185 (71 tokens); repeated code has to be fixed in every copy 1485:1 [warning] duplication.repeated_block - lines 1485 to 1494 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 1518:1 [warning] duplication.repeated_block - lines 1518 to 1526 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1534:1 [warning] duplication.repeated_block - lines 1534 to 1542 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1549:1 [warning] duplication.repeated_block - lines 1549 to 1558 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1566:1 [warning] duplication.repeated_block - lines 1566 to 1574 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 1582:1 [warning] duplication.repeated_block - lines 1582 to 1590 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 1597:1 [warning] duplication.repeated_block - lines 1597 to 1606 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1614:1 [warning] duplication.repeated_block - lines 1614 to 1622 repeat lines 718 to 726 (61 tokens); repeated code has to be fixed in every copy 1630:1 [warning] duplication.repeated_block - lines 1630 to 1638 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1647:1 [warning] duplication.repeated_block - lines 1647 to 1654 repeat lines 1071 to 1078 (53 tokens); repeated code has to be fixed in every copy 1661:1 [warning] duplication.repeated_block - lines 1661 to 1670 repeat lines 1245 to 1254 (71 tokens); repeated code has to be fixed in every copy 1678:1 [warning] duplication.repeated_block - lines 1678 to 1686 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1693:1 [warning] duplication.repeated_block - lines 1693 to 1702 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 1710:1 [warning] duplication.repeated_block - lines 1710 to 1718 repeat lines 926 to 934 (61 tokens); repeated code has to be fixed in every copy 1726:1 [warning] duplication.repeated_block - lines 1726 to 1733 repeat lines 718 to 725 (53 tokens); repeated code has to be fixed in every copy 1742:1 [warning] duplication.repeated_block - lines 1742 to 1749 repeat lines 926 to 933 (53 tokens); repeated code has to be fixed in every copy 1757:1 [warning] duplication.repeated_block - lines 1757 to 1766 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 1773:1 [warning] duplication.repeated_block - lines 1773 to 1782 repeat lines 1245 to 1254 (71 tokens); repeated code has to be fixed in every copy 1790:1 [warning] duplication.repeated_block - lines 1790 to 1798 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1806:1 [warning] duplication.repeated_block - lines 1806 to 1814 repeat lines 366 to 374 (61 tokens); repeated code has to be fixed in every copy 1822:1 [warning] duplication.repeated_block - lines 1822 to 1830 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 1838:1 [warning] duplication.repeated_block - lines 1838 to 1845 repeat lines 1070 to 1077 (53 tokens); repeated code has to be fixed in every copy 1854:1 [warning] duplication.repeated_block - lines 1854 to 1862 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 1871:1 [warning] duplication.repeated_block - lines 1871 to 1878 repeat lines 34 to 41 (53 tokens); repeated code has to be fixed in every copy 1885:1 [warning] duplication.repeated_block - lines 1885 to 1894 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 1902:1 [warning] duplication.repeated_block - lines 1902 to 1910 repeat lines 926 to 934 (61 tokens); repeated code has to be fixed in every copy 1917:1 [warning] duplication.repeated_block - lines 1917 to 1926 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 1934:1 [warning] duplication.repeated_block - lines 1934 to 1942 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 1950:1 [warning] duplication.repeated_block - lines 1950 to 1958 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 1966:1 [warning] duplication.repeated_block - lines 1966 to 1974 repeat lines 366 to 374 (61 tokens); repeated code has to be fixed in every copy 1982:1 [warning] duplication.repeated_block - lines 1982 to 1990 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 1998:1 [warning] duplication.repeated_block - lines 1998 to 2006 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 2014:1 [warning] duplication.repeated_block - lines 2014 to 2022 repeat lines 718 to 726 (61 tokens); repeated code has to be fixed in every copy 2030:1 [warning] duplication.repeated_block - lines 2030 to 2038 repeat lines 926 to 934 (61 tokens); repeated code has to be fixed in every copy 2045:1 [warning] duplication.repeated_block - lines 2045 to 2054 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 2061:1 [warning] duplication.repeated_block - lines 2061 to 2070 repeat lines 669 to 678 (71 tokens); repeated code has to be fixed in every copy 2078:1 [warning] duplication.repeated_block - lines 2078 to 2086 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2094:1 [warning] duplication.repeated_block - lines 2094 to 2102 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2110:1 [warning] duplication.repeated_block - lines 2110 to 2118 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2125:1 [warning] duplication.repeated_block - lines 2125 to 2134 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2141:1 [warning] duplication.repeated_block - lines 2141 to 2150 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 2157:1 [warning] duplication.repeated_block - lines 2157 to 2166 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2175:1 [warning] duplication.repeated_block - lines 2175 to 2182 repeat lines 367 to 374 (53 tokens); repeated code has to be fixed in every copy 2190:1 [warning] duplication.repeated_block - lines 2190 to 2197 repeat lines 161 to 168 (53 tokens); repeated code has to be fixed in every copy 2205:1 [warning] duplication.repeated_block - lines 2205 to 2214 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2222:1 [warning] duplication.repeated_block - lines 2222 to 2230 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 2237:1 [warning] duplication.repeated_block - lines 2237 to 2246 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 2253:1 [warning] duplication.repeated_block - lines 2253 to 2262 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2271:1 [warning] duplication.repeated_block - lines 2271 to 2278 repeat lines 1503 to 1510 (53 tokens); repeated code has to be fixed in every copy 2285:1 [warning] duplication.repeated_block - lines 2285 to 2294 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 2302:1 [warning] duplication.repeated_block - lines 2302 to 2310 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 2317:1 [warning] duplication.repeated_block - lines 2317 to 2326 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 2335:1 [warning] duplication.repeated_block - lines 2335 to 2342 repeat lines 1503 to 1510 (53 tokens); repeated code has to be fixed in every copy 2350:1 [warning] duplication.repeated_block - lines 2350 to 2358 repeat lines 2270 to 2278 (61 tokens); repeated code has to be fixed in every copy 2366:1 [warning] duplication.repeated_block - lines 2366 to 2374 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2381:1 [warning] duplication.repeated_block - lines 2381 to 2390 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 2397:1 [warning] duplication.repeated_block - lines 2397 to 2406 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2414:1 [warning] duplication.repeated_block - lines 2414 to 2421 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 2429:1 [warning] duplication.repeated_block - lines 2429 to 2438 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 2445:1 [warning] duplication.repeated_block - lines 2445 to 2454 repeat lines 1629 to 1638 (71 tokens); repeated code has to be fixed in every copy 2462:1 [warning] duplication.repeated_block - lines 2462 to 2470 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 2478:1 [warning] duplication.repeated_block - lines 2478 to 2485 repeat lines 161 to 168 (53 tokens); repeated code has to be fixed in every copy 2494:1 [warning] duplication.repeated_block - lines 2494 to 2502 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2510:1 [warning] duplication.repeated_block - lines 2510 to 2518 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2526:1 [warning] duplication.repeated_block - lines 2526 to 2534 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2542:1 [warning] duplication.repeated_block - lines 2542 to 2550 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 2558:1 [warning] duplication.repeated_block - lines 2558 to 2566 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2589:1 [warning] duplication.repeated_block - lines 2589 to 2598 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 2605:1 [warning] duplication.repeated_block - lines 2605 to 2614 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 2622:1 [warning] duplication.repeated_block - lines 2622 to 2630 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2638:1 [warning] duplication.repeated_block - lines 2638 to 2646 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2653:1 [warning] duplication.repeated_block - lines 2653 to 2662 repeat lines 320 to 329 (71 tokens); repeated code has to be fixed in every copy 2670:1 [warning] duplication.repeated_block - lines 2670 to 2678 repeat lines 193 to 201 (61 tokens); repeated code has to be fixed in every copy 2686:1 [warning] duplication.repeated_block - lines 2686 to 2693 repeat lines 1070 to 1077 (53 tokens); repeated code has to be fixed in every copy 2701:1 [warning] duplication.repeated_block - lines 2701 to 2710 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 2717:1 [warning] duplication.repeated_block - lines 2717 to 2726 repeat lines 701 to 710 (71 tokens); repeated code has to be fixed in every copy 2733:1 [warning] duplication.repeated_block - lines 2733 to 2742 repeat lines 701 to 710 (71 tokens); repeated code has to be fixed in every copy 2750:1 [warning] duplication.repeated_block - lines 2750 to 2758 repeat lines 366 to 374 (61 tokens); repeated code has to be fixed in every copy 2765:1 [warning] duplication.repeated_block - lines 2765 to 2774 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 2782:1 [warning] duplication.repeated_block - lines 2782 to 2789 repeat lines 1070 to 1077 (53 tokens); repeated code has to be fixed in every copy 2797:1 [warning] duplication.repeated_block - lines 2797 to 2806 repeat lines 2573 to 2582 (71 tokens); repeated code has to be fixed in every copy 2814:1 [warning] duplication.repeated_block - lines 2814 to 2822 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2830:1 [warning] duplication.repeated_block - lines 2830 to 2838 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 2846:1 [warning] duplication.repeated_block - lines 2846 to 2853 repeat lines 2270 to 2277 (53 tokens); repeated code has to be fixed in every copy 2862:1 [warning] duplication.repeated_block - lines 2862 to 2870 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 2877:1 [warning] duplication.repeated_block - lines 2877 to 2886 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2893:1 [warning] duplication.repeated_block - lines 2893 to 2902 repeat lines 701 to 710 (71 tokens); repeated code has to be fixed in every copy 2909:1 [warning] duplication.repeated_block - lines 2909 to 2918 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 2925:1 [warning] duplication.repeated_block - lines 2925 to 2934 repeat lines 1805 to 1814 (71 tokens); repeated code has to be fixed in every copy 2941:1 [warning] duplication.repeated_block - lines 2941 to 2950 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 2957:1 [warning] duplication.repeated_block - lines 2957 to 2966 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 2974:1 [warning] duplication.repeated_block - lines 2974 to 2981 repeat lines 65 to 72 (53 tokens); repeated code has to be fixed in every copy 2990:1 [warning] duplication.repeated_block - lines 2990 to 2997 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 3005:1 [warning] duplication.repeated_block - lines 3005 to 3014 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 3022:1 [warning] duplication.repeated_block - lines 3022 to 3030 repeat lines 33 to 41 (61 tokens); repeated code has to be fixed in every copy 3038:1 [warning] duplication.repeated_block - lines 3038 to 3045 repeat lines 926 to 933 (53 tokens); repeated code has to be fixed in every copy 3054:1 [warning] duplication.repeated_block - lines 3054 to 3062 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3070:1 [warning] duplication.repeated_block - lines 3070 to 3077 repeat lines 65 to 72 (53 tokens); repeated code has to be fixed in every copy 3086:1 [warning] duplication.repeated_block - lines 3086 to 3093 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 3102:1 [warning] duplication.repeated_block - lines 3102 to 3110 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3118:1 [warning] duplication.repeated_block - lines 3118 to 3126 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3134:1 [warning] duplication.repeated_block - lines 3134 to 3141 repeat lines 33 to 40 (53 tokens); repeated code has to be fixed in every copy 3150:1 [warning] duplication.repeated_block - lines 3150 to 3158 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3166:1 [warning] duplication.repeated_block - lines 3166 to 3174 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3182:1 [warning] duplication.repeated_block - lines 3182 to 3190 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3197:1 [warning] duplication.repeated_block - lines 3197 to 3206 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 3213:1 [warning] duplication.repeated_block - lines 3213 to 3222 repeat lines 2669 to 2678 (71 tokens); repeated code has to be fixed in every copy 3229:1 [warning] duplication.repeated_block - lines 3229 to 3238 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 3246:1 [warning] duplication.repeated_block - lines 3246 to 3254 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 3261:1 [warning] duplication.repeated_block - lines 3261 to 3270 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 3278:1 [warning] duplication.repeated_block - lines 3278 to 3285 repeat lines 65 to 72 (53 tokens); repeated code has to be fixed in every copy 3294:1 [warning] duplication.repeated_block - lines 3294 to 3302 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 3310:1 [warning] duplication.repeated_block - lines 3310 to 3318 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 3326:1 [warning] duplication.repeated_block - lines 3326 to 3334 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3342:1 [warning] duplication.repeated_block - lines 3342 to 3350 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3357:1 [warning] duplication.repeated_block - lines 3357 to 3366 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 3374:1 [warning] duplication.repeated_block - lines 3374 to 3382 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3390:1 [warning] duplication.repeated_block - lines 3390 to 3398 repeat lines 926 to 934 (61 tokens); repeated code has to be fixed in every copy 3406:1 [warning] duplication.repeated_block - lines 3406 to 3414 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3421:1 [warning] duplication.repeated_block - lines 3421 to 3430 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 3437:1 [warning] duplication.repeated_block - lines 3437 to 3446 repeat lines 637 to 646 (71 tokens); repeated code has to be fixed in every copy 3453:1 [warning] duplication.repeated_block - lines 3453 to 3462 repeat lines 336 to 345 (71 tokens); repeated code has to be fixed in every copy 3470:1 [warning] duplication.repeated_block - lines 3470 to 3478 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3486:1 [warning] duplication.repeated_block - lines 3486 to 3494 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3501:1 [warning] duplication.repeated_block - lines 3501 to 3510 repeat lines 701 to 710 (71 tokens); repeated code has to be fixed in every copy 3517:1 [warning] duplication.repeated_block - lines 3517 to 3526 repeat lines 1565 to 1574 (71 tokens); repeated code has to be fixed in every copy 3534:1 [warning] duplication.repeated_block - lines 3534 to 3542 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3550:1 [warning] duplication.repeated_block - lines 3550 to 3558 repeat lines 2174 to 2182 (61 tokens); repeated code has to be fixed in every copy 3566:1 [warning] duplication.repeated_block - lines 3566 to 3573 repeat lines 1070 to 1077 (53 tokens); repeated code has to be fixed in every copy 3582:1 [warning] duplication.repeated_block - lines 3582 to 3590 repeat lines 462 to 470 (61 tokens); repeated code has to be fixed in every copy 3598:1 [warning] duplication.repeated_block - lines 3598 to 3606 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3613:1 [warning] duplication.repeated_block - lines 3613 to 3622 repeat lines 208 to 217 (71 tokens); repeated code has to be fixed in every copy 3630:1 [warning] duplication.repeated_block - lines 3630 to 3638 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 3646:1 [warning] duplication.repeated_block - lines 3646 to 3654 repeat lines 2270 to 2278 (61 tokens); repeated code has to be fixed in every copy 3662:1 [warning] duplication.repeated_block - lines 3662 to 3670 repeat lines 145 to 153 (61 tokens); repeated code has to be fixed in every copy 3678:1 [warning] duplication.repeated_block - lines 3678 to 3686 repeat lines 2270 to 2278 (61 tokens); repeated code has to be fixed in every copy 3693:1 [warning] duplication.repeated_block - lines 3693 to 3702 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 3709:1 [warning] duplication.repeated_block - lines 3709 to 3718 repeat lines 176 to 185 (71 tokens); repeated code has to be fixed in every copy 3726:1 [warning] duplication.repeated_block - lines 3726 to 3734 repeat lines 161 to 169 (61 tokens); repeated code has to be fixed in every copy 3742:1 [warning] duplication.repeated_block - lines 3742 to 3750 repeat lines 113 to 121 (61 tokens); repeated code has to be fixed in every copy 3757:1 [warning] duplication.repeated_block - lines 3757 to 3766 repeat lines 32 to 41 (71 tokens); repeated code has to be fixed in every copy 3773:1 [warning] duplication.repeated_block - lines 3773 to 3782 repeat lines 80 to 89 (71 tokens); repeated code has to be fixed in every copy 3790:1 [warning] duplication.repeated_block - lines 3790 to 3798 repeat lines 462 to 470 (61 tokens); repeated code has to be fixed in every copy 3805:1 [warning] duplication.repeated_block - lines 3805 to 3814 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy 3821:1 [warning] duplication.repeated_block - lines 3821 to 3830 repeat lines 176 to 185 (71 tokens); repeated code has to be fixed in every copy 3838:1 [warning] duplication.repeated_block - lines 3838 to 3845 repeat lines 926 to 933 (53 tokens); repeated code has to be fixed in every copy 3854:1 [warning] duplication.repeated_block - lines 3854 to 3862 repeat lines 1502 to 1510 (61 tokens); repeated code has to be fixed in every copy 3869:1 [warning] duplication.repeated_block - lines 3869 to 3878 repeat lines 2573 to 2582 (71 tokens); repeated code has to be fixed in every copy 3886:1 [warning] duplication.repeated_block - lines 3886 to 3894 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3901:1 [warning] duplication.repeated_block - lines 3901 to 3910 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 3918:1 [warning] duplication.repeated_block - lines 3918 to 3926 repeat lines 926 to 934 (61 tokens); repeated code has to be fixed in every copy 3933:1 [warning] duplication.repeated_block - lines 3933 to 3942 repeat lines 240 to 249 (71 tokens); repeated code has to be fixed in every copy 3951:1 [warning] duplication.repeated_block - lines 3951 to 3958 repeat lines 146 to 153 (53 tokens); repeated code has to be fixed in every copy 3966:1 [warning] duplication.repeated_block - lines 3966 to 3974 repeat lines 81 to 89 (61 tokens); repeated code has to be fixed in every copy 3981:1 [warning] duplication.repeated_block - lines 3981 to 3990 repeat lines 909 to 918 (71 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/i18n/phone.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 260 code lines NamingConvention: not graded Security: not graded woocommerce/i18n/states.php (other) CodeLength: not graded 1:1 [error] length.file - the file has 2245 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2221 code lines NamingConvention: not graded Security: not graded woocommerce/i18n/units.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 16 code lines NamingConvention: not graded Security: not graded woocommerce/includes/abstracts/abstract-wc-address-provider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/abstracts/abstract-wc-data.php (other) CodeLength: not graded 757:18 [warning] length.function - WC_Data::save_meta_data has 53 lines in its body, above 50 26:16 [warning] length.class - WC_Data has 999 lines, above 500 for a other 1:1 [warning] length.file - the file has 1024 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 45 functions and file level code Duplication: 100 (A), based on 434 code lines 519:1 [warning] duplication.repeated_block - lines 519 to 528 repeat lines 489 to 498 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 97 names 462:34 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/abstracts/abstract-wc-deprecated-hooks.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/includes/abstracts/abstract-wc-integration.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/abstracts/abstract-wc-log-handler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/includes/abstracts/abstract-wc-object-query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/abstracts/abstract-wc-order.php (other) CodeLength: not graded 477:21 [warning] length.function - WC_Abstract_Order::save_items has 86 lines in its body, above 50 1122:18 [error] length.function - WC_Abstract_Order::remove_order_items has 104 lines in its body, above 100 1665:18 [warning] length.function - WC_Abstract_Order::apply_coupon has 84 lines in its body, above 50 1902:18 [warning] length.function - WC_Abstract_Order::recalculate_coupons has 55 lines in its body, above 50 2023:21 [warning] length.function - WC_Abstract_Order::set_coupon_discount_amounts has 60 lines in its body, above 50 2093:18 [warning] length.function - WC_Abstract_Order::add_product has 52 lines in its body, above 50 2384:18 [warning] length.function - WC_Abstract_Order::update_taxes has 74 lines in its body, above 50 2494:18 [warning] length.function - WC_Abstract_Order::calculate_totals has 65 lines in its body, above 50 35:16 [error] length.class - WC_Abstract_Order has 3152 lines, above 1000 for a other 1:1 [error] length.file - the file has 3186 lines, above 1200 for a other CyclomaticComplexity: 92 (A), based on 122 functions and file level code 477:21 [warning] complexity.function - WC_Abstract_Order::save_items has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1122:18 [warning] complexity.function - WC_Abstract_Order::remove_order_items has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1548:18 [warning] complexity.function - WC_Abstract_Order::hold_applied_coupons has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1665:18 [warning] complexity.function - WC_Abstract_Order::apply_coupon has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 2238:21 [warning] complexity.function - WC_Abstract_Order::get_tax_location has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 2384:18 [warning] complexity.function - WC_Abstract_Order::update_taxes has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 2494:18 [warning] complexity.function - WC_Abstract_Order::calculate_totals has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 2726:18 [warning] complexity.function - WC_Abstract_Order::get_subtotal_to_display has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1512 code lines 1629:1 [warning] duplication.repeated_block - lines 1629 to 1635 repeat lines 1607 to 1613 (55 tokens); repeated code has to be fixed in every copy 2442:1 [warning] duplication.repeated_block - lines 2442 to 2451 repeat lines 2422 to 2432 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 282 names 112:11 [warning] naming.too_long - property `data_store_supports_deferred_item_deletion` is 42 characters (limit 30); very long names make code hard to read 133:13 [warning] naming.too_long - property `item_ids_to_bulk_delete_by_type` is 31 characters (limit 30); very long names make code hard to read 374:19 [warning] naming.too_long - method `data_store_supports_deferred_item_deletion` is 42 characters (limit 30); very long names make code hard to read 845:18 [warning] naming.too_long - method `get_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read 1098:18 [warning] naming.too_long - method `set_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read 1648:19 [warning] naming.too_long - method `get_billing_and_current_user_ids_and_aliases` is 44 characters (limit 30); very long names make code hard to read 1763:18 [warning] naming.too_long - method `apply_coupon_using_edited_totals` is 32 characters (limit 30); very long names make code hard to read 1786:19 [warning] naming.too_long - method `sync_subtotals_with_manually_edited_totals` is 42 characters (limit 30); very long names make code hard to read 2835:21 [warning] naming.too_long - method `add_order_item_totals_subtotal_row` is 34 characters (limit 30); very long names make code hard to read 2854:21 [warning] naming.too_long - method `add_order_item_totals_discount_row` is 34 characters (limit 30); very long names make code hard to read 2871:21 [warning] naming.too_long - method `add_order_item_totals_shipping_row` is 34 characters (limit 30); very long names make code hard to read 2941:21 [warning] naming.too_long - method `add_order_item_totals_total_row` is 31 characters (limit 30); very long names make code hard to read 3114:21 [warning] naming.too_long - method `calculate_cogs_total_value_core` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/abstracts/abstract-wc-payment-gateway.php (other) CodeLength: not graded 31:16 [warning] length.class - WC_Payment_Gateway has 673 lines, above 500 for a other 1:1 [warning] length.file - the file has 703 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 29 functions and file level code Duplication: 100 (A), based on 211 code lines NamingConvention: 97 (A), based on 71 names 607:18 [warning] naming.too_long - method `get_saved_payment_method_option_html` is 36 characters (limit 30); very long names make code hard to read 637:18 [warning] naming.too_long - method `get_new_payment_method_option_html` is 34 characters (limit 30); very long names make code hard to read Security: not graded 501:4 [info] security.unescaped_output - echo of `wpautop( wptexturize( $description ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 597:3 [info] security.unescaped_output - echo of `apply_filters( 'wc_payment_gateway_form_saved_payment_methods_html', $html, $...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) 688:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_payment_gateway_save_new_payment_method_option_ht...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/abstracts/abstract-wc-payment-token.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 71 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/includes/abstracts/abstract-wc-privacy.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/includes/abstracts/abstract-wc-product.php (other) CodeLength: not graded 34:7 [error] length.class - WC_Product has 2504 lines, above 1000 for a other 1:1 [error] length.file - the file has 2537 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 177 functions and file level code Duplication: 100 (A), based on 928 code lines NamingConvention: 99 (A), based on 278 names 1526:4 [warning] naming.too_long - variable `stock_is_above_notification_threshold` is 37 characters (limit 30); very long names make code hard to read 1595:21 [warning] naming.too_long - method `before_data_store_save_or_update` is 32 characters (limit 30); very long names make code hard to read 1606:21 [warning] naming.too_long - method `after_data_store_save_or_update` is 31 characters (limit 30); very long names make code hard to read 1906:18 [warning] naming.too_long - method `backorders_require_notification` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/abstracts/abstract-wc-session.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/includes/abstracts/abstract-wc-settings-api.php (other) CodeLength: not graded 789:18 [warning] length.function - WC_Settings_API::generate_multiselect_html has 52 lines in its body, above 50 17:16 [warning] length.class - WC_Settings_API has 998 lines, above 500 for a other 1:1 [warning] length.file - the file has 1014 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 44 functions and file level code Duplication: 0 (F), based on 442 code lines 487:1 [warning] duplication.repeated_block - lines 487 to 523 repeat lines 430 to 466 (156 tokens); repeated code has to be fixed in every copy 523:1 [warning] duplication.repeated_block - lines 523 to 542 repeat lines 466 to 486 (58 tokens); repeated code has to be fixed in every copy 542:1 [warning] duplication.repeated_block - lines 542 to 566 repeat lines 442 to 466 (141 tokens); repeated code has to be fixed in every copy 566:1 [warning] duplication.repeated_block - lines 566 to 585 repeat lines 523 to 542 (65 tokens); repeated code has to be fixed in every copy 585:1 [warning] duplication.repeated_block - lines 585 to 605 repeat lines 486 to 506 (70 tokens); repeated code has to be fixed in every copy 605:1 [warning] duplication.repeated_block - lines 605 to 621 repeat lines 450 to 466 (75 tokens); repeated code has to be fixed in every copy 622:1 [warning] duplication.repeated_block - lines 622 to 623 repeat lines 466 to 467 (70 tokens); repeated code has to be fixed in every copy 623:1 [warning] duplication.repeated_block - lines 623 to 666 repeat lines 523 to 566 (169 tokens); repeated code has to be fixed in every copy 714:1 [warning] duplication.repeated_block - lines 714 to 743 repeat lines 523 to 552 (101 tokens); repeated code has to be fixed in every copy 748:1 [warning] duplication.repeated_block - lines 748 to 759 repeat lines 455 to 466 (58 tokens); repeated code has to be fixed in every copy 770:1 [warning] duplication.repeated_block - lines 770 to 800 repeat lines 523 to 552 (100 tokens); repeated code has to be fixed in every copy 806:1 [warning] duplication.repeated_block - lines 806 to 817 repeat lines 455 to 466 (57 tokens); repeated code has to be fixed in every copy 817:1 [warning] duplication.repeated_block - lines 817 to 822 repeat lines 759 to 764 (87 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 75 names 166:34 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 344:36 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 87:3 [info] security.unescaped_output - echo of `$this->generate_settings_html( $this->get_form_fields(), false )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- generate_settings_html() returns built-in or extension-filtered settings field markup.) 140:38 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing` -- Raw settings values are passed to field-specific validators; authorization belongs to the caller.) 179:10 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing` -- Raw settings values are returned for field-specific validation; authorization belongs to the caller.) 371:4 [info] security.unescaped_output - echo of `$html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $html contains built-in renderer output and extension-filtered custom field markup.) 461:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 466:447 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 467:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 518:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 523:455 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 524:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 561:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 566:459 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 567:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 616:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 622:396 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 624:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 661:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 666:405 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 667:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 708:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 714:331 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 715:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 754:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 759:259 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 772:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) 812:108 [info] security.unescaped_output - echo of `$this->get_tooltip_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_tooltip_html() returns sanitized, filterable help-tip markup.) 817:286 [info] security.unescaped_output - echo of `$this->get_custom_attribute_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_custom_attribute_html() escapes each attribute name and value.) 830:12 [info] security.unescaped_output - echo of `$this->get_description_html( $data )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_description_html() sanitizes the description with wp_kses_post().) woocommerce/includes/abstracts/abstract-wc-shipping-method.php (other) CodeLength: not graded 291:18 [warning] length.function - WC_Shipping_Method::add_rate has 87 lines in its body, above 50 24:16 [warning] length.class - WC_Shipping_Method has 604 lines, above 500 for a other 1:1 [warning] length.file - the file has 627 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 24 functions and file level code 291:18 [warning] complexity.function - WC_Shipping_Method::add_rate has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 386:21 [warning] complexity.function - WC_Shipping_Method::get_taxes_per_item has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 257 code lines 417:1 [warning] duplication.repeated_block - lines 417 to 423 repeat lines 406 to 412 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 78 names Security: not graded 508:3 [info] security.unescaped_output - echo of `$this->get_admin_options_html()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Returns the extensible settings renderer's markup.) woocommerce/includes/abstracts/abstract-wc-widget.php (other) CodeLength: not graded 245:18 [warning] length.function - WC_Widget::form has 72 lines in its body, above 50 324:21 [warning] length.function - WC_Widget::get_current_page_url has 66 lines in its body, above 50 CyclomaticComplexity: 80 (B), based on 11 functions and file level code 189:18 [warning] complexity.function - WC_Widget::update has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 245:18 [warning] complexity.function - WC_Widget::form has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 324:21 [warning] complexity.function - WC_Widget::get_current_page_url has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 201 code lines 267:1 [warning] duplication.repeated_block - lines 267 to 271 repeat lines 258 to 262 (56 tokens); repeated code has to be fixed in every copy 276:1 [warning] duplication.repeated_block - lines 276 to 280 repeat lines 258 to 262 (52 tokens); repeated code has to be fixed in every copy 289:1 [warning] duplication.repeated_block - lines 289 to 293 repeat lines 258 to 262 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 39 names 377:47 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 96:4 [info] security.unescaped_output - echo of `$cache[ $this->get_widget_id_for_cache( $args['widget_id'] ) ]` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Widget markup that was already escaped when it was rendered into the cache.) 163:3 [info] security.unescaped_output - echo of `$args['before_widget']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sidebar wrapper markup supplied by the theme via register_sidebar().) 168:4 [info] security.unescaped_output - echo of `$args['before_title']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Theme-supplied title wrappers around the widget_title filtered value.) 178:3 [info] security.unescaped_output - echo of `$args['after_widget']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sidebar wrapper markup supplied by the theme via register_sidebar().) woocommerce/includes/abstracts/class-wc-background-process.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 111 code lines 183:1 [warning] duplication.repeated_block - lines 183 to 196 repeat lines 31 to 44 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 22 names Security: not graded 44:35 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) 71:35 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) 196:24 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/admin/class-wc-admin-addons.php (other) CodeLength: not graded 312:26 [warning] length.function - WC_Admin_Addons::process_api_response has 61 lines in its body, above 50 CyclomaticComplexity: 96 (A), based on 15 functions and file level code 384:25 [warning] complexity.function - WC_Admin_Addons::fetch has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 206 code lines NamingConvention: 96 (A), based on 57 names 179:25 [warning] naming.too_long - method `handle_legacy_marketplace_redirects` is 35 characters (limit 30); very long names make code hard to read 352:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/class-wc-admin-api-keys-table-list.php (other) CodeLength: not graded 72:18 [warning] length.function - WC_Admin_API_Keys_Table_List::column_title has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 161 code lines NamingConvention: 100 (A), based on 34 names Security: not graded 259:18 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$search`; pass values through prepare with placeholders to prevent SQL injection 265:19 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$search`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- The search fragment is escaped and the table name is trusted.) woocommerce/includes/admin/class-wc-admin-api-keys.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 155 code lines NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/includes/admin/class-wc-admin-assets.php (other) CodeLength: not graded 95:19 [warning] length.function - WC_Admin_Assets::admin_styles has 84 lines in its body, above 50 185:20 [error] length.function - WC_Admin_Assets::get_scripts has 188 lines in its body, above 100 380:19 [warning] length.function - WC_Admin_Assets::register_scripts has 67 lines in its body, above 50 452:19 [error] length.function - WC_Admin_Assets::admin_scripts has 440 lines in its body, above 100 31:8 [warning] length.class - WC_Admin_Assets has 945 lines, above 500 for a other 1:1 [warning] length.file - the file has 979 lines, above 600 for a other CyclomaticComplexity: 47 (F), based on 10 functions and file level code 95:19 [warning] complexity.function - WC_Admin_Assets::admin_styles has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 452:19 [error] complexity.function - WC_Admin_Assets::admin_scripts has a cyclomatic complexity of 52, untestable risk (above 10): each of its 52 paths needs its own test, which makes it hard to follow and to change safely 917:19 [warning] complexity.function - WC_Admin_Assets::enqueue_command_palette_assets has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 772 code lines 318:1 [warning] duplication.repeated_block - lines 318 to 323 repeat lines 312 to 317 (50 tokens); repeated code has to be fixed in every copy 834:1 [warning] duplication.repeated_block - lines 834 to 840 repeat lines 612 to 618 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 51 names 52:20 [warning] naming.too_long - method `should_show_lost_connection_notice` is 34 characters (limit 30); very long names make code hard to read 965:5 [warning] naming.too_long - variable `types_with_metaboxes_screen_ids` is 31 characters (limit 30); very long names make code hard to read Security: not graded 901:30 [info] security.include_variable - require of `$script_path_name` builds the file path from data; a crafted path can load another file (suppressed by `phpcs:disable`) woocommerce/includes/admin/class-wc-admin-attributes.php (other) CodeLength: not graded 200:26 [warning] length.function - WC_Admin_Attributes::slug_byte_counter_script has 70 lines in its body, above 50 276:25 [error] length.function - WC_Admin_Attributes::edit_attribute has 126 lines in its body, above 100 408:25 [error] length.function - WC_Admin_Attributes::add_attribute has 238 lines in its body, above 100 19:7 [warning] length.class - WC_Admin_Attributes has 628 lines, above 500 for a other 1:1 [warning] length.file - the file has 646 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 9 functions and file level code 408:25 [warning] complexity.function - WC_Admin_Attributes::add_attribute has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 283 code lines 133:1 [warning] duplication.repeated_block - lines 133 to 144 repeat lines 104 to 115 (73 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 41 names Security: not graded 233:26 [info] security.unescaped_output - echo of `$template` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wp_json_encode with JSON_HEX_TAG produces JS-safe output.) 234:31 [info] security.unescaped_output - echo of `$js_description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wp_json_encode with JSON_HEX_TAG produces JS-safe output; 'null' fallback is a literal.) 472:20 [info] security.unescaped_output - echo of `$row_actions` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Row action values are link HTML. Default values are escaped above; filtered callbacks should return safe HTML.) woocommerce/includes/admin/class-wc-admin-brands.php (other) CodeLength: not graded 44:18 [warning] length.function - WC_Brands_Admin::__construct has 66 lines in its body, above 50 143:18 [warning] length.function - WC_Brands_Admin::add_coupon_brands_fields has 53 lines in its body, above 50 313:18 [warning] length.function - WC_Brands_Admin::add_thumbnail_field has 86 lines in its body, above 50 405:18 [warning] length.function - WC_Brands_Admin::edit_thumbnail_field has 78 lines in its body, above 50 763:18 [warning] length.function - WC_Brands_Admin::parse_brands_field has 51 lines in its body, above 50 18:7 [warning] length.class - WC_Brands_Admin has 843 lines, above 500 for a other 1:1 [warning] length.file - the file has 862 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 29 functions and file level code Duplication: 85 (B), based on 399 code lines 174:1 [warning] duplication.repeated_block - lines 174 to 191 repeat lines 151 to 168 (105 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 91 names 703:18 [warning] naming.too_long - method `add_column_to_importer_exporter` is 31 characters (limit 30); very long names make code hard to read 746:45 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 628:82 [info] security.unescaped_output - echo of `$placeholder` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 629:11 [info] security.unescaped_output - echo of `$selected_option` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/class-wc-admin-customize.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 44 code lines NamingConvention: 82 (B), based on 11 names 37:19 [warning] naming.too_long - method `register_customize_nav_menu_item_types` is 38 characters (limit 30); very long names make code hard to read 58:19 [warning] naming.too_long - method `register_customize_nav_menu_items` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-dashboard-setup.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 124 code lines NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/includes/admin/class-wc-admin-dashboard.php (other) CodeLength: not graded 169:19 [error] length.function - WC_Admin_Dashboard::status_widget_content has 105 lines in its body, above 100 326:20 [error] length.function - WC_Admin_Dashboard::status_widget_stock_rows has 108 lines in its body, above 100 438:20 [warning] length.function - WC_Admin_Dashboard::legacy_recent_reviews has 58 lines in its body, above 50 525:19 [warning] length.function - WC_Admin_Dashboard::recent_reviews_content has 55 lines in its body, above 50 584:19 [warning] length.function - WC_Admin_Dashboard::network_orders has 68 lines in its body, above 50 27:8 [warning] length.class - WC_Admin_Dashboard has 736 lines, above 500 for a other 1:1 [warning] length.file - the file has 766 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 424 code lines 574:1 [warning] duplication.repeated_block - lines 574 to 586 repeat lines 490 to 502 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 82 names 528:5 [warning] naming.too_long - variable `has_legacy_product_title_filter` is 31 characters (limit 30); very long names make code hard to read 727:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 731:24 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 461:23 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 471:6 [warning] security.unescaped_output - echo of `get_avatar( $comment->comment_author_email, '32' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/class-wc-admin-duplicate-product.php (other) CodeLength: not graded 134:18 [error] length.function - WC_Admin_Duplicate_Product::product_duplicate has 115 lines in its body, above 100 328:19 [warning] length.function - WC_Admin_Duplicate_Product::generate_unique_sku has 96 lines in its body, above 50 CyclomaticComplexity: 90 (A), based on 8 functions and file level code 134:18 [warning] complexity.function - WC_Admin_Duplicate_Product::product_duplicate has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 218 code lines NamingConvention: 100 (A), based on 36 names Security: not graded woocommerce/includes/admin/class-wc-admin-exporters.php (other) CodeLength: not graded 143:18 [warning] length.function - WC_Admin_Exporters::do_ajax_product_export has 75 lines in its body, above 50 CyclomaticComplexity: 87 (B), based on 10 functions and file level code 143:18 [warning] complexity.function - WC_Admin_Exporters::do_ajax_product_export has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 142 code lines NamingConvention: 96 (A), based on 23 names 90:18 [warning] naming.too_long - method `menu_highlight_for_product_export` is 33 characters (limit 30); very long names make code hard to read Security: not graded 128:157 [info] security.unsanitized_input - read of `$_GET['action']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 133:42 [info] security.unsanitized_input - read of `$_GET['filename']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 156:45 [info] security.unsanitized_input - read of `$_POST['columns']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 160:50 [info] security.unsanitized_input - read of `$_POST['selected_columns']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 168:56 [info] security.unsanitized_input - read of `$_POST['export_types']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 172:73 [info] security.unsanitized_input - read of `$_POST['export_category']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- AJAX verifies nonce/capability; exporter setters sanitize values.) 185:41 [info] security.unsanitized_input - read of `$_POST['filename']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- AJAX verifies nonce/capability; exporter setters sanitize values.) woocommerce/includes/admin/class-wc-admin-help.php (other) CodeLength: not graded 32:18 [warning] length.function - WC_Admin_Help::add_tabs has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/class-wc-admin-importers.php (other) CodeLength: not graded 175:18 [warning] length.function - WC_Admin_Importers::post_importer_compatibility has 58 lines in its body, above 50 CyclomaticComplexity: 91 (A), based on 12 functions and file level code 175:18 [warning] complexity.function - WC_Admin_Importers::post_importer_compatibility has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 155 code lines NamingConvention: 97 (A), based on 29 names 94:18 [warning] naming.too_long - method `menu_highlight_for_product_import` is 33 characters (limit 30); very long names make code hard to read Security: not graded 157:5 [warning] security.include_variable - require of `$class_wp_importer` builds the file path from data; a crafted path can load another file woocommerce/includes/admin/class-wc-admin-log-table-list.php (other) CodeLength: not graded 19:7 [warning] length.class - WC_Admin_Log_Table_List has 527 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 24 functions and file level code Duplication: 100 (A), based on 287 code lines NamingConvention: 97 (A), based on 61 names 79:27 [warning] naming.too_short - variable `l` is 1 character (at least 2); a one letter name hides its meaning 293:29 [warning] naming.too_short - variable `s` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 73:51 [warning] security.unsanitized_input - read of `$_REQUEST['level']` with no sanitizer around it; sanitize request input where you read it 287:54 [warning] security.unsanitized_input - read of `$_REQUEST['source']` with no sanitizer around it; sanitize request input where you read it 480:63 [warning] security.unsanitized_input - read of `$_REQUEST['order']` with no sanitizer around it; sanitize request input where you read it 506:72 [warning] security.unsanitized_input - read of `$_REQUEST['level']` with no sanitizer around it; sanitize request input where you read it 508:61 [warning] security.unsanitized_input - read of `$_REQUEST['level']` with no sanitizer around it; sanitize request input where you read it 523:17 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ' AND ', $where_conditions )`; pass values through prepare with placeholders to prevent SQL injection woocommerce/includes/admin/class-wc-admin-marketplace-promotions.php (other) CodeLength: not graded 481:26 [warning] length.function - WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions has 53 lines in its body, above 50 24:7 [warning] length.class - WC_Admin_Marketplace_Promotions has 733 lines, above 500 for a other 1:1 [warning] length.file - the file has 761 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 24 functions and file level code 427:26 [warning] complexity.function - WC_Admin_Marketplace_Promotions::rules_are_valid has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 386 code lines NamingConvention: 93 (A), based on 72 names 24:7 [warning] naming.too_long - class `WC_Admin_Marketplace_Promotions` is 31 characters (limit 30); very long names make code hard to read 170:25 [warning] naming.too_long - method `maybe_enqueue_orders_promo_card` is 31 characters (limit 30); very long names make code hard to read 645:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 645:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 740:25 [warning] naming.too_long - method `clear_deprecated_scheduled_event` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-menus.php (other) CodeLength: not graded 496:18 [warning] length.function - WC_Admin_Menus::filter_default_nav_menu_hidden_meta_boxes has 55 lines in its body, above 50 557:18 [warning] length.function - WC_Admin_Menus::nav_menu_links has 54 lines in its body, above 50 25:7 [warning] length.class - WC_Admin_Menus has 673 lines, above 500 for a other 1:1 [warning] length.file - the file has 699 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 28 functions and file level code 496:18 [warning] complexity.function - WC_Admin_Menus::filter_default_nav_menu_hidden_meta_boxes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 302 code lines NamingConvention: 97 (A), based on 70 names 477:18 [warning] naming.too_long - method `register_default_nav_menu_meta_boxes_filter` is 43 characters (limit 30); very long names make code hard to read 496:18 [warning] naming.too_long - method `filter_default_nav_menu_hidden_meta_boxes` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-meta-boxes.php (other) CodeLength: not graded 214:18 [warning] length.function - WC_Admin_Meta_Boxes::save_meta_boxes has 61 lines in its body, above 50 CyclomaticComplexity: 91 (A), based on 11 functions and file level code 214:18 [warning] complexity.function - WC_Admin_Meta_Boxes::save_meta_boxes has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 144 code lines NamingConvention: 100 (A), based on 31 names Security: not graded woocommerce/includes/admin/class-wc-admin-notices.php (other) CodeLength: not graded 16:7 [warning] length.class - WC_Admin_Notices has 644 lines, above 500 for a other 1:1 [warning] length.file - the file has 661 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 39 functions and file level code Duplication: 100 (A), based on 259 code lines NamingConvention: 89 (B), based on 62 names 508:25 [warning] naming.too_long - method `regenerating_lookup_table_notice` is 32 characters (limit 30); very long names make code hard to read 542:25 [warning] naming.too_long - method `add_maxmind_missing_license_key_notice` is 38 characters (limit 30); very long names make code hard to read 553:25 [warning] naming.too_long - method `add_redirect_download_method_notice` is 35 characters (limit 30); very long names make code hard to read 565:25 [warning] naming.too_long - method `download_directories_sync_complete` is 34 characters (limit 30); very long names make code hard to read 576:25 [warning] naming.too_long - method `maxmind_missing_license_key_notice` is 34 characters (limit 30); very long names make code hard to read 588:25 [warning] naming.too_long - method `redirect_download_method_notice` is 31 characters (limit 30); very long names make code hard to read 600:25 [warning] naming.too_long - method `uploads_directory_is_unprotected_notice` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-permalink-settings.php (other) CodeLength: not graded 132:19 [warning] length.function - WC_Admin_Permalink_Settings::get_stored_product_base has 54 lines in its body, above 50 190:18 [warning] length.function - WC_Admin_Permalink_Settings::settings has 98 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 120 code lines NamingConvention: 100 (A), based on 25 names Security: not graded 315:139 [info] security.unsanitized_input - read of `$_POST['product_permalink_structure']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Sanitized by wc_sanitize_permalink() inside the resolver.) woocommerce/includes/admin/class-wc-admin-pointers.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 51 code lines NamingConvention: 86 (B), based on 7 names 71:18 [warning] naming.too_long - method `create_variable_product_tutorial` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-post-types.php (other) CodeLength: not graded 396:19 [error] length.function - WC_Admin_Post_Types::quick_edit_save has 150 lines in its body, above 100 553:18 [error] length.function - WC_Admin_Post_Types::bulk_edit_save has 143 lines in its body, above 100 940:19 [warning] length.function - WC_Admin_Post_Types::set_new_price has 69 lines in its body, above 50 30:7 [error] length.class - WC_Admin_Post_Types has 1006 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1037 lines, above 600 for a other CyclomaticComplexity: 73 (C), based on 26 functions and file level code 396:19 [error] complexity.function - WC_Admin_Post_Types::quick_edit_save has a cyclomatic complexity of 40, high risk (above 10): each of its 40 paths needs its own test, which makes it hard to follow and to change safely 553:18 [error] complexity.function - WC_Admin_Post_Types::bulk_edit_save has a cyclomatic complexity of 36, high risk (above 10): each of its 36 paths needs its own test, which makes it hard to follow and to change safely 940:19 [warning] complexity.function - WC_Admin_Post_Types::set_new_price has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 626 code lines 314:1 [warning] duplication.repeated_block - lines 314 to 335 repeat lines 293 to 314 (58 tokens); repeated code has to be fixed in every copy 578:1 [warning] duplication.repeated_block - lines 578 to 586 repeat lines 441 to 449 (53 tokens); repeated code has to be fixed in every copy 588:1 [warning] duplication.repeated_block - lines 588 to 597 repeat lines 433 to 443 (72 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 96 names 274:19 [warning] naming.too_long - method `maybe_display_warning_for_password_protected_coupon` is 51 characters (limit 30); very long names make code hard to read 834:18 [warning] naming.too_long - method `process_product_file_download_paths` is 35 characters (limit 30); very long names make code hard to read Security: not graded 745:167 [info] security.unescaped_output - echo of `$post->post_excerpt` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 1017:10 [info] security.unsanitized_input - read of `$_REQUEST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended`) woocommerce/includes/admin/class-wc-admin-profile.php (other) CodeLength: not graded 38:19 [error] length.function - WC_Admin_Profile::get_customer_meta_fields has 117 lines in its body, above 100 CyclomaticComplexity: 94 (A), based on 5 functions and file level code 161:19 [warning] complexity.function - WC_Admin_Profile::add_customer_meta_fields has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 191 code lines 133:1 [warning] duplication.repeated_block - lines 133 to 140 repeat lines 73 to 80 (76 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 20 names Security: not graded 170:15 [warning] security.unescaped_output - echo of `$fieldset['title']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/class-wc-admin-reports.php (other) CodeLength: not graded 132:25 [error] length.function - WC_Admin_Reports::get_reports has 151 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 186 code lines NamingConvention: 92 (A), based on 25 names 55:25 [warning] naming.too_long - method `delete_legacy_reports_transients` is 32 characters (limit 30); very long names make code hard to read 93:25 [warning] naming.too_long - method `replace_dashboard_status_widget_reports` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-settings.php (other) CodeLength: not graded 251:26 [error] length.function - WC_Admin_Settings::output_fields has 629 lines in its body, above 100 936:26 [error] length.function - WC_Admin_Settings::save_fields has 139 lines in its body, above 100 20:8 [error] length.class - WC_Admin_Settings has 1089 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1110 lines, above 600 for a other CyclomaticComplexity: 26 (F), based on 12 functions and file level code 251:26 [error] complexity.function - WC_Admin_Settings::output_fields has a cyclomatic complexity of 114, untestable risk (above 10): each of its 114 paths needs its own test, which makes it hard to follow and to change safely 889:26 [warning] complexity.function - WC_Admin_Settings::get_field_description has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 936:26 [error] complexity.function - WC_Admin_Settings::save_fields has a cyclomatic complexity of 39, high risk (above 10): each of its 39 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 677 code lines 408:1 [warning] duplication.repeated_block - lines 408 to 417 repeat lines 383 to 393 (65 tokens); repeated code has to be fixed in every copy 420:1 [warning] duplication.repeated_block - lines 420 to 428 repeat lines 395 to 401 (54 tokens); repeated code has to be fixed in every copy 438:1 [warning] duplication.repeated_block - lines 438 to 445 repeat lines 384 to 391 (51 tokens); repeated code has to be fixed in every copy 471:1 [warning] duplication.repeated_block - lines 471 to 481 repeat lines 383 to 394 (73 tokens); repeated code has to be fixed in every copy 735:1 [warning] duplication.repeated_block - lines 735 to 743 repeat lines 387 to 395 (78 tokens); repeated code has to be fixed in every copy 799:1 [warning] duplication.repeated_block - lines 799 to 807 repeat lines 775 to 779 (58 tokens); repeated code has to be fixed in every copy 833:1 [warning] duplication.repeated_block - lines 833 to 842 repeat lines 797 to 807 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 86 names 114:27 [warning] naming.too_long - method `maybe_redirect_after_settings_ui_save` is 37 characters (limit 30); very long names make code hard to read 489:50 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 936:50 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 1081:26 [warning] naming.too_long - method `check_download_folder_protection` is 32 characters (limit 30); very long names make code hard to read Security: not graded 389:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 400:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 401:62 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 414:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 427:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 428:24 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 443:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 457:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 477:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 485:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 505:25 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 527:10 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Built by self::get_field_description(), which passes the tip through wc_help_tip(); that helper sanitizes the tip text and escapes the aria-label.) 553:19 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 639:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 640:18 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 641:23 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- For checkboxes, get_field_description() wraps the tip in a description paragraph sanitized with wp_kses_post().) 675:64 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $tooltip_html is sanitized, filterable markup; $disabled_message is fixed escaped markup.) 679:84 [info] security.unescaped_output - echo of `$disabled_attr` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $disabled_attr is either empty or the fixed disabled attribute.) 679:433 [info] security.unescaped_output - echo of `$disabled_attr` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $disabled_attr is either empty or the fixed disabled attribute.) 681:90 [info] security.unescaped_output - echo of `$disabled_attr` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $disabled_attr is either empty or the fixed disabled attribute.) 709:65 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 714:9 [info] security.unescaped_output - echo of `str_replace( ' id=', " data-placeholder='" . esc_attr__( 'Select a page&helli...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wp_dropdown_pages() and get_field_description() return intentional, sanitized markup; injected attributes are escaped here.) 737:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 745:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 753:17 [info] security.unescaped_output - echo of `wp_strip_all_tags( $option_display_name )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 756:25 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 777:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 781:24 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 801:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 819:25 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 837:111 [info] security.unescaped_output - echo of `$tooltip_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Sanitized, filterable help-tip markup from get_field_description().) 850:16 [info] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $custom_attributes values are individually escaped before concatenation.) 858:25 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $description is sanitized with wp_kses_post().) 938:13 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing` -- Values are unslashed and sanitized by declared field type below; authorization belongs to the caller.) woocommerce/includes/admin/class-wc-admin-setup-wizard.php (other) CodeLength: not graded 224:18 [warning] length.function - WC_Admin_Setup_Wizard::setup_wizard has 79 lines in its body, above 50 489:18 [error] length.function - WC_Admin_Setup_Wizard::wc_setup_store_setup has 127 lines in its body, above 100 913:21 [warning] length.function - WC_Admin_Setup_Wizard::shipping_method_selection_form has 54 lines in its body, above 50 1023:18 [error] length.function - WC_Admin_Setup_Wizard::wc_setup_shipping has 163 lines in its body, above 100 1405:21 [error] length.function - WC_Admin_Setup_Wizard::get_wizard_available_in_cart_payment_gateways has 139 lines in its body, above 100 1551:18 [warning] length.function - WC_Admin_Setup_Wizard::get_wizard_in_cart_payment_gateways has 63 lines in its body, above 50 1656:18 [warning] length.function - WC_Admin_Setup_Wizard::display_service_item has 99 lines in its body, above 50 1788:18 [warning] length.function - WC_Admin_Setup_Wizard::wc_setup_payment has 70 lines in its body, above 50 1921:18 [warning] length.function - WC_Admin_Setup_Wizard::wc_setup_recommended has 82 lines in its body, above 50 2090:18 [error] length.function - WC_Admin_Setup_Wizard::wc_setup_activate has 139 lines in its body, above 100 2278:18 [warning] length.function - WC_Admin_Setup_Wizard::wc_setup_ready has 91 lines in its body, above 50 21:7 [error] length.class - WC_Admin_Setup_Wizard has 2349 lines, above 1000 for a other 1:1 [error] length.file - the file has 2370 lines, above 1200 for a other CyclomaticComplexity: 92 (A), based on 64 functions and file level code 913:21 [warning] complexity.function - WC_Admin_Setup_Wizard::shipping_method_selection_form has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1551:18 [warning] complexity.function - WC_Admin_Setup_Wizard::get_wizard_in_cart_payment_gateways has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1656:18 [error] complexity.function - WC_Admin_Setup_Wizard::display_service_item has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 2063:21 [warning] complexity.function - WC_Admin_Setup_Wizard::wc_setup_activate_get_feature_list_str has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 2090:18 [warning] complexity.function - WC_Admin_Setup_Wizard::wc_setup_activate has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 1290 code lines 214:1 [warning] duplication.repeated_block - lines 214 to 225 repeat lines 67 to 78 (51 tokens); repeated code has to be fixed in every copy 468:1 [warning] duplication.repeated_block - lines 468 to 490 repeat lines 203 to 225 (53 tokens); repeated code has to be fixed in every copy 1346:1 [warning] duplication.repeated_block - lines 1346 to 1363 repeat lines 1329 to 1346 (50 tokens); repeated code has to be fixed in every copy 1470:1 [warning] duplication.repeated_block - lines 1470 to 1479 repeat lines 1444 to 1453 (69 tokens); repeated code has to be fixed in every copy 1851:1 [warning] duplication.repeated_block - lines 1851 to 1879 repeat lines 1179 to 1208 (90 tokens); repeated code has to be fixed in every copy 1992:1 [warning] duplication.repeated_block - lines 1992 to 2019 repeat lines 1173 to 1206 (67 tokens); repeated code has to be fixed in every copy 2257:1 [warning] duplication.repeated_block - lines 2257 to 2279 repeat lines 203 to 225 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 177 names 59:11 [warning] naming.too_long - property `wc_admin_plugin_minimum_wordpress_version` is 41 characters (limit 30); very long names make code hard to read 183:21 [warning] naming.too_long - method `should_show_wc_admin_onboarding` is 31 characters (limit 30); very long names make code hard to read 998:21 [warning] naming.too_long - method `get_product_dimension_selection` is 31 characters (limit 30); very long names make code hard to read 1285:21 [warning] naming.too_long - method `is_klarna_checkout_supported_country` is 36 characters (limit 30); very long names make code hard to read 1304:21 [warning] naming.too_long - method `is_klarna_payments_supported_country` is 36 characters (limit 30); very long names make code hard to read 1342:21 [warning] naming.too_long - method `is_eway_payments_supported_country` is 34 characters (limit 30); very long names make code hard to read 1359:21 [warning] naming.too_long - method `is_shipstation_supported_country` is 32 characters (limit 30); very long names make code hard to read 1377:21 [warning] naming.too_long - method `is_wcs_shipping_labels_supported_country` is 40 characters (limit 30); very long names make code hard to read 1405:21 [warning] naming.too_long - method `get_wizard_available_in_cart_payment_gateways` is 45 characters (limit 30); very long names make code hard to read 1551:18 [warning] naming.too_long - method `get_wizard_in_cart_payment_gateways` is 35 characters (limit 30); very long names make code hard to read 1621:18 [warning] naming.too_long - method `get_wizard_manual_payment_gateways` is 34 characters (limit 30); very long names make code hard to read 2038:21 [warning] naming.too_long - method `wc_setup_activate_get_feature_list` is 34 characters (limit 30); very long names make code hard to read 2063:21 [warning] naming.too_long - method `wc_setup_activate_get_feature_list_str` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-status.php (other) CodeLength: not graded 47:25 [warning] length.function - WC_Admin_Status::status_tools has 57 lines in its body, above 50 252:25 [warning] length.function - WC_Admin_Status::get_latest_theme_version has 52 lines in its body, above 50 417:26 [warning] length.function - WC_Admin_Status::output_plugins_info has 54 lines in its body, above 50 CyclomaticComplexity: 90 (A), based on 18 functions and file level code 47:25 [warning] complexity.function - WC_Admin_Status::status_tools has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 417:26 [warning] complexity.function - WC_Admin_Status::output_plugins_info has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 257 code lines NamingConvention: 100 (A), based on 67 names Security: not graded 315:38 [info] security.unsanitized_input - read of `$_REQUEST['handle']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Tools are allowlisted and nonce-protected; log handles are sanitized and confined.) 463:7 [info] security.unescaped_output - echo of `$untested_string` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/class-wc-admin-taxonomies.php (other) CodeLength: not graded 123:18 [warning] length.function - WC_Admin_Taxonomies::add_category_fields has 92 lines in its body, above 50 221:18 [warning] length.function - WC_Admin_Taxonomies::edit_category_fields has 87 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 194 code lines 248:1 [warning] duplication.repeated_block - lines 248 to 296 repeat lines 136 to 186 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 40 names 483:18 [warning] naming.too_long - method `scripts_at_product_cat_screen_footer` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-upload-downloadable-product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 62 code lines NamingConvention: 87 (B), based on 15 names 20:7 [warning] naming.too_long - class `WC_Admin_Upload_Downloadable_Product` is 36 characters (limit 30); very long names make code hard to read 119:18 [warning] naming.too_long - method `woocommerce_media_upload_downloadable_product` is 45 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/class-wc-admin-webhooks-table-list.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 185 code lines NamingConvention: 100 (A), based on 40 names Security: not graded woocommerce/includes/admin/class-wc-admin-webhooks.php (other) CodeLength: not graded 54:19 [error] length.function - WC_Admin_Webhooks::save has 108 lines in its body, above 100 CyclomaticComplexity: 89 (B), based on 14 functions and file level code 54:19 [warning] complexity.function - WC_Admin_Webhooks::save has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 195 code lines NamingConvention: 100 (A), based on 36 names Security: not graded woocommerce/includes/admin/class-wc-admin.php (other) CodeLength: not graded 276:18 [warning] length.function - WC_Admin::admin_footer_text has 61 lines in its body, above 50 CyclomaticComplexity: 97 (A), based on 13 functions and file level code 112:18 [warning] complexity.function - WC_Admin::conditional_includes has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 232 code lines 347:1 [warning] duplication.repeated_block - lines 347 to 362 repeat lines 277 to 291 (65 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 41 names Security: not graded 262:4 [info] security.unescaped_output - echo of `$message` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/includes/admin/helper/class-wc-helper-admin.php (other) CodeLength: not graded 56:25 [warning] length.function - WC_Helper_Admin::add_marketplace_settings has 70 lines in its body, above 50 221:25 [warning] length.function - WC_Helper_Admin::get_product_preview has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 191 code lines NamingConvention: 96 (A), based on 27 names 35:5 [warning] naming.too_long - variable `is_wc_home_or_in_app_marketplace` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/helper/class-wc-helper-api-backoff.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 76 code lines NamingConvention: 100 (A), based on 23 names Security: not graded 112:30 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/admin/helper/class-wc-helper-api.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 103 code lines 132:1 [warning] duplication.repeated_block - lines 132 to 141 repeat lines 107 to 114 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 23 names 88:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/helper/class-wc-helper-compat.php (other) CodeLength: not graded 59:25 [warning] length.function - WC_Helper_Compat::migrate_connection has 82 lines in its body, above 50 CyclomaticComplexity: 84 (B), based on 8 functions and file level code 59:25 [warning] complexity.function - WC_Helper_Compat::migrate_connection has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/includes/admin/helper/class-wc-helper-options.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/admin/helper/class-wc-helper-orders-api.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 66 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/admin/helper/class-wc-helper-sanitization.php (other) CodeLength: not graded 28:25 [warning] length.function - WC_Helper_Sanitization::sanitize_css has 60 lines in its body, above 50 127:25 [error] length.function - WC_Helper_Sanitization::wc_kses_safe_svg_tags has 107 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 151 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/includes/admin/helper/class-wc-helper-subscriptions-api.php (other) CodeLength: not graded 33:25 [error] length.function - WC_Helper_Subscriptions_API::register_rest_routes has 116 lines in its body, above 100 372:25 [warning] length.function - WC_Helper_Subscriptions_API::activate has 85 lines in its body, above 50 CyclomaticComplexity: 94 (A), based on 11 functions and file level code 372:25 [warning] complexity.function - WC_Helper_Subscriptions_API::activate has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 393 code lines 72:1 [warning] duplication.repeated_block - lines 72 to 84 repeat lines 57 to 69 (56 tokens); repeated code has to be fixed in every copy 87:1 [warning] duplication.repeated_block - lines 87 to 99 repeat lines 57 to 69 (56 tokens); repeated code has to be fixed in every copy 102:1 [warning] duplication.repeated_block - lines 102 to 115 repeat lines 57 to 69 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/includes/admin/helper/class-wc-helper-updater.php (other) CodeLength: not graded 88:25 [warning] length.function - WC_Helper_Updater::transient_update_plugins has 66 lines in its body, above 50 901:25 [error] length.function - WC_Helper_Updater::get_translations_update_data has 112 lines in its body, above 100 1069:26 [warning] length.function - WC_Helper_Updater::_update_check has 80 lines in its body, above 50 1155:25 [warning] length.function - WC_Helper_Updater::get_updates_count has 58 lines in its body, above 50 21:7 [error] length.class - WC_Helper_Updater has 1311 lines, above 1000 for a other 1:1 [error] length.file - the file has 1333 lines, above 1200 for a other CyclomaticComplexity: 92 (A), based on 42 functions and file level code 88:25 [warning] complexity.function - WC_Helper_Updater::transient_update_plugins has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 901:25 [warning] complexity.function - WC_Helper_Updater::get_translations_update_data has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1155:25 [warning] complexity.function - WC_Helper_Updater::get_updates_count has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 672 code lines NamingConvention: 84 (B), based on 103 names 47:25 [warning] naming.too_long - method `add_hook_for_modifying_update_notices` is 37 characters (limit 30); very long names make code hard to read 64:25 [warning] naming.too_long - method `setup_message_for_expired_and_expiring_subscriptions` is 52 characters (limit 30); very long names make code hard to read 74:25 [warning] naming.too_long - method `setup_message_for_plugins_without_subscription` is 46 characters (limit 30); very long names make code hard to read 96:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 265:25 [warning] naming.too_long - method `add_connect_woocom_plugin_message` is 33 characters (limit 30); very long names make code hard to read 351:26 [warning] naming.too_long - method `get_product_id_for_plugin_row_notice` is 36 characters (limit 30); very long names make code hard to read 425:25 [warning] naming.too_long - method `display_connect_notice_for_woo_plugins` is 38 characters (limit 30); very long names make code hard to read 447:25 [warning] naming.too_long - method `display_subscription_notice_for_woo_plugins` is 43 characters (limit 30); very long names make code hard to read 531:26 [warning] naming.too_long - method `get_product_page_url_from_update_response` is 41 characters (limit 30); very long names make code hard to read 640:26 [warning] naming.too_long - method `get_product_id_from_update_response` is 35 characters (limit 30); very long names make code hard to read 709:25 [warning] naming.too_long - method `add_install_marketplace_plugin_message` is 38 characters (limit 30); very long names make code hard to read 790:25 [warning] naming.too_long - method `display_notice_for_expired_and_expiring_subscriptions` is 53 characters (limit 30); very long names make code hard to read 809:25 [warning] naming.too_long - method `display_notice_for_plugins_without_subscription` is 47 characters (limit 30); very long names make code hard to read 834:25 [warning] naming.too_long - method `get_available_extensions_downloads_data` is 39 characters (limit 30); very long names make code hard to read 992:7 [warning] naming.too_long - variable `installed_translation_revision_time` is 35 characters (limit 30); very long names make code hard to read 1219:25 [warning] naming.too_long - method `get_updates_count_based_on_site_status` is 38 characters (limit 30); very long names make code hard to read Security: not graded 285:3 [info] security.unescaped_output - echo of `self::kses_notice( $notice )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- kses_notice() escapes.) woocommerce/includes/admin/helper/class-wc-helper.php (other) CodeLength: not graded 165:25 [warning] length.function - WC_Helper::get_api_error has 57 lines in its body, above 50 329:25 [error] length.function - WC_Helper::render_helper_output has 283 lines in its body, above 100 770:26 [error] length.function - WC_Helper::_get_return_notices has 133 lines in its body, above 100 979:26 [warning] length.function - WC_Helper::get_helper_redirect_url has 52 lines in its body, above 50 1037:26 [warning] length.function - WC_Helper::_helper_auth_connect has 85 lines in its body, above 50 1128:26 [warning] length.function - WC_Helper::_helper_auth_return has 92 lines in its body, above 50 1464:25 [warning] length.function - WC_Helper::deactivate_helper_subscription has 53 lines in its body, above 50 1793:25 [warning] length.function - WC_Helper::get_local_woo_plugins has 65 lines in its body, above 50 1871:25 [warning] length.function - WC_Helper::get_local_woo_themes has 52 lines in its body, above 50 1931:25 [warning] length.function - WC_Helper::get_product_usage_notice_rules has 57 lines in its body, above 50 2109:25 [error] length.function - WC_Helper::get_subscriptions has 110 lines in its body, above 100 2250:25 [warning] length.function - WC_Helper::get_subscription_list_data has 92 lines in its body, above 50 2386:25 [warning] length.function - WC_Helper::is_subscription_installed has 60 lines in its body, above 50 2453:25 [warning] length.function - WC_Helper::get_subscription_local_data has 58 lines in its body, above 50 2752:25 [warning] length.function - WC_Helper::activated_plugin has 55 lines in its body, above 50 2819:25 [warning] length.function - WC_Helper::connect_theme has 59 lines in its body, above 50 2889:25 [warning] length.function - WC_Helper::deactivated_plugin has 75 lines in its body, above 50 21:7 [error] length.class - WC_Helper has 3422 lines, above 1000 for a other 1:1 [error] length.file - the file has 3444 lines, above 1200 for a other CyclomaticComplexity: 83 (B), based on 87 functions and file level code 329:25 [error] complexity.function - WC_Helper::render_helper_output has a cyclomatic complexity of 28, high risk (above 10): each of its 28 paths needs its own test, which makes it hard to follow and to change safely 707:26 [warning] complexity.function - WC_Helper::_filter has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 770:26 [warning] complexity.function - WC_Helper::_get_return_notices has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 909:25 [warning] complexity.function - WC_Helper::current_screen has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1128:26 [warning] complexity.function - WC_Helper::_helper_auth_return has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1793:25 [warning] complexity.function - WC_Helper::get_local_woo_plugins has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1871:25 [warning] complexity.function - WC_Helper::get_local_woo_themes has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 2109:25 [error] complexity.function - WC_Helper::get_subscriptions has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 2250:25 [warning] complexity.function - WC_Helper::get_subscription_list_data has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 2543:25 [warning] complexity.function - WC_Helper::set_subscription_auto_update has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 2081 code lines 229:1 [warning] duplication.repeated_block - lines 229 to 246 repeat lines 86 to 103 (54 tokens); repeated code has to be fixed in every copy 513:1 [warning] duplication.repeated_block - lines 513 to 523 repeat lines 484 to 494 (61 tokens); repeated code has to be fixed in every copy 578:1 [warning] duplication.repeated_block - lines 578 to 589 repeat lines 564 to 575 (67 tokens); repeated code has to be fixed in every copy 839:1 [warning] duplication.repeated_block - lines 839 to 846 repeat lines 788 to 795 (58 tokens); repeated code has to be fixed in every copy 852:1 [warning] duplication.repeated_block - lines 852 to 859 repeat lines 775 to 782 (58 tokens); repeated code has to be fixed in every copy 865:1 [warning] duplication.repeated_block - lines 865 to 872 repeat lines 788 to 795 (58 tokens); repeated code has to be fixed in every copy 1419:1 [warning] duplication.repeated_block - lines 1419 to 1431 repeat lines 1298 to 1310 (87 tokens); repeated code has to be fixed in every copy 1437:1 [warning] duplication.repeated_block - lines 1437 to 1447 repeat lines 1316 to 1326 (56 tokens); repeated code has to be fixed in every copy 1447:1 [warning] duplication.repeated_block - lines 1447 to 1469 repeat lines 1326 to 1349 (77 tokens); repeated code has to be fixed in every copy 1650:1 [warning] duplication.repeated_block - lines 1650 to 1673 repeat lines 1621 to 1645 (94 tokens); repeated code has to be fixed in every copy 2151:1 [warning] duplication.repeated_block - lines 2151 to 2162 repeat lines 1947 to 1958 (60 tokens); repeated code has to be fixed in every copy 2174:1 [warning] duplication.repeated_block - lines 2174 to 2182 repeat lines 1961 to 1969 (68 tokens); repeated code has to be fixed in every copy 2842:1 [warning] duplication.repeated_block - lines 2842 to 2853 repeat lines 2772 to 2783 (50 tokens); repeated code has to be fixed in every copy 2890:1 [warning] duplication.repeated_block - lines 2890 to 2905 repeat lines 2754 to 2769 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 224 names 60:16 [warning] naming.too_long - constant `RESPONSE_CODES_WITH_SPECIFIC_MESSAGES` is 37 characters (limit 30); very long names make code hard to read 541:71 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 621:25 [warning] naming.too_long - method `add_utm_params_to_url_for_subscription_link` is 43 characters (limit 30); very long names make code hard to read 956:26 [warning] naming.too_long - method `maybe_redirect_to_new_marketplace_installer` is 43 characters (limit 30); very long names make code hard to read 1717:26 [warning] naming.too_long - method `_get_subscriptions_from_product_id` is 34 characters (limit 30); very long names make code hard to read 2322:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 2322:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 2425:4 [warning] naming.too_long - variable `product_subscriptions_without_maxed_connections` is 47 characters (limit 30); very long names make code hard to read 3077:25 [warning] naming.too_long - method `flush_product_usage_notice_rules_cache` is 38 characters (limit 30); very long names make code hard to read Security: not graded 1164:37 [info] security.unsanitized_input - read of `$_GET['request_token']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1205:29 [warning] security.unsanitized_input - read of `$_GET['wccom-install-url']` with no sanitizer around it; sanitize request input where you read it 2128:31 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 2990:4 [info] security.unescaped_output - echo of `$notice` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/helper/class-wc-plugin-api-updater.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 53 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/includes/admin/helper/class-wc-product-usage-notice.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 40 (F), based on 211 code lines 189:1 [warning] duplication.repeated_block - lines 189 to 214 repeat lines 114 to 139 (60 tokens); repeated code has to be fixed in every copy 369:1 [warning] duplication.repeated_block - lines 369 to 381 repeat lines 342 to 354 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 77 (C), based on 39 names 34:8 [warning] naming.too_long - constant `DISMISSED_TIMESTAMP_META_PREFIX` is 31 characters (limit 30); very long names make code hard to read 42:8 [warning] naming.too_long - constant `REMIND_LATER_TIMESTAMP_META_PREFIX` is 34 characters (limit 30); very long names make code hard to read 83:25 [warning] naming.too_long - method `maybe_show_product_usage_notice` is 31 characters (limit 30); very long names make code hard to read 125:26 [warning] naming.too_long - method `is_remind_later_clicked_recently` is 32 characters (limit 30); very long names make code hard to read 137:4 [warning] naming.too_long - variable `seconds_since_clicked_remind_later` is 34 characters (limit 30); very long names make code hard to read 173:26 [warning] naming.too_long - method `is_any_notices_dismissed_recently` is 33 characters (limit 30); very long names make code hard to read 200:26 [warning] naming.too_long - method `is_product_notice_dismissed_recently` is 36 characters (limit 30); very long names make code hard to read 237:25 [warning] naming.too_long - method `enqueue_product_usage_notice_scripts` is 36 characters (limit 30); very long names make code hard to read 328:29 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/helper/class-wc-woo-helper-connection.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 43 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/admin/helper/class-wc-woo-update-manager-plugin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 56 code lines NamingConvention: 69 (D), based on 13 names 21:8 [warning] naming.too_long - constant `WOO_UPDATE_MANAGER_PLUGIN_MAIN_FILE` is 35 characters (limit 30); very long names make code hard to read 22:8 [warning] naming.too_long - constant `WOO_UPDATE_MANAGER_DOWNLOAD_URL` is 31 characters (limit 30); very long names make code hard to read 77:25 [warning] naming.too_long - method `show_woo_update_manager_install_notice` is 38 characters (limit 30); very long names make code hard to read 125:28 [warning] naming.too_long - method `activate_admin_notice_dismissed` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/helper/views/html-helper-compat.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/helper/views/html-main.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 9:7 [error] complexity.file_code - file level code has a cyclomatic complexity of 31, high risk (above 10): each of its 31 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 120 code lines NamingConvention: 92 (A), based on 12 names 205:55 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 64:14 [info] security.unescaped_output - echo of `$class_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/helper/views/html-notice-woo-updater-not-activated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 11 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/helper/views/html-notice-woo-updater-not-installed.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 12 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/helper/views/html-oauth-start.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 15 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/helper/views/html-section-account.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: not graded Security: not graded 9:12 [warning] security.unescaped_output - echo of `get_avatar( $auth_user_data['email'], 48 )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/helper/views/html-section-nav.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/helper/views/html-section-notices.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 5:9 [warning] security.unescaped_output - echo of `wpautop( $notice['message'] )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/importers/class-wc-product-csv-importer-controller.php (other) CodeLength: not graded 524:25 [warning] length.function - WC_Product_CSV_Importer_Controller::dispatch_ajax has 76 lines in its body, above 50 773:21 [error] length.function - WC_Product_CSV_Importer_Controller::auto_map_columns has 117 lines in its body, above 100 941:21 [error] length.function - WC_Product_CSV_Importer_Controller::get_mapping_options has 102 lines in its body, above 100 27:7 [error] length.class - WC_Product_CSV_Importer_Controller has 1017 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1043 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 30 functions and file level code 524:25 [warning] complexity.function - WC_Product_CSV_Importer_Controller::dispatch_ajax has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 620 code lines NamingConvention: 97 (A), based on 110 names 27:7 [warning] naming.too_long - class `WC_Product_CSV_Importer_Controller` is 34 characters (limit 30); very long names make code hard to read 424:26 [warning] naming.too_long - method `release_stranded_cleanup_claims` is 31 characters (limit 30); very long names make code hard to read 913:21 [warning] naming.too_long - method `sanitize_special_column_name_regex` is 34 characters (limit 30); very long names make code hard to read Security: not graded 335:3 [info] security.unescaped_output - echo of `$output` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- output is HTML we've generated ourselves.) woocommerce/includes/admin/importers/class-wc-tax-rate-importer.php (other) CodeLength: not graded 136:18 [warning] length.function - WC_Tax_Rate_Importer::import has 58 lines in its body, above 50 277:18 [warning] length.function - WC_Tax_Rate_Importer::greet has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 175 code lines NamingConvention: 94 (A), based on 36 names 127:41 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 364:41 [warning] naming.generic - parameter `val` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/importers/mappings/default.php (other) CodeLength: not graded 36:10 [warning] length.function - wc_importer_default_english_mappings has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 81 code lines NamingConvention: 75 (C), based on 8 names 36:10 [warning] naming.too_long - function `wc_importer_default_english_mappings` is 36 characters (limit 30); very long names make code hard to read 100:10 [warning] naming.too_long - function `wc_importer_default_special_english_mappings` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/importers/mappings/generic.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/importers/mappings/mappings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/importers/mappings/shopify.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 63 (D), based on 8 names 53:10 [warning] naming.too_long - function `wc_importer_shopify_special_mappings` is 36 characters (limit 30); very long names make code hard to read 73:10 [warning] naming.too_long - function `wc_importer_shopify_expand_data` is 31 characters (limit 30); very long names make code hard to read 73:44 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/importers/mappings/wordpress.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-done.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 8:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-footer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-header.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-mapping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-progress.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/importers/views/html-csv-import-steps.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/importers/views/html-product-csv-import-form.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/list-tables/abstract-class-wc-admin-list-table.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions and file level code Duplication: 100 (A), based on 112 code lines NamingConvention: 100 (A), based on 39 names Security: not graded woocommerce/includes/admin/list-tables/class-wc-admin-list-table-coupons.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 117 code lines NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/includes/admin/list-tables/class-wc-admin-list-table-orders.php (other) CodeLength: not graded 238:25 [error] length.function - WC_Admin_List_Table_Orders::get_order_preview_item_html has 115 lines in its body, above 100 412:25 [warning] length.function - WC_Admin_List_Table_Orders::order_preview_get_order_details has 59 lines in its body, above 50 602:21 [warning] length.function - WC_Admin_List_Table_Orders::query_filters has 58 lines in its body, above 50 28:7 [warning] length.class - WC_Admin_List_Table_Orders has 709 lines, above 500 for a other 1:1 [warning] length.file - the file has 736 lines, above 600 for a other CyclomaticComplexity: 83 (B), based on 29 functions and file level code 238:25 [error] complexity.function - WC_Admin_List_Table_Orders::get_order_preview_item_html has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 693:18 [warning] complexity.function - WC_Admin_List_Table_Orders::search_custom_fields has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 430 code lines NamingConvention: 99 (A), based on 92 names 412:25 [warning] naming.too_long - method `order_preview_get_order_details` is 31 characters (limit 30); very long names make code hard to read Security: not graded 229:3 [warning] security.unescaped_output - echo of `$this->orders_list_table->get_order_preview_template()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/list-tables/class-wc-admin-list-table-products.php (other) CodeLength: not graded 249:21 [warning] length.function - WC_Admin_List_Table_Products::render_name_column has 66 lines in its body, above 50 613:21 [warning] length.function - WC_Admin_List_Table_Products::query_filters has 71 lines in its body, above 50 1079:18 [warning] length.function - WC_Admin_List_Table_Products::filter_stock_status_post_clauses has 58 lines in its body, above 50 29:7 [error] length.class - WC_Admin_List_Table_Products has 1164 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1192 lines, above 600 for a other CyclomaticComplexity: 95 (A), based on 52 functions and file level code 613:21 [warning] complexity.function - WC_Admin_List_Table_Products::query_filters has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 710:18 [warning] complexity.function - WC_Admin_List_Table_Products::order_search_results has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 818:19 [warning] complexity.function - WC_Admin_List_Table_Products::get_default_search_order has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 622 code lines NamingConvention: 90 (A), based on 125 names 480:21 [warning] naming.too_long - method `render_products_category_filter` is 31 characters (limit 30); very long names make code hard to read 542:18 [warning] naming.too_long - method `render_products_stock_status_filter` is 35 characters (limit 30); very long names make code hard to read 959:18 [warning] naming.too_long - method `order_by_price_asc_post_clauses` is 31 characters (limit 30); very long names make code hard to read 971:18 [warning] naming.too_long - method `order_by_price_desc_post_clauses` is 32 characters (limit 30); very long names make code hard to read 1007:18 [warning] naming.too_long - method `order_by_cogs_value_asc_post_clauses` is 36 characters (limit 30); very long names make code hard to read 1019:18 [warning] naming.too_long - method `order_by_cogs_value_desc_post_clauses` is 37 characters (limit 30); very long names make code hard to read 1031:18 [warning] naming.too_long - method `order_by_global_unique_id_asc_post_clauses` is 42 characters (limit 30); very long names make code hard to read 1043:18 [warning] naming.too_long - method `order_by_global_unique_id_desc_post_clauses` is 43 characters (limit 30); very long names make code hard to read 1055:18 [warning] naming.too_long - method `filter_downloadable_post_clauses` is 32 characters (limit 30); very long names make code hard to read 1079:18 [warning] naming.too_long - method `filter_stock_status_post_clauses` is 32 characters (limit 30); very long names make code hard to read 1144:19 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read 1155:18 [warning] naming.too_long - method `add_variation_parents_for_shipping_class` is 40 characters (limit 30); very long names make code hard to read Security: not graded 243:3 [info] security.unescaped_output - echo of `$this->object->get_image( 'thumbnail' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_image() returns HTML, including output from the public product image filter.) 262:4 [info] security.unescaped_output - echo of `get_the_title( $this->object->get_parent_id() )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) 286:3 [info] security.unescaped_output - echo of `$cogs_value_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- the COGS value is already escaped.) 370:4 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_admin_product_term_list', implode( ', ', $termlis...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Term names and links are escaped above; the filter returns extension-controlled markup by design.) 398:4 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_admin_product_term_list', implode( ', ', $termlis...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Term names and links are escaped above; the filter returns extension-controlled markup by design.) 472:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_product_filters', $output )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $output is buffered admin markup and the filter returns extension-controlled markup by design.) 534:3 [info] security.unescaped_output - echo of `$output` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $output contains only fixed markup and escaped option values.) 552:3 [info] security.unescaped_output - echo of `$output` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $output contains only fixed markup and escaped option values.) woocommerce/includes/admin/marketplace-suggestions/class-wc-marketplace-suggestions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 111 code lines NamingConvention: 88 (B), based on 24 names 87:25 [warning] naming.too_long - method `post_add_dismissed_suggestion_handler` is 37 characters (limit 30); very long names make code hard to read 151:25 [warning] naming.too_long - method `maybe_trigger_suggestions_fetch` is 31 characters (limit 30); very long names make code hard to read 200:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 92:34 [warning] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/admin/marketplace-suggestions/class-wc-marketplace-updater.php (other) CodeLength: not graded 35:25 [warning] length.function - WC_Marketplace_Updater::update_marketplace_suggestions has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 59 code lines NamingConvention: 92 (A), based on 13 names 36:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/marketplace-suggestions/templates/html-product-data-extensions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/marketplace-suggestions/views/container.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/meta-boxes/class-wc-meta-box-coupon-data.php (other) CodeLength: not graded 27:25 [error] length.function - WC_Meta_Box_Coupon_Data::output has 323 lines in its body, above 100 CyclomaticComplexity: 74 (C), based on 2 functions and file level code 27:25 [warning] complexity.function - WC_Meta_Box_Coupon_Data::output has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 266 code lines 211:1 [warning] duplication.repeated_block - lines 211 to 221 repeat lines 193 to 203 (79 tokens); repeated code has to be fixed in every copy 250:1 [warning] duplication.repeated_block - lines 250 to 260 repeat lines 233 to 242 (79 tokens); repeated code has to be fixed in every copy 330:1 [warning] duplication.repeated_block - lines 330 to 338 repeat lines 312 to 320 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 23 names Security: not graded 67:23 [warning] security.unescaped_output - echo of `$key` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 67:51 [warning] security.unescaped_output - echo of `$key` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 67:75 [warning] security.unescaped_output - echo of `(array) $tab['class']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 68:23 [warning] security.unescaped_output - echo of `$tab['target']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 366:81 [warning] security.unsanitized_input - read of `$_POST['product_categories']` with no sanitizer around it; sanitize request input where you read it 367:89 [warning] security.unsanitized_input - read of `$_POST['exclude_product_categories']` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-actions.php (other) CodeLength: not graded 30:25 [warning] length.function - WC_Meta_Box_Order_Actions::output has 63 lines in its body, above 50 126:25 [warning] length.function - WC_Meta_Box_Order_Actions::save has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 85 code lines NamingConvention: 95 (A), based on 20 names 210:26 [warning] naming.too_long - method `get_available_order_actions_for_order` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-data.php (other) CodeLength: not graded 45:28 [warning] length.function - WC_Meta_Box_Order_Data::get_billing_fields has 64 lines in its body, above 50 117:28 [warning] length.function - WC_Meta_Box_Order_Data::get_shipping_fields has 61 lines in its body, above 50 283:25 [error] length.function - WC_Meta_Box_Order_Data::output has 510 lines in its body, above 100 800:25 [error] length.function - WC_Meta_Box_Order_Data::save has 146 lines in its body, above 100 22:7 [warning] length.class - WC_Meta_Box_Order_Data has 925 lines, above 500 for a other 1:1 [warning] length.file - the file has 946 lines, above 600 for a other CyclomaticComplexity: 26 (F), based on 8 functions and file level code 283:25 [error] complexity.function - WC_Meta_Box_Order_Data::output has a cyclomatic complexity of 78, untestable risk (above 10): each of its 78 paths needs its own test, which makes it hard to follow and to change safely 800:25 [error] complexity.function - WC_Meta_Box_Order_Data::save has a cyclomatic complexity of 36, high risk (above 10): each of its 36 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 534 code lines 128:1 [warning] duplication.repeated_block - lines 128 to 161 repeat lines 56 to 89 (235 tokens); repeated code has to be fixed in every copy 162:1 [warning] duplication.repeated_block - lines 162 to 170 repeat lines 90 to 98 (73 tokens); repeated code has to be fixed in every copy 699:1 [warning] duplication.repeated_block - lines 699 to 709 repeat lines 539 to 549 (80 tokens); repeated code has to be fixed in every copy 731:1 [warning] duplication.repeated_block - lines 731 to 736 repeat lines 573 to 578 (57 tokens); repeated code has to be fixed in every copy 739:1 [warning] duplication.repeated_block - lines 739 to 766 repeat lines 581 to 608 (157 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 58 names 230:26 [warning] naming.too_long - method `order_has_only_virtual_products` is 31 characters (limit 30); very long names make code hard to read 841:4 [warning] naming.too_long - variable `save_metadata_for_guest_user_or_a_valid_user` is 44 characters (limit 30); very long names make code hard to read Security: not graded 924:46 [info] security.unsanitized_input - read of `$_POST['order_date']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput`) woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-downloads.php (other) CodeLength: not graded 23:25 [warning] length.function - WC_Meta_Box_Order_Downloads::output has 65 lines in its body, above 50 CyclomaticComplexity: 77 (C), based on 2 functions and file level code 23:25 [warning] complexity.function - WC_Meta_Box_Order_Downloads::output has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 60 code lines NamingConvention: 100 (A), based on 19 names Security: not graded 97:27 [warning] security.unsanitized_input - read of `$_POST['permission_id']` with no sanitizer around it; sanitize request input where you read it 98:27 [warning] security.unsanitized_input - read of `$_POST['downloads_remaining']` with no sanitizer around it; sanitize request input where you read it 99:27 [warning] security.unsanitized_input - read of `$_POST['access_expires']` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-items.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 18 code lines NamingConvention: 88 (B), based on 8 names 38:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 53:34 [warning] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/admin/meta-boxes/class-wc-meta-box-order-notes.php (other) CodeLength: not graded 22:25 [warning] length.function - WC_Meta_Box_Order_Notes::output has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-categories.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-data.php (other) CodeLength: not graded 75:26 [warning] length.function - WC_Meta_Box_Product_Data::get_product_data_tabs has 56 lines in its body, above 50 234:25 [warning] length.function - WC_Meta_Box_Product_Data::prepare_attributes has 55 lines in its body, above 50 333:25 [error] length.function - WC_Meta_Box_Product_Data::save has 131 lines in its body, above 100 498:25 [error] length.function - WC_Meta_Box_Product_Data::save_variations has 141 lines in its body, above 100 24:7 [warning] length.class - WC_Meta_Box_Product_Data has 616 lines, above 500 for a other 1:1 [warning] length.file - the file has 639 lines, above 600 for a other CyclomaticComplexity: 52 (F), based on 15 functions and file level code 234:25 [warning] complexity.function - WC_Meta_Box_Product_Data::prepare_attributes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 333:25 [error] complexity.function - WC_Meta_Box_Product_Data::save has a cyclomatic complexity of 53, untestable risk (above 10): each of its 53 paths needs its own test, which makes it hard to follow and to change safely 498:25 [error] complexity.function - WC_Meta_Box_Product_Data::save_variations has a cyclomatic complexity of 43, high risk (above 10): each of its 43 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 393 code lines 543:1 [warning] duplication.repeated_block - lines 543 to 547 repeat lines 344 to 348 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 72 names 141:51 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 141:55 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 169:26 [warning] naming.too_long - method `filter_non_variation_attributes` is 31 characters (limit 30); very long names make code hard to read 234:46 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 474:26 [warning] naming.too_long - method `persist_external_product_stock_data` is 35 characters (limit 30); very long names make code hard to read Security: not graded 238:31 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing`) 307:88 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 309:78 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 406:54 [info] security.unsanitized_input - read of `$_POST['_wc_file_names']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 407:53 [info] security.unsanitized_input - read of `$_POST['_wc_file_urls']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 408:55 [info] security.unsanitized_input - read of `$_POST['_wc_file_hashes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 507:47 [info] security.unsanitized_input - read of `$_POST['variable_post_id']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 588:83 [info] security.unsanitized_input - read of `$_POST['_wc_variation_file_names']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 589:82 [info] security.unsanitized_input - read of `$_POST['_wc_variation_file_urls']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 590:84 [info] security.unsanitized_input - read of `$_POST['_wc_variation_file_hashes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-images.php (other) CodeLength: not graded 30:25 [error] length.function - WC_Meta_Box_Product_Images::output has 120 lines in its body, above 100 CyclomaticComplexity: 83 (B), based on 5 functions and file level code 30:25 [warning] complexity.function - WC_Meta_Box_Product_Images::output has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 155 code lines NamingConvention: 100 (A), based on 33 names Security: not graded 96:14 [info] security.unescaped_output - echo of `$attachment` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-reviews.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 21 code lines NamingConvention: 88 (B), based on 8 names 43:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/meta-boxes/class-wc-meta-box-product-short-description.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 75 (C), based on 4 names 16:7 [warning] naming.too_long - class `WC_Meta_Box_Product_Short_Description` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-download-permission.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-fee.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 9:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-item-meta.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-item.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 10:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 92 code lines 207:1 [warning] duplication.repeated_block - lines 207 to 208 repeat lines 203 to 204 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-items.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 11:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 47, high risk (above 10): each of its 47 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 223 code lines NamingConvention: 100 (A), based on 32 names Security: not graded 445:16 [info] security.unescaped_output - echo of `$row` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/meta-boxes/views/html-order-notes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 5 names Security: not graded 30:7 [info] security.unescaped_output - echo of `wpautop( $content )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- the content goes through wp_kses_post above.) woocommerce/includes/admin/meta-boxes/views/html-order-refund.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-order-shipping.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 13:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-attribute-inner.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 8:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 69 code lines NamingConvention: 100 (A), based on 12 names Security: not graded 101:9 [info] security.unescaped_output - echo of `$option_attribute_string` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/meta-boxes/views/html-product-attribute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-advanced.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-attributes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 34 code lines NamingConvention: 83 (B), based on 6 names 39:5 [warning] naming.too_long - variable `add_global_attribute_placeholder` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-general.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 10:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 163 code lines NamingConvention: 93 (A), based on 15 names 79:5 [warning] naming.too_long - variable `sale_price_dates_from_timestamp` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-inventory.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 129 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-linked-products.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 10:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 47 code lines 53:1 [warning] duplication.repeated_block - lines 53 to 67 repeat lines 30 to 44 (90 tokens); repeated code has to be fixed in every copy 74:1 [warning] duplication.repeated_block - lines 74 to 88 repeat lines 53 to 67 (94 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-panel.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-shipping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 46 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-data-variations.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 10:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 107 code lines 174:1 [warning] duplication.repeated_block - lines 174 to 197 repeat lines 122 to 147 (161 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 7 names Security: not graded 140:31 [info] security.unescaped_output - echo of `$i` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $i is a bounded integer pagination index.) 140:160 [info] security.unescaped_output - echo of `$i` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $i is a bounded integer pagination index.) 190:31 [info] security.unescaped_output - echo of `$i` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $i is a bounded integer pagination index.) 190:160 [info] security.unescaped_output - echo of `$i` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $i is a bounded integer pagination index.) woocommerce/includes/admin/meta-boxes/views/html-product-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/meta-boxes/views/html-product-variation-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/meta-boxes/views/html-variation-admin.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 14:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 38, high risk (above 10): each of its 38 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 347 code lines 563:1 [warning] duplication.repeated_block - lines 563 to 570 repeat lines 545 to 552 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 21 names 197:6 [warning] naming.too_long - variable `sale_price_dates_from_timestamp` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/notes/class-wc-notes-refund-returns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/includes/admin/notes/class-wc-notes-run-db-update.php (other) CodeLength: not graded 137:26 [warning] length.function - WC_Notes_Run_Db_Update::update_needed_notice has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 85 (B), based on 203 code lines 268:1 [warning] duplication.repeated_block - lines 268 to 282 repeat lines 187 to 201 (81 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/includes/admin/plugin-updates/class-wc-plugin-updates.php (other) CodeLength: not graded CyclomaticComplexity: 90 (A), based on 6 functions and file level code 156:18 [warning] complexity.function - WC_Plugin_Updates::get_untested_plugins has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 86 code lines NamingConvention: 96 (A), based on 27 names 104:21 [warning] naming.too_long - method `get_extensions_inline_warning_major` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/plugin-updates/class-wc-plugins-screen-updates.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 24 names Security: not graded 78:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_in_plugin_update_message', $this->upgrade_notice ...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- The base value is run through wp_kses_post() and the filter returns extension-controlled markup by design.) woocommerce/includes/admin/plugin-updates/class-wc-updates-screen-updates.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 5 names Security: not graded 51:4 [info] security.unescaped_output - echo of `$this->get_extensions_modal_warning()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- The method returns markup assembled from escaped dynamic values.) woocommerce/includes/admin/plugin-updates/views/html-notice-untested-extensions-inline.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/plugin-updates/views/html-notice-untested-extensions-modal.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/reports/class-wc-admin-report.php (other) CodeLength: not graded 96:18 [error] length.function - WC_Admin_Report::get_order_report_data has 310 lines in its body, above 100 496:18 [warning] length.function - WC_Admin_Report::prepare_chart_data has 60 lines in its body, above 50 565:18 [warning] length.function - WC_Admin_Report::get_sales_sparkline has 89 lines in its body, above 50 685:18 [warning] length.function - WC_Admin_Report::calculate_current_range has 85 lines in its body, above 50 24:7 [warning] length.class - WC_Admin_Report has 830 lines, above 500 for a other 1:1 [warning] length.file - the file has 853 lines, above 600 for a other CyclomaticComplexity: 46 (F), based on 17 functions and file level code 96:18 [error] complexity.function - WC_Admin_Report::get_order_report_data has a cyclomatic complexity of 63, untestable risk (above 10): each of its 63 paths needs its own test, which makes it hard to follow and to change safely 496:18 [warning] complexity.function - WC_Admin_Report::prepare_chart_data has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 685:18 [warning] complexity.function - WC_Admin_Report::calculate_current_range has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 511 code lines 616:1 [warning] duplication.repeated_block - lines 616 to 631 repeat lines 583 to 598 (114 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 73 names 457:53 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 530:23 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/includes/admin/reports/class-wc-report-coupon-usage.php (other) CodeLength: not graded 50:18 [warning] length.function - WC_Report_Coupon_Usage::get_chart_legend has 76 lines in its body, above 50 175:18 [error] length.function - WC_Report_Coupon_Usage::coupons_widget has 179 lines in its body, above 100 377:18 [error] length.function - WC_Report_Coupon_Usage::get_main_chart has 194 lines in its body, above 100 18:7 [warning] length.class - WC_Report_Coupon_Usage has 554 lines, above 500 for a other CyclomaticComplexity: 89 (B), based on 7 functions and file level code 175:18 [warning] complexity.function - WC_Report_Coupon_Usage::coupons_widget has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 329 code lines 80:1 [warning] duplication.repeated_block - lines 80 to 93 repeat lines 59 to 72 (69 tokens); repeated code has to be fixed in every copy 230:1 [warning] duplication.repeated_block - lines 230 to 241 repeat lines 177 to 189 (51 tokens); repeated code has to be fixed in every copy 279:1 [warning] duplication.repeated_block - lines 279 to 290 repeat lines 177 to 189 (51 tokens); repeated code has to be fixed in every copy 292:1 [warning] duplication.repeated_block - lines 292 to 301 repeat lines 55 to 64 (51 tokens); repeated code has to be fixed in every copy 307:1 [warning] duplication.repeated_block - lines 307 to 319 repeat lines 258 to 269 (83 tokens); repeated code has to be fixed in every copy 407:1 [warning] duplication.repeated_block - lines 407 to 416 repeat lines 51 to 60 (52 tokens); repeated code has to be fixed in every copy 417:1 [warning] duplication.repeated_block - lines 417 to 430 repeat lines 389 to 402 (76 tokens); repeated code has to be fixed in every copy 432:1 [warning] duplication.repeated_block - lines 432 to 450 repeat lines 90 to 108 (104 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 27 names Security: not graded 491:14 [info] security.unescaped_output - echo of `$this->get_currency_tooltip()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/admin/reports/class-wc-report-customer-list.php (other) CodeLength: not graded 86:18 [error] length.function - WC_Report_Customer_List::column_default has 121 lines in its body, above 100 CyclomaticComplexity: 85 (B), based on 7 functions and file level code 86:18 [warning] complexity.function - WC_Report_Customer_List::column_default has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 188 code lines NamingConvention: 96 (A), based on 27 names 237:4 [warning] naming.too_short - variable `s` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 237:48 [info] security.unsanitized_input - read of `$_REQUEST['s']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/admin/reports/class-wc-report-customers.php (other) CodeLength: not graded 71:18 [warning] length.function - WC_Report_Customers::customers_vs_guests has 92 lines in its body, above 50 241:18 [error] length.function - WC_Report_Customers::get_main_chart has 183 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 40 (F), based on 204 code lines 93:1 [warning] duplication.repeated_block - lines 93 to 106 repeat lines 73 to 86 (77 tokens); repeated code has to be fixed in every copy 267:1 [warning] duplication.repeated_block - lines 267 to 279 repeat lines 88 to 100 (56 tokens); repeated code has to be fixed in every copy 280:1 [warning] duplication.repeated_block - lines 280 to 290 repeat lines 252 to 262 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/includes/admin/reports/class-wc-report-downloads.php (other) CodeLength: not graded 59:18 [warning] length.function - WC_Report_Downloads::output_report has 72 lines in its body, above 50 138:18 [warning] length.function - WC_Report_Downloads::column_default has 72 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 9 functions and file level code 138:18 [warning] complexity.function - WC_Report_Downloads::column_default has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 223 code lines NamingConvention: 100 (A), based on 36 names Security: not graded 333:29 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Core builds both fragments with $wpdb->prepare(); the woocommerce_report_downloads_query_from filter lets extensions supply their own SQL.) 334:29 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Core builds the fragment with $wpdb->prepare(); the woocommerce_report_downloads_query_from filter lets extensions supply their own SQL.) woocommerce/includes/admin/reports/class-wc-report-low-in-stock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 8 names Security: not graded 58:49 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/admin/reports/class-wc-report-most-stocked.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 6 names Security: not graded 48:49 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/admin/reports/class-wc-report-out-of-stock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 7 names Security: not graded 55:49 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/admin/reports/class-wc-report-sales-by-category.php (other) CodeLength: not graded 114:18 [warning] length.function - WC_Report_Sales_By_Category::output_report has 75 lines in its body, above 50 208:18 [warning] length.function - WC_Report_Sales_By_Category::category_widget has 51 lines in its body, above 50 283:18 [error] length.function - WC_Report_Sales_By_Category::get_main_chart has 168 lines in its body, above 100 CyclomaticComplexity: 86 (B), based on 8 functions and file level code 283:18 [warning] complexity.function - WC_Report_Sales_By_Category::get_main_chart has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 200 code lines NamingConvention: 95 (A), based on 38 names 216:8 [warning] naming.too_short - variable `r` is 1 character (at least 2); a one letter name hides its meaning 344:35 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 225:7 [info] security.unescaped_output - echo of `wc_walk_category_dropdown_tree( $categories, 0, $r )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) 356:10 [info] security.unescaped_output - echo of `$color` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 414:34 [info] security.unescaped_output - echo of `$this->chart_groupby` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 415:31 [info] security.unescaped_output - echo of `$this->chart_groupby` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) woocommerce/includes/admin/reports/class-wc-report-sales-by-date.php (other) CodeLength: not graded 49:19 [error] length.function - WC_Report_Sales_By_Date::query_report_data has 399 lines in its body, above 100 454:18 [error] length.function - WC_Report_Sales_By_Date::get_chart_legend has 119 lines in its body, above 100 647:18 [error] length.function - WC_Report_Sales_By_Date::get_main_chart has 224 lines in its body, above 100 18:7 [warning] length.class - WC_Report_Sales_By_Date has 854 lines, above 500 for a other 1:1 [warning] length.file - the file has 871 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 0 (F), based on 574 code lines 103:1 [warning] duplication.repeated_block - lines 103 to 116 repeat lines 67 to 79 (82 tokens); repeated code has to be fixed in every copy 120:1 [warning] duplication.repeated_block - lines 120 to 131 repeat lines 88 to 99 (58 tokens); repeated code has to be fixed in every copy 132:1 [warning] duplication.repeated_block - lines 132 to 147 repeat lines 64 to 76 (79 tokens); repeated code has to be fixed in every copy 148:1 [warning] duplication.repeated_block - lines 148 to 156 repeat lines 113 to 121 (52 tokens); repeated code has to be fixed in every copy 197:1 [warning] duplication.repeated_block - lines 197 to 209 repeat lines 59 to 71 (73 tokens); repeated code has to be fixed in every copy 209:1 [warning] duplication.repeated_block - lines 209 to 221 repeat lines 71 to 79 (51 tokens); repeated code has to be fixed in every copy 331:1 [warning] duplication.repeated_block - lines 331 to 396 repeat lines 261 to 326 (400 tokens); repeated code has to be fixed in every copy 733:1 [warning] duplication.repeated_block - lines 733 to 736 repeat lines 723 to 726 (70 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 27 names 456:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 750:14 [info] security.unescaped_output - echo of `$this->get_currency_tooltip()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Returns a fixed JavaScript property with a JSON-encoded currency symbol.) 770:14 [info] security.unescaped_output - echo of `$this->get_currency_tooltip()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Returns a fixed JavaScript property with a JSON-encoded currency symbol.) 780:14 [info] security.unescaped_output - echo of `$this->get_currency_tooltip()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Returns a fixed JavaScript property with a JSON-encoded currency symbol.) woocommerce/includes/admin/reports/class-wc-report-sales-by-product.php (other) CodeLength: not graded 61:18 [warning] length.function - WC_Report_Sales_By_Product::get_chart_legend has 76 lines in its body, above 50 221:18 [error] length.function - WC_Report_Sales_By_Product::products_widget has 184 lines in its body, above 100 429:18 [error] length.function - WC_Report_Sales_By_Product::get_main_chart has 210 lines in its body, above 100 20:7 [warning] length.class - WC_Report_Sales_By_Product has 620 lines, above 500 for a other 1:1 [warning] length.file - the file has 639 lines, above 600 for a other CyclomaticComplexity: 90 (A), based on 8 functions and file level code 221:18 [warning] complexity.function - WC_Report_Sales_By_Product::products_widget has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 366 code lines 102:1 [warning] duplication.repeated_block - lines 102 to 118 repeat lines 76 to 92 (104 tokens); repeated code has to be fixed in every copy 286:1 [warning] duplication.repeated_block - lines 286 to 306 repeat lines 241 to 261 (103 tokens); repeated code has to be fixed in every copy 318:1 [warning] duplication.repeated_block - lines 318 to 338 repeat lines 266 to 286 (135 tokens); repeated code has to be fixed in every copy 338:1 [warning] duplication.repeated_block - lines 338 to 351 repeat lines 241 to 254 (61 tokens); repeated code has to be fixed in every copy 358:1 [warning] duplication.repeated_block - lines 358 to 371 repeat lines 261 to 274 (97 tokens); repeated code has to be fixed in every copy 371:1 [warning] duplication.repeated_block - lines 371 to 373 repeat lines 274 to 276 (53 tokens); repeated code has to be fixed in every copy 440:1 [warning] duplication.repeated_block - lines 440 to 448 repeat lines 95 to 103 (52 tokens); repeated code has to be fixed in every copy 458:1 [warning] duplication.repeated_block - lines 458 to 470 repeat lines 76 to 88 (66 tokens); repeated code has to be fixed in every copy 476:1 [warning] duplication.repeated_block - lines 476 to 486 repeat lines 67 to 77 (56 tokens); repeated code has to be fixed in every copy 487:1 [warning] duplication.repeated_block - lines 487 to 508 repeat lines 449 to 470 (136 tokens); repeated code has to be fixed in every copy 508:1 [warning] duplication.repeated_block - lines 508 to 517 repeat lines 470 to 478 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 25 names Security: not graded 273:7 [info] security.unescaped_output - echo of `$this->sales_sparkline( $product->product_id, 7, 'count' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 325:7 [info] security.unescaped_output - echo of `$this->sales_sparkline( $product->product_id, 7, 'count' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 370:7 [info] security.unescaped_output - echo of `$this->sales_sparkline( $product->product_id, 7, 'sales' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 419:24 [info] security.unescaped_output - echo of `$this->chart_groupby` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) 544:23 [info] security.unescaped_output - echo of `$this->chart_colours['item_count']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 545:35 [info] security.unescaped_output - echo of `$this->chart_colours['item_count']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 545:135 [info] security.unescaped_output - echo of `$this->barwidth` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 553:23 [info] security.unescaped_output - echo of `$this->chart_colours['sales_amount']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 557:15 [info] security.unescaped_output - echo of `$this->get_currency_tooltip()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 595:34 [info] security.unescaped_output - echo of `$this->chart_groupby` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) woocommerce/includes/admin/reports/class-wc-report-stock.php (other) CodeLength: not graded 80:18 [warning] length.function - WC_Report_Stock::column_default has 86 lines in its body, above 50 CyclomaticComplexity: 83 (B), based on 7 functions and file level code 80:18 [warning] complexity.function - WC_Report_Stock::column_default has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 121 code lines NamingConvention: 100 (A), based on 20 names Security: not graded 122:5 [warning] security.unescaped_output - echo of `apply_filters( 'woocommerce_admin_stock_html', $stock_html, $product )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/reports/class-wc-report-taxes-by-code.php (other) CodeLength: not graded 77:18 [error] length.function - WC_Report_Taxes_By_Code::get_main_chart has 165 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 40 (F), based on 158 code lines 145:1 [warning] duplication.repeated_block - lines 145 to 157 repeat lines 133 to 145 (71 tokens); repeated code has to be fixed in every copy 183:1 [warning] duplication.repeated_block - lines 183 to 192 repeat lines 166 to 175 (93 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/includes/admin/reports/class-wc-report-taxes-by-date.php (other) CodeLength: not graded 74:18 [error] length.function - WC_Report_Taxes_By_Date::get_main_chart has 192 lines in its body, above 100 CyclomaticComplexity: 75 (C), based on 4 functions and file level code 74:18 [warning] complexity.function - WC_Report_Taxes_By_Date::get_main_chart has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 182 code lines 147:1 [warning] duplication.repeated_block - lines 147 to 156 repeat lines 107 to 117 (50 tokens); repeated code has to be fixed in every copy 180:1 [warning] duplication.repeated_block - lines 180 to 188 repeat lines 171 to 179 (83 tokens); repeated code has to be fixed in every copy 191:1 [warning] duplication.repeated_block - lines 191 to 199 repeat lines 163 to 171 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 19 names Security: not graded 37:69 [warning] security.unescaped_output - echo of `date_i18n( 'Y-m-d', current_time( 'timestamp' ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 230:15 [warning] security.unescaped_output - echo of `date_i18n( 'F', strtotime( $date . '01' ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 232:36 [warning] security.unescaped_output - echo of `$tax_row->total_orders` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 249:35 [warning] security.unescaped_output - echo of `array_sum( wp_list_pluck( (array) $tax_rows, 'total_orders' ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/settings/class-wc-settings-accounts.php (other) CodeLength: not graded 43:21 [error] length.function - WC_Settings_Accounts::get_settings_for_default_section has 309 lines in its body, above 100 356:18 [warning] length.function - WC_Settings_Accounts::output has 72 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 70 (C), based on 314 code lines 259:1 [warning] duplication.repeated_block - lines 259 to 269 repeat lines 220 to 230 (65 tokens); repeated code has to be fixed in every copy 271:1 [warning] duplication.repeated_block - lines 271 to 281 repeat lines 220 to 230 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 90 (A), based on 10 names 43:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-advanced.php (other) CodeLength: not graded 79:21 [error] length.function - WC_Settings_Advanced::get_settings_for_default_section has 270 lines in its body, above 100 433:21 [warning] length.function - WC_Settings_Advanced::get_settings_for_rest_api_caching_section has 61 lines in its body, above 50 23:7 [warning] length.class - WC_Settings_Advanced has 578 lines, above 500 for a other 1:1 [warning] length.file - the file has 612 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 11 functions and file level code 561:18 [warning] complexity.function - WC_Settings_Advanced::save has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 432 code lines NamingConvention: 78 (C), based on 23 names 79:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 355:21 [warning] naming.too_long - method `get_settings_for_woocommerce_com_section` is 40 characters (limit 30); very long names make code hard to read 415:21 [warning] naming.too_long - method `get_settings_for_legacy_api_section` is 35 characters (limit 30); very long names make code hard to read 433:21 [warning] naming.too_long - method `get_settings_for_rest_api_caching_section` is 41 characters (limit 30); very long names make code hard to read 500:21 [warning] naming.too_long - method `get_settings_for_blueprint_section` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-checkout.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/settings/class-wc-settings-emails.php (other) CodeLength: not graded 78:21 [error] length.function - WC_Settings_Emails::get_settings_for_default_section has 307 lines in its body, above 100 466:18 [error] length.function - WC_Settings_Emails::email_notification_setting has 122 lines in its body, above 100 592:18 [warning] length.function - WC_Settings_Emails::email_notification_setting_block_emails has 88 lines in its body, above 50 795:18 [warning] length.function - WC_Settings_Emails::email_font_family has 66 lines in its body, above 50 30:7 [error] length.class - WC_Settings_Emails has 1026 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1057 lines, above 600 for a other CyclomaticComplexity: 93 (A), based on 23 functions and file level code 466:18 [warning] complexity.function - WC_Settings_Emails::email_notification_setting has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 592:18 [warning] complexity.function - WC_Settings_Emails::email_notification_setting_block_emails has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 648 code lines NamingConvention: 90 (A), based on 84 names 78:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 592:18 [warning] naming.too_long - method `email_notification_setting_block_emails` is 39 characters (limit 30); very long names make code hard to read 739:19 [warning] naming.too_long - method `delete_transient_email_settings` is 31 characters (limit 30); very long names make code hard to read 845:44 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 948:4 [warning] naming.too_long - variable `has_feature_enabled_since_installation` is 38 characters (limit 30); very long names make code hard to read 976:18 [warning] naming.too_long - method `append_feature_email_improvements_to_tracks` is 43 characters (limit 30); very long names make code hard to read 990:18 [warning] naming.too_long - method `track_email_improvements_feature_change` is 39 characters (limit 30); very long names make code hard to read 1010:18 [warning] naming.too_long - method `enable_email_improvements_when_trying_new_templates` is 51 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-general.php (other) CodeLength: not graded 64:21 [error] length.function - WC_Settings_General::get_settings_for_default_section has 341 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 327 code lines NamingConvention: 82 (B), based on 22 names 64:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 72:4 [warning] naming.too_long - variable `address_autocomplete_preferred_provider_setting` is 47 characters (limit 30); very long names make code hard to read 73:4 [warning] naming.too_long - variable `address_autocomplete_setting_desc_tip` is 37 characters (limit 30); very long names make code hard to read 87:5 [warning] naming.too_long - variable `enable_address_autocomplete_setting` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-integrations.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/admin/settings/class-wc-settings-page.php (other) CodeLength: not graded 413:19 [warning] length.function - WC_Settings_Page::output has 72 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 20 functions and file level code 134:19 [warning] complexity.function - WC_Settings_Page::add_settings_ui_body_class has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 413:19 [warning] complexity.function - WC_Settings_Page::output has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 255 code lines NamingConvention: 96 (A), based on 79 names 68:9 [warning] naming.too_long - constant `TYPE_SINGLE_SELECT_PAGE_WITH_SEARCH` is 35 characters (limit 30); very long names make code hard to read 307:22 [warning] naming.too_long - method `get_settings_ui_request_context` is 31 characters (limit 30); very long names make code hard to read 497:22 [warning] naming.too_long - method `save_settings_for_current_section` is 33 characters (limit 30); very long names make code hard to read Security: not graded 404:5 [info] security.unescaped_output - echo of `$url` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/settings/class-wc-settings-payment-gateways.php (other) CodeLength: not graded 378:18 [warning] length.function - WC_Settings_Payment_Gateways::suppress_admin_notices has 76 lines in its body, above 50 CyclomaticComplexity: 84 (B), based on 16 functions and file level code 378:18 [error] complexity.function - WC_Settings_Payment_Gateways::suppress_admin_notices has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 230 code lines 379:1 [warning] duplication.repeated_block - lines 379 to 392 repeat lines 357 to 370 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 45 names 153:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 265:19 [warning] naming.too_long - method `render_classic_gateway_settings_page` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-point-of-sale.php (other) CodeLength: not graded 45:21 [warning] length.function - WC_Settings_Point_Of_Sale::get_settings_for_default_section has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 68 code lines NamingConvention: 67 (D), based on 3 names 45:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-products.php (other) CodeLength: not graded 71:21 [error] length.function - WC_Settings_Products::get_settings_for_default_section has 166 lines in its body, above 100 243:21 [error] length.function - WC_Settings_Products::get_settings_for_inventory_section has 139 lines in its body, above 100 388:21 [error] length.function - WC_Settings_Products::get_settings_for_downloadable_section has 116 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 411 code lines NamingConvention: 75 (C), based on 12 names 71:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 243:21 [warning] naming.too_long - method `get_settings_for_inventory_section` is 34 characters (limit 30); very long names make code hard to read 388:21 [warning] naming.too_long - method `get_settings_for_downloadable_section` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-shipping.php (other) CodeLength: not graded 108:21 [warning] length.function - WC_Settings_Shipping::get_settings_for_options_section has 69 lines in its body, above 50 315:21 [warning] length.function - WC_Settings_Shipping::zone_methods_screen has 60 lines in its body, above 50 482:21 [warning] length.function - WC_Settings_Shipping::output_shipping_providers_screen has 54 lines in its body, above 50 22:7 [warning] length.class - WC_Settings_Shipping has 515 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 15 functions and file level code Duplication: 100 (A), based on 379 code lines NamingConvention: 96 (A), based on 52 names 108:21 [warning] naming.too_long - method `get_settings_for_options_section` is 32 characters (limit 30); very long names make code hard to read 482:21 [warning] naming.too_long - method `output_shipping_providers_screen` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-site-visibility.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 22 code lines NamingConvention: 67 (D), based on 3 names 38:21 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/settings/class-wc-settings-tax.php (other) CodeLength: not graded 186:18 [warning] length.function - WC_Settings_Tax::output_tax_rates has 82 lines in its body, above 50 379:18 [warning] length.function - WC_Settings_Tax::tax_configuration_validation_notice has 74 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 100 (A), based on 270 code lines NamingConvention: 94 (A), based on 51 names 102:18 [warning] naming.too_long - method `get_settings_for_default_section` is 32 characters (limit 30); very long names make code hard to read 379:18 [warning] naming.too_long - method `tax_configuration_validation_notice` is 35 characters (limit 30); very long names make code hard to read 462:19 [warning] naming.too_long - method `has_standard_tax_rate_for_country` is 33 characters (limit 30); very long names make code hard to read Security: not graded 132:42 [info] security.unsanitized_input - read of `$_POST['woocommerce_tax_classes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/admin/settings/views/class-wc-settings-rest-api.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/settings/views/html-admin-page-shipping-classes.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 8:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/settings/views/html-admin-page-shipping-providers.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 10:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/settings/views/html-admin-page-shipping-zone-methods.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 12:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 98 code lines NamingConvention: 88 (B), based on 8 names 197:40 [warning] naming.generic - variable `obj` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/admin/settings/views/html-admin-page-shipping-zones-instance.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: not graded Security: not graded 7:17 [warning] security.unescaped_output - echo of `admin_url( 'admin.php?page=wc-settings&tab=shipping' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 8:17 [warning] security.unescaped_output - echo of `admin_url( 'admin.php?page=wc-settings&tab=shipping&zone_id=' . absint( $zone...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/settings/views/html-admin-page-shipping-zones.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/admin/settings/views/html-keys-edit.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/admin/settings/views/html-settings-tax.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 38 code lines NamingConvention: not graded Security: not graded 49:20 [warning] security.unescaped_output - echo of `admin_url( 'admin.php?import=woocommerce_tax_rate_csv' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/settings/views/html-webhooks-edit.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 10:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 93 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/admin/settings/views/settings-tax.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 70 (C), based on 113 code lines 93:1 [warning] duplication.repeated_block - lines 93 to 103 repeat lines 81 to 92 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/views/html-admin-dashboard-setup.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 14 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/views/html-admin-page-addons-category-nav.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/admin/views/html-admin-page-product-export.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 8:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 67 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/includes/admin/views/html-admin-page-reports.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 6:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 40 code lines NamingConvention: 100 (A), based on 5 names Security: not graded 27:4 [warning] security.unescaped_output - echo of `admin_url( 'admin.php?page=wc-reports&tab=' . urlencode( $key ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 58:4 [warning] security.unescaped_output - echo of `$links` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 77:4 [warning] security.unescaped_output - echo of `$report['description']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/views/html-admin-page-status-logs-db.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/views/html-admin-page-status-logs.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/admin/views/html-admin-page-status-report.php (other) CodeLength: not graded 1:1 [warning] length.file - the file has 1124 lines, above 600 for a other CyclomaticComplexity: 0 (F), based on file level code 12:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 103, untestable risk (above 10): each of its 103 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 535 code lines 526:1 [warning] duplication.repeated_block - lines 526 to 530 repeat lines 512 to 513 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 47 names Security: not graded 908:5 [info] security.unescaped_output - echo of `$additional_info` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/admin/views/html-admin-page-status-tools.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/admin/views/html-admin-page-status.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 4 names Security: not graded 22:4 [warning] security.unescaped_output - echo of `admin_url( 'admin.php?page=wc-status&tab=' . $name )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 26:4 [warning] security.unescaped_output - echo of `$label` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/admin/views/html-admin-settings.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 15:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 33, high risk (above 10): each of its 33 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 139 code lines NamingConvention: 95 (A), based on 22 names 45:2 [warning] naming.too_long - variable `is_rendering_settings_ui_drill_down` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/admin/views/html-bulk-edit-product.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 11:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 164 code lines 150:1 [warning] duplication.repeated_block - lines 150 to 160 repeat lines 76 to 86 (75 tokens); repeated code has to be fixed in every copy 188:1 [warning] duplication.repeated_block - lines 188 to 198 repeat lines 76 to 86 (75 tokens); repeated code has to be fixed in every copy 304:1 [warning] duplication.repeated_block - lines 304 to 323 repeat lines 270 to 288 (93 tokens); repeated code has to be fixed in every copy 363:1 [warning] duplication.repeated_block - lines 363 to 374 repeat lines 270 to 281 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/admin/views/html-email-template-preview.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/views/html-notice-custom.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/views/html-notice-update.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/admin/views/html-notice-updated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded woocommerce/includes/admin/views/html-notice-updating.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/admin/views/html-quick-edit-product.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 12:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 92 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/admin/views/html-report-by-date.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 8:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 48 code lines NamingConvention: 88 (B), based on 8 names 46:31 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 44:18 [warning] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it 72:40 [info] security.unescaped_output - echo of `$legend['color']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 72:289 [info] security.unescaped_output - echo of `$legend['placeholder']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 73:16 [info] security.unescaped_output - echo of `$legend['title']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) woocommerce/includes/admin/wc-admin-functions.php (other) CodeLength: not graded 102:10 [warning] length.function - wc_create_page has 74 lines in its body, above 50 232:10 [warning] length.function - wc_maybe_adjust_line_item_product_stock has 65 lines in its body, above 50 305:10 [error] length.function - wc_save_order_items has 192 lines in its body, above 100 525:10 [warning] length.function - wc_render_invalid_variation_notice has 55 lines in its body, above 50 1:1 [warning] length.file - the file has 625 lines, above 600 for a other CyclomaticComplexity: 66 (D), based on 12 functions and file level code 102:10 [warning] complexity.function - wc_create_page has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 232:10 [warning] complexity.function - wc_maybe_adjust_line_item_product_stock has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 305:10 [error] complexity.function - wc_save_order_items has a cyclomatic complexity of 42, high risk (above 10): each of its 42 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 375 code lines 415:1 [warning] duplication.repeated_block - lines 415 to 425 repeat lines 325 to 335 (58 tokens); repeated code has to be fixed in every copy 455:1 [warning] duplication.repeated_block - lines 455 to 459 repeat lines 365 to 369 (54 tokens); repeated code has to be fixed in every copy 459:1 [warning] duplication.repeated_block - lines 459 to 476 repeat lines 370 to 387 (125 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 67 names 199:49 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 215:10 [warning] naming.too_long - function `woocommerce_settings_get_option` is 31 characters (limit 30); very long names make code hard to read 232:10 [warning] naming.too_long - function `wc_maybe_adjust_line_item_product_stock` is 39 characters (limit 30); very long names make code hard to read 525:10 [warning] naming.too_long - function `wc_render_invalid_variation_notice` is 34 characters (limit 30); very long names make code hard to read 608:10 [warning] naming.too_long - function `wc_get_default_product_type_options` is 35 characters (limit 30); very long names make code hard to read Security: not graded 545:34 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( ',', array_map( 'absint', $variation_ids ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/admin/wc-meta-box-functions.php (other) CodeLength: not graded 23:10 [warning] length.function - woocommerce_wp_text_input has 75 lines in its body, above 50 165:10 [warning] length.function - woocommerce_wp_checkbox has 63 lines in its body, above 50 235:10 [warning] length.function - woocommerce_wp_select has 51 lines in its body, above 50 CyclomaticComplexity: 68 (D), based on 7 functions and file level code 23:10 [error] complexity.function - woocommerce_wp_text_input has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 120:10 [warning] complexity.function - woocommerce_wp_textarea_input has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 165:10 [warning] complexity.function - woocommerce_wp_checkbox has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 293:10 [warning] complexity.function - woocommerce_wp_radio has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 222 code lines 111:1 [warning] duplication.repeated_block - lines 111 to 128 repeat lines 14 to 31 (161 tokens); repeated code has to be fixed in every copy 134:1 [warning] duplication.repeated_block - lines 134 to 144 repeat lines 59 to 69 (129 tokens); repeated code has to be fixed in every copy 168:1 [warning] duplication.repeated_block - lines 168 to 172 repeat lines 27 to 31 (91 tokens); repeated code has to be fixed in every copy 181:1 [warning] duplication.repeated_block - lines 181 to 191 repeat lines 131 to 141 (69 tokens); repeated code has to be fixed in every copy 199:1 [warning] duplication.repeated_block - lines 199 to 202 repeat lines 66 to 69 (62 tokens); repeated code has to be fixed in every copy 220:1 [warning] duplication.repeated_block - lines 220 to 238 repeat lines 150 to 168 (66 tokens); repeated code has to be fixed in every copy 296:1 [warning] duplication.repeated_block - lines 296 to 301 repeat lines 27 to 32 (122 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 21 names 23:55 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 88:2 [warning] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 93:3 [info] security.unescaped_output - echo of `$hidden_class` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 150:2 [warning] security.unescaped_output - echo of `$custom_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 268:11 [info] security.unescaped_output - echo of `wc_implode_html_attributes( $wrapper_attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wc_implode_html_attributes() escapes attribute names and values.) 269:16 [info] security.unescaped_output - echo of `wc_implode_html_attributes( $label_attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wc_implode_html_attributes() escapes attribute names and values.) 273:17 [info] security.unescaped_output - echo of `wc_implode_html_attributes( $field_attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wc_implode_html_attributes() escapes attribute names and values.) woocommerce/includes/admin/woocommerce-legacy-reports.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 0 (F), based on 1 name 13:11 [warning] naming.too_long - function `woocommerce_legacy_reports_init` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/blocks/class-wc-blocks-utils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/class-wc-ajax.php (other) CodeLength: not graded 141:25 [error] length.function - WC_AJAX::add_ajax_events has 118 lines in its body, above 100 399:25 [error] length.function - WC_AJAX::update_order_review has 139 lines in its body, above 100 544:25 [warning] length.function - WC_AJAX::add_to_cart has 54 lines in its body, above 50 1052:25 [warning] length.function - WC_AJAX::grant_access_to_download has 91 lines in its body, above 50 1222:26 [warning] length.function - WC_AJAX::maybe_add_order_item has 91 lines in its body, above 50 1321:25 [warning] length.function - WC_AJAX::add_order_fee has 58 lines in its body, above 50 1492:25 [warning] length.function - WC_AJAX::remove_order_coupon has 52 lines in its body, above 50 1552:25 [error] length.function - WC_AJAX::remove_order_item has 108 lines in its body, above 100 1791:25 [warning] length.function - WC_AJAX::add_order_note has 66 lines in its body, above 50 1883:25 [error] length.function - WC_AJAX::json_search_tax_rates has 189 lines in its body, above 100 2081:25 [warning] length.function - WC_AJAX::json_search_products has 96 lines in its body, above 50 2234:25 [warning] length.function - WC_AJAX::json_search_customers has 68 lines in its body, above 50 2308:25 [warning] length.function - WC_AJAX::json_search_categories has 51 lines in its body, above 50 2367:25 [warning] length.function - WC_AJAX::json_search_categories_tree has 67 lines in its body, above 50 2495:26 [warning] length.function - WC_AJAX::maybe_include_exact_taxonomy_term has 98 lines in its body, above 50 2722:25 [error] length.function - WC_AJAX::product_ordering has 118 lines in its body, above 100 2848:25 [warning] length.function - WC_AJAX::refund_line_items has 81 lines in its body, above 50 2974:25 [error] length.function - WC_AJAX::update_api_key has 103 lines in its body, above 100 3755:25 [warning] length.function - WC_AJAX::tax_rates_save_changes has 78 lines in its body, above 50 3839:25 [warning] length.function - WC_AJAX::shipping_zones_save_changes has 84 lines in its body, above 50 3929:25 [warning] length.function - WC_AJAX::shipping_zone_add_method has 66 lines in its body, above 50 4001:25 [warning] length.function - WC_AJAX::shipping_zone_remove_method has 53 lines in its body, above 50 4060:25 [error] length.function - WC_AJAX::shipping_zone_methods_save_changes has 165 lines in its body, above 100 4285:25 [error] length.function - WC_AJAX::shipping_classes_save_changes has 124 lines in its body, above 100 4415:25 [error] length.function - WC_AJAX::shipping_providers_save_changes has 188 lines in its body, above 100 33:7 [error] length.class - WC_AJAX has 4789 lines, above 1000 for a other 1:1 [error] length.file - the file has 4823 lines, above 1200 for a other CyclomaticComplexity: 76 (C), based on 115 functions and file level code 399:25 [error] complexity.function - WC_AJAX::update_order_review has a cyclomatic complexity of 36, high risk (above 10): each of its 36 paths needs its own test, which makes it hard to follow and to change safely 1052:25 [warning] complexity.function - WC_AJAX::grant_access_to_download has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 1321:25 [warning] complexity.function - WC_AJAX::add_order_fee has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1492:25 [warning] complexity.function - WC_AJAX::remove_order_coupon has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1552:25 [error] complexity.function - WC_AJAX::remove_order_item has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 1883:25 [error] complexity.function - WC_AJAX::json_search_tax_rates has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 2081:25 [error] complexity.function - WC_AJAX::json_search_products has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 2234:25 [warning] complexity.function - WC_AJAX::json_search_customers has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 2367:25 [warning] complexity.function - WC_AJAX::json_search_categories_tree has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 2495:26 [error] complexity.function - WC_AJAX::maybe_include_exact_taxonomy_term has a cyclomatic complexity of 32, high risk (above 10): each of its 32 paths needs its own test, which makes it hard to follow and to change safely 2690:25 [warning] complexity.function - WC_AJAX::term_ordering has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 2722:25 [warning] complexity.function - WC_AJAX::product_ordering has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 2848:25 [error] complexity.function - WC_AJAX::refund_line_items has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 2974:25 [warning] complexity.function - WC_AJAX::update_api_key has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 3265:26 [warning] complexity.function - WC_AJAX::variation_bulk_action_variable_sale_price_from_regular_price has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 3509:26 [warning] complexity.function - WC_AJAX::variation_bulk_action_variable_sale_schedule has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 3755:25 [warning] complexity.function - WC_AJAX::tax_rates_save_changes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 4060:25 [warning] complexity.function - WC_AJAX::shipping_zone_methods_save_changes has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 4285:25 [warning] complexity.function - WC_AJAX::shipping_classes_save_changes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 4415:25 [error] complexity.function - WC_AJAX::shipping_providers_save_changes has a cyclomatic complexity of 48, high risk (above 10): each of its 48 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 2865 code lines 408:1 [warning] duplication.repeated_block - lines 408 to 422 repeat lines 340 to 354 (99 tokens); repeated code has to be fixed in every copy 1371:1 [warning] duplication.repeated_block - lines 1371 to 1388 repeat lines 897 to 912 (51 tokens); repeated code has to be fixed in every copy 1388:1 [warning] duplication.repeated_block - lines 1388 to 1404 repeat lines 1322 to 1338 (90 tokens); repeated code has to be fixed in every copy 1415:1 [warning] duplication.repeated_block - lines 1415 to 1449 repeat lines 1370 to 1404 (143 tokens); repeated code has to be fixed in every copy 1460:1 [warning] duplication.repeated_block - lines 1460 to 1481 repeat lines 1366 to 1387 (67 tokens); repeated code has to be fixed in every copy 1482:1 [warning] duplication.repeated_block - lines 1482 to 1503 repeat lines 1377 to 1398 (78 tokens); repeated code has to be fixed in every copy 1504:1 [warning] duplication.repeated_block - lines 1504 to 1511 repeat lines 1340 to 1347 (140 tokens); repeated code has to be fixed in every copy 1535:1 [warning] duplication.repeated_block - lines 1535 to 1555 repeat lines 1371 to 1390 (64 tokens); repeated code has to be fixed in every copy 1574:1 [warning] duplication.repeated_block - lines 1574 to 1582 repeat lines 1338 to 1347 (141 tokens); repeated code has to be fixed in every copy 1583:1 [warning] duplication.repeated_block - lines 1583 to 1592 repeat lines 1227 to 1238 (55 tokens); repeated code has to be fixed in every copy 1635:1 [warning] duplication.repeated_block - lines 1635 to 1645 repeat lines 1292 to 1302 (51 tokens); repeated code has to be fixed in every copy 1652:1 [warning] duplication.repeated_block - lines 1652 to 1671 repeat lines 1371 to 1390 (59 tokens); repeated code has to be fixed in every copy 1690:1 [warning] duplication.repeated_block - lines 1690 to 1708 repeat lines 1367 to 1387 (61 tokens); repeated code has to be fixed in every copy 1742:1 [warning] duplication.repeated_block - lines 1742 to 1755 repeat lines 1290 to 1302 (58 tokens); repeated code has to be fixed in every copy 2199:1 [warning] duplication.repeated_block - lines 2199 to 2214 repeat lines 2092 to 2107 (120 tokens); repeated code has to be fixed in every copy 2370:1 [warning] duplication.repeated_block - lines 2370 to 2378 repeat lines 2309 to 2317 (61 tokens); repeated code has to be fixed in every copy 2443:1 [warning] duplication.repeated_block - lines 2443 to 2449 repeat lines 2311 to 2317 (53 tokens); repeated code has to be fixed in every copy 2652:1 [warning] duplication.repeated_block - lines 2652 to 2657 repeat lines 2445 to 2450 (64 tokens); repeated code has to be fixed in every copy 2922:1 [warning] duplication.repeated_block - lines 2922 to 2938 repeat lines 1372 to 1390 (57 tokens); repeated code has to be fixed in every copy 3366:1 [warning] duplication.repeated_block - lines 3366 to 3388 repeat lines 3338 to 3360 (68 tokens); repeated code has to be fixed in every copy 3851:1 [warning] duplication.repeated_block - lines 3851 to 3863 repeat lines 3772 to 3784 (73 tokens); repeated code has to be fixed in every copy 3930:1 [warning] duplication.repeated_block - lines 3930 to 3946 repeat lines 3840 to 3856 (75 tokens); repeated code has to be fixed in every copy 4002:1 [warning] duplication.repeated_block - lines 4002 to 4018 repeat lines 3840 to 3856 (75 tokens); repeated code has to be fixed in every copy 4061:1 [warning] duplication.repeated_block - lines 4061 to 4074 repeat lines 3840 to 3854 (80 tokens); repeated code has to be fixed in every copy 4078:1 [warning] duplication.repeated_block - lines 4078 to 4094 repeat lines 3946 to 3962 (59 tokens); repeated code has to be fixed in every copy 4219:1 [warning] duplication.repeated_block - lines 4219 to 4232 repeat lines 3989 to 4002 (68 tokens); repeated code has to be fixed in every copy 4232:1 [warning] duplication.repeated_block - lines 4232 to 4247 repeat lines 3840 to 3856 (75 tokens); repeated code has to be fixed in every copy 4291:1 [warning] duplication.repeated_block - lines 4291 to 4303 repeat lines 3845 to 3857 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 388 names 251:28 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 2185:25 [warning] naming.too_long - method `json_search_products_and_variations` is 35 characters (limit 30); very long names make code hard to read 2196:25 [warning] naming.too_long - method `json_search_downloadable_products_and_variations` is 48 characters (limit 30); very long names make code hard to read 2495:26 [warning] naming.too_long - method `maybe_include_exact_taxonomy_term` is 33 characters (limit 30); very long names make code hard to read 3177:26 [warning] naming.too_long - method `variation_bulk_action_toggle_enabled` is 36 characters (limit 30); very long names make code hard to read 3195:26 [warning] naming.too_long - method `variation_bulk_action_toggle_downloadable` is 41 characters (limit 30); very long names make code hard to read 3209:26 [warning] naming.too_long - method `variation_bulk_action_toggle_virtual` is 36 characters (limit 30); very long names make code hard to read 3223:26 [warning] naming.too_long - method `variation_bulk_action_toggle_manage_stock` is 41 characters (limit 30); very long names make code hard to read 3237:26 [warning] naming.too_long - method `variation_bulk_action_variable_regular_price` is 44 characters (limit 30); very long names make code hard to read 3251:26 [warning] naming.too_long - method `variation_bulk_action_variable_sale_price` is 41 characters (limit 30); very long names make code hard to read 3265:26 [warning] naming.too_long - method `variation_bulk_action_variable_sale_price_from_regular_price` is 60 characters (limit 30); very long names make code hard to read 3308:26 [warning] naming.too_long - method `variation_bulk_action_variable_stock_status_instock` is 51 characters (limit 30); very long names make code hard to read 3322:26 [warning] naming.too_long - method `variation_bulk_action_variable_stock_status_outofstock` is 54 characters (limit 30); very long names make code hard to read 3336:26 [warning] naming.too_long - method `variation_bulk_action_variable_stock_status_onbackorder` is 55 characters (limit 30); very long names make code hard to read 3350:26 [warning] naming.too_long - method `variation_bulk_action_variable_stock` is 36 characters (limit 30); very long names make code hard to read 3378:26 [warning] naming.too_long - method `variation_bulk_action_variable_low_stock_amount` is 47 characters (limit 30); very long names make code hard to read 3406:26 [warning] naming.too_long - method `variation_bulk_action_variable_weight` is 37 characters (limit 30); very long names make code hard to read 3420:26 [warning] naming.too_long - method `variation_bulk_action_variable_length` is 37 characters (limit 30); very long names make code hard to read 3434:26 [warning] naming.too_long - method `variation_bulk_action_variable_width` is 36 characters (limit 30); very long names make code hard to read 3448:26 [warning] naming.too_long - method `variation_bulk_action_variable_height` is 37 characters (limit 30); very long names make code hard to read 3462:26 [warning] naming.too_long - method `variation_bulk_action_variable_download_limit` is 45 characters (limit 30); very long names make code hard to read 3476:26 [warning] naming.too_long - method `variation_bulk_action_variable_download_expiry` is 46 characters (limit 30); very long names make code hard to read 3490:26 [warning] naming.too_long - method `variation_bulk_action_delete_all` is 32 characters (limit 30); very long names make code hard to read 3509:26 [warning] naming.too_long - method `variation_bulk_action_variable_sale_schedule` is 44 characters (limit 30); very long names make code hard to read 3544:26 [warning] naming.too_long - method `variation_bulk_action_variable_regular_price_increase` is 53 characters (limit 30); very long names make code hard to read 3558:26 [warning] naming.too_long - method `variation_bulk_action_variable_regular_price_decrease` is 53 characters (limit 30); very long names make code hard to read 3572:26 [warning] naming.too_long - method `variation_bulk_action_variable_sale_price_increase` is 50 characters (limit 30); very long names make code hard to read 3586:26 [warning] naming.too_long - method `variation_bulk_action_variable_sale_price_decrease` is 50 characters (limit 30); very long names make code hard to read 3601:26 [warning] naming.too_long - method `variation_bulk_action_variable_unset_cogs_value` is 47 characters (limit 30); very long names make code hard to read 4060:25 [warning] naming.too_long - method `shipping_zone_methods_save_changes` is 34 characters (limit 30); very long names make code hard to read 4231:25 [warning] naming.too_long - method `shipping_zone_methods_save_settings` is 35 characters (limit 30); very long names make code hard to read 4415:25 [warning] naming.too_long - method `shipping_providers_save_changes` is 31 characters (limit 30); very long names make code hard to read Security: not graded 294:53 [warning] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it 295:53 [warning] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it 319:76 [info] security.unsanitized_input - read of `$_POST['coupon']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 408:101 [info] security.unsanitized_input - read of `$_POST['post_data']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 661:96 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Missing`) 806:99 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing`) 872:27 [info] security.unsanitized_input - read of `$_POST['data']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 919:27 [info] security.unsanitized_input - read of `$_POST['data']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1200:57 [info] security.unsanitized_input - read of `$_POST['items']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1202:79 [info] security.unsanitized_input - read of `$_POST['data']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1515:47 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Missing`) 1573:38 [info] security.unsanitized_input - read of `$_POST['order_item_ids']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1574:71 [info] security.unsanitized_input - read of `$_POST['items']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1729:27 [info] security.unsanitized_input - read of `$_POST['items']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1892:45 [info] security.unsanitized_input - read of `$_GET['term']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended`) 1897:50 [info] security.unsanitized_input - read of `$_GET['page']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended`) 1906:66 [info] security.unsanitized_input - read of `$_GET['per_page']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended`) 2001:28 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ', ', array_fill( 0, count( $matching_classes ), '%s' ) )`; pass values through prepare with placeholders to prevent SQL injection 2012:11 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$count_select`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared`) 2026:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$distinct`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared`) 2110:33 [info] security.unsanitized_input - read of `$_GET['exclude_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 3762:69 [info] security.unsanitized_input - read of `$_POST['current_class']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 3777:26 [info] security.unsanitized_input - read of `$_POST['changes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 3856:26 [info] security.unsanitized_input - read of `$_POST['changes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 4095:26 [info] security.unsanitized_input - read of `$_POST['changes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 4256:48 [info] security.unsanitized_input - read of `$_POST['data']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 4301:26 [info] security.unsanitized_input - read of `$_POST['changes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 4433:27 [info] security.unsanitized_input - read of `$_POST['changes']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 4620:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$fulfillments_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/class-wc-auth.php (other) CodeLength: not graded 320:21 [error] length.function - WC_Auth::auth_endpoint has 126 lines in its body, above 100 CyclomaticComplexity: 89 (B), based on 13 functions and file level code 320:21 [warning] complexity.function - WC_Auth::auth_endpoint has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 267 code lines NamingConvention: 97 (A), based on 35 names 122:33 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 181:34 [info] security.unsanitized_input - read of `$_REQUEST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Raw values are needed to validate the submitted URLs and scope; each value is sanitized or escaped where it is used, and key creation verifies capability and nonce.) 330:24 [warning] security.unsanitized_input - read of `$_REQUEST` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/class-wc-autoloader.php (other) CodeLength: not graded 69:18 [warning] length.function - WC_Autoloader::autoload has 83 lines in its body, above 50 CyclomaticComplexity: 54 (F), based on 5 functions and file level code 69:18 [error] complexity.function - WC_Autoloader::autoload has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 104 code lines NamingConvention: 93 (A), based on 15 names 158:19 [warning] naming.too_long - method `load_rest_v4_controller_recursively` is 35 characters (limit 30); very long names make code hard to read Security: not graded 58:4 [warning] security.include_variable - include_once of `$path` builds the file path from data; a crafted path can load another file woocommerce/includes/class-wc-background-emailer.php (other) CodeLength: not graded CyclomaticComplexity: 90 (A), based on 7 functions and file level code 147:21 [warning] complexity.function - WC_Background_Emailer::handle has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 102 code lines NamingConvention: 100 (A), based on 14 names Security: not graded 122:13 [warning] security.unsanitized_input - read of `$_COOKIE` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/class-wc-background-updater.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 66 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/includes/class-wc-brands-brand-settings-manager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 88 (B), based on 8 names 15:7 [warning] naming.too_long - class `WC_Brands_Brand_Settings_Manager` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-brands-coupons.php (other) CodeLength: not graded CyclomaticComplexity: 88 (B), based on 7 functions and file level code 44:18 [warning] complexity.function - WC_Brands_Coupons::is_coupon_valid has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 82 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/includes/class-wc-brands.php (other) CodeLength: not graded 267:25 [warning] length.function - WC_Brands::init_taxonomy has 65 lines in its body, above 50 505:18 [warning] length.function - WC_Brands::output_product_brand has 61 lines in its body, above 50 585:18 [warning] length.function - WC_Brands::output_product_brand_list has 70 lines in its body, above 50 677:18 [warning] length.function - WC_Brands::output_product_brand_thumbnails has 53 lines in its body, above 50 737:18 [warning] length.function - WC_Brands::output_product_brand_thumbnails_description has 51 lines in its body, above 50 14:7 [error] length.class - WC_Brands has 1147 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1162 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 40 functions and file level code 217:19 [warning] complexity.function - WC_Brands::should_load_brands_styles has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 505:18 [warning] complexity.function - WC_Brands::output_product_brand has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 658 code lines 745:1 [warning] duplication.repeated_block - lines 745 to 777 repeat lines 686 to 718 (145 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 118 names 573:26 [warning] naming.too_long - method `normalize_product_brand_shortcode_dimension` is 43 characters (limit 30); very long names make code hard to read 677:18 [warning] naming.too_long - method `output_product_brand_thumbnails` is 31 characters (limit 30); very long names make code hard to read 737:18 [warning] naming.too_long - method `output_product_brand_thumbnails_description` is 43 characters (limit 30); very long names make code hard to read 847:25 [warning] naming.too_long - method `add_brand_products_shortcode_atts` is 33 characters (limit 30); very long names make code hard to read 899:18 [warning] naming.too_long - method `rest_api_prepare_brands_to_product` is 34 characters (limit 30); very long names make code hard to read 955:18 [warning] naming.too_long - method `rest_api_filter_products_by_brand` is 33 characters (limit 30); very long names make code hard to read 975:18 [warning] naming.too_long - method `rest_api_product_collection_params` is 34 characters (limit 30); very long names make code hard to read 996:18 [warning] naming.too_long - method `woocommerce_brands_update_layered_nav_link` is 42 characters (limit 30); very long names make code hard to read 1025:18 [warning] naming.too_long - method `duplicate_store_temporary_brands` is 32 characters (limit 30); very long names make code hard to read 1046:18 [warning] naming.too_long - method `duplicate_add_product_brand_terms` is 33 characters (limit 30); very long names make code hard to read 1066:18 [warning] naming.too_long - method `invalidate_wc_layered_nav_counts_cache` is 38 characters (limit 30); very long names make code hard to read 1080:11 [warning] naming.too_long - method `reset_layered_nav_counts_on_status_change` is 41 characters (limit 30); very long names make code hard to read 1123:19 [warning] naming.too_long - method `template_already_has_brand_block` is 32 characters (limit 30); very long names make code hard to read Security: not graded 443:4 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_product_brands_output', $brand_output, $terms, $p...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/includes/class-wc-breadcrumb.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 23 functions and file level code Duplication: 100 (A), based on 226 code lines NamingConvention: 100 (A), based on 57 names Security: not graded woocommerce/includes/class-wc-cache-helper.php (other) CodeLength: not graded 49:25 [warning] length.function - WC_Cache_Helper::prevent_caching has 75 lines in its body, above 50 CyclomaticComplexity: 97 (A), based on 13 functions and file level code 194:25 [warning] complexity.function - WC_Cache_Helper::geolocation_ajax_redirect has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 153 code lines NamingConvention: 98 (A), based on 48 names 168:25 [warning] naming.too_long - method `geolocation_ajax_get_location_hash` is 34 characters (limit 30); very long names make code hard to read Security: not graded 204:49 [info] security.unsanitized_input - read of `$_SERVER['QUERY_STRING']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Hash is cleaned; same-site redirect uses esc_url_raw() and wp_safe_redirect().) woocommerce/includes/class-wc-cart-fees.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 56 code lines NamingConvention: 89 (B), based on 18 names 132:42 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 132:46 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/includes/class-wc-cart-session.php (other) CodeLength: not graded 105:18 [error] length.function - WC_Cart_Session::get_cart_from_session has 213 lines in its body, above 100 633:19 [error] length.function - WC_Cart_Session::populate_cart_from_order has 128 lines in its body, above 100 21:13 [warning] length.class - WC_Cart_Session has 815 lines, above 500 for a other 1:1 [warning] length.file - the file has 835 lines, above 600 for a other CyclomaticComplexity: 64 (D), based on 21 functions and file level code 105:18 [error] complexity.function - WC_Cart_Session::get_cart_from_session has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely 633:19 [error] complexity.function - WC_Cart_Session::populate_cart_from_order has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 437 code lines NamingConvention: 99 (A), based on 80 names 767:19 [warning] naming.too_long - method `remove_shipping_for_package_from_session` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-cart-totals.php (other) CodeLength: not graded 281:21 [warning] length.function - WC_Cart_Totals::get_fees_from_cart has 56 lines in its body, above 50 799:21 [warning] length.function - WC_Cart_Totals::calculate_discounts has 57 lines in its body, above 50 28:13 [warning] length.class - WC_Cart_Totals has 884 lines, above 500 for a other 1:1 [warning] length.file - the file has 911 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 29 functions and file level code 419:21 [warning] complexity.function - WC_Cart_Totals::sort_coupons_callback has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 743:21 [warning] complexity.function - WC_Cart_Totals::calculate_item_subtotals has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 459 code lines NamingConvention: 97 (A), based on 107 names 419:45 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 419:49 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 746:4 [warning] naming.too_long - variable `adjust_non_base_location_prices` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-cart.php (other) CodeLength: not graded 1185:18 [error] length.function - WC_Cart::add_to_cart has 309 lines in its body, above 100 1724:18 [warning] length.function - WC_Cart::get_shipping_packages has 55 lines in its body, above 50 1858:18 [warning] length.function - WC_Cart::show_shipping has 73 lines in its body, above 50 2071:18 [warning] length.function - WC_Cart::apply_coupon has 90 lines in its body, above 50 32:7 [error] length.class - WC_Cart has 2498 lines, above 1000 for a other 1:1 [error] length.file - the file has 2529 lines, above 1200 for a other CyclomaticComplexity: 79 (C), based on 115 functions and file level code 1144:18 [warning] complexity.function - WC_Cart::generate_cart_id has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1185:18 [error] complexity.function - WC_Cart::add_to_cart has a cyclomatic complexity of 47, high risk (above 10): each of its 47 paths needs its own test, which makes it hard to follow and to change safely 1858:18 [error] complexity.function - WC_Cart::show_shipping has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 1971:18 [warning] complexity.function - WC_Cart::check_customer_coupons has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 2071:18 [warning] complexity.function - WC_Cart::apply_coupon has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1131 code lines NamingConvention: 99 (A), based on 251 names 848:18 [warning] naming.too_long - method `check_cart_item_sold_individually` is 33 characters (limit 30); very long names make code hard to read 1088:18 [warning] naming.too_long - method `get_cart_item_tax_classes_for_shipping` is 38 characters (limit 30); very long names make code hard to read 1256:6 [warning] naming.too_long - variable `posted_and_variation_attributes` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-checkout.php (other) CodeLength: not graded 244:21 [warning] length.function - WC_Checkout::initialize_checkout_fields has 92 lines in its body, above 50 398:18 [error] length.function - WC_Checkout::create_order has 139 lines in its body, above 100 566:18 [warning] length.function - WC_Checkout::create_order_line_items has 51 lines in its body, above 50 804:18 [warning] length.function - WC_Checkout::get_posted_data has 70 lines in its body, above 50 913:21 [warning] length.function - WC_Checkout::validate_posted_data has 100 lines in its body, above 50 1021:21 [warning] length.function - WC_Checkout::validate_checkout has 51 lines in its body, above 50 1241:21 [warning] length.function - WC_Checkout::process_customer has 92 lines in its body, above 50 1362:18 [error] length.function - WC_Checkout::process_checkout has 109 lines in its body, above 100 23:7 [error] length.class - WC_Checkout has 1516 lines, above 1000 for a other 1:1 [error] length.file - the file has 1538 lines, above 1200 for a other CyclomaticComplexity: 70 (C), based on 34 functions and file level code 158:18 [warning] complexity.function - WC_Checkout::__get has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 244:21 [warning] complexity.function - WC_Checkout::initialize_checkout_fields has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 398:18 [error] complexity.function - WC_Checkout::create_order has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 804:18 [error] complexity.function - WC_Checkout::get_posted_data has a cyclomatic complexity of 26, high risk (above 10): each of its 26 paths needs its own test, which makes it hard to follow and to change safely 913:21 [error] complexity.function - WC_Checkout::validate_posted_data has a cyclomatic complexity of 40, high risk (above 10): each of its 40 paths needs its own test, which makes it hard to follow and to change safely 1021:21 [warning] complexity.function - WC_Checkout::validate_checkout has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1241:21 [error] complexity.function - WC_Checkout::process_customer has a cyclomatic complexity of 26, high risk (above 10): each of its 26 paths needs its own test, which makes it hard to follow and to change safely 1362:18 [warning] complexity.function - WC_Checkout::process_checkout has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 865 code lines NamingConvention: 98 (A), based on 109 names 31:16 [warning] naming.too_long - constant `SHIPPING_FIELDS_EXCLUDED_FROM_META` is 34 characters (limit 30); very long names make code hard to read 398:33 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 830:27 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1364:34 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-process-checkout-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore`) 1364:95 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore`) woocommerce/includes/class-wc-cli.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/class-wc-comments.php (other) CodeLength: not graded 37:25 [warning] length.function - WC_Comments::init has 55 lines in its body, above 50 18:7 [warning] length.class - WC_Comments has 690 lines, above 500 for a other 1:1 [warning] length.file - the file has 709 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 33 functions and file level code 239:25 [warning] complexity.function - WC_Comments::add_comment_rating has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 320 code lines NamingConvention: 77 (C), based on 77 names 32:16 [warning] naming.too_long - constant `PRODUCT_REVIEWS_PENDING_COUNT_CACHE_KEY` is 39 characters (limit 30); very long names make code hard to read 144:25 [warning] naming.too_long - method `exclude_order_comments_from_feed_join` is 37 characters (limit 30); very long names make code hard to read 154:25 [warning] naming.too_long - method `exclude_order_comments_from_feed_where` is 38 characters (limit 30); very long names make code hard to read 176:25 [warning] naming.too_long - method `exclude_webhook_comments_from_feed_join` is 39 characters (limit 30); very long names make code hard to read 187:25 [warning] naming.too_long - method `exclude_webhook_comments_from_feed_where` is 40 characters (limit 30); very long names make code hard to read 198:25 [warning] naming.too_long - method `exclude_action_log_comments_from_feed_where` is 43 characters (limit 30); very long names make code hard to read 310:25 [warning] naming.too_long - method `increment_comments_count_cache_on_wp_insert_comment` is 51 characters (limit 30); very long names make code hard to read 328:25 [warning] naming.too_long - method `update_comments_count_cache_on_comment_status_change` is 52 characters (limit 30); very long names make code hard to read 343:26 [warning] naming.too_long - method `is_comment_excluded_from_wp_comment_counts` is 42 characters (limit 30); very long names make code hard to read 370:25 [warning] naming.too_long - method `get_products_reviews_pending_moderation_counter` is 47 characters (limit 30); very long names make code hard to read 394:25 [warning] naming.too_long - method `maybe_bump_products_reviews_pending_moderation_counter` is 54 characters (limit 30); very long names make code hard to read 412:25 [warning] naming.too_long - method `maybe_adjust_products_reviews_pending_moderation_counter` is 56 characters (limit 30); very long names make code hard to read 444:4 [warning] naming.too_long - variable `stat_key_to_comment_query_status_mapping` is 40 characters (limit 30); very long names make code hard to read 452:4 [warning] naming.too_long - variable `comment_query_status_to_comment_status_mapping` is 46 characters (limit 30); very long names make code hard to read 490:25 [warning] naming.too_long - method `add_avatar_for_review_comment_type` is 34 characters (limit 30); very long names make code hard to read 514:25 [warning] naming.too_long - method `add_comment_purchase_verification` is 33 characters (limit 30); very long names make code hard to read 569:25 [warning] naming.too_long - method `get_review_counts_for_product_ids` is 33 characters (limit 30); very long names make code hard to read 669:25 [warning] naming.too_long - method `validate_product_review_verified_owners` is 39 characters (limit 30); very long names make code hard to read Security: not graded 241:29 [info] security.unsanitized_input - read of `$_POST['rating']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Anonymous product reviews are submitted through the core comment form, which carries no WooCommerce nonce; the value is range checked and cast to an integer below.) 241:62 [info] security.unsanitized_input - read of `$_POST['rating']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Anonymous product reviews are submitted through the core comment form, which carries no WooCommerce nonce; the value is range checked and cast to an integer below.) 580:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$product_id_string_placeholder`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Ignored for allowing interpolation in IN query.) woocommerce/includes/class-wc-countries.php (other) CodeLength: not graded 808:18 [warning] length.function - WC_Countries::get_formatted_address has 93 lines in its body, above 50 917:18 [error] length.function - WC_Countries::get_default_address_fields has 112 lines in its body, above 100 1055:18 [error] length.function - WC_Countries::get_country_locale has 898 lines in its body, above 100 1961:18 [warning] length.function - WC_Countries::get_address_fields has 75 lines in its body, above 50 18:7 [error] length.class - WC_Countries has 2019 lines, above 1000 for a other 1:1 [error] length.file - the file has 2036 lines, above 1200 for a other CyclomaticComplexity: 82 (B), based on 39 functions and file level code 712:18 [warning] complexity.function - WC_Countries::country_dropdown_options has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1055:18 [warning] complexity.function - WC_Countries::get_country_locale has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1961:18 [warning] complexity.function - WC_Countries::get_address_fields has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1467 code lines 638:1 [warning] duplication.repeated_block - lines 638 to 639 repeat lines 625 to 626 (71 tokens); repeated code has to be fixed in every copy 639:1 [warning] duplication.repeated_block - lines 639 to 639 repeat lines 626 to 626 (63 tokens); repeated code has to be fixed in every copy 665:1 [warning] duplication.repeated_block - lines 665 to 667 repeat lines 651 to 653 (51 tokens); repeated code has to be fixed in every copy 1514:1 [warning] duplication.repeated_block - lines 1514 to 1527 repeat lines 1405 to 1418 (84 tokens); repeated code has to be fixed in every copy 1594:1 [warning] duplication.repeated_block - lines 1594 to 1603 repeat lines 1101 to 1110 (50 tokens); repeated code has to be fixed in every copy 2003:1 [warning] duplication.repeated_block - lines 2003 to 2009 repeat lines 1000 to 1006 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 108 names 123:26 [warning] naming.too_long - method `restore_locale_resolution_snapshots` is 35 characters (limit 30); very long names make code hard to read 230:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 1035:18 [warning] naming.too_long - method `get_country_locale_field_selectors` is 34 characters (limit 30); very long names make code hard to read Security: not graded 730:7 [info] security.unescaped_output - echo of `$state_value` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 739:6 [info] security.unescaped_output - echo of `$value` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/class-wc-coupon.php (other) CodeLength: not graded 1118:18 [error] length.function - WC_Coupon::get_coupon_error has 179 lines in its body, above 100 1490:18 [warning] length.function - WC_Coupon::set_props has 58 lines in its body, above 50 22:7 [error] length.class - WC_Coupon has 1527 lines, above 1000 for a other 1:1 [error] length.file - the file has 1548 lines, above 1200 for a other CyclomaticComplexity: 79 (C), based on 73 functions and file level code 882:18 [warning] complexity.function - WC_Coupon::read_manual_coupon has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1021:18 [warning] complexity.function - WC_Coupon::is_valid_for_product has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1118:18 [error] complexity.function - WC_Coupon::get_coupon_error has a cyclomatic complexity of 30, high risk (above 10): each of its 30 paths needs its own test, which makes it hard to follow and to change safely 1490:18 [warning] complexity.function - WC_Coupon::set_props has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 737 code lines 951:1 [warning] duplication.repeated_block - lines 951 to 972 repeat lines 933 to 949 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 165 names 62:8 [warning] naming.too_long - constant `E_WC_COUPON_ALREADY_APPLIED_INDIV_USE_ONLY` is 42 characters (limit 30); very long names make code hard to read 64:8 [warning] naming.too_long - constant `E_WC_COUPON_USAGE_LIMIT_REACHED` is 31 characters (limit 30); very long names make code hard to read 66:8 [warning] naming.too_long - constant `E_WC_COUPON_MIN_SPEND_LIMIT_NOT_MET` is 35 characters (limit 30); very long names make code hard to read 68:8 [warning] naming.too_long - constant `E_WC_COUPON_NOT_VALID_SALE_ITEMS` is 32 characters (limit 30); very long names make code hard to read 70:8 [warning] naming.too_long - constant `E_WC_COUPON_MAX_SPEND_LIMIT_MET` is 31 characters (limit 30); very long names make code hard to read 72:8 [warning] naming.too_long - constant `E_WC_COUPON_EXCLUDED_CATEGORIES` is 31 characters (limit 30); very long names make code hard to read 73:8 [warning] naming.too_long - constant `E_WC_COUPON_USAGE_LIMIT_COUPON_STUCK` is 36 characters (limit 30); very long names make code hard to read 74:8 [warning] naming.too_long - constant `E_WC_COUPON_USAGE_LIMIT_COUPON_STUCK_GUEST` is 42 characters (limit 30); very long names make code hard to read 111:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 405:18 [warning] naming.too_long - method `get_excluded_product_categories` is 31 characters (limit 30); very long names make code hard to read 783:18 [warning] naming.too_long - method `set_excluded_product_categories` is 31 characters (limit 30); very long names make code hard to read 1446:18 [warning] naming.too_long - method `get_context_based_coupon_errors` is 31 characters (limit 30); very long names make code hard to read Security: not graded 1143:89 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing`) woocommerce/includes/class-wc-customer-download-log.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/includes/class-wc-customer-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 28 functions and file level code Duplication: 100 (A), based on 151 code lines NamingConvention: 90 (A), based on 41 names 344:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 357:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 369:18 [warning] naming.inconsistent_style - method `offsetUnset` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 382:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-customer.php (other) CodeLength: not graded 294:18 [warning] length.function - WC_Customer::has_full_shipping_address has 64 lines in its body, above 50 18:7 [error] length.class - WC_Customer has 1275 lines, above 1000 for a other 1:1 [error] length.file - the file has 1292 lines, above 1200 for a other CyclomaticComplexity: 96 (A), based on 91 functions and file level code 294:18 [warning] complexity.function - WC_Customer::has_full_shipping_address has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 483 code lines 47:1 [warning] duplication.repeated_block - lines 47 to 57 repeat lines 34 to 44 (68 tokens); repeated code has to be fixed in every copy 722:1 [warning] duplication.repeated_block - lines 722 to 743 repeat lines 579 to 600 (103 tokens); repeated code has to be fixed in every copy 1015:1 [warning] duplication.repeated_block - lines 1015 to 1024 repeat lines 993 to 1002 (68 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 132 names 108:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-data-exception.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 89 (B), based on 9 names 40:74 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 97 code lines NamingConvention: 91 (A), based on 23 names 158:26 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 173:28 [warning] naming.generic - variable `obj` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-datetime.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 32 code lines NamingConvention: 83 (B), based on 12 names 40:18 [warning] naming.inconsistent_style - method `set_utc_offset` is snake_case, while most methods in this file are camelCase (4 of 7 names); mixed styles make code harder to scan 103:18 [warning] naming.inconsistent_style - method `date_i18n` is snake_case, while most methods in this file are camelCase (4 of 7 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-deprecated-action-hooks.php (other) CodeLength: not graded 119:21 [warning] length.function - WC_Deprecated_Action_Hooks::trigger_hook has 64 lines in its body, above 50 CyclomaticComplexity: 74 (C), based on 3 functions and file level code 119:21 [warning] complexity.function - WC_Deprecated_Action_Hooks::trigger_hook has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 133 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/includes/class-wc-deprecated-filter-hooks.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 98 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/class-wc-discounts.php (other) CodeLength: not graded 362:21 [warning] length.function - WC_Discounts::apply_coupon_percent has 56 lines in its body, above 50 850:21 [warning] length.function - WC_Discounts::validate_coupon_product_categories has 51 lines in its body, above 50 1027:21 [warning] length.function - WC_Discounts::validate_coupon_excluded_product_ids has 52 lines in its body, above 50 1088:21 [warning] length.function - WC_Discounts::validate_coupon_excluded_product_categories has 65 lines in its body, above 50 18:7 [error] length.class - WC_Discounts has 1275 lines, above 1000 for a other 1:1 [error] length.file - the file has 1292 lines, above 1200 for a other CyclomaticComplexity: 98 (A), based on 38 functions and file level code 362:21 [warning] complexity.function - WC_Discounts::apply_coupon_percent has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 640 code lines 455:1 [warning] duplication.repeated_block - lines 455 to 457 repeat lines 390 to 392 (51 tokens); repeated code has to be fixed in every copy 533:1 [warning] duplication.repeated_block - lines 533 to 540 repeat lines 380 to 385 (51 tokens); repeated code has to be fixed in every copy 885:1 [warning] duplication.repeated_block - lines 885 to 911 repeat lines 825 to 851 (60 tokens); repeated code has to be fixed in every copy 984:1 [warning] duplication.repeated_block - lines 984 to 1010 repeat lines 825 to 851 (60 tokens); repeated code has to be fixed in every copy 1129:1 [warning] duplication.repeated_block - lines 1129 to 1142 repeat lines 1055 to 1068 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 105 names 294:37 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 294:41 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 677:21 [warning] naming.too_long - method `validate_coupon_user_usage_limit` is 32 characters (limit 30); very long names make code hard to read 850:21 [warning] naming.too_long - method `validate_coupon_product_categories` is 34 characters (limit 30); very long names make code hard to read 1027:21 [warning] naming.too_long - method `validate_coupon_excluded_product_ids` is 36 characters (limit 30); very long names make code hard to read 1088:21 [warning] naming.too_long - method `validate_coupon_excluded_product_categories` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-download-handler.php (other) CodeLength: not graded 49:25 [error] length.function - WC_Download_Handler::download_product has 130 lines in its body, above 100 317:25 [warning] length.function - WC_Download_Handler::parse_file_path has 68 lines in its body, above 50 449:28 [warning] length.function - WC_Download_Handler::get_download_range has 61 lines in its body, above 50 517:25 [warning] length.function - WC_Download_Handler::download_file_force has 57 lines in its body, above 50 604:25 [warning] length.function - WC_Download_Handler::resolve_filename_from_response_headers has 86 lines in its body, above 50 888:26 [warning] length.function - WC_Download_Handler::readfile_from_handle has 61 lines in its body, above 50 1014:25 [warning] length.function - WC_Download_Handler::track_download has 57 lines in its body, above 50 18:7 [error] length.class - WC_Download_Handler has 1054 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1073 lines, above 600 for a other CyclomaticComplexity: 74 (C), based on 28 functions and file level code 49:25 [error] complexity.function - WC_Download_Handler::download_product has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 449:28 [warning] complexity.function - WC_Download_Handler::get_download_range has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 517:25 [warning] complexity.function - WC_Download_Handler::download_file_force has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 604:25 [error] complexity.function - WC_Download_Handler::resolve_filename_from_response_headers has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 888:26 [warning] complexity.function - WC_Download_Handler::readfile_from_handle has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 589 code lines NamingConvention: 95 (A), based on 107 names 28:16 [warning] naming.too_long - constant `READ_RESULT_FAILURE_BEFORE_OUTPUT` is 33 characters (limit 30); very long names make code hard to read 31:16 [warning] naming.too_long - constant `READ_RESULT_FAILURE_AFTER_OUTPUT` is 32 characters (limit 30); very long names make code hard to read 604:25 [warning] naming.too_long - method `resolve_filename_from_response_headers` is 38 characters (limit 30); very long names make code hard to read 726:26 [warning] naming.too_long - method `get_content_type_for_served_download` is 36 characters (limit 30); very long names make code hard to read 900:5 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 54:57 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended` -- Emailed download links are bearer URLs: authorization is the order key plus the billing email or its hash, both verified below, so no nonce can be issued for them.) 86:33 [info] security.unsanitized_input - read of `$_GET['email']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- The raw value is needed so spaces can be restored to "+" below; sanitize_email() is applied before the lookup.) 94:65 [info] security.unsanitized_input - read of `$_GET['uid']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended` -- Emailed download links are bearer URLs: authorization is the order key plus the billing email or its hash, both verified below, so no nonce can be issued for them.) 915:5 [info] security.unescaped_output - echo of `$chunk` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Download chunks are raw binary data and must not be HTML-escaped.) 933:5 [info] security.unescaped_output - echo of `$chunk` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Download chunks are raw binary data and must not be HTML-escaped.) woocommerce/includes/class-wc-emails.php (other) CodeLength: not graded 91:25 [warning] length.function - WC_Emails::init_transactional_emails has 59 lines in its body, above 50 282:18 [warning] length.function - WC_Emails::init has 59 lines in its body, above 50 573:18 [warning] length.function - WC_Emails::order_downloads has 53 lines in its body, above 50 635:18 [warning] length.function - WC_Emails::order_meta has 52 lines in its body, above 50 1010:18 [warning] length.function - WC_Emails::low_stock has 84 lines in its body, above 50 1101:18 [warning] length.function - WC_Emails::no_stock has 80 lines in its body, above 50 1188:18 [warning] length.function - WC_Emails::backorder has 94 lines in its body, above 50 26:7 [error] length.class - WC_Emails has 1276 lines, above 1000 for a other 1:1 [error] length.file - the file has 1301 lines, above 1200 for a other CyclomaticComplexity: 98 (A), based on 39 functions and file level code 635:18 [warning] complexity.function - WC_Emails::order_meta has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 616 code lines 1118:1 [warning] duplication.repeated_block - lines 1118 to 1125 repeat lines 1027 to 1034 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 86 names 175:25 [warning] naming.too_long - method `send_queued_transactional_email` is 31 characters (limit 30); very long names make code hard to read 440:18 [warning] naming.too_long - method `email_footer_replace_site_title` is 31 characters (limit 30); very long names make code hard to read 980:18 [warning] naming.too_long - method `get_store_address_force_country_display` is 39 characters (limit 30); very long names make code hard to read Security: not graded 325:30 [warning] security.include_variable - include of `$path` builds the file path from data; a crafted path can load another file woocommerce/includes/class-wc-embed.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 64 code lines NamingConvention: 100 (A), based on 12 names Security: not graded 79:4 [info] security.unescaped_output - echo of `$_product->get_price_html()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_price_html() returns HTML, including output from the public product price filter.) woocommerce/includes/class-wc-form-handler.php (other) CodeLength: not graded 204:25 [error] length.function - WC_Form_Handler::save_address has 156 lines in its body, above 100 364:25 [error] length.function - WC_Form_Handler::save_account_details has 158 lines in its body, above 100 546:25 [warning] length.function - WC_Form_Handler::pay_action has 88 lines in its body, above 50 638:25 [warning] length.function - WC_Form_Handler::add_payment_method_action has 74 lines in its body, above 50 764:25 [error] length.function - WC_Form_Handler::update_cart_action has 144 lines in its body, above 100 921:25 [warning] length.function - WC_Form_Handler::cancel_order has 64 lines in its body, above 50 1020:25 [warning] length.function - WC_Form_Handler::add_to_cart_action has 53 lines in its body, above 50 1208:25 [warning] length.function - WC_Form_Handler::process_login has 62 lines in its body, above 50 1351:25 [warning] length.function - WC_Form_Handler::process_registration has 57 lines in its body, above 50 17:7 [error] length.class - WC_Form_Handler has 1392 lines, above 1000 for a other 1:1 [error] length.file - the file has 1410 lines, above 1200 for a other CyclomaticComplexity: 58 (F), based on 23 functions and file level code 106:25 [warning] complexity.function - WC_Form_Handler::redirect_reset_password_link has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 204:25 [error] complexity.function - WC_Form_Handler::save_address has a cyclomatic complexity of 35, high risk (above 10): each of its 35 paths needs its own test, which makes it hard to follow and to change safely 364:25 [error] complexity.function - WC_Form_Handler::save_account_details has a cyclomatic complexity of 45, high risk (above 10): each of its 45 paths needs its own test, which makes it hard to follow and to change safely 546:25 [error] complexity.function - WC_Form_Handler::pay_action has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 638:25 [warning] complexity.function - WC_Form_Handler::add_payment_method_action has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 764:25 [error] complexity.function - WC_Form_Handler::update_cart_action has a cyclomatic complexity of 42, high risk (above 10): each of its 42 paths needs its own test, which makes it hard to follow and to change safely 921:25 [warning] complexity.function - WC_Form_Handler::cancel_order has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 1020:25 [warning] complexity.function - WC_Form_Handler::add_to_cart_action has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1104:26 [warning] complexity.function - WC_Form_Handler::add_to_cart_handler_grouped has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1155:26 [warning] complexity.function - WC_Form_Handler::add_to_cart_handler_variable has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1208:25 [warning] complexity.function - WC_Form_Handler::process_login has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1351:25 [warning] complexity.function - WC_Form_Handler::process_registration has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 869 code lines 746:1 [warning] duplication.repeated_block - lines 746 to 749 repeat lines 722 to 725 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 124 names 27:8 [warning] naming.too_long - constant `SET_PASSWORD_RESEND_RATE_LIMIT_SECONDS` is 38 characters (limit 30); very long names make code hard to read 78:25 [warning] naming.too_long - method `set_reset_password_bridge_headers` is 33 characters (limit 30); very long names make code hard to read 740:25 [warning] naming.too_long - method `set_default_payment_method_action` is 33 characters (limit 30); very long names make code hard to read Security: not graded 126:33 [info] security.unsanitized_input - read of `$_GET['key']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 207:30 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-edit-address-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 207:87 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 365:30 [info] security.unsanitized_input - read of `$_REQUEST['save-account-details-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 365:83 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 387:67 [info] security.unsanitized_input - read of `$_POST['password_current']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 388:61 [info] security.unsanitized_input - read of `$_POST['password_1']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 389:61 [info] security.unsanitized_input - read of `$_POST['password_2']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 552:31 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-pay-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 552:79 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 561:57 [info] security.unsanitized_input - read of `$_GET['key']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 642:31 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-add-payment-method-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 642:94 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 773:30 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-cart-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 773:79 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 776:65 [info] security.unsanitized_input - read of `$_POST['coupon_code']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 779:77 [info] security.unsanitized_input - read of `$_GET['remove_coupon']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 839:58 [info] security.unsanitized_input - read of `$_POST['cart']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 930:59 [info] security.unsanitized_input - read of `$_GET['order']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 955:65 [info] security.unsanitized_input - read of `$_GET['redirect']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1004:30 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1107:106 [info] security.unsanitized_input - read of `$_REQUEST['quantity']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1162:13 [info] security.unsanitized_input - read of `$_REQUEST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended`) 1214:31 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-login-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1214:81 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1223:43 [info] security.unsanitized_input - read of `$_POST['username']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1224:25 [info] security.unsanitized_input - read of `$_POST['password']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 1252:31 [info] security.unsanitized_input - read of `$_POST['redirect']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1276:31 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-lost-password-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1276:89 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1296:30 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-reset-password-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1296:89 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 1312:32 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 1314:44 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1352:60 [info] security.unsanitized_input - read of `$_POST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1353:78 [info] security.unsanitized_input - read of `$_POST['woocommerce-register-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1356:129 [info] security.unsanitized_input - read of `$_POST['username']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1357:117 [info] security.unsanitized_input - read of `$_POST['password']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash`) 1358:28 [info] security.unsanitized_input - read of `$_POST['email']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 1391:53 [info] security.unsanitized_input - read of `$_POST['redirect']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/class-wc-frontend-scripts.php (other) CodeLength: not graded 213:26 [error] length.function - WC_Frontend_Scripts::get_scripts has 196 lines in its body, above 100 475:25 [error] length.function - WC_Frontend_Scripts::load_scripts has 107 lines in its body, above 100 609:26 [error] length.function - WC_Frontend_Scripts::get_script_data has 188 lines in its body, above 100 29:7 [warning] length.class - WC_Frontend_Scripts has 803 lines, above 500 for a other 1:1 [warning] length.file - the file has 833 lines, above 600 for a other CyclomaticComplexity: 81 (B), based on 16 functions and file level code 475:25 [error] complexity.function - WC_Frontend_Scripts::load_scripts has a cyclomatic complexity of 39, high risk (above 10): each of its 39 paths needs its own test, which makes it hard to follow and to change safely 609:26 [warning] complexity.function - WC_Frontend_Scripts::get_script_data has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 620 code lines NamingConvention: 96 (A), based on 46 names 591:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 803:26 [warning] naming.too_long - method `get_gateways_with_custom_place_order_button` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-geo-ip.php (other) CodeLength: not graded 1211:19 [error] length.function - WC_Geo_IP::_setup_segments has 147 lines in its body, above 100 1378:19 [error] length.function - WC_Geo_IP::_common_get_record has 108 lines in its body, above 100 1508:18 [warning] length.function - WC_Geo_IP::_geoip_seek_country_v6 has 54 lines in its body, above 50 21:7 [error] length.class - WC_Geo_IP has 1703 lines, above 1000 for a other 1:1 [error] length.file - the file has 1816 lines, above 1200 for a other CyclomaticComplexity: 61 (D), based on 14 functions and file level code 1211:19 [error] complexity.function - WC_Geo_IP::_setup_segments has a cyclomatic complexity of 70, untestable risk (above 10): each of its 70 paths needs its own test, which makes it hard to follow and to change safely 1378:19 [warning] complexity.function - WC_Geo_IP::_common_get_record has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 1479 code lines 1240:1 [warning] duplication.repeated_block - lines 1240 to 1245 repeat lines 1235 to 1240 (50 tokens); repeated code has to be fixed in every copy 1245:1 [warning] duplication.repeated_block - lines 1245 to 1252 repeat lines 1235 to 1242 (79 tokens); repeated code has to be fixed in every copy 1261:1 [warning] duplication.repeated_block - lines 1261 to 1266 repeat lines 1235 to 1240 (60 tokens); repeated code has to be fixed in every copy 1277:1 [warning] duplication.repeated_block - lines 1277 to 1284 repeat lines 1263 to 1270 (51 tokens); repeated code has to be fixed in every copy 1298:1 [warning] duplication.repeated_block - lines 1298 to 1322 repeat lines 1231 to 1255 (231 tokens); repeated code has to be fixed in every copy 1322:1 [warning] duplication.repeated_block - lines 1322 to 1340 repeat lines 1255 to 1273 (122 tokens); repeated code has to be fixed in every copy 1341:1 [warning] duplication.repeated_block - lines 1341 to 1351 repeat lines 1274 to 1283 (55 tokens); repeated code has to be fixed in every copy 1421:1 [warning] duplication.repeated_block - lines 1421 to 1435 repeat lines 1407 to 1421 (74 tokens); repeated code has to be fixed in every copy 1435:1 [warning] duplication.repeated_block - lines 1435 to 1452 repeat lines 1407 to 1424 (77 tokens); repeated code has to be fixed in every copy 1458:1 [warning] duplication.repeated_block - lines 1458 to 1465 repeat lines 1452 to 1458 (54 tokens); repeated code has to be fixed in every copy 1571:1 [warning] duplication.repeated_block - lines 1571 to 1597 repeat lines 1515 to 1540 (191 tokens); repeated code has to be fixed in every copy 1598:1 [warning] duplication.repeated_block - lines 1598 to 1616 repeat lines 1545 to 1561 (76 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 110 names 84:10 [warning] naming.inconsistent_style - property `databaseType` is camelCase, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 91:10 [warning] naming.inconsistent_style - property `databaseSegments` is camelCase, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 112:10 [warning] naming.inconsistent_style - property `GEOIP_COUNTRY_CODES` is UPPER_SNAKE_CASE, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 377:10 [warning] naming.inconsistent_style - property `GEOIP_COUNTRY_CODES3` is UPPER_SNAKE_CASE, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 641:10 [warning] naming.inconsistent_style - property `GEOIP_COUNTRY_NAMES` is UPPER_SNAKE_CASE, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 906:10 [warning] naming.inconsistent_style - property `GEOIP_CONTINENT_CODES` is UPPER_SNAKE_CASE, while most properties in this file are snake_case (10 of 24 names); mixed styles make code harder to scan 1381:4 [warning] naming.inconsistent_style - variable `mbExists` is camelCase, while most variables and parameters in this file are snake_case (10 of 36 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-geolite-integration.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 92 (A), based on 12 names 61:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-geolocation.php (other) CodeLength: not graded 152:25 [warning] length.function - WC_Geolocation::geolocate_ip has 68 lines in its body, above 50 286:26 [warning] length.function - WC_Geolocation::geolocate_via_api has 54 lines in its body, above 50 CyclomaticComplexity: 93 (A), based on 11 functions and file level code 286:26 [warning] complexity.function - WC_Geolocation::geolocate_via_api has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 189 code lines NamingConvention: 95 (A), based on 41 names 314:9 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 360:25 [warning] naming.too_long - method `disable_geolocation_on_legacy_php` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-https.php (other) CodeLength: not graded CyclomaticComplexity: 94 (A), based on 6 functions and file level code 104:25 [warning] complexity.function - WC_HTTPS::unforce_https_template_redirect has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 79 code lines NamingConvention: 87 (B), based on 15 names 104:25 [warning] naming.too_long - method `unforce_https_template_redirect` is 31 characters (limit 30); very long names make code hard to read 131:50 [warning] naming.too_short - parameter `r` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 91:23 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 92:63 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 95:85 [warning] security.unsanitized_input - read of `$_SERVER['HTTP_X_FORWARDED_HOST']` with no sanitizer around it; sanitize request input where you read it 95:121 [warning] security.unsanitized_input - read of `$_SERVER['HTTP_HOST']` with no sanitizer around it; sanitize request input where you read it 95:147 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 109:44 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 111:23 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 112:63 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it 115:84 [warning] security.unsanitized_input - read of `$_SERVER['HTTP_X_FORWARDED_HOST']` with no sanitizer around it; sanitize request input where you read it 115:120 [warning] security.unsanitized_input - read of `$_SERVER['HTTP_HOST']` with no sanitizer around it; sanitize request input where you read it 115:146 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/class-wc-install.php (other) CodeLength: not graded 1000:26 [warning] length.function - WC_Install::update has 84 lines in its body, above 50 1152:25 [warning] length.function - WC_Install::create_pages has 88 lines in its body, above 50 1490:25 [warning] length.function - WC_Install::delete_obsolete_notes has 90 lines in its body, above 50 1630:25 [warning] length.function - WC_Install::create_terms has 51 lines in its body, above 50 1701:25 [error] length.function - WC_Install::create_tables has 103 lines in its body, above 100 1821:26 [error] length.function - WC_Install::get_schema has 375 lines in its body, above 100 2203:25 [warning] length.function - WC_Install::get_tables has 67 lines in its body, above 50 2326:25 [warning] length.function - WC_Install::create_roles has 82 lines in its body, above 50 2712:25 [error] length.function - WC_Install::background_installer has 143 lines in its body, above 100 2883:25 [warning] length.function - WC_Install::theme_background_installer has 58 lines in its body, above 50 2962:26 [error] length.function - WC_Install::get_refunds_return_policy_page_content has 144 lines in its body, above 100 3165:28 [warning] length.function - WC_Install::get_cart_block_content has 87 lines in its body, above 50 3259:28 [warning] length.function - WC_Install::get_checkout_block_content has 85 lines in its body, above 50 32:7 [error] length.class - WC_Install has 3313 lines, above 1000 for a other 1:1 [error] length.file - the file has 3346 lines, above 1200 for a other CyclomaticComplexity: 95 (A), based on 71 functions and file level code 1000:26 [warning] complexity.function - WC_Install::update has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1248:26 [warning] complexity.function - WC_Install::create_options has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1701:25 [warning] complexity.function - WC_Install::create_tables has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 2712:25 [warning] complexity.function - WC_Install::background_installer has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1784 code lines NamingConvention: 93 (A), based on 205 names 932:26 [warning] naming.too_long - method `maybe_set_activation_transients` is 31 characters (limit 30); very long names make code hard to read 1329:25 [warning] naming.too_long - method `enable_email_improvements_for_newly_installed` is 45 characters (limit 30); very long names make code hard to read 1346:25 [warning] naming.too_long - method `enable_customer_stock_notifications_signups` is 43 characters (limit 30); very long names make code hard to read 1360:25 [warning] naming.too_long - method `enable_analytics_scheduled_import` is 33 characters (limit 30); very long names make code hard to read 1375:25 [warning] naming.too_long - method `enable_product_instance_caching_for_newly_installed` is 51 characters (limit 30); very long names make code hard to read 1387:25 [warning] naming.too_long - method `enable_email_improvements_for_existing_merchants` is 48 characters (limit 30); very long names make code hard to read 1415:26 [warning] naming.too_long - method `should_enable_hpos_for_new_shop` is 31 characters (limit 30); very long names make code hard to read 1531:4 [warning] naming.too_long - variable `additional_obsolete_notes_names` is 31 characters (limit 30); very long names make code hard to read 1793:4 [warning] naming.too_long - variable `comment_approved_type_index_exists` is 34 characters (limit 30); very long names make code hard to read 1832:4 [warning] naming.too_long - variable `product_attributes_lookup_table_creation_sql` is 44 characters (limit 30); very long names make code hard to read 1841:4 [warning] naming.too_long - variable `stock_notifications_table_schema` is 32 characters (limit 30); very long names make code hard to read 2949:26 [warning] naming.too_long - method `set_paypal_standard_load_eligibility` is 36 characters (limit 30); very long names make code hard to read 2962:26 [warning] naming.too_long - method `get_refunds_return_policy_page_content` is 38 characters (limit 30); very long names make code hard to read 3117:25 [warning] naming.too_long - method `add_admin_note_after_page_created` is 33 characters (limit 30); very long names make code hard to read Security: not graded 624:18 [info] security.unsanitized_input - read of `$_GET['return_url']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- sanitized below before use.) 1547:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$note_names_placeholder`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Ignored for allowing interpolation in the IN statement.) 1564:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$note_ids_placeholder`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Ignored for allowing interpolation in the IN statement.) 1573:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$note_ids_placeholder`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Ignored for allowing interpolation in the IN statement.) 1742:34 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `implode( ', ', $tax_lookup_alterations )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared` -- No user input, the fragments are hardcoded above.) 2283:11 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/class-wc-integrations.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/class-wc-log-levels.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 68 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/includes/class-wc-logger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 40 (F), based on 126 code lines 222:1 [warning] duplication.repeated_block - lines 222 to 251 repeat lines 193 to 221 (54 tokens); repeated code has to be fixed in every copy 252:1 [warning] duplication.repeated_block - lines 252 to 311 repeat lines 193 to 251 (108 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/includes/class-wc-meta-data.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 92 (A), based on 12 names 55:18 [warning] naming.inconsistent_style - method `jsonSerialize` is camelCase, while most methods in this file are snake_case (3 of 4 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-factory.php (other) CodeLength: not graded 81:25 [warning] length.function - WC_Order_Factory::get_orders has 84 lines in its body, above 50 CyclomaticComplexity: 84 (B), based on 7 functions and file level code 81:25 [warning] complexity.function - WC_Order_Factory::get_orders has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 172:25 [warning] complexity.function - WC_Order_Factory::get_order_item has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 217 code lines NamingConvention: 97 (A), based on 33 names 124:6 [warning] naming.generic - variable `obj` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-order-item-coupon.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 62 code lines NamingConvention: 82 (B), based on 17 names 144:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (9 of 12 names); mixed styles make code harder to scan 162:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (9 of 12 names); mixed styles make code harder to scan 179:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (9 of 12 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-item-fee.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 19 functions and file level code Duplication: 100 (A), based on 178 code lines NamingConvention: 93 (A), based on 45 names 344:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (16 of 19 names); mixed styles make code harder to scan 363:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (16 of 19 names); mixed styles make code harder to scan 382:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (16 of 19 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-item-meta.php (other) CodeLength: not graded CyclomaticComplexity: 81 (B), based on 4 functions and file level code 126:18 [warning] complexity.function - WC_Order_Item_Meta::get_formatted has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 170:18 [warning] complexity.function - WC_Order_Item_Meta::get_formatted_legacy has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 110 code lines NamingConvention: 100 (A), based on 26 names Security: not graded 108:4 [info] security.unescaped_output - echo of `$output` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Base meta values are KSES-sanitized before the public legacy HTML filter.) woocommerce/includes/class-wc-order-item-product.php (other) CodeLength: not graded 177:18 [warning] length.function - WC_Order_Item_Product::set_taxes has 55 lines in its body, above 50 450:18 [warning] length.function - WC_Order_Item_Product::get_item_downloads has 56 lines in its body, above 50 20:7 [warning] length.class - WC_Order_Item_Product has 632 lines, above 500 for a other 1:1 [warning] length.file - the file has 651 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 32 functions and file level code Duplication: 85 (B), based on 303 code lines 597:1 [warning] duplication.repeated_block - lines 597 to 609 repeat lines 571 to 583 (96 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 63 names 238:34 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 570:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (29 of 32 names); mixed styles make code harder to scan 595:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (29 of 32 names); mixed styles make code harder to scan 620:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (29 of 32 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-item-shipping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 23 functions and file level code Duplication: 100 (A), based on 148 code lines NamingConvention: 92 (A), based on 38 names 335:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (20 of 23 names); mixed styles make code harder to scan 350:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (20 of 23 names); mixed styles make code harder to scan 365:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (20 of 23 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-item-tax.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 22 functions and file level code Duplication: 100 (A), based on 105 code lines NamingConvention: 90 (A), based on 30 names 251:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (19 of 22 names); mixed styles make code harder to scan 268:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (19 of 22 names); mixed styles make code harder to scan 285:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (19 of 22 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-order-item.php (other) CodeLength: not graded 22:7 [warning] length.class - WC_Order_Item has 728 lines, above 500 for a other 1:1 [warning] length.file - the file has 749 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 29 functions and file level code 335:18 [warning] complexity.function - WC_Order_Item::get_formatted_meta_data has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 302 code lines NamingConvention: 92 (A), based on 79 names 396:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 421:18 [warning] naming.inconsistent_style - method `offsetUnset` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 447:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 462:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 636:18 [warning] naming.too_long - method `get_cogs_value_per_unit_tooltip_text` is 36 characters (limit 30); very long names make code hard to read 720:21 [warning] naming.too_long - method `convert_legacy_tax_value_to_array` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-order-query.php (other) CodeLength: not graded 23:21 [warning] length.function - WC_Order_Query::get_default_query_vars has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/class-wc-order-refund.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 17 functions and file level code Duplication: 100 (A), based on 85 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/includes/class-wc-order.php (other) CodeLength: not graded 138:18 [warning] length.function - WC_Order::payment_complete has 72 lines in its body, above 50 433:21 [warning] length.function - WC_Order::status_transition has 84 lines in its body, above 50 2080:18 [warning] length.function - WC_Order::add_order_note has 68 lines in its body, above 50 23:7 [error] length.class - WC_Order has 2615 lines, above 1000 for a other 1:1 [error] length.file - the file has 2637 lines, above 1200 for a other CyclomaticComplexity: 98 (A), based on 145 functions and file level code 219:18 [warning] complexity.function - WC_Order::get_formatted_order_total has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 2080:18 [warning] complexity.function - WC_Order::add_order_note has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1122 code lines 71:1 [warning] duplication.repeated_block - lines 71 to 81 repeat lines 58 to 68 (68 tokens); repeated code has to be fixed in every copy 2422:1 [warning] duplication.repeated_block - lines 2422 to 2439 repeat lines 2380 to 2397 (65 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 253 names 487:7 [warning] naming.too_long - variable `valid_order_statuses_for_payment` is 32 characters (limit 30); very long names make code hard to read 1029:18 [warning] naming.too_long - method `get_formatted_billing_full_name` is 31 characters (limit 30); very long names make code hard to read 1039:18 [warning] naming.too_long - method `get_formatted_shipping_full_name` is 32 characters (limit 30); very long names make code hard to read 1129:18 [warning] naming.too_long - method `get_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 1647:18 [warning] naming.too_long - method `set_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 1947:18 [warning] naming.too_long - method `get_checkout_order_received_url` is 31 characters (limit 30); very long names make code hard to read 2302:18 [warning] naming.too_long - method `get_total_shipping_tax_refunded` is 31 characters (limit 30); very long names make code hard to read 2475:18 [warning] naming.too_long - method `get_total_tax_refunded_by_rate_id` is 33 characters (limit 30); very long names make code hard to read 2513:21 [warning] naming.too_long - method `add_order_item_totals_payment_method_row` is 40 characters (limit 30); very long names make code hard to read 2537:21 [warning] naming.too_long - method `add_order_item_totals_refund_rows` is 33 characters (limit 30); very long names make code hard to read 2621:21 [warning] naming.too_long - method `calculate_cogs_total_value_core` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-payment-gateways.php (other) CodeLength: not graded 83:18 [warning] length.function - WC_Payment_Gateways::init has 65 lines in its body, above 50 474:19 [warning] length.function - WC_Payment_Gateways::record_gateway_event has 65 lines in its body, above 50 23:7 [warning] length.class - WC_Payment_Gateways has 517 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 19 functions and file level code Duplication: 100 (A), based on 263 code lines NamingConvention: 94 (A), based on 50 names 159:18 [warning] naming.too_long - method `on_payment_gateways_initialized` is 31 characters (limit 30); very long names make code hard to read 192:19 [warning] naming.too_long - method `payment_gateway_settings_option_changed` is 39 characters (limit 30); very long names make code hard to read 250:19 [warning] naming.too_long - method `normalize_gateway_settings_for_transition` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-payment-tokens.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 115 code lines NamingConvention: 100 (A), based on 32 names Security: not graded woocommerce/includes/class-wc-post-data.php (other) CodeLength: not graded 887:25 [warning] length.function - WC_Post_Data::handle_global_attribute_updated has 51 lines in its body, above 50 25:7 [error] length.class - WC_Post_Data has 1166 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1192 lines, above 600 for a other CyclomaticComplexity: 99 (A), based on 42 functions and file level code 356:25 [warning] complexity.function - WC_Post_Data::wp_insert_post_data has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 576 code lines 495:1 [warning] duplication.repeated_block - lines 495 to 524 repeat lines 459 to 490 (136 tokens); repeated code has to be fixed in every copy 1093:1 [warning] duplication.repeated_block - lines 1093 to 1130 repeat lines 1043 to 1080 (121 tokens); repeated code has to be fixed in every copy NamingConvention: 87 (B), based on 112 names 175:25 [warning] naming.too_long - method `delete_product_query_transients` is 31 characters (limit 30); very long names make code hard to read 195:25 [warning] naming.too_long - method `invalidate_products_last_modified` is 33 characters (limit 30); very long names make code hard to read 213:25 [warning] naming.too_long - method `invalidate_db_block_templates_cache` is 35 characters (limit 30); very long names make code hard to read 356:47 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 542:26 [warning] naming.too_long - method `clear_global_unique_id_if_necessary` is 35 characters (limit 30); very long names make code hard to read 633:25 [warning] naming.too_long - method `delete_order_downloadable_permissions` is 37 characters (limit 30); very long names make code hard to read 696:25 [warning] naming.too_long - method `recount_terms_for_product_visibility_change` is 43 characters (limit 30); very long names make code hard to read 771:25 [warning] naming.too_long - method `process_product_file_download_paths` is 35 characters (limit 30); very long names make code hard to read 822:25 [warning] naming.too_long - method `regenerate_variation_attribute_summary` is 38 characters (limit 30); very long names make code hard to read 864:25 [warning] naming.too_long - method `get_variation_summaries_sync_threshold` is 38 characters (limit 30); very long names make code hard to read 887:25 [warning] naming.too_long - method `handle_global_attribute_updated` is 31 characters (limit 30); very long names make code hard to read 947:25 [warning] naming.too_long - method `regenerate_attribute_variation_summaries` is 40 characters (limit 30); very long names make code hard to read 1018:25 [warning] naming.too_long - method `regenerate_product_variation_summaries` is 38 characters (limit 30); very long names make code hard to read 1148:26 [warning] naming.too_long - method `schedule_variation_summary_regeneration` is 39 characters (limit 30); very long names make code hard to read 1172:25 [warning] naming.too_long - method `regenerate_term_variation_summaries` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-post-types.php (other) CodeLength: not graded 52:25 [error] length.function - WC_Post_Types::register_taxonomies has 277 lines in its body, above 100 333:25 [error] length.function - WC_Post_Types::register_post_types has 212 lines in its body, above 100 593:25 [warning] length.function - WC_Post_Types::updated_term_messages has 52 lines in its body, above 50 649:25 [warning] length.function - WC_Post_Types::register_post_status has 75 lines in its body, above 50 19:7 [warning] length.class - WC_Post_Types has 813 lines, above 500 for a other 1:1 [warning] length.file - the file has 833 lines, above 600 for a other CyclomaticComplexity: 80 (B), based on 13 functions and file level code 52:25 [warning] complexity.function - WC_Post_Types::register_taxonomies has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 333:25 [warning] complexity.function - WC_Post_Types::register_post_types has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 631 code lines 170:1 [warning] duplication.repeated_block - lines 170 to 182 repeat lines 124 to 136 (84 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 39 names 553:26 [warning] naming.too_long - method `should_register_product_archive` is 31 characters (limit 30); very long names make code hard to read 752:26 [warning] naming.too_long - method `queue_rewrite_rules_on_shop_page_save` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-privacy-background-process.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/class-wc-privacy-erasers.php (other) CodeLength: not graded 23:25 [warning] length.function - WC_Privacy_Erasers::customer_data_eraser has 80 lines in its body, above 50 218:25 [error] length.function - WC_Privacy_Erasers::remove_order_personal_data has 146 lines in its body, above 100 CyclomaticComplexity: 88 (B), based on 5 functions and file level code 218:25 [warning] complexity.function - WC_Privacy_Erasers::remove_order_personal_data has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 244 code lines 373:1 [warning] duplication.repeated_block - lines 373 to 387 repeat lines 23 to 37 (67 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/includes/class-wc-privacy-exporters.php (other) CodeLength: not graded 100:25 [warning] length.function - WC_Privacy_Exporters::download_data_exporter has 65 lines in its body, above 50 174:28 [warning] length.function - WC_Privacy_Exporters::get_customer_personal_data has 64 lines in its body, above 50 246:28 [warning] length.function - WC_Privacy_Exporters::get_order_personal_data has 90 lines in its body, above 50 CyclomaticComplexity: 93 (A), based on 7 functions and file level code 246:28 [warning] complexity.function - WC_Privacy_Exporters::get_order_personal_data has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 311 code lines 87:1 [warning] duplication.repeated_block - lines 87 to 107 repeat lines 41 to 62 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 37 names 117:4 [warning] naming.too_long - variable `customer_download_log_data_store` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-privacy.php (other) CodeLength: not graded 82:18 [warning] length.function - WC_Privacy::get_privacy_message has 52 lines in its body, above 50 386:28 [warning] length.function - WC_Privacy::delete_inactive_accounts_query has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 40 (F), based on 270 code lines 215:1 [warning] duplication.repeated_block - lines 215 to 234 repeat lines 188 to 207 (81 tokens); repeated code has to be fixed in every copy 242:1 [warning] duplication.repeated_block - lines 242 to 261 repeat lines 188 to 207 (81 tokens); repeated code has to be fixed in every copy 279:1 [warning] duplication.repeated_block - lines 279 to 284 repeat lines 188 to 193 (59 tokens); repeated code has to be fixed in every copy 328:1 [warning] duplication.repeated_block - lines 328 to 333 repeat lines 188 to 193 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 29 names 156:67 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-wc-product-attribute.php (other) CodeLength: not graded CyclomaticComplexity: 96 (A), based on 25 functions and file level code 315:18 [warning] complexity.function - WC_Product_Attribute::offsetGet has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 170 code lines 111:1 [warning] duplication.repeated_block - lines 111 to 126 repeat lines 82 to 98 (135 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 35 names 315:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 344:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 371:18 [warning] naming.inconsistent_style - method `offsetUnset` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan 380:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (21 of 25 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-product-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 28 functions and file level code Duplication: 100 (A), based on 222 code lines NamingConvention: 90 (A), based on 51 names 116:40 [warning] naming.too_long - parameter `auto_add_to_approved_directory_list` is 35 characters (limit 30); very long names make code hard to read 464:18 [warning] naming.inconsistent_style - method `offsetGet` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 485:18 [warning] naming.inconsistent_style - method `offsetSet` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 503:18 [warning] naming.inconsistent_style - method `offsetUnset` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan 512:18 [warning] naming.inconsistent_style - method `offsetExists` is camelCase, while most methods in this file are snake_case (24 of 28 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-product-external.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/includes/class-wc-product-factory.php (other) CodeLength: not graded CyclomaticComplexity: 86 (B), based on 5 functions and file level code 28:18 [warning] complexity.function - WC_Product_Factory::get_product has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 67 code lines NamingConvention: 93 (A), based on 14 names 122:25 [warning] naming.too_long - method `get_classname_from_product_type` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-product-grouped.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 108 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/includes/class-wc-product-query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/class-wc-product-simple.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/class-wc-product-variable.php (other) CodeLength: not graded 431:18 [warning] length.function - WC_Product_Variable::get_available_variation has 79 lines in its body, above 50 20:7 [warning] length.class - WC_Product_Variable has 756 lines, above 500 for a other 1:1 [warning] length.file - the file has 775 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 36 functions and file level code 344:18 [warning] complexity.function - WC_Product_Variable::get_available_variations has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 431:18 [warning] complexity.function - WC_Product_Variable::get_available_variation has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 329 code lines 263:1 [warning] duplication.repeated_block - lines 263 to 268 repeat lines 245 to 251 (58 tokens); repeated code has to be fixed in every copy 738:1 [warning] duplication.repeated_block - lines 738 to 754 repeat lines 692 to 716 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 88 names 291:18 [warning] naming.too_long - method `get_variation_default_attribute` is 31 characters (limit 30); very long names make code hard to read 440:4 [warning] naming.too_long - variable `variation_featured_is_inherited` is 31 characters (limit 30); very long names make code hard to read 572:21 [warning] naming.too_long - method `before_data_store_save_or_update` is 32 characters (limit 30); very long names make code hard to read 589:21 [warning] naming.too_long - method `after_data_store_save_or_update` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-product-variation.php (other) CodeLength: not graded 20:7 [warning] length.class - WC_Product_Variation has 666 lines, above 500 for a other 1:1 [warning] length.file - the file has 685 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 38 functions and file level code Duplication: 100 (A), based on 287 code lines 150:1 [warning] duplication.repeated_block - lines 150 to 155 repeat lines 142 to 148 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 67 names 172:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 676:18 [warning] naming.too_long - method `get_parent_cogs_effective_value` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-query.php (other) CodeLength: not graded 120:18 [warning] length.function - WC_Query::get_endpoint_title has 64 lines in its body, above 50 329:18 [error] length.function - WC_Query::pre_get_posts has 127 lines in its body, above 100 701:18 [warning] length.function - WC_Query::get_catalog_ordering_args has 77 lines in its body, above 50 916:18 [warning] length.function - WC_Query::get_tax_query has 62 lines in its body, above 50 20:7 [error] length.class - WC_Query has 1164 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1183 lines, above 600 for a other CyclomaticComplexity: 75 (C), based on 53 functions and file level code 120:18 [warning] complexity.function - WC_Query::get_endpoint_title has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 329:18 [error] complexity.function - WC_Query::pre_get_posts has a cyclomatic complexity of 28, high risk (above 10): each of its 28 paths needs its own test, which makes it hard to follow and to change safely 701:18 [error] complexity.function - WC_Query::get_catalog_ordering_args has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 916:18 [warning] complexity.function - WC_Query::get_tax_query has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1061:25 [warning] complexity.function - WC_Query::get_layered_nav_chosen_attributes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 602 code lines NamingConvention: 91 (A), based on 119 names 211:49 [warning] naming.generic - variable `var` is a generic name; it says nothing about what it holds 280:46 [warning] naming.too_short - parameter `q` is 1 character (at least 2); a one letter name hides its meaning 301:19 [warning] naming.too_long - method `filter_out_valid_front_page_query_vars` is 38 characters (limit 30); very long names make code hard to read 317:19 [warning] naming.too_long - method `is_query_var_valid_on_front_page` is 32 characters (limit 30); very long names make code hard to read 525:21 [warning] naming.too_long - method `get_layered_nav_chosen_attributes_inst` is 38 characters (limit 30); very long names make code hard to read 841:18 [warning] naming.too_long - method `order_by_price_asc_post_clauses` is 31 characters (limit 30); very long names make code hard to read 853:18 [warning] naming.too_long - method `order_by_price_desc_post_clauses` is 32 characters (limit 30); very long names make code hard to read 867:18 [warning] naming.too_long - method `order_by_popularity_post_clauses` is 32 characters (limit 30); very long names make code hard to read 891:19 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read 925:73 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 1061:25 [warning] naming.too_long - method `get_layered_nav_chosen_attributes` is 33 characters (limit 30); very long names make code hard to read Security: not graded 1046:20 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$like_op`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1067:15 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended`) woocommerce/includes/class-wc-rate-limiter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 68 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/includes/class-wc-regenerate-images-request.php (other) CodeLength: not graded 92:21 [error] length.function - WC_Regenerate_Images_Request::task has 103 lines in its body, above 100 204:18 [warning] length.function - WC_Regenerate_Images_Request::filter_image_sizes_to_only_missing_thumbnails has 61 lines in its body, above 50 CyclomaticComplexity: 59 (F), based on 8 functions and file level code 92:21 [error] complexity.function - WC_Regenerate_Images_Request::task has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 204:18 [warning] complexity.function - WC_Regenerate_Images_Request::filter_image_sizes_to_only_missing_thumbnails has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 172 code lines NamingConvention: 94 (A), based on 36 names 204:18 [warning] naming.too_long - method `filter_image_sizes_to_only_missing_thumbnails` is 45 characters (limit 30); very long names make code hard to read 272:18 [warning] naming.too_long - method `adjust_intermediate_image_sizes` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-regenerate-images.php (other) CodeLength: not graded 212:25 [warning] length.function - WC_Regenerate_Images::maybe_resize_image has 59 lines in its body, above 50 379:26 [warning] length.function - WC_Regenerate_Images::resize_and_return_image has 85 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 16 functions and file level code 212:25 [warning] complexity.function - WC_Regenerate_Images::maybe_resize_image has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 379:26 [warning] complexity.function - WC_Regenerate_Images::resize_and_return_image has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 266 code lines NamingConvention: 95 (A), based on 58 names 69:25 [warning] naming.too_long - method `filter_image_get_intermediate_size` is 34 characters (limit 30); very long names make code hard to read 69:62 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 326:25 [warning] naming.too_long - method `adjust_intermediate_image_sizes` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-register-wp-admin-settings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 103 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/includes/class-wc-rest-authentication.php (other) CodeLength: not graded 129:19 [warning] length.function - WC_REST_Authentication::route_from_request_uri has 70 lines in its body, above 50 460:18 [warning] length.function - WC_REST_Authentication::get_oauth_parameters has 56 lines in its body, above 50 14:7 [warning] length.class - WC_REST_Authentication has 864 lines, above 500 for a other 1:1 [warning] length.file - the file has 879 lines, above 600 for a other CyclomaticComplexity: 93 (A), based on 27 functions and file level code 129:19 [warning] complexity.function - WC_REST_Authentication::route_from_request_uri has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 676:19 [warning] complexity.function - WC_REST_Authentication::check_oauth_timestamp_and_nonce has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 754:19 [warning] complexity.function - WC_REST_Authentication::check_permissions has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 419 code lines NamingConvention: 98 (A), based on 92 names 412:36 [warning] naming.too_short - variable `h` is 1 character (at least 2); a one letter name hides its meaning 676:19 [warning] naming.too_long - method `check_oauth_timestamp_and_nonce` is 31 characters (limit 30); very long names make code hard to read Security: not graded 144:30 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Parsed and compared against REST route prefixes only, never output or stored; sanitizing would diverge from the route WordPress dispatches.) 364:23 [info] security.unsanitized_input - read of `$_GET['consumer_key']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- Raw credentials and request data are required for OAuth signature verification.) 365:23 [info] security.unsanitized_input - read of `$_GET['consumer_secret']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- Raw credentials and request data are required for OAuth signature verification.) 437:23 [info] security.unsanitized_input - read of `$_SERVER['HTTP_AUTHORIZATION']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Raw credentials and request data are required for OAuth signature verification.) 461:26 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing` -- Raw credentials and request data are required for OAuth signature verification.) 461:33 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.NonceVerification.Missing` -- Raw credentials and request data are required for OAuth signature verification.) 576:68 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- Raw credentials and request data are required for OAuth signature verification.) woocommerce/includes/class-wc-rest-exception.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/class-wc-session-handler.php (other) CodeLength: not graded 391:18 [warning] length.function - WC_Session_Handler::set_session_expiration has 53 lines in its body, above 50 24:7 [warning] length.class - WC_Session_Handler has 737 lines, above 500 for a other 1:1 [warning] length.file - the file has 760 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 34 functions and file level code 121:19 [warning] complexity.function - WC_Session_Handler::init_session_from_request has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 335 code lines NamingConvention: 96 (A), based on 74 names 218:19 [warning] naming.too_long - method `migrate_guest_session_to_user_session` is 37 characters (limit 30); very long names make code hard to read 304:18 [warning] naming.too_long - method `maybe_set_customer_session_cookie` is 33 characters (limit 30); very long names make code hard to read 615:18 [warning] naming.too_long - method `maybe_update_nonce_user_logged_out` is 34 characters (limit 30); very long names make code hard to read Security: not graded 557:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$this->_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) 633:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$this->_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) 668:36 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$this->_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) woocommerce/includes/class-wc-shipping-rate.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 26 functions and file level code Duplication: 100 (A), based on 118 code lines NamingConvention: 97 (A), based on 36 names 121:18 [warning] naming.inconsistent_style - method `jsonSerialize` is camelCase, while most methods in this file are snake_case (21 of 22 names); mixed styles make code harder to scan Security: not graded woocommerce/includes/class-wc-shipping-zone.php (other) CodeLength: not graded 159:18 [warning] length.function - WC_Shipping_Zone::get_shipping_methods has 51 lines in its body, above 50 CyclomaticComplexity: 94 (A), based on 21 functions and file level code 159:18 [warning] complexity.function - WC_Shipping_Zone::get_shipping_methods has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 215 code lines NamingConvention: 100 (A), based on 58 names Security: not graded woocommerce/includes/class-wc-shipping-zones.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 17 functions and file level code Duplication: 100 (A), based on 216 code lines NamingConvention: 93 (A), based on 67 names 47:25 [warning] naming.too_long - method `get_zones_with_order_conflict_warnings` is 38 characters (limit 30); very long names make code hard to read 60:26 [warning] naming.too_long - method `add_zone_order_conflict_warnings` is 32 characters (limit 30); very long names make code hard to read 180:26 [warning] naming.too_long - method `zone_has_unsupported_non_postcode_locations` is 43 characters (limit 30); very long names make code hard to read 250:26 [warning] naming.too_long - method `get_continent_code_for_location` is 31 characters (limit 30); very long names make code hard to read 270:26 [warning] naming.too_long - method `get_country_code_from_state_code` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-shipping.php (other) CodeLength: not graded 311:18 [error] length.function - WC_Shipping::calculate_shipping_for_package has 101 lines in its body, above 100 CyclomaticComplexity: 90 (A), based on 19 functions and file level code 311:18 [warning] complexity.function - WC_Shipping::calculate_shipping_for_package has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 209 code lines NamingConvention: 98 (A), based on 49 names 131:18 [warning] naming.too_long - method `get_shipping_method_class_names` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-shortcodes.php (other) CodeLength: not graded 155:25 [warning] length.function - WC_Shortcodes::product_categories has 85 lines in its body, above 50 314:25 [warning] length.function - WC_Shortcodes::product_add_to_cart has 58 lines in its body, above 50 506:25 [error] length.function - WC_Shortcodes::product_page has 154 lines in its body, above 100 17:7 [warning] length.class - WC_Shortcodes has 725 lines, above 500 for a other 1:1 [warning] length.file - the file has 741 lines, above 600 for a other CyclomaticComplexity: 76 (C), based on 22 functions and file level code 155:25 [warning] complexity.function - WC_Shortcodes::product_categories has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 506:25 [error] complexity.function - WC_Shortcodes::product_page has a cyclomatic complexity of 26, high risk (above 10): each of its 26 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 431 code lines 386:1 [warning] duplication.repeated_block - lines 386 to 397 repeat lines 336 to 347 (82 tokens); repeated code has to be fixed in every copy 447:1 [warning] duplication.repeated_block - lines 447 to 469 repeat lines 401 to 423 (80 tokens); repeated code has to be fixed in every copy 471:1 [warning] duplication.repeated_block - lines 471 to 493 repeat lines 238 to 260 (72 tokens); repeated code has to be fixed in every copy 681:1 [warning] duplication.repeated_block - lines 681 to 698 repeat lines 401 to 417 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 52 names Security: not graded 74:3 [info] security.unescaped_output - echo of `$wrapper['before']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 76:3 [info] security.unescaped_output - echo of `$wrapper['after']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) 355:4 [info] security.unescaped_output - echo of `$product->get_price_html()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreStart`) woocommerce/includes/class-wc-structured-data.php (other) CodeLength: not graded 218:18 [error] length.function - WC_Structured_Data::generate_product_data has 329 lines in its body, above 100 655:18 [error] length.function - WC_Structured_Data::generate_order_data has 102 lines in its body, above 100 26:7 [warning] length.class - WC_Structured_Data has 872 lines, above 500 for a other 1:1 [warning] length.file - the file has 897 lines, above 600 for a other CyclomaticComplexity: 46 (F), based on 16 functions and file level code 61:18 [warning] complexity.function - WC_Structured_Data::set_data has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 218:18 [error] complexity.function - WC_Structured_Data::generate_product_data has a cyclomatic complexity of 64, untestable risk (above 10): each of its 64 paths needs its own test, which makes it hard to follow and to change safely 655:18 [warning] complexity.function - WC_Structured_Data::generate_order_data has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 855:19 [warning] complexity.function - WC_Structured_Data::count_matching_variations has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 591 code lines 371:1 [warning] duplication.repeated_block - lines 371 to 378 repeat lines 297 to 304 (57 tokens); repeated code has to be fixed in every copy 416:1 [warning] duplication.repeated_block - lines 416 to 423 repeat lines 297 to 304 (57 tokens); repeated code has to be fixed in every copy 441:1 [warning] duplication.repeated_block - lines 441 to 458 repeat lines 393 to 410 (105 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 87 names 61:29 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 618:60 [info] security.unsanitized_input - read of `$_SERVER['HTTP_HOST']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 618:98 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/class-wc-tax.php (other) CodeLength: not graded 366:26 [warning] length.function - WC_Tax::get_matched_tax_rates has 93 lines in its body, above 50 584:25 [warning] length.function - WC_Tax::get_shipping_tax_rates has 59 lines in its body, above 50 19:7 [error] length.class - WC_Tax has 1283 lines, above 1000 for a other 1:1 [error] length.file - the file has 1302 lines, above 1200 for a other CyclomaticComplexity: 99 (A), based on 47 functions and file level code 305:26 [warning] complexity.function - WC_Tax::sort_rates_callback has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 653 code lines 317:1 [warning] duplication.repeated_block - lines 317 to 327 repeat lines 307 to 317 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 133 names 653:26 [warning] naming.too_long - method `get_shipping_tax_class_from_cart_items` is 38 characters (limit 30); very long names make code hard to read Security: not graded 425:25 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$criteria_string`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1252:11 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/class-wc-template-loader.php (other) CodeLength: not graded 198:26 [warning] length.function - WC_Template_Loader::get_template_loader_files has 59 lines in its body, above 50 352:26 [warning] length.function - WC_Template_Loader::unsupported_theme_tax_archive_init has 88 lines in its body, above 50 13:7 [warning] length.class - WC_Template_Loader has 655 lines, above 500 for a other 1:1 [warning] length.file - the file has 669 lines, above 600 for a other CyclomaticComplexity: 94 (A), based on 22 functions and file level code 160:26 [warning] complexity.function - WC_Template_Loader::get_template_loader_default_file has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 198:26 [warning] complexity.function - WC_Template_Loader::get_template_loader_files has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 369 code lines 558:1 [warning] duplication.repeated_block - lines 558 to 566 repeat lines 357 to 365 (53 tokens); repeated code has to be fixed in every copy 583:1 [warning] duplication.repeated_block - lines 583 to 605 repeat lines 528 to 550 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 81 (B), based on 62 names 160:26 [warning] naming.too_long - method `get_template_loader_default_file` is 32 characters (limit 30); very long names make code hard to read 314:26 [warning] naming.too_long - method `unsupported_theme_shop_page_init` is 32 characters (limit 30); very long names make code hard to read 325:26 [warning] naming.too_long - method `unsupported_theme_product_page_init` is 35 characters (limit 30); very long names make code hard to read 339:26 [warning] naming.too_long - method `add_support_for_product_page_gallery` is 36 characters (limit 30); very long names make code hard to read 352:26 [warning] naming.too_long - method `unsupported_theme_tax_archive_init` is 34 characters (limit 30); very long names make code hard to read 448:25 [warning] naming.too_long - method `unsupported_archive_layered_nav_compatibility` is 45 characters (limit 30); very long names make code hard to read 449:79 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 540:25 [warning] naming.too_long - method `unsupported_theme_shop_content_filter` is 37 characters (limit 30); very long names make code hard to read 595:25 [warning] naming.too_long - method `unsupported_theme_product_content_filter` is 40 characters (limit 30); very long names make code hard to read 623:25 [warning] naming.too_long - method `unsupported_theme_comments_number_filter` is 40 characters (limit 30); very long names make code hard to read 649:25 [warning] naming.too_long - method `unsupported_theme_single_featured_image_filter` is 46 characters (limit 30); very long names make code hard to read 663:25 [warning] naming.too_long - method `unsupported_theme_remove_review_tab` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/class-wc-tracker.php (other) CodeLength: not graded 63:25 [warning] length.function - WC_Tracker::send_tracking_data has 70 lines in its body, above 50 279:25 [error] length.function - WC_Tracker::get_tracking_data has 113 lines in its body, above 100 674:26 [warning] length.function - WC_Tracker::get_order_totals has 66 lines in its body, above 50 746:26 [warning] length.function - WC_Tracker::get_order_dates has 70 lines in its body, above 50 827:26 [warning] length.function - WC_Tracker::extract_group_key has 52 lines in its body, above 50 885:26 [warning] length.function - WC_Tracker::get_orders_by_gateway has 95 lines in its body, above 50 986:26 [warning] length.function - WC_Tracker::get_orders_origins has 64 lines in its body, above 50 1504:26 [warning] length.function - WC_Tracker::get_additional_order_data has 55 lines in its body, above 50 1566:26 [warning] length.function - WC_Tracker::get_refund_order_data has 52 lines in its body, above 50 31:7 [error] length.class - WC_Tracker has 1710 lines, above 1000 for a other 1:1 [error] length.file - the file has 1740 lines, above 1200 for a other CyclomaticComplexity: 96 (A), based on 50 functions and file level code 279:25 [warning] complexity.function - WC_Tracker::get_tracking_data has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 827:26 [warning] complexity.function - WC_Tracker::extract_group_key has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 972 code lines 1557:1 [warning] duplication.repeated_block - lines 1557 to 1576 repeat lines 1495 to 1514 (63 tokens); repeated code has to be fixed in every copy 1638:1 [warning] duplication.repeated_block - lines 1638 to 1645 repeat lines 1629 to 1636 (64 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 206 names 280:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 544:32 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning 833:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 833:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 1192:26 [warning] naming.too_long - method `get_all_woocommerce_options_values` is 34 characters (limit 30); very long names make code hard to read 1330:4 [warning] naming.too_long - variable `pickup_location_pickup_locations` is 32 characters (limit 30); very long names make code hard to read 1352:25 [warning] naming.too_long - method `get_checkout_additional_fields_data` is 35 characters (limit 30); very long names make code hard to read 1689:4 [warning] naming.too_long - variable `enabled_or_manual_emails_with_cc_or_bcc` is 39 characters (limit 30); very long names make code hard to read Security: not graded 681:26 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 709:37 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 752:22 [info] security.sql_interpolated - query `$wpdb->get_row` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 784:33 [info] security.sql_interpolated - query `$wpdb->get_row` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 891:41 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 992:28 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$op_table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1457:21 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1478:21 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$sort_order`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1517:19 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$op_table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1533:19 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$joined_ids`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1579:19 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1594:19 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$joined_ids`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/class-wc-validation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 51 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/includes/class-wc-webhook.php (other) CodeLength: not graded 510:18 [warning] length.function - WC_Webhook::log_delivery has 76 lines in its body, above 50 988:25 [warning] length.function - WC_Webhook::get_default_topic_hooks has 80 lines in its body, above 50 28:7 [error] length.class - WC_Webhook has 1106 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1133 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 50 functions and file level code Duplication: 100 (A), based on 492 code lines NamingConvention: 99 (A), based on 103 names 66:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/class-woocommerce.php (other) CodeLength: not graded 329:19 [error] length.function - WooCommerce::init_hooks has 126 lines in its body, above 100 725:18 [error] length.function - WooCommerce::includes has 178 lines in its body, above 100 1727:18 [warning] length.function - WooCommerce::register_recurring_actions has 65 lines in its body, above 50 56:13 [error] length.class - WooCommerce has 1803 lines, above 1000 for a other 1:1 [error] length.file - the file has 1858 lines, above 1200 for a other CyclomaticComplexity: 99 (A), based on 70 functions and file level code 911:19 [warning] complexity.function - WooCommerce::theme_support_includes has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 848 code lines 384:1 [warning] duplication.repeated_block - lines 384 to 390 repeat lines 378 to 384 (54 tokens); repeated code has to be fixed in every copy 390:1 [warning] duplication.repeated_block - lines 390 to 402 repeat lines 378 to 390 (108 tokens); repeated code has to be fixed in every copy 402:1 [warning] duplication.repeated_block - lines 402 to 416 repeat lines 378 to 388 (88 tokens); repeated code has to be fixed in every copy 418:1 [warning] duplication.repeated_block - lines 418 to 421 repeat lines 411 to 418 (57 tokens); repeated code has to be fixed in every copy 424:1 [warning] duplication.repeated_block - lines 424 to 427 repeat lines 416 to 419 (56 tokens); repeated code has to be fixed in every copy 429:1 [warning] duplication.repeated_block - lines 429 to 434 repeat lines 416 to 421 (114 tokens); repeated code has to be fixed in every copy 436:1 [warning] duplication.repeated_block - lines 436 to 443 repeat lines 416 to 421 (112 tokens); repeated code has to be fixed in every copy 443:1 [warning] duplication.repeated_block - lines 443 to 446 repeat lines 420 to 423 (71 tokens); repeated code has to be fixed in every copy 446:1 [warning] duplication.repeated_block - lines 446 to 450 repeat lines 428 to 431 (74 tokens); repeated code has to be fixed in every copy 1680:1 [warning] duplication.repeated_block - lines 1680 to 1696 repeat lines 1661 to 1677 (61 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 149 names 1648:18 [warning] naming.too_long - method `add_woocommerce_tracker_send_event_wrapper` is 42 characters (limit 30); very long names make code hard to read 1690:18 [warning] naming.too_long - method `add_generate_category_lookup_table_wrapper` is 42 characters (limit 30); very long names make code hard to read 1709:18 [warning] naming.too_long - method `add_woocommerce_cleanup_rate_limits_wrapper` is 43 characters (limit 30); very long names make code hard to read Security: not graded 647:46 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Recommended`) 672:59 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/cli/class-wc-cli-com-command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 92 code lines NamingConvention: 89 (B), based on 18 names 19:8 [warning] naming.too_long - constant `APPLICATION_PASSWORD_SECTION_URL` is 32 characters (limit 30); very long names make code hard to read 52:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/cli/class-wc-cli-com-extension-command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/cli/class-wc-cli-rest-command.php (other) CodeLength: not graded 210:18 [warning] length.function - WC_CLI_REST_Command::list_items has 52 lines in its body, above 50 290:19 [warning] length.function - WC_CLI_REST_Command::do_request has 75 lines in its body, above 50 CyclomaticComplexity: 87 (B), based on 14 functions and file level code 210:18 [warning] complexity.function - WC_CLI_REST_Command::list_items has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 290:19 [warning] complexity.function - WC_CLI_REST_Command::do_request has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 277 code lines 244:1 [warning] duplication.repeated_block - lines 244 to 253 repeat lines 184 to 193 (78 tokens); repeated code has to be fixed in every copy 261:1 [warning] duplication.repeated_block - lines 261 to 277 repeat lines 118 to 134 (75 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 61 names 315:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 315:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 460:35 [warning] naming.generic - parameter `arr` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/cli/class-wc-cli-runner.php (other) CodeLength: not graded 106:26 [error] length.function - WC_CLI_Runner::register_route_commands has 148 lines in its body, above 100 CyclomaticComplexity: 46 (F), based on 2 functions and file level code 106:26 [error] complexity.function - WC_CLI_Runner::register_route_commands has a cyclomatic complexity of 32, high risk (above 10): each of its 32 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 177 code lines NamingConvention: 100 (A), based on 35 names Security: not graded woocommerce/includes/cli/class-wc-cli-tool-command.php (other) CodeLength: not graded 28:25 [warning] length.function - WC_CLI_Tool_Command::register_commands has 78 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/includes/cli/class-wc-cli-tracker-command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/cli/class-wc-cli-update-command.php (other) CodeLength: not graded 30:25 [warning] length.function - WC_CLI_Update_Command::update has 68 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/includes/customizer/class-wc-customizer-control-cropping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/customizer/class-wc-shop-customizer.php (other) CodeLength: not graded 119:18 [error] length.function - WC_Shop_Customizer::add_scripts has 176 lines in its body, above 100 345:19 [warning] length.function - WC_Shop_Customizer::add_store_notice_section has 64 lines in its body, above 50 415:18 [error] length.function - WC_Shop_Customizer::add_product_catalog_section has 157 lines in its body, above 100 578:19 [error] length.function - WC_Shop_Customizer::add_product_images_section has 145 lines in its body, above 100 729:18 [error] length.function - WC_Shop_Customizer::add_checkout_section has 183 lines in its body, above 100 14:7 [warning] length.class - WC_Shop_Customizer has 938 lines, above 500 for a other 1:1 [warning] length.file - the file has 951 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 598 code lines 496:1 [warning] duplication.repeated_block - lines 496 to 506 repeat lines 325 to 335 (100 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 38 names 323:18 [warning] naming.too_long - method `sanitize_default_catalog_orderby` is 32 characters (limit 30); very long names make code hard to read 919:18 [warning] naming.too_long - method `sanitize_checkout_field_display` is 31 characters (limit 30); very long names make code hard to read 938:18 [warning] naming.too_long - method `has_terms_and_conditions_page_id` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/abstract-wc-order-data-store-cpt.php (other) CodeLength: not graded 270:18 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::delete has 70 lines in its body, above 50 594:21 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::prime_order_item_caches_for_orders has 78 lines in its body, above 50 711:21 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::prime_refund_caches_for_orders has 53 lines in its body, above 50 844:18 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::delete_items_by_ids has 64 lines in its body, above 50 1024:21 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object has 72 lines in its body, above 50 1251:21 [warning] length.function - Abstract_WC_Order_Data_Store_CPT::prime_refund_total_caches_for_orders has 63 lines in its body, above 50 24:16 [error] length.class - Abstract_WC_Order_Data_Store_CPT has 1402 lines, above 1000 for a other 1:1 [error] length.file - the file has 1425 lines, above 1200 for a other CyclomaticComplexity: 90 (A), based on 41 functions and file level code 436:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::read_order_data has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 594:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::prime_order_item_caches_for_orders has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 711:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::prime_refund_caches_for_orders has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1024:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1251:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::prime_refund_total_caches_for_orders has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1333:21 [warning] complexity.function - Abstract_WC_Order_Data_Store_CPT::suspend_transactional_email_dispatch has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 784 code lines 231:1 [warning] duplication.repeated_block - lines 231 to 234 repeat lines 96 to 99 (51 tokens); repeated code has to be fixed in every copy 984:1 [warning] duplication.repeated_block - lines 984 to 988 repeat lines 232 to 236 (70 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 143 names 24:16 [warning] naming.too_long - class `Abstract_WC_Order_Data_Store_CPT` is 32 characters (limit 30); very long names make code hard to read 57:13 [warning] naming.too_long - property `internal_data_store_key_getters` is 31 characters (limit 30); very long names make code hard to read 64:18 [warning] naming.too_long - method `get_internal_data_store_key_getters` is 35 characters (limit 30); very long names make code hard to read 594:21 [warning] naming.too_long - method `prime_order_item_caches_for_orders` is 34 characters (limit 30); very long names make code hard to read 685:19 [warning] naming.too_long - method `prime_product_post_caches_for_order_items` is 41 characters (limit 30); very long names make code hard to read 780:21 [warning] naming.too_long - method `prime_needs_processing_transients` is 33 characters (limit 30); very long names make code hard to read 1009:46 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 1123:21 [warning] naming.too_long - method `get_refund_orders_batch_join_clause` is 35 characters (limit 30); very long names make code hard to read 1229:18 [warning] naming.too_long - method `get_total_shipping_tax_refunded` is 31 characters (limit 30); very long names make code hard to read 1251:21 [warning] naming.too_long - method `prime_refund_total_caches_for_orders` is 36 characters (limit 30); very long names make code hard to read 1333:21 [warning] naming.too_long - method `suspend_transactional_email_dispatch` is 36 characters (limit 30); very long names make code hard to read 1385:19 [warning] naming.too_long - method `should_suppress_transactional_email_dispatch` is 44 characters (limit 30); very long names make code hard to read 1409:21 [warning] naming.too_long - method `restore_transactional_email_dispatch` is 36 characters (limit 30); very long names make code hard to read Security: not graded 622:35 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$non_cached_ids_string`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 652:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$id_placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- $id_placeholders is generated above.) 866:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$ids_placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- $ids_placeholders is generated above.) 884:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$ids_placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- $ids_placeholders is generated above.) 1127:17 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$id_list`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $id_list is sanitized via absint above; trusted table name.) 1157:27 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$id_list`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $id_list is sanitized via absint above; trusted table names.) 1195:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_itemmeta`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber` -- $meta_keys is splatted.) 1295:24 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$parent_col`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $refund_join is already prepared, $parent_col is hardcoded, trusted table names.) woocommerce/includes/data-stores/abstract-wc-order-item-type-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 116 code lines 119:1 [warning] duplication.repeated_block - lines 119 to 127 repeat lines 83 to 93 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 18 names 19:16 [warning] naming.too_long - class `Abstract_WC_Order_Item_Type_Data_Store` is 38 characters (limit 30); very long names make code hard to read 162:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/data-stores/class-wc-coupon-data-store-cpt.php (other) CodeLength: not graded 272:19 [warning] length.function - WC_Coupon_Data_Store_CPT::update_post_meta has 85 lines in its body, above 50 585:18 [warning] length.function - WC_Coupon_Data_Store_CPT::check_and_hold_coupon has 65 lines in its body, above 50 685:18 [warning] length.function - WC_Coupon_Data_Store_CPT::check_and_hold_coupon_for_user has 62 lines in its body, above 50 17:7 [warning] length.class - WC_Coupon_Data_Store_CPT has 816 lines, above 500 for a other 1:1 [warning] length.file - the file has 832 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 22 functions and file level code 272:19 [warning] complexity.function - WC_Coupon_Data_Store_CPT::update_post_meta has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 478 code lines 514:1 [warning] duplication.repeated_block - lines 514 to 535 repeat lines 493 to 514 (67 tokens); repeated code has to be fixed in every copy 720:1 [warning] duplication.repeated_block - lines 720 to 728 repeat lines 621 to 630 (52 tokens); repeated code has to be fixed in every copy 729:1 [warning] duplication.repeated_block - lines 729 to 756 repeat lines 631 to 658 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 71 names 756:19 [warning] naming.too_long - method `get_tentative_usage_query_for_user` is 34 characters (limit 30); very long names make code hard to read Security: not graded 468:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$operator`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 623:30 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_for_usages`; pass values through prepare with placeholders to prevent SQL injection 703:30 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$format`; pass values through prepare with placeholders to prevent SQL injection 721:37 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_for_usages`; pass values through prepare with placeholders to prevent SQL injection 762:17 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$format`; pass values through prepare with placeholders to prevent SQL injection woocommerce/includes/data-stores/class-wc-customer-data-store-session.php (other) CodeLength: not graded CyclomaticComplexity: 92 (A), based on 11 functions and file level code 107:18 [warning] complexity.function - WC_Customer_Data_Store_Session::read has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 153 code lines NamingConvention: 96 (A), based on 27 names 90:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/data-stores/class-wc-customer-data-store.php (other) CodeLength: not graded 260:19 [warning] length.function - WC_Customer_Data_Store::update_user_meta has 82 lines in its body, above 50 359:18 [warning] length.function - WC_Customer_Data_Store::get_last_order has 72 lines in its body, above 50 495:18 [warning] length.function - WC_Customer_Data_Store::get_total_spent has 81 lines in its body, above 50 586:18 [warning] length.function - WC_Customer_Data_Store::search_customers has 55 lines in its body, above 50 675:18 [warning] length.function - WC_Customer_Data_Store::query_customers has 99 lines in its body, above 50 21:7 [warning] length.class - WC_Customer_Data_Store has 754 lines, above 500 for a other 1:1 [warning] length.file - the file has 774 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 13 functions and file level code 260:19 [warning] complexity.function - WC_Customer_Data_Store::update_user_meta has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 675:18 [warning] complexity.function - WC_Customer_Data_Store::query_customers has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 493 code lines 300:1 [warning] duplication.repeated_block - lines 300 to 313 repeat lines 271 to 284 (65 tokens); repeated code has to be fixed in every copy 328:1 [warning] duplication.repeated_block - lines 328 to 338 repeat lines 300 to 310 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 58 names Security: not graded 402:29 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_statuses_sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 409:29 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$order_statuses_sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 463:21 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_statuses_sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 470:21 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$order_statuses_sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 520:19 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$statuses_sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/data-stores/class-wc-customer-download-data-store.php (other) CodeLength: not graded 405:18 [warning] length.function - WC_Customer_Download_Data_Store::get_downloads has 81 lines in its body, above 50 17:7 [warning] length.class - WC_Customer_Download_Data_Store has 556 lines, above 500 for a other CyclomaticComplexity: 94 (A), based on 18 functions and file level code 405:18 [warning] complexity.function - WC_Customer_Download_Data_Store::get_downloads has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 348 code lines NamingConvention: 94 (A), based on 50 names 17:7 [warning] naming.too_long - class `WC_Customer_Download_Data_Store` is 31 characters (limit 30); very long names make code hard to read 41:37 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 281:19 [warning] naming.too_long - method `delete_download_log_by_field_value` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/class-wc-customer-download-log-data-store.php (other) CodeLength: not graded 157:18 [warning] length.function - WC_Customer_Download_Log_Data_Store::get_download_logs has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 158 code lines 116:1 [warning] duplication.repeated_block - lines 116 to 130 repeat lines 41 to 55 (92 tokens); repeated code has to be fixed in every copy NamingConvention: 85 (B), based on 27 names 14:7 [warning] naming.too_long - class `WC_Customer_Download_Log_Data_Store` is 35 characters (limit 30); very long names make code hard to read 41:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 224:18 [warning] naming.too_long - method `get_download_logs_for_permission` is 32 characters (limit 30); very long names make code hard to read 243:18 [warning] naming.too_long - method `get_download_logs_count_for_permission` is 38 characters (limit 30); very long names make code hard to read Security: not graded 90:46 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- The table name is an internal constant and the ID uses a %d placeholder.) woocommerce/includes/data-stores/class-wc-data-store-wp.php (other) CodeLength: not graded 276:21 [warning] length.function - WC_Data_Store_WP::get_wp_query_args has 55 lines in its body, above 50 343:18 [error] length.function - WC_Data_Store_WP::parse_date_for_wp_query has 210 lines in its body, above 100 17:7 [warning] length.class - WC_Data_Store_WP has 705 lines, above 500 for a other 1:1 [warning] length.file - the file has 721 lines, above 600 for a other CyclomaticComplexity: 69 (D), based on 21 functions and file level code 343:18 [error] complexity.function - WC_Data_Store_WP::parse_date_for_wp_query has a cyclomatic complexity of 39, high risk (above 10): each of its 39 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 381 code lines NamingConvention: 99 (A), based on 76 names 647:21 [warning] naming.too_long - method `get_primary_key_for_lookup_table` is 32 characters (limit 30); very long names make code hard to read Security: not graded 87:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$db_info['meta_id_field']`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/data-stores/class-wc-order-data-store-cpt.php (other) CodeLength: not graded 127:21 [warning] length.function - WC_Order_Data_Store_CPT::read_order_data has 66 lines in its body, above 50 253:21 [error] length.function - WC_Order_Data_Store_CPT::update_post_meta has 154 lines in its body, above 100 577:18 [warning] length.function - WC_Order_Data_Store_CPT::search_orders has 74 lines in its body, above 50 920:21 [error] length.function - WC_Order_Data_Store_CPT::get_wp_query_args has 137 lines in its body, above 100 1067:18 [warning] length.function - WC_Order_Data_Store_CPT::query has 65 lines in its body, above 50 1270:19 [warning] length.function - WC_Order_Data_Store_CPT::generate_total_query has 54 lines in its body, above 50 23:7 [error] length.class - WC_Order_Data_Store_CPT has 1402 lines, above 1000 for a other 1:1 [error] length.file - the file has 1424 lines, above 1200 for a other CyclomaticComplexity: 72 (C), based on 42 functions and file level code 127:21 [error] complexity.function - WC_Order_Data_Store_CPT::read_order_data has a cyclomatic complexity of 44, high risk (above 10): each of its 44 paths needs its own test, which makes it hard to follow and to change safely 253:21 [error] complexity.function - WC_Order_Data_Store_CPT::update_post_meta has a cyclomatic complexity of 39, high risk (above 10): each of its 39 paths needs its own test, which makes it hard to follow and to change safely 920:21 [error] complexity.function - WC_Order_Data_Store_CPT::get_wp_query_args has a cyclomatic complexity of 31, high risk (above 10): each of its 31 paths needs its own test, which makes it hard to follow and to change safely 1192:19 [warning] complexity.function - WC_Order_Data_Store_CPT::prime_raw_meta_cache_for_orders has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1270:19 [warning] complexity.function - WC_Order_Data_Store_CPT::generate_total_query has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 863 code lines NamingConvention: 94 (A), based on 120 names 93:13 [warning] naming.too_long - property `internal_data_store_key_getters` is 31 characters (limit 30); very long names make code hard to read 503:19 [warning] naming.too_long - method `get_orders_generate_customer_meta_query` is 39 characters (limit 30); very long names make code hard to read 658:18 [warning] naming.too_long - method `get_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 669:18 [warning] naming.too_long - method `set_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 708:18 [warning] naming.too_long - method `get_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read 719:18 [warning] naming.too_long - method `set_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read 1192:19 [warning] naming.too_long - method `prime_raw_meta_cache_for_orders` is 31 characters (limit 30); very long names make code hard to read Security: not graded 556:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( "','", wc_get_order_types() )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreStart`) 611:14 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( "','", array_map( 'esc_sql', $search_fields ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) 1217:33 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_ids_in`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/data-stores/class-wc-order-item-coupon-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 89 (B), based on 9 names 17:7 [warning] naming.too_long - class `WC_Order_Item_Coupon_Data_Store` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/class-wc-order-item-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/includes/data-stores/class-wc-order-item-fee-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/data-stores/class-wc-order-item-product-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 92 (A), based on 13 names 17:7 [warning] naming.too_long - class `WC_Order_Item_Product_Data_Store` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/class-wc-order-item-shipping-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 39 code lines NamingConvention: 92 (A), based on 12 names 16:7 [warning] naming.too_long - class `WC_Order_Item_Shipping_Data_Store` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/class-wc-order-item-tax-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/data-stores/class-wc-order-refund-data-store-cpt.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/includes/data-stores/class-wc-payment-token-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 205 code lines NamingConvention: 98 (A), based on 45 names 153:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 280:27 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$sql`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/data-stores/class-wc-product-data-store-cpt.php (other) CodeLength: not graded 127:19 [warning] length.function - WC_Product_Data_Store_CPT::obtain_lock_on_sku_for_concurrent_requests has 61 lines in its body, above 50 202:18 [warning] length.function - WC_Product_Data_Store_CPT::create has 64 lines in its body, above 50 323:18 [warning] length.function - WC_Product_Data_Store_CPT::update has 77 lines in its body, above 50 447:21 [warning] length.function - WC_Product_Data_Store_CPT::read_product_data has 58 lines in its body, above 50 598:21 [warning] length.function - WC_Product_Data_Store_CPT::read_attributes has 53 lines in its body, above 50 735:21 [error] length.function - WC_Product_Data_Store_CPT::update_post_meta has 143 lines in its body, above 100 886:21 [warning] length.function - WC_Product_Data_Store_CPT::handle_updated_props has 92 lines in its body, above 50 1077:21 [warning] length.function - WC_Product_Data_Store_CPT::update_attributes has 54 lines in its body, above 50 1532:18 [warning] length.function - WC_Product_Data_Store_CPT::find_matching_product_variation has 87 lines in its body, above 50 1631:18 [warning] length.function - WC_Product_Data_Store_CPT::create_all_product_variations has 68 lines in its body, above 50 1855:18 [warning] length.function - WC_Product_Data_Store_CPT::update_product_stock has 65 lines in its body, above 50 2060:18 [error] length.function - WC_Product_Data_Store_CPT::search_products has 158 lines in its body, above 100 2279:21 [error] length.function - WC_Product_Data_Store_CPT::get_wp_query_args has 254 lines in its body, above 100 27:7 [error] length.class - WC_Product_Data_Store_CPT has 2642 lines, above 1000 for a other 1:1 [error] length.file - the file has 2668 lines, above 1200 for a other CyclomaticComplexity: 76 (C), based on 53 functions and file level code 735:21 [error] complexity.function - WC_Product_Data_Store_CPT::update_post_meta has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely 886:21 [warning] complexity.function - WC_Product_Data_Store_CPT::handle_updated_props has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 998:21 [warning] complexity.function - WC_Product_Data_Store_CPT::update_terms has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1077:21 [warning] complexity.function - WC_Product_Data_Store_CPT::update_attributes has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1532:18 [warning] complexity.function - WC_Product_Data_Store_CPT::find_matching_product_variation has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1631:18 [warning] complexity.function - WC_Product_Data_Store_CPT::create_all_product_variations has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 2060:18 [error] complexity.function - WC_Product_Data_Store_CPT::search_products has a cyclomatic complexity of 30, high risk (above 10): each of its 30 paths needs its own test, which makes it hard to follow and to change safely 2279:21 [error] complexity.function - WC_Product_Data_Store_CPT::get_wp_query_args has a cyclomatic complexity of 40, high risk (above 10): each of its 40 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1545 code lines 740:1 [warning] duplication.repeated_block - lines 740 to 760 repeat lines 455 to 475 (155 tokens); repeated code has to be fixed in every copy 760:1 [warning] duplication.repeated_block - lines 760 to 768 repeat lines 474 to 482 (66 tokens); repeated code has to be fixed in every copy 2473:1 [warning] duplication.repeated_block - lines 2473 to 2481 repeat lines 2465 to 2473 (55 tokens); repeated code has to be fixed in every copy 2481:1 [warning] duplication.repeated_block - lines 2481 to 2489 repeat lines 2465 to 2473 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 211 names 127:19 [warning] naming.too_long - method `obtain_lock_on_sku_for_concurrent_requests` is 42 characters (limit 30); very long names make code hard to read 1413:18 [warning] naming.too_long - method `get_product_id_by_global_unique_id` is 34 characters (limit 30); very long names make code hard to read 1532:18 [warning] naming.too_long - method `find_matching_product_variation` is 31 characters (limit 30); very long names make code hard to read 1577:29 [warning] naming.too_short - variable `m` is 1 character (at least 2); a one letter name hides its meaning 2624:21 [warning] naming.too_long - method `get_primary_key_for_lookup_table` is 32 characters (limit 30); very long names make code hard to read Security: not graded 1257:17 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$outofstock_join`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 2178:28 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$parent_id_select`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable`) woocommerce/includes/data-stores/class-wc-product-grouped-data-store-cpt.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 54 code lines NamingConvention: 95 (A), based on 19 names 17:7 [warning] naming.too_long - class `WC_Product_Grouped_Data_Store_CPT` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/data-stores/class-wc-product-variable-data-store-cpt.php (other) CodeLength: not graded 38:21 [warning] length.function - WC_Product_Variable_Data_Store_CPT::read_attributes has 87 lines in its body, above 50 171:18 [warning] length.function - WC_Product_Variable_Data_Store_CPT::read_children has 67 lines in its body, above 50 246:18 [warning] length.function - WC_Product_Variable_Data_Store_CPT::read_variation_attributes has 75 lines in its body, above 50 334:18 [error] length.function - WC_Product_Variable_Data_Store_CPT::read_price_data has 277 lines in its body, above 100 661:21 [warning] length.function - WC_Product_Variable_Data_Store_CPT::get_price_hash has 76 lines in its body, above 50 875:18 [warning] length.function - WC_Product_Variable_Data_Store_CPT::sync_managed_variation_stock_status has 52 lines in its body, above 50 1010:18 [warning] length.function - WC_Product_Variable_Data_Store_CPT::delete_variations has 55 lines in its body, above 50 1136:21 [warning] length.function - WC_Product_Variable_Data_Store_CPT::validate_prices_data has 57 lines in its body, above 50 24:7 [error] length.class - WC_Product_Variable_Data_Store_CPT has 1170 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1193 lines, above 600 for a other CyclomaticComplexity: 72 (C), based on 19 functions and file level code 38:21 [warning] complexity.function - WC_Product_Variable_Data_Store_CPT::read_attributes has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 171:18 [warning] complexity.function - WC_Product_Variable_Data_Store_CPT::read_children has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 246:18 [warning] complexity.function - WC_Product_Variable_Data_Store_CPT::read_variation_attributes has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 334:18 [error] complexity.function - WC_Product_Variable_Data_Store_CPT::read_price_data has a cyclomatic complexity of 37, high risk (above 10): each of its 37 paths needs its own test, which makes it hard to follow and to change safely 1136:21 [warning] complexity.function - WC_Product_Variable_Data_Store_CPT::validate_prices_data has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 635 code lines 599:1 [warning] duplication.repeated_block - lines 599 to 606 repeat lines 589 to 596 (59 tokens); repeated code has to be fixed in every copy 762:1 [warning] duplication.repeated_block - lines 762 to 783 repeat lines 735 to 756 (76 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 108 names 24:7 [warning] naming.too_long - class `WC_Product_Variable_Data_Store_CPT` is 34 characters (limit 30); very long names make code hard to read 875:18 [warning] naming.too_long - method `sync_managed_variation_stock_status` is 35 characters (limit 30); very long names make code hard to read Security: not graded 69:15 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$products_to_migrate`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 270:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$children_placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 754:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 781:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 885:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare, WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber`) 896:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare, WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber`) 944:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) woocommerce/includes/data-stores/class-wc-product-variation-data-store-cpt.php (other) CodeLength: not graded 49:18 [warning] length.function - WC_Product_Variation_Data_Store_CPT::read has 60 lines in its body, above 50 116:18 [warning] length.function - WC_Product_Variation_Data_Store_CPT::create has 61 lines in its body, above 50 184:18 [warning] length.function - WC_Product_Variation_Data_Store_CPT::update has 97 lines in its body, above 50 410:21 [error] length.function - WC_Product_Variation_Data_Store_CPT::read_product_data has 125 lines in its body, above 100 22:7 [warning] length.class - WC_Product_Variation_Data_Store_CPT has 690 lines, above 500 for a other 1:1 [warning] length.file - the file has 711 lines, above 600 for a other CyclomaticComplexity: 88 (B), based on 16 functions and file level code 184:18 [warning] complexity.function - WC_Product_Variation_Data_Store_CPT::update has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 410:21 [warning] complexity.function - WC_Product_Variation_Data_Store_CPT::read_product_data has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 398 code lines 187:1 [warning] duplication.repeated_block - lines 187 to 195 repeat lines 117 to 125 (51 tokens); repeated code has to be fixed in every copy 228:1 [warning] duplication.repeated_block - lines 228 to 231 repeat lines 148 to 151 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 62 names 22:7 [warning] naming.too_long - class `WC_Product_Variation_Data_Store_CPT` is 35 characters (limit 30); very long names make code hard to read 332:18 [warning] naming.too_long - method `should_include_attributes_in_title` is 34 characters (limit 30); very long names make code hard to read Security: not graded 623:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( "','", array_map( 'esc_sql', $updated_attribute_keys ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQLPlaceholders.QuotedDynamicPlaceholderGeneration`) woocommerce/includes/data-stores/class-wc-shipping-zone-data-store.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions and file level code Duplication: 85 (B), based on 245 code lines 144:1 [warning] duplication.repeated_block - lines 144 to 163 repeat lines 119 to 139 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 51 names Security: not graded 138:17 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `implode( ',', $zone_ids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared` -- $zone_ids already run through absint.) 162:17 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `implode( ',', $zone_ids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared` -- $zone_ids already run through absint.) 344:17 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( ' ', $criteria )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/data-stores/class-wc-webhook-data-store.php (other) CodeLength: not graded 116:18 [warning] length.function - WC_Webhook_Data_Store::update has 52 lines in its body, above 50 238:18 [error] length.function - WC_Webhook_Data_Store::search_webhooks has 141 lines in its body, above 100 CyclomaticComplexity: 72 (C), based on 12 functions and file level code 238:18 [error] complexity.function - WC_Webhook_Data_Store::search_webhooks has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 303 code lines 128:1 [warning] duplication.repeated_block - lines 128 to 138 repeat lines 39 to 49 (86 tokens); repeated code has to be fixed in every copy 139:1 [warning] duplication.repeated_block - lines 139 to 145 repeat lines 50 to 56 (52 tokens); repeated code has to be fixed in every copy 359:1 [warning] duplication.repeated_block - lines 359 to 372 repeat lines 335 to 348 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 48 names 42:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/emails/class-wc-email-admin-payment-gateway-enabled.php (other) CodeLength: not graded 328:19 [warning] length.function - WC_Email_Admin_Payment_Gateway_Enabled::init_form_fields has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 40 (F), based on 202 code lines 216:1 [warning] duplication.repeated_block - lines 216 to 237 repeat lines 192 to 213 (87 tokens); repeated code has to be fixed in every copy 237:1 [warning] duplication.repeated_block - lines 237 to 258 repeat lines 213 to 234 (67 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 31 names 25:8 [warning] naming.too_long - class `WC_Email_Admin_Payment_Gateway_Enabled` is 38 characters (limit 30); very long names make code hard to read 249:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-cancelled-order.php (other) CodeLength: not graded 180:19 [warning] length.function - WC_Email_Cancelled_Order::init_form_fields has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 154 code lines 128:1 [warning] duplication.repeated_block - lines 128 to 144 repeat lines 109 to 125 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 12 names 155:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-cancelled-order.php (other) CodeLength: not graded 178:19 [warning] length.function - WC_Email_Customer_Cancelled_Order::init_form_fields has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 146 code lines 126:1 [warning] duplication.repeated_block - lines 126 to 142 repeat lines 107 to 123 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 83 (B), based on 12 names 26:8 [warning] naming.too_long - class `WC_Email_Customer_Cancelled_Order` is 33 characters (limit 30); very long names make code hard to read 153:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-completed-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 84 code lines 123:1 [warning] duplication.repeated_block - lines 123 to 139 repeat lines 104 to 120 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 9 names 24:8 [warning] naming.too_long - class `WC_Email_Customer_Completed_Order` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-failed-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 82 code lines 119:1 [warning] duplication.repeated_block - lines 119 to 136 repeat lines 99 to 116 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/emails/class-wc-email-customer-fulfillment-created.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 40 (F), based on 140 code lines 152:1 [warning] duplication.repeated_block - lines 152 to 170 repeat lines 131 to 149 (73 tokens); repeated code has to be fixed in every copy 170:1 [warning] duplication.repeated_block - lines 170 to 188 repeat lines 149 to 167 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 83 (B), based on 18 names 26:8 [warning] naming.too_long - class `WC_Email_Customer_Fulfillment_Created` is 37 characters (limit 30); very long names make code hard to read 181:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read 214:20 [warning] naming.too_long - method `maybe_init_fulfillment_for_preview` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-fulfillment-deleted.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 0 (F), based on 110 code lines 125:1 [warning] duplication.repeated_block - lines 125 to 143 repeat lines 104 to 122 (73 tokens); repeated code has to be fixed in every copy 143:1 [warning] duplication.repeated_block - lines 143 to 161 repeat lines 122 to 140 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 80 (B), based on 15 names 26:8 [warning] naming.too_long - class `WC_Email_Customer_Fulfillment_Deleted` is 37 characters (limit 30); very long names make code hard to read 154:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read 187:20 [warning] naming.too_long - method `maybe_init_fulfillment_for_preview` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-fulfillment-updated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 40 (F), based on 128 code lines 135:1 [warning] duplication.repeated_block - lines 135 to 154 repeat lines 113 to 132 (81 tokens); repeated code has to be fixed in every copy 154:1 [warning] duplication.repeated_block - lines 154 to 172 repeat lines 132 to 150 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 83 (B), based on 18 names 26:8 [warning] naming.too_long - class `WC_Email_Customer_Fulfillment_Updated` is 37 characters (limit 30); very long names make code hard to read 165:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read 199:20 [warning] naming.too_long - method `maybe_init_fulfillment_for_preview` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-invoice.php (other) CodeLength: not graded 203:19 [warning] length.function - WC_Email_Customer_Invoice::init_form_fields has 63 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 70 (C), based on 164 code lines 178:1 [warning] duplication.repeated_block - lines 178 to 194 repeat lines 159 to 175 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/includes/emails/class-wc-email-customer-new-account.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 0 (F), based on 113 code lines 158:1 [warning] duplication.repeated_block - lines 158 to 177 repeat lines 134 to 153 (82 tokens); repeated code has to be fixed in every copy 195:1 [warning] duplication.repeated_block - lines 195 to 213 repeat lines 150 to 167 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 21 names 190:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-note.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 40 (F), based on 106 code lines 140:1 [warning] duplication.repeated_block - lines 140 to 157 repeat lines 120 to 137 (64 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 13 names 180:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-on-hold-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 88 code lines 127:1 [warning] duplication.repeated_block - lines 127 to 143 repeat lines 108 to 124 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 9 names 24:8 [warning] naming.too_long - class `WC_Email_Customer_On_Hold_Order` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-order-withdrawal-requested.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 78 code lines 140:1 [warning] duplication.repeated_block - lines 140 to 157 repeat lines 120 to 137 (74 tokens); repeated code has to be fixed in every copy NamingConvention: 85 (B), based on 13 names 21:8 [warning] naming.too_long - class `WC_Email_Customer_Order_Withdrawal_Requested` is 44 characters (limit 30); very long names make code hard to read 98:35 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/emails/class-wc-email-customer-partially-refunded-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 44 code lines NamingConvention: 67 (D), based on 6 names 36:8 [warning] naming.too_long - class `WC_Email_Customer_Partially_Refunded_Order` is 42 characters (limit 30); very long names make code hard to read 60:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-pos-completed-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 26 functions and file level code Duplication: 85 (B), based on 296 code lines 155:1 [warning] duplication.repeated_block - lines 155 to 168 repeat lines 126 to 139 (100 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 45 names 30:8 [warning] naming.too_long - class `WC_Email_Customer_POS_Completed_Order` is 37 characters (limit 30); very long names make code hard to read 181:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read 216:20 [warning] naming.too_long - method `enable_order_email_actions_for_pos_orders` is 41 characters (limit 30); very long names make code hard to read 352:6 [warning] naming.too_long - variable `formatted_cash_payment_change_due_amount` is 40 characters (limit 30); very long names make code hard to read 383:20 [warning] naming.too_long - method `enable_email_template_for_pos_orders` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-pos-refunded-order.php (other) CodeLength: not graded 317:19 [warning] length.function - WC_Email_Customer_POS_Refunded_Order::init_form_fields has 63 lines in its body, above 50 30:8 [warning] length.class - WC_Email_Customer_POS_Refunded_Order has 610 lines, above 500 for a other 1:1 [warning] length.file - the file has 643 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 29 functions and file level code Duplication: 85 (B), based on 353 code lines 270:1 [warning] duplication.repeated_block - lines 270 to 286 repeat lines 238 to 254 (126 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 54 names 30:8 [warning] naming.too_long - class `WC_Email_Customer_POS_Refunded_Order` is 36 characters (limit 30); very long names make code hard to read 299:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-processing-order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 83 code lines 123:1 [warning] duplication.repeated_block - lines 123 to 139 repeat lines 104 to 120 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 9 names 24:8 [warning] naming.too_long - class `WC_Email_Customer_Processing_Order` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-refunded-order.php (other) CodeLength: not graded 294:19 [warning] length.function - WC_Email_Customer_Refunded_Order::init_form_fields has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 40 (F), based on 213 code lines 235:1 [warning] duplication.repeated_block - lines 235 to 254 repeat lines 213 to 232 (82 tokens); repeated code has to be fixed in every copy 254:1 [warning] duplication.repeated_block - lines 254 to 272 repeat lines 232 to 250 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 23 names 27:8 [warning] naming.too_long - class `WC_Email_Customer_Refunded_Order` is 32 characters (limit 30); very long names make code hard to read 265:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-reset-password.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 40 (F), based on 110 code lines 165:1 [warning] duplication.repeated_block - lines 165 to 185 repeat lines 142 to 162 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 17 names 24:8 [warning] naming.too_long - class `WC_Email_Customer_Reset_Password` is 32 characters (limit 30); very long names make code hard to read 197:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-customer-review-request.php (other) CodeLength: not graded 270:19 [warning] length.function - WC_Email_Customer_Review_Request::init_form_fields has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 70 (C), based on 172 code lines 241:1 [warning] duplication.repeated_block - lines 241 to 258 repeat lines 221 to 238 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 20 names 29:8 [warning] naming.too_long - class `WC_Email_Customer_Review_Request` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-failed-order.php (other) CodeLength: not graded 179:19 [warning] length.function - WC_Email_Failed_Order::init_form_fields has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 152 code lines 124:1 [warning] duplication.repeated_block - lines 124 to 140 repeat lines 105 to 121 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 12 names 152:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-new-order.php (other) CodeLength: not graded 208:19 [warning] length.function - WC_Email_New_Order::init_form_fields has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 70 (C), based on 186 code lines 152:1 [warning] duplication.repeated_block - lines 152 to 168 repeat lines 133 to 149 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 17 names 180:19 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/emails/class-wc-email-order-withdrawal-requested.php (other) CodeLength: not graded 238:19 [warning] length.function - WC_Email_Order_Withdrawal_Requested::init_form_fields has 64 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 168 code lines 209:1 [warning] duplication.repeated_block - lines 209 to 229 repeat lines 186 to 206 (99 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 27 names 22:8 [warning] naming.too_long - class `WC_Email_Order_Withdrawal_Requested` is 35 characters (limit 30); very long names make code hard to read 124:35 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/emails/class-wc-email.php (other) CodeLength: not graded 946:19 [warning] length.function - WC_Email::apply_inline_style has 55 lines in its body, above 50 1301:18 [warning] length.function - WC_Email::init_form_fields has 53 lines in its body, above 50 1608:18 [error] length.function - WC_Email::admin_options has 175 lines in its body, above 100 34:7 [error] length.class - WC_Email has 1838 lines, above 1000 for a other 1:1 [error] length.file - the file has 1871 lines, above 1200 for a other CyclomaticComplexity: 94 (A), based on 63 functions and file level code 710:18 [warning] complexity.function - WC_Email::get_headers has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1575:21 [warning] complexity.function - WC_Email::admin_actions has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1608:18 [warning] complexity.function - WC_Email::admin_options has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 758 code lines 698:1 [warning] duplication.repeated_block - lines 698 to 711 repeat lines 676 to 698 (88 tokens); repeated code has to be fixed in every copy 1221:1 [warning] duplication.repeated_block - lines 1221 to 1242 repeat lines 1180 to 1206 (68 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 180 names 783:18 [warning] naming.too_long - method `get_block_editor_email_template_content` is 39 characters (limit 30); very long names make code hard to read 1472:6 [warning] naming.too_short - variable `f` is 1 character (at least 2); a one letter name hides its meaning 1846:18 [warning] naming.too_long - method `prevent_lazy_loading_on_attachment` is 34 characters (limit 30); very long names make code hard to read Security: not graded 1614:9 [info] security.unescaped_output - echo of `wpautop( wp_kses_post( $this->get_description() ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- wp_kses_post() sanitizes the description before wpautop() formats it.) woocommerce/includes/export/abstract-wc-csv-batch-exporter.php (other) CodeLength: not graded 129:21 [warning] length.function - WC_CSV_Batch_Exporter::write_csv_data has 72 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 106 code lines NamingConvention: 96 (A), based on 24 names 129:38 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/export/abstract-wc-csv-exporter.php (other) CodeLength: not graded CyclomaticComplexity: 95 (A), based on 25 functions and file level code 428:18 [warning] complexity.function - WC_CSV_Exporter::format_term_ids has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 204 code lines NamingConvention: 98 (A), based on 63 names 287:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 233:3 [info] security.unescaped_output - echo of `$csv_data` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/export/class-wc-product-csv-exporter.php (other) CodeLength: not graded 124:18 [warning] length.function - WC_Product_CSV_Exporter::get_default_column_names has 60 lines in its body, above 50 190:18 [warning] length.function - WC_Product_CSV_Exporter::prepare_data_to_export has 78 lines in its body, above 50 696:21 [warning] length.function - WC_Product_CSV_Exporter::prepare_attributes_for_export has 68 lines in its body, above 50 29:7 [warning] length.class - WC_Product_CSV_Exporter has 774 lines, above 500 for a other 1:1 [warning] length.file - the file has 802 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 31 functions and file level code 190:18 [warning] complexity.function - WC_Product_CSV_Exporter::prepare_data_to_export has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 696:21 [warning] complexity.function - WC_Product_CSV_Exporter::prepare_attributes_for_export has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 394 code lines NamingConvention: 92 (A), based on 91 names 407:21 [warning] naming.too_long - method `get_column_value_shipping_class_id` is 34 characters (limit 30); very long names make code hard to read 443:21 [warning] naming.too_long - method `prepare_linked_products_for_export` is 34 characters (limit 30); very long names make code hard to read 465:21 [warning] naming.too_long - method `get_column_value_cross_sell_ids` is 31 characters (limit 30); very long names make code hard to read 509:21 [warning] naming.too_long - method `get_column_value_grouped_products` is 33 characters (limit 30); very long names make code hard to read 535:21 [warning] naming.too_long - method `get_column_value_download_limit` is 31 characters (limit 30); very long names make code hard to read 547:21 [warning] naming.too_long - method `get_column_value_download_expiry` is 32 characters (limit 30); very long names make code hard to read 617:21 [warning] naming.too_long - method `get_column_value_low_stock_amount` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/bacs/class-wc-gateway-bacs.php (other) CodeLength: not graded 143:18 [warning] length.function - WC_Gateway_BACS::generate_account_details_html has 84 lines in its body, above 50 312:19 [warning] length.function - WC_Gateway_BACS::bank_details has 74 lines in its body, above 50 430:18 [warning] length.function - WC_Gateway_BACS::get_country_locale has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 289 code lines 322:1 [warning] duplication.repeated_block - lines 322 to 326 repeat lines 147 to 151 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 44 names Security: not graded woocommerce/includes/gateways/cheque/class-wc-gateway-cheque.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 99 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/includes/gateways/class-wc-payment-gateway-cc.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 9 names Security: not graded 89:5 [info] security.unescaped_output - echo of `$field` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- The public gateway field filter intentionally returns HTML; default fields escape dynamic data.) 98:4 [info] security.unescaped_output - echo of `$cvc_field` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- $cvc_field is assembled from fixed markup and escaped dynamic values.) woocommerce/includes/gateways/class-wc-payment-gateway-echeck.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 6 names Security: not graded 65:5 [info] security.unescaped_output - echo of `$field` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- The public gateway field filter intentionally returns HTML; default fields escape dynamic data.) woocommerce/includes/gateways/cod/class-wc-gateway-cod.php (other) CodeLength: not graded 97:18 [warning] length.function - WC_Gateway_COD::init_form_fields has 51 lines in its body, above 50 CyclomaticComplexity: 95 (A), based on 12 functions and file level code 155:18 [warning] complexity.function - WC_Gateway_COD::is_available has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 219 code lines NamingConvention: 98 (A), based on 43 names 359:18 [warning] naming.too_long - method `change_payment_complete_order_status` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/class-wc-gateway-paypal-buttons.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 60 code lines NamingConvention: 89 (B), based on 9 names 138:18 [warning] naming.too_long - method `get_current_page_for_app_switch` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php (other) CodeLength: not graded 159:18 [warning] length.function - WC_Gateway_Paypal::__construct has 86 lines in its body, above 50 472:21 [warning] length.function - WC_Gateway_Paypal::get_icon_image has 64 lines in its body, above 50 734:18 [warning] length.function - WC_Gateway_Paypal::capture_payment has 52 lines in its body, above 50 48:7 [error] length.class - WC_Gateway_Paypal has 1017 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1077 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 36 functions and file level code 472:21 [error] complexity.function - WC_Gateway_Paypal::get_icon_image has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 734:18 [warning] complexity.function - WC_Gateway_Paypal::capture_payment has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 554 code lines NamingConvention: 97 (A), based on 99 names 1016:18 [warning] naming.too_long - method `is_transact_onboarding_complete` is 31 characters (limit 30); very long names make code hard to read 1025:18 [warning] naming.too_long - method `set_transact_onboarding_complete` is 32 characters (limit 30); very long names make code hard to read 1048:18 [warning] naming.too_long - method `manage_account_restriction_status` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-api-handler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 70 (C), based on 97 code lines 149:1 [warning] duplication.repeated_block - lines 149 to 160 repeat lines 116 to 127 (68 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-constants.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 0 (F), based on 34 code lines 51:1 [warning] duplication.repeated_block - lines 51 to 82 repeat lines 31 to 50 (56 tokens); repeated code has to be fixed in every copy 83:1 [warning] duplication.repeated_block - lines 83 to 115 repeat lines 31 to 67 (91 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 30 names 82:8 [warning] naming.too_long - constant `PAYPAL_ORDER_ITEM_NAME_MAX_LENGTH` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-helper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 75 (C), based on 12 names 44:25 [warning] naming.too_long - method `is_orders_v2_migration_eligible` is 31 characters (limit 30); very long names make code hard to read 56:25 [warning] naming.too_long - method `get_wc_order_from_paypal_custom_id` is 34 characters (limit 30); very long names make code hard to read 75:39 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions and file level code Duplication: 100 (A), based on 175 code lines NamingConvention: 95 (A), based on 37 names 279:21 [warning] naming.too_long - method `payment_status_paid_cancelled_order` is 35 characters (limit 30); very long names make code hard to read 334:21 [warning] naming.too_long - method `payment_status_canceled_reversal` is 32 characters (limit 30); very long names make code hard to read Security: not graded 49:26 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing` -- PayPal posts the IPN from its own servers, so no site nonce exists; the payload is only read after validate_ipn() confirms it, and each value is sanitized where it is consumed.) 88:38 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing` -- The unmodified payload must be echoed back to PayPal for verification, so no site nonce applies and the values cannot be altered here.) woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-notices.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 42 code lines NamingConvention: 69 (D), based on 13 names 61:18 [warning] naming.too_long - method `add_paypal_notices_on_payments_settings_page` is 44 characters (limit 30); very long names make code hard to read 72:18 [warning] naming.too_long - method `add_paypal_migration_notice_on_payments_settings_page` is 53 characters (limit 30); very long names make code hard to read 95:28 [warning] naming.too_long - method `paypal_migration_notice_dismissed` is 33 characters (limit 30); very long names make code hard to read 134:25 [warning] naming.too_long - method `manage_account_restriction_flag_for_notice` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php (other) CodeLength: not graded 121:18 [warning] length.function - WC_Gateway_Paypal_PDT_Handler::check_response_for_order has 71 lines in its body, above 50 CyclomaticComplexity: 83 (B), based on 5 functions and file level code 121:18 [warning] complexity.function - WC_Gateway_Paypal_PDT_Handler::check_response_for_order has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 101 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php (other) CodeLength: not graded 21:7 [warning] length.class - WC_Gateway_Paypal_Request has 670 lines, above 500 for a other 1:1 [warning] length.file - the file has 690 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 28 functions and file level code Duplication: 70 (C), based on 367 code lines 503:1 [warning] duplication.repeated_block - lines 503 to 520 repeat lines 471 to 488 (77 tokens); repeated code has to be fixed in every copy 575:1 [warning] duplication.repeated_block - lines 575 to 581 repeat lines 549 to 555 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 77 names 181:18 [warning] naming.too_long - method `get_paypal_order_purchase_unit_amount` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-response.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-transact-account-manager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 25 code lines NamingConvention: 83 (B), based on 6 names 23:13 [warning] naming.too_long - class `WC_Gateway_Paypal_Transact_Account_Manager` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-webhook-handler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 23 code lines NamingConvention: 75 (C), based on 4 names 31:7 [warning] naming.too_long - class `WC_Gateway_Paypal_Webhook_Handler` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/gateways/paypal/includes/settings-paypal.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 40 (F), based on 191 code lines 165:1 [warning] duplication.repeated_block - lines 165 to 172 repeat lines 156 to 163 (54 tokens); repeated code has to be fixed in every copy 173:1 [warning] duplication.repeated_block - lines 173 to 181 repeat lines 164 to 172 (67 tokens); repeated code has to be fixed in every copy 182:1 [warning] duplication.repeated_block - lines 182 to 190 repeat lines 155 to 163 (67 tokens); repeated code has to be fixed in every copy 191:1 [warning] duplication.repeated_block - lines 191 to 199 repeat lines 164 to 172 (67 tokens); repeated code has to be fixed in every copy 200:1 [warning] duplication.repeated_block - lines 200 to 207 repeat lines 164 to 171 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/import/abstract-wc-product-importer.php (other) CodeLength: not graded 174:21 [warning] length.function - WC_Product_Importer::get_product_object has 59 lines in its body, above 50 296:21 [warning] length.function - WC_Product_Importer::process_item has 77 lines in its body, above 50 420:21 [error] length.function - WC_Product_Importer::set_product_data has 105 lines in its body, above 100 534:21 [warning] length.function - WC_Product_Importer::set_variation_data has 67 lines in its body, above 50 654:18 [warning] length.function - WC_Product_Importer::get_attachment_id_from_url has 83 lines in its body, above 50 775:18 [warning] length.function - WC_Product_Importer::get_attribute_taxonomy_id has 54 lines in its body, above 50 27:16 [warning] length.class - WC_Product_Importer has 904 lines, above 500 for a other 1:1 [warning] length.file - the file has 930 lines, above 600 for a other CyclomaticComplexity: 85 (B), based on 26 functions and file level code 174:21 [warning] complexity.function - WC_Product_Importer::get_product_object has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 296:21 [warning] complexity.function - WC_Product_Importer::process_item has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 420:21 [warning] complexity.function - WC_Product_Importer::set_product_data has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 534:21 [warning] complexity.function - WC_Product_Importer::set_variation_data has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 489 code lines 613:1 [warning] duplication.repeated_block - lines 613 to 628 repeat lines 560 to 576 (70 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 92 names 174:42 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 261:21 [warning] naming.too_long - method `match_product_id_by_global_unique_id` is 36 characters (limit 30); very long names make code hard to read 609:21 [warning] naming.too_long - method `get_variation_parent_attributes` is 31 characters (limit 30); very long names make code hard to read 746:21 [warning] naming.too_long - method `get_attribute_taxonomy_name_from_raw_name` is 41 characters (limit 30); very long names make code hard to read 763:21 [warning] naming.too_long - method `get_existing_attribute_taxonomy_id` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/import/class-wc-product-csv-importer.php (other) CodeLength: not graded 114:21 [warning] length.function - WC_Product_CSV_Importer::read_file has 64 lines in its body, above 50 263:18 [warning] length.function - WC_Product_CSV_Importer::parse_relative_field has 62 lines in its body, above 50 850:21 [warning] length.function - WC_Product_CSV_Importer::get_formatting_callback has 86 lines in its body, above 50 956:21 [error] length.function - WC_Product_CSV_Importer::expand_data has 190 lines in its body, above 100 1304:21 [warning] length.function - WC_Product_CSV_Importer::validate_new_variation_attributes has 69 lines in its body, above 50 1383:18 [error] length.function - WC_Product_CSV_Importer::import has 139 lines in its body, above 100 34:7 [error] length.class - WC_Product_CSV_Importer has 1489 lines, above 1000 for a other 1:1 [error] length.file - the file has 1522 lines, above 1200 for a other CyclomaticComplexity: 77 (C), based on 38 functions and file level code 114:21 [warning] complexity.function - WC_Product_CSV_Importer::read_file has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 956:21 [error] complexity.function - WC_Product_CSV_Importer::expand_data has a cyclomatic complexity of 45, high risk (above 10): each of its 45 paths needs its own test, which makes it hard to follow and to change safely 1304:21 [warning] complexity.function - WC_Product_CSV_Importer::validate_new_variation_attributes has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1383:18 [error] complexity.function - WC_Product_CSV_Importer::import has a cyclomatic complexity of 39, high risk (above 10): each of its 39 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 852 code lines 590:1 [warning] duplication.repeated_block - lines 590 to 617 repeat lines 559 to 586 (95 tokens); repeated code has to be fixed in every copy 797:1 [warning] duplication.repeated_block - lines 797 to 816 repeat lines 467 to 485 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 123 names 956:35 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 1304:21 [warning] naming.too_long - method `validate_new_variation_attributes` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-database-service.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 85 code lines NamingConvention: 90 (A), based on 20 names 16:7 [warning] naming.too_long - class `WC_Integration_MaxMind_Database_Service` is 39 characters (limit 30); very long names make code hard to read 159:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/integrations/maxmind-geolocation/class-wc-integration-maxmind-geolocation.php (other) CodeLength: not graded 32:18 [warning] length.function - WC_Integration_MaxMind_Geolocation::__construct has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 141 code lines NamingConvention: 83 (B), based on 24 names 20:7 [warning] naming.too_long - class `WC_Integration_MaxMind_Geolocation` is 34 characters (limit 30); very long names make code hard to read 219:36 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 257:19 [warning] naming.too_long - method `remove_missing_license_key_notice` is 33 characters (limit 30); very long names make code hard to read 270:18 [warning] naming.too_long - method `display_missing_license_key_notice` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/integrations/maxmind-geolocation/views/html-admin-options.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded woocommerce/includes/interfaces/class-wc-abstract-order-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 88 (B), based on 8 names 16:11 [warning] naming.too_long - interface `WC_Abstract_Order_Data_Store_Interface` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-coupon-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/interfaces/class-wc-customer-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 80 (B), based on 5 names 16:11 [warning] naming.too_long - interface `WC_Customer_Data_Store_Interface` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-customer-download-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 94 (A), based on 16 names 14:11 [warning] naming.too_long - interface `WC_Customer_Download_Data_Store_Interface` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-customer-download-log-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 60 (D), based on 5 names 14:11 [warning] naming.too_long - interface `WC_Customer_Download_Log_Data_Store_Interface` is 45 characters (limit 30); very long names make code hard to read 30:18 [warning] naming.too_long - method `get_download_logs_for_permission` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-importer-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/interfaces/class-wc-log-handler-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/interfaces/class-wc-logger-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 0 (F), based on 12 code lines 90:1 [warning] duplication.repeated_block - lines 90 to 134 repeat lines 47 to 90 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/includes/interfaces/class-wc-object-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 92 (A), based on 12 names 20:28 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/interfaces/class-wc-order-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 17 code lines NamingConvention: 83 (B), based on 24 names 88:18 [warning] naming.too_long - method `get_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 96:18 [warning] naming.too_long - method `set_download_permissions_granted` is 32 characters (limit 30); very long names make code hard to read 120:18 [warning] naming.too_long - method `get_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read 128:18 [warning] naming.too_long - method `set_recorded_coupon_usage_counts` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-order-item-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 11 code lines NamingConvention: 95 (A), based on 20 names 16:11 [warning] naming.too_long - interface `WC_Order_Item_Data_Store_Interface` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-order-item-product-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 3 code lines NamingConvention: 75 (C), based on 4 names 16:11 [warning] naming.too_long - interface `WC_Order_Item_Product_Data_Store_Interface` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-order-item-type-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 3 code lines NamingConvention: 67 (D), based on 3 names 16:11 [warning] naming.too_long - interface `WC_Order_Item_Type_Data_Store_Interface` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-order-refund-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 0 (F), based on 1 name 16:11 [warning] naming.too_long - interface `WC_Order_Refund_Data_Store_Interface` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-payment-token-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 8 code lines NamingConvention: 91 (A), based on 11 names 16:11 [warning] naming.too_long - interface `WC_Payment_Token_Data_Store_Interface` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-product-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 16 code lines NamingConvention: 93 (A), based on 30 names 16:11 [warning] naming.too_long - interface `WC_Product_Data_Store_Interface` is 31 characters (limit 30); very long names make code hard to read 82:18 [warning] naming.too_long - method `find_matching_product_variation` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-product-variable-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 86 (B), based on 14 names 16:11 [warning] naming.too_long - interface `WC_Product_Variable_Data_Store_Interface` is 40 characters (limit 30); very long names make code hard to read 56:18 [warning] naming.too_long - method `sync_managed_variation_stock_status` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-queue-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/includes/interfaces/class-wc-shipping-zone-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 94 (A), based on 16 names 16:11 [warning] naming.too_long - interface `WC_Shipping_Zone_Data_Store_Interface` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/interfaces/class-wc-webhooks-data-store-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 80 (B), based on 5 names 12:11 [warning] naming.too_long - interface `WC_Webhook_Data_Store_Interface` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/legacy/abstract-wc-legacy-order.php (other) CodeLength: not graded 411:18 [warning] length.function - WC_Abstract_Legacy_Order::__get has 53 lines in its body, above 50 21:16 [warning] length.class - WC_Abstract_Legacy_Order has 740 lines, above 500 for a other 1:1 [warning] length.file - the file has 760 lines, above 600 for a other CyclomaticComplexity: 90 (A), based on 35 functions and file level code 140:18 [warning] complexity.function - WC_Abstract_Legacy_Order::update_product has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 411:18 [error] complexity.function - WC_Abstract_Legacy_Order::__get has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 434 code lines 301:1 [warning] duplication.repeated_block - lines 301 to 312 repeat lines 270 to 281 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 71 names Security: not graded 516:4 [warning] security.unescaped_output - echo of `$links` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/legacy/abstract-wc-legacy-payment-token.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/legacy/abstract-wc-legacy-product.php (other) CodeLength: not graded 69:18 [warning] length.function - WC_Abstract_Legacy_Product::__get has 90 lines in its body, above 50 21:16 [warning] length.class - WC_Abstract_Legacy_Product has 680 lines, above 500 for a other 1:1 [warning] length.file - the file has 700 lines, above 600 for a other CyclomaticComplexity: 79 (C), based on 41 functions and file level code 69:18 [error] complexity.function - WC_Abstract_Legacy_Product::__get has a cyclomatic complexity of 43, high risk (above 10): each of its 43 paths needs its own test, which makes it hard to follow and to change safely 579:25 [warning] complexity.function - WC_Abstract_Legacy_Product::sync_attributes has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 344 code lines NamingConvention: 97 (A), based on 79 names 166:18 [warning] naming.too_long - method `get_variation_default_attributes` is 32 characters (limit 30); very long names make code hard to read 549:18 [warning] naming.too_long - method `get_formatted_variation_attributes` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/legacy/class-wc-legacy-cart.php (other) CodeLength: not graded 109:19 [error] length.function - WC_Legacy_Cart::__get has 101 lines in its body, above 100 217:18 [warning] length.function - WC_Legacy_Cart::__set has 54 lines in its body, above 50 CyclomaticComplexity: 67 (D), based on 24 functions and file level code 109:19 [error] complexity.function - WC_Legacy_Cart::__get has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely 217:18 [warning] complexity.function - WC_Legacy_Cart::__set has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 272 code lines NamingConvention: 97 (A), based on 35 names 435:18 [warning] naming.too_long - method `apply_product_discounts_after_tax` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/legacy/class-wc-legacy-coupon.php (other) CodeLength: not graded 60:18 [warning] length.function - WC_Legacy_Coupon::__get has 78 lines in its body, above 50 CyclomaticComplexity: 61 (D), based on 8 functions and file level code 60:18 [error] complexity.function - WC_Legacy_Coupon::__get has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 138 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/includes/legacy/class-wc-legacy-customer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 25 functions and file level code Duplication: 100 (A), based on 139 code lines NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/includes/legacy/class-wc-legacy-shipping-zone.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/legacy/class-wc-legacy-webhook.php (other) CodeLength: not graded CyclomaticComplexity: 83 (B), based on 4 functions and file level code 57:18 [warning] complexity.function - WC_Legacy_Webhook::__get has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/libraries/class-wc-eval-math.php (other) CodeLength: not graded 112:27 [error] length.function - WC_Eval_Math::nfx has 133 lines in its body, above 100 254:27 [warning] length.function - WC_Eval_Math::pfx has 57 lines in its body, above 50 CyclomaticComplexity: 57 (F), based on 8 functions and file level code 58:26 [warning] complexity.function - WC_Eval_Math::evaluate has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 112:27 [error] complexity.function - WC_Eval_Math::nfx has a cyclomatic complexity of 46, high risk (above 10): each of its 46 paths needs its own test, which makes it hard to follow and to change safely 254:27 [warning] complexity.function - WC_Eval_Math::pfx has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 264 code lines NamingConvention: 89 (B), based on 47 names 29:18 [warning] naming.too_short - property `v` is 1 character (at least 2); a one letter name hides its meaning 36:18 [warning] naming.too_short - property `f` is 1 character (at least 2); a one letter name hides its meaning 70:13 [warning] naming.generic - variable `tmp` is a generic name; it says nothing about what it holds 203:7 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 339:5 [warning] naming.inconsistent_style - variable `debugTrace` is camelCase, while most variables and parameters in this file are snake_case (5 of 30 names); mixed styles make code harder to scan Security: not graded 347:4 [warning] security.unescaped_output - echo of `$file` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/includes/libraries/wp-async-request.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 55 code lines NamingConvention: 93 (A), based on 15 names 70:25 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 131:19 [warning] security.unsanitized_input - read of `$_COOKIE` with no sanitizer around it; sanitize request input where you read it woocommerce/includes/libraries/wp-background-process.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 23 functions and file level code Duplication: 100 (A), based on 211 code lines NamingConvention: 98 (A), based on 51 names 86:34 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 198:35 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection 273:35 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection woocommerce/includes/log-handlers/class-wc-log-handler-db.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 106 code lines NamingConvention: 96 (A), based on 23 names 206:24 [warning] naming.too_short - variable `t` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 144:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_in`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/log-handlers/class-wc-log-handler-email.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 93 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/includes/log-handlers/class-wc-log-handler-file.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 19 functions and file level code Duplication: 100 (A), based on 214 code lines NamingConvention: 100 (A), based on 53 names Security: not graded woocommerce/includes/payment-tokens/class-wc-payment-token-cc.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/includes/payment-tokens/class-wc-payment-token-echeck.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/includes/product-usage/class-wc-product-usage-rule-set.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/product-usage/class-wc-product-usage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 41 code lines NamingConvention: 89 (B), based on 9 names 77:26 [warning] naming.too_long - method `get_product_usage_restriction_rule` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/queue/class-wc-action-queue.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/includes/queue/class-wc-queue.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/react-admin/class-experimental-abtest.php (other) CodeLength: not graded 197:21 [warning] length.function - Experimental_Abtest::fetch_variation has 61 lines in its body, above 50 CyclomaticComplexity: 86 (B), based on 5 functions 197:21 [warning] complexity.function - Experimental_Abtest::fetch_variation has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 99 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/includes/react-admin/connect-existing-pages.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 236 code lines NamingConvention: 89 (B), based on 18 names 16:10 [warning] naming.too_long - function `wc_admin_get_core_pages_to_connect` is 34 characters (limit 30); very long names make code hard to read 58:10 [warning] naming.too_long - function `wc_admin_filter_core_page_breadcrumbs` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/react-admin/core-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/react-admin/emails/html-admin-report-export-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 9 code lines NamingConvention: not graded Security: not graded woocommerce/includes/react-admin/emails/plain-admin-report-export-download.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 13 code lines NamingConvention: not graded Security: not graded woocommerce/includes/react-admin/feature-config.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/react-admin/page-controller-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/includes/react-admin/wc-admin-update-functions.php (other) CodeLength: not graded 112:10 [warning] length.function - wc_admin_update_270_delete_report_downloads has 81 lines in its body, above 50 CyclomaticComplexity: 89 (B), based on 20 functions 112:10 [warning] complexity.function - wc_admin_update_270_delete_report_downloads has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 164 code lines NamingConvention: 62 (D), based on 47 names 21:10 [warning] naming.too_long - function `wc_admin_update_0201_order_status_index` is 39 characters (limit 30); very long names make code hard to read 47:10 [warning] naming.too_long - function `wc_admin_update_0230_rename_gross_total` is 39 characters (limit 30); very long names make code hard to read 59:10 [warning] naming.too_long - function `wc_admin_update_0251_remove_unsnooze_action` is 43 characters (limit 30); very long names make code hard to read 67:10 [warning] naming.too_long - function `wc_admin_update_110_remove_facebook_note` is 40 characters (limit 30); very long names make code hard to read 74:10 [warning] naming.too_long - function `wc_admin_update_130_remove_dismiss_action_from_tracking_opt_in_note` is 67 characters (limit 30); very long names make code hard to read 98:10 [warning] naming.too_long - function `wc_admin_update_160_remove_facebook_note` is 40 characters (limit 30); very long names make code hard to read 105:10 [warning] naming.too_long - function `wc_admin_update_170_homescreen_layout` is 37 characters (limit 30); very long names make code hard to read 112:10 [warning] naming.too_long - function `wc_admin_update_270_delete_report_downloads` is 43 characters (limit 30); very long names make code hard to read 197:10 [warning] naming.too_long - function `wc_admin_update_271_update_task_list_options` is 44 characters (limit 30); very long names make code hard to read 216:10 [warning] naming.too_long - function `wc_admin_update_280_order_status` is 32 characters (limit 30); very long names make code hard to read 231:10 [warning] naming.too_long - function `wc_admin_update_290_update_apperance_task_option` is 48 characters (limit 30); very long names make code hard to read 245:10 [warning] naming.too_long - function `wc_admin_update_290_delete_default_homepage_layout_option` is 57 characters (limit 30); very long names make code hard to read 252:10 [warning] naming.too_long - function `wc_admin_update_300_update_is_read_from_last_read` is 49 characters (limit 30); very long names make code hard to read 277:10 [warning] naming.too_long - function `wc_admin_update_340_remove_is_primary_from_note_action` is 54 characters (limit 30); very long names make code hard to read 285:10 [warning] naming.too_long - function `wc_update_670_delete_deprecated_remote_inbox_notifications_option` is 65 characters (limit 30); very long names make code hard to read 292:10 [warning] naming.too_long - function `wc_update_1040_add_idx_date_paid_status_parent` is 46 characters (limit 30); very long names make code hard to read 304:10 [warning] naming.too_long - function `wc_update_1050_add_idx_user_email` is 33 characters (limit 30); very long names make code hard to read 326:10 [warning] naming.too_long - function `wc_update_11201_migrate_tax_lookup_order_items` is 46 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Telemetry/class-wc-rest-telemetry-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 102 code lines NamingConvention: 94 (A), based on 16 names 78:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-coupons-v1-controller.php (other) CodeLength: not graded 58:18 [warning] length.function - WC_REST_Coupons_V1_Controller::register_routes has 69 lines in its body, above 50 152:18 [warning] length.function - WC_REST_Coupons_V1_Controller::prepare_item_for_response has 71 lines in its body, above 50 239:21 [warning] length.function - WC_REST_Coupons_V1_Controller::prepare_item_for_database has 64 lines in its body, above 50 411:18 [error] length.function - WC_REST_Coupons_V1_Controller::get_item_schema has 154 lines in its body, above 100 25:7 [warning] length.class - WC_REST_Coupons_V1_Controller has 559 lines, above 500 for a other CyclomaticComplexity: 96 (A), based on 11 functions and file level code 239:21 [warning] complexity.function - WC_REST_Coupons_V1_Controller::prepare_item_for_database has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 401 code lines 354:1 [warning] duplication.repeated_block - lines 354 to 363 repeat lines 313 to 322 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 36 names 154:4 [warning] naming.generic - variable `_data` is a generic name; it says nothing about what it holds 179:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-customer-downloads-v1-controller.php (other) CodeLength: not graded 164:18 [warning] length.function - WC_REST_Customer_Downloads_V1_Controller::get_item_schema has 79 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 155 code lines NamingConvention: 90 (A), based on 21 names 25:7 [warning] naming.too_long - class `WC_REST_Customer_Downloads_V1_Controller` is 40 characters (limit 30); very long names make code hard to read 91:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-customers-v1-controller.php (other) CodeLength: not graded 44:18 [warning] length.function - WC_REST_Customers_V1_Controller::register_routes has 92 lines in its body, above 50 343:18 [warning] length.function - WC_REST_Customers_V1_Controller::get_items has 90 lines in its body, above 50 513:18 [warning] length.function - WC_REST_Customers_V1_Controller::update_item has 60 lines in its body, above 50 580:18 [warning] length.function - WC_REST_Customers_V1_Controller::delete_item has 53 lines in its body, above 50 749:18 [error] length.function - WC_REST_Customers_V1_Controller::get_item_schema has 217 lines in its body, above 100 983:18 [warning] length.function - WC_REST_Customers_V1_Controller::get_collection_params has 65 lines in its body, above 50 25:7 [error] length.class - WC_REST_Customers_V1_Controller has 1024 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1048 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 20 functions and file level code 513:18 [warning] complexity.function - WC_REST_Customers_V1_Controller::update_item has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 693:21 [warning] complexity.function - WC_REST_Customers_V1_Controller::update_customer_meta_fields has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 730 code lines 567:1 [warning] duplication.repeated_block - lines 567 to 581 repeat lines 480 to 495 (53 tokens); repeated code has to be fixed in every copy 910:1 [warning] duplication.repeated_block - lines 910 to 958 repeat lines 847 to 895 (450 tokens); repeated code has to be fixed in every copy 998:1 [warning] duplication.repeated_block - lines 998 to 1006 repeat lines 989 to 997 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 63 names 25:7 [warning] naming.too_long - class `WC_REST_Customers_V1_Controller` is 31 characters (limit 30); very long names make code hard to read 392:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 643:4 [warning] naming.generic - variable `_data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-order-notes-v1-controller.php (other) CodeLength: not graded 49:18 [warning] length.function - WC_REST_Order_Notes_V1_Controller::register_routes has 64 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 40 (F), based on 245 code lines 85:1 [warning] duplication.repeated_block - lines 85 to 92 repeat lines 52 to 59 (52 tokens); repeated code has to be fixed in every copy 153:1 [warning] duplication.repeated_block - lines 153 to 169 repeat lines 137 to 152 (58 tokens); repeated code has to be fixed in every copy 266:1 [warning] duplication.repeated_block - lines 266 to 272 repeat lines 224 to 231 (63 tokens); repeated code has to be fixed in every copy 296:1 [warning] duplication.repeated_block - lines 296 to 305 repeat lines 221 to 231 (67 tokens); repeated code has to be fixed in every copy 305:1 [warning] duplication.repeated_block - lines 305 to 311 repeat lines 272 to 278 (65 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 34 names 23:7 [warning] naming.too_long - class `WC_REST_Order_Notes_V1_Controller` is 33 characters (limit 30); very long names make code hard to read 202:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-order-refunds-v1-controller.php (other) CodeLength: not graded 57:18 [warning] length.function - WC_REST_Order_Refunds_V1_Controller::register_routes has 57 lines in its body, above 50 123:18 [error] length.function - WC_REST_Order_Refunds_V1_Controller::prepare_item_for_response has 109 lines in its body, above 100 278:18 [warning] length.function - WC_REST_Order_Refunds_V1_Controller::create_item has 53 lines in its body, above 50 337:18 [error] length.function - WC_REST_Order_Refunds_V1_Controller::get_item_schema has 174 lines in its body, above 100 23:7 [warning] length.class - WC_REST_Order_Refunds_V1_Controller has 508 lines, above 500 for a other CyclomaticComplexity: 93 (A), based on 8 functions and file level code 123:18 [warning] complexity.function - WC_REST_Order_Refunds_V1_Controller::prepare_item_for_response has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 383 code lines 446:1 [warning] duplication.repeated_block - lines 446 to 454 repeat lines 366 to 374 (69 tokens); repeated code has to be fixed in every copy 460:1 [warning] duplication.repeated_block - lines 460 to 466 repeat lines 416 to 422 (51 tokens); repeated code has to be fixed in every copy 475:1 [warning] duplication.repeated_block - lines 475 to 482 repeat lines 366 to 373 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 41 names 23:7 [warning] naming.too_long - class `WC_REST_Order_Refunds_V1_Controller` is 35 characters (limit 30); very long names make code hard to read 138:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-orders-v1-controller.php (other) CodeLength: not graded 61:18 [warning] length.function - WC_REST_Orders_V1_Controller::register_routes has 63 lines in its body, above 50 132:18 [error] length.function - WC_REST_Orders_V1_Controller::prepare_item_for_response has 234 lines in its body, above 100 461:21 [warning] length.function - WC_REST_Orders_V1_Controller::prepare_item_for_database has 64 lines in its body, above 50 674:21 [warning] length.function - WC_REST_Orders_V1_Controller::prepare_line_items has 65 lines in its body, above 50 1024:18 [error] length.function - WC_REST_Orders_V1_Controller::get_item_schema has 678 lines in its body, above 100 28:7 [error] length.class - WC_REST_Orders_V1_Controller has 1714 lines, above 1000 for a other 1:1 [error] length.file - the file has 1741 lines, above 1200 for a other CyclomaticComplexity: 82 (B), based on 28 functions and file level code 132:18 [error] complexity.function - WC_REST_Orders_V1_Controller::prepare_item_for_response has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 461:21 [error] complexity.function - WC_REST_Orders_V1_Controller::prepare_item_for_database has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 578:21 [warning] complexity.function - WC_REST_Orders_V1_Controller::update_order has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 674:21 [error] complexity.function - WC_REST_Orders_V1_Controller::prepare_line_items has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 1319 code lines 297:1 [warning] duplication.repeated_block - lines 297 to 310 repeat lines 219 to 232 (77 tokens); repeated code has to be fixed in every copy 590:1 [warning] duplication.repeated_block - lines 590 to 608 repeat lines 561 to 578 (84 tokens); repeated code has to be fixed in every copy 760:1 [warning] duplication.repeated_block - lines 760 to 778 repeat lines 735 to 755 (62 tokens); repeated code has to be fixed in every copy 783:1 [warning] duplication.repeated_block - lines 783 to 800 repeat lines 760 to 777 (59 tokens); repeated code has to be fixed in every copy 984:1 [warning] duplication.repeated_block - lines 984 to 997 repeat lines 968 to 981 (57 tokens); repeated code has to be fixed in every copy 1000:1 [warning] duplication.repeated_block - lines 1000 to 1013 repeat lines 984 to 997 (60 tokens); repeated code has to be fixed in every copy 1203:1 [warning] duplication.repeated_block - lines 1203 to 1251 repeat lines 1140 to 1188 (450 tokens); repeated code has to be fixed in every copy 1406:1 [warning] duplication.repeated_block - lines 1406 to 1412 repeat lines 1366 to 1372 (51 tokens); repeated code has to be fixed in every copy 1421:1 [warning] duplication.repeated_block - lines 1421 to 1428 repeat lines 1392 to 1399 (57 tokens); repeated code has to be fixed in every copy 1453:1 [warning] duplication.repeated_block - lines 1453 to 1461 repeat lines 1392 to 1400 (69 tokens); repeated code has to be fixed in every copy 1473:1 [warning] duplication.repeated_block - lines 1473 to 1479 repeat lines 1429 to 1435 (51 tokens); repeated code has to be fixed in every copy 1506:1 [warning] duplication.repeated_block - lines 1506 to 1518 repeat lines 1320 to 1332 (103 tokens); repeated code has to be fixed in every copy 1525:1 [warning] duplication.repeated_block - lines 1525 to 1536 repeat lines 1378 to 1389 (109 tokens); repeated code has to be fixed in every copy 1537:1 [warning] duplication.repeated_block - lines 1537 to 1558 repeat lines 1389 to 1410 (177 tokens); repeated code has to be fixed in every copy 1566:1 [warning] duplication.repeated_block - lines 1566 to 1579 repeat lines 1320 to 1333 (115 tokens); repeated code has to be fixed in every copy 1592:1 [warning] duplication.repeated_block - lines 1592 to 1632 repeat lines 1379 to 1419 (328 tokens); repeated code has to be fixed in every copy 1637:1 [warning] duplication.repeated_block - lines 1637 to 1649 repeat lines 1320 to 1332 (103 tokens); repeated code has to be fixed in every copy 1669:1 [warning] duplication.repeated_block - lines 1669 to 1677 repeat lines 1392 to 1400 (69 tokens); repeated code has to be fixed in every copy 1683:1 [warning] duplication.repeated_block - lines 1683 to 1689 repeat lines 1122 to 1128 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 99 names 136:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-attribute-terms-v1-controller.php (other) CodeLength: not graded 42:18 [warning] length.function - WC_REST_Product_Attribute_Terms_V1_Controller::register_routes has 86 lines in its body, above 50 191:18 [warning] length.function - WC_REST_Product_Attribute_Terms_V1_Controller::get_item_schema has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 70 (C), based on 166 code lines 78:1 [warning] duplication.repeated_block - lines 78 to 85 repeat lines 46 to 53 (52 tokens); repeated code has to be fixed in every copy 112:1 [warning] duplication.repeated_block - lines 112 to 121 repeat lines 43 to 53 (61 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 16 names 23:7 [warning] naming.too_long - class `WC_REST_Product_Attribute_Terms_V1_Controller` is 45 characters (limit 30); very long names make code hard to read 140:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-attributes-v1-controller.php (other) CodeLength: not graded 54:18 [warning] length.function - WC_REST_Product_Attributes_V1_Controller::register_routes has 84 lines in its body, above 50 480:18 [warning] length.function - WC_REST_Product_Attributes_V1_Controller::get_item_schema has 53 lines in its body, above 50 21:7 [warning] length.class - WC_REST_Product_Attributes_V1_Controller has 622 lines, above 500 for a other 1:1 [warning] length.file - the file has 642 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 20 functions and file level code Duplication: 70 (C), based on 365 code lines 179:1 [warning] duplication.repeated_block - lines 179 to 196 repeat lines 161 to 178 (82 tokens); repeated code has to be fixed in every copy 197:1 [warning] duplication.repeated_block - lines 197 to 214 repeat lines 161 to 178 (82 tokens); repeated code has to be fixed in every copy 351:1 [warning] duplication.repeated_block - lines 351 to 369 repeat lines 281 to 299 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 47 names 21:7 [warning] naming.too_long - class `WC_REST_Product_Attributes_V1_Controller` is 40 characters (limit 30); very long names make code hard to read 244:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-categories-v1-controller.php (other) CodeLength: not graded 53:18 [warning] length.function - WC_REST_Product_Categories_V1_Controller::prepare_item_for_response has 53 lines in its body, above 50 167:18 [error] length.function - WC_REST_Product_Categories_V1_Controller::get_item_schema has 104 lines in its body, above 100 CyclomaticComplexity: 93 (A), based on 3 functions and file level code 114:21 [warning] complexity.function - WC_REST_Product_Categories_V1_Controller::update_term_meta_fields has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 179 code lines NamingConvention: 90 (A), based on 20 names 23:7 [warning] naming.too_long - class `WC_REST_Product_Categories_V1_Controller` is 40 characters (limit 30); very long names make code hard to read 60:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-reviews-v1-controller.php (other) CodeLength: not graded 42:18 [warning] length.function - WC_REST_Product_Reviews_V1_Controller::register_routes has 83 lines in its body, above 50 283:18 [warning] length.function - WC_REST_Product_Reviews_V1_Controller::create_item has 75 lines in its body, above 50 365:18 [warning] length.function - WC_REST_Product_Reviews_V1_Controller::update_item has 73 lines in its body, above 50 446:18 [warning] length.function - WC_REST_Product_Reviews_V1_Controller::delete_item has 52 lines in its body, above 50 23:7 [warning] length.class - WC_REST_Product_Reviews_V1_Controller has 643 lines, above 500 for a other 1:1 [warning] length.file - the file has 665 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 17 functions and file level code 365:18 [warning] complexity.function - WC_REST_Product_Reviews_V1_Controller::update_item has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 383 code lines 85:1 [warning] duplication.repeated_block - lines 85 to 92 repeat lines 43 to 50 (53 tokens); repeated code has to be fixed in every copy 167:1 [warning] duplication.repeated_block - lines 167 to 185 repeat lines 134 to 152 (76 tokens); repeated code has to be fixed in every copy 186:1 [warning] duplication.repeated_block - lines 186 to 204 repeat lines 134 to 152 (76 tokens); repeated code has to be fixed in every copy 273:1 [warning] duplication.repeated_block - lines 273 to 290 repeat lines 208 to 225 (65 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 44 names 23:7 [warning] naming.too_long - class `WC_REST_Product_Reviews_V1_Controller` is 37 characters (limit 30); very long names make code hard to read 226:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-shipping-classes-v1-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 69 code lines NamingConvention: 83 (B), based on 12 names 23:7 [warning] naming.too_long - class `WC_REST_Product_Shipping_Classes_V1_Controller` is 46 characters (limit 30); very long names make code hard to read 54:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-product-tags-v1-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 69 code lines NamingConvention: 83 (B), based on 12 names 23:7 [warning] naming.too_long - class `WC_REST_Product_Tags_V1_Controller` is 34 characters (limit 30); very long names make code hard to read 54:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-products-v1-controller.php (other) CodeLength: not graded 64:18 [warning] length.function - WC_REST_Products_V1_Controller::register_routes has 63 lines in its body, above 50 144:18 [warning] length.function - WC_REST_Products_V1_Controller::query_args has 84 lines in its body, above 50 278:21 [warning] length.function - WC_REST_Products_V1_Controller::get_images has 55 lines in its body, above 50 403:21 [warning] length.function - WC_REST_Products_V1_Controller::get_attributes has 54 lines in its body, above 50 475:21 [warning] length.function - WC_REST_Products_V1_Controller::get_product_data has 71 lines in its body, above 50 553:21 [warning] length.function - WC_REST_Products_V1_Controller::get_variation_data has 51 lines in its body, above 50 680:21 [warning] length.function - WC_REST_Products_V1_Controller::prepare_item_for_database has 65 lines in its body, above 50 860:21 [warning] length.function - WC_REST_Products_V1_Controller::set_product_images has 52 lines in its body, above 50 1092:21 [error] length.function - WC_REST_Products_V1_Controller::set_product_meta has 279 lines in its body, above 100 1380:21 [error] length.function - WC_REST_Products_V1_Controller::save_variations_data has 175 lines in its body, above 100 1645:18 [warning] length.function - WC_REST_Products_V1_Controller::delete_item has 94 lines in its body, above 50 1745:18 [error] length.function - WC_REST_Products_V1_Controller::get_item_schema has 843 lines in its body, above 100 2594:18 [warning] length.function - WC_REST_Products_V1_Controller::get_collection_params has 62 lines in its body, above 50 30:7 [error] length.class - WC_REST_Products_V1_Controller has 2627 lines, above 1000 for a other 1:1 [error] length.file - the file has 2656 lines, above 1200 for a other CyclomaticComplexity: 78 (C), based on 36 functions and file level code 144:18 [warning] complexity.function - WC_REST_Products_V1_Controller::query_args has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 680:21 [warning] complexity.function - WC_REST_Products_V1_Controller::prepare_item_for_database has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 860:21 [warning] complexity.function - WC_REST_Products_V1_Controller::set_product_images has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1017:21 [warning] complexity.function - WC_REST_Products_V1_Controller::save_default_attributes has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1092:21 [error] complexity.function - WC_REST_Products_V1_Controller::set_product_meta has a cyclomatic complexity of 73, untestable risk (above 10): each of its 73 paths needs its own test, which makes it hard to follow and to change safely 1380:21 [error] complexity.function - WC_REST_Products_V1_Controller::save_variations_data has a cyclomatic complexity of 44, high risk (above 10): each of its 44 paths needs its own test, which makes it hard to follow and to change safely 1645:18 [warning] complexity.function - WC_REST_Products_V1_Controller::delete_item has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 1971 code lines 445:1 [warning] duplication.repeated_block - lines 445 to 451 repeat lines 436 to 442 (63 tokens); repeated code has to be fixed in every copy 570:1 [warning] duplication.repeated_block - lines 570 to 573 repeat lines 492 to 495 (62 tokens); repeated code has to be fixed in every copy 580:1 [warning] duplication.repeated_block - lines 580 to 589 repeat lines 506 to 515 (82 tokens); repeated code has to be fixed in every copy 1135:1 [warning] duplication.repeated_block - lines 1135 to 1144 repeat lines 1022 to 1031 (65 tokens); repeated code has to be fixed in every copy 1185:1 [warning] duplication.repeated_block - lines 1185 to 1193 repeat lines 1170 to 1178 (112 tokens); repeated code has to be fixed in every copy 1420:1 [warning] duplication.repeated_block - lines 1420 to 1444 repeat lines 1326 to 1351 (131 tokens); repeated code has to be fixed in every copy 1476:1 [warning] duplication.repeated_block - lines 1476 to 1491 repeat lines 1206 to 1221 (104 tokens); repeated code has to be fixed in every copy 1506:1 [warning] duplication.repeated_block - lines 1506 to 1517 repeat lines 1133 to 1144 (74 tokens); repeated code has to be fixed in every copy 2109:1 [warning] duplication.repeated_block - lines 2109 to 2116 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2136:1 [warning] duplication.repeated_block - lines 2136 to 2143 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2148:1 [warning] duplication.repeated_block - lines 2148 to 2154 repeat lines 2121 to 2127 (51 tokens); repeated code has to be fixed in every copy 2163:1 [warning] duplication.repeated_block - lines 2163 to 2170 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2175:1 [warning] duplication.repeated_block - lines 2175 to 2181 repeat lines 1777 to 1783 (51 tokens); repeated code has to be fixed in every copy 2211:1 [warning] duplication.repeated_block - lines 2211 to 2218 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2253:1 [warning] duplication.repeated_block - lines 2253 to 2260 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2260:1 [warning] duplication.repeated_block - lines 2260 to 2269 repeat lines 2218 to 2227 (80 tokens); repeated code has to be fixed in every copy 2278:1 [warning] duplication.repeated_block - lines 2278 to 2285 repeat lines 1893 to 1900 (63 tokens); repeated code has to be fixed in every copy 2291:1 [warning] duplication.repeated_block - lines 2291 to 2297 repeat lines 1777 to 1783 (51 tokens); repeated code has to be fixed in every copy 2307:1 [warning] duplication.repeated_block - lines 2307 to 2315 repeat lines 1823 to 1831 (62 tokens); repeated code has to be fixed in every copy 2315:1 [warning] duplication.repeated_block - lines 2315 to 2321 repeat lines 1831 to 1837 (51 tokens); repeated code has to be fixed in every copy 2326:1 [warning] duplication.repeated_block - lines 2326 to 2340 repeat lines 1842 to 1856 (125 tokens); repeated code has to be fixed in every copy 2341:1 [warning] duplication.repeated_block - lines 2341 to 2347 repeat lines 1863 to 1869 (51 tokens); repeated code has to be fixed in every copy 2358:1 [warning] duplication.repeated_block - lines 2358 to 2364 repeat lines 1881 to 1887 (51 tokens); repeated code has to be fixed in every copy 2364:1 [warning] duplication.repeated_block - lines 2364 to 2397 repeat lines 1887 to 1920 (279 tokens); repeated code has to be fixed in every copy 2397:1 [warning] duplication.repeated_block - lines 2397 to 2403 repeat lines 1920 to 1926 (51 tokens); repeated code has to be fixed in every copy 2403:1 [warning] duplication.repeated_block - lines 2403 to 2419 repeat lines 1944 to 1960 (150 tokens); repeated code has to be fixed in every copy 2430:1 [warning] duplication.repeated_block - lines 2430 to 2449 repeat lines 1971 to 1990 (176 tokens); repeated code has to be fixed in every copy 2461:1 [warning] duplication.repeated_block - lines 2461 to 2467 repeat lines 2008 to 2014 (51 tokens); repeated code has to be fixed in every copy 2467:1 [warning] duplication.repeated_block - lines 2467 to 2473 repeat lines 2014 to 2020 (50 tokens); repeated code has to be fixed in every copy 2473:1 [warning] duplication.repeated_block - lines 2473 to 2479 repeat lines 2020 to 2026 (50 tokens); repeated code has to be fixed in every copy 2483:1 [warning] duplication.repeated_block - lines 2483 to 2496 repeat lines 2042 to 2055 (102 tokens); repeated code has to be fixed in every copy 2499:1 [warning] duplication.repeated_block - lines 2499 to 2540 repeat lines 2167 to 2208 (353 tokens); repeated code has to be fixed in every copy 2541:1 [warning] duplication.repeated_block - lines 2541 to 2558 repeat lines 2210 to 2227 (157 tokens); repeated code has to be fixed in every copy 2558:1 [warning] duplication.repeated_block - lines 2558 to 2565 repeat lines 2269 to 2276 (51 tokens); repeated code has to be fixed in every copy 2570:1 [warning] duplication.repeated_block - lines 2570 to 2578 repeat lines 2074 to 2082 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 113 names 476:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-report-sales-v1-controller.php (other) CodeLength: not graded 96:18 [error] length.function - WC_REST_Report_Sales_V1_Controller::prepare_item_for_response has 143 lines in its body, above 100 283:18 [warning] length.function - WC_REST_Report_Sales_V1_Controller::get_item_schema has 80 lines in its body, above 50 CyclomaticComplexity: 68 (D), based on 7 functions and file level code 96:18 [error] complexity.function - WC_REST_Report_Sales_V1_Controller::prepare_item_for_response has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 258 code lines 166:1 [warning] duplication.repeated_block - lines 166 to 176 repeat lines 153 to 164 (75 tokens); repeated code has to be fixed in every copy 176:1 [warning] duplication.repeated_block - lines 176 to 187 repeat lines 153 to 164 (74 tokens); repeated code has to be fixed in every copy 187:1 [warning] duplication.repeated_block - lines 187 to 198 repeat lines 176 to 187 (83 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 32 names 23:7 [warning] naming.too_long - class `WC_REST_Report_Sales_V1_Controller` is 34 characters (limit 30); very long names make code hard to read 82:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-report-top-sellers-v1-controller.php (other) CodeLength: not graded 45:18 [warning] length.function - WC_REST_Report_Top_Sellers_V1_Controller::get_items has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 101 code lines NamingConvention: 88 (B), based on 17 names 23:7 [warning] naming.too_long - class `WC_REST_Report_Top_Sellers_V1_Controller` is 40 characters (limit 30); very long names make code hard to read 90:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-reports-v1-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 91 code lines NamingConvention: 94 (A), based on 18 names 94:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-tax-classes-v1-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 179 code lines NamingConvention: 93 (A), based on 27 names 21:7 [warning] naming.too_long - class `WC_REST_Tax_Classes_V1_Controller` is 33 characters (limit 30); very long names make code hard to read 156:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-taxes-v1-controller.php (other) CodeLength: not graded 51:18 [warning] length.function - WC_REST_Taxes_V1_Controller::register_routes has 81 lines in its body, above 50 227:18 [error] length.function - WC_REST_Taxes_V1_Controller::get_items has 113 lines in its body, above 100 348:21 [warning] length.function - WC_REST_Taxes_V1_Controller::create_or_update_tax has 62 lines in its body, above 50 644:18 [warning] length.function - WC_REST_Taxes_V1_Controller::get_item_schema has 77 lines in its body, above 50 727:18 [warning] length.function - WC_REST_Taxes_V1_Controller::get_collection_params has 58 lines in its body, above 50 23:7 [warning] length.class - WC_REST_Taxes_V1_Controller has 797 lines, above 500 for a other 1:1 [warning] length.file - the file has 819 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 22 functions and file level code 348:21 [warning] complexity.function - WC_REST_Taxes_V1_Controller::create_or_update_tax has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 510 code lines 459:1 [warning] duplication.repeated_block - lines 459 to 478 repeat lines 439 to 458 (83 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 59 names 289:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 791:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-webhook-deliveries-v1-controller.php (other) CodeLength: not graded 219:18 [warning] length.function - WC_REST_Webhook_Deliveries_V1_Controller::get_item_schema has 84 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 198 code lines 144:1 [warning] duplication.repeated_block - lines 144 to 150 repeat lines 119 to 125 (64 tokens); repeated code has to be fixed in every copy 278:1 [warning] duplication.repeated_block - lines 278 to 286 repeat lines 251 to 259 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 25 names 24:7 [warning] naming.too_long - class `WC_REST_Webhook_Deliveries_V1_Controller` is 40 characters (limit 30); very long names make code hard to read 126:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version1/class-wc-rest-webhooks-v1-controller.php (other) CodeLength: not graded 47:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::register_routes has 89 lines in its body, above 50 241:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::get_items has 63 lines in its body, above 50 330:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::create_item has 53 lines in its body, above 50 390:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::update_item has 67 lines in its body, above 50 623:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::get_item_schema has 79 lines in its body, above 50 708:18 [warning] length.function - WC_REST_Webhooks_V1_Controller::get_collection_params has 70 lines in its body, above 50 21:7 [warning] length.class - WC_REST_Webhooks_V1_Controller has 758 lines, above 500 for a other 1:1 [warning] length.file - the file has 778 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 18 functions and file level code 390:18 [warning] complexity.function - WC_REST_Webhooks_V1_Controller::update_item has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 486 code lines 561:1 [warning] duplication.repeated_block - lines 561 to 564 repeat lines 392 to 395 (51 tokens); repeated code has to be fixed in every copy 735:1 [warning] duplication.repeated_block - lines 735 to 743 repeat lines 726 to 734 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 50 names 274:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-coupons-v2-controller.php (other) CodeLength: not graded 52:18 [warning] length.function - WC_REST_Coupons_V2_Controller::register_routes has 84 lines in its body, above 50 155:21 [warning] length.function - WC_REST_Coupons_V2_Controller::get_formatted_item_data has 55 lines in its body, above 50 279:21 [warning] length.function - WC_REST_Coupons_V2_Controller::prepare_object_for_database has 86 lines in its body, above 50 371:18 [error] length.function - WC_REST_Coupons_V2_Controller::get_item_schema has 201 lines in its body, above 100 23:7 [warning] length.class - WC_REST_Coupons_V2_Controller has 568 lines, above 500 for a other CyclomaticComplexity: 95 (A), based on 9 functions and file level code 279:21 [warning] complexity.function - WC_REST_Coupons_V2_Controller::prepare_object_for_database has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 427 code lines NamingConvention: 97 (A), based on 35 names 156:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-customer-downloads-v2-controller.php (other) CodeLength: not graded 74:18 [warning] length.function - WC_REST_Customer_Downloads_V2_Controller::get_item_schema has 91 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 115 code lines NamingConvention: 80 (B), based on 10 names 19:7 [warning] naming.too_long - class `WC_REST_Customer_Downloads_V2_Controller` is 40 characters (limit 30); very long names make code hard to read 36:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-customers-v2-controller.php (other) CodeLength: not graded 148:18 [error] length.function - WC_REST_Customers_V2_Controller::get_item_schema has 247 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 40 (F), based on 312 code lines 289:1 [warning] duplication.repeated_block - lines 289 to 337 repeat lines 226 to 274 (450 tokens); repeated code has to be fixed in every copy NamingConvention: 90 (A), based on 21 names 21:7 [warning] naming.too_long - class `WC_REST_Customers_V2_Controller` is 31 characters (limit 30); very long names make code hard to read 54:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-network-orders-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 101 code lines NamingConvention: 90 (A), based on 21 names 21:7 [warning] naming.too_long - class `WC_REST_Network_Orders_V2_Controller` is 36 characters (limit 30); very long names make code hard to read 100:18 [warning] naming.too_long - method `network_orders_permissions_check` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-order-notes-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 108 code lines NamingConvention: 88 (B), based on 17 names 19:7 [warning] naming.too_long - class `WC_REST_Order_Notes_V2_Controller` is 33 characters (limit 30); very long names make code hard to read 72:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-order-refunds-v2-controller.php (other) CodeLength: not graded 63:18 [warning] length.function - WC_REST_Order_Refunds_V2_Controller::register_routes has 65 lines in its body, above 50 280:21 [warning] length.function - WC_REST_Order_Refunds_V2_Controller::prepare_object_for_database has 64 lines in its body, above 50 374:18 [error] length.function - WC_REST_Order_Refunds_V2_Controller::get_item_schema has 491 lines in its body, above 100 23:7 [warning] length.class - WC_REST_Order_Refunds_V2_Controller has 856 lines, above 500 for a other 1:1 [warning] length.file - the file has 878 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 0 (F), based on 696 code lines 514:1 [warning] duplication.repeated_block - lines 514 to 522 repeat lines 446 to 454 (69 tokens); repeated code has to be fixed in every copy 528:1 [warning] duplication.repeated_block - lines 528 to 534 repeat lines 484 to 490 (51 tokens); repeated code has to be fixed in every copy 543:1 [warning] duplication.repeated_block - lines 543 to 551 repeat lines 446 to 454 (69 tokens); repeated code has to be fixed in every copy 551:1 [warning] duplication.repeated_block - lines 551 to 559 repeat lines 427 to 435 (83 tokens); repeated code has to be fixed in every copy 587:1 [warning] duplication.repeated_block - lines 587 to 600 repeat lines 446 to 459 (109 tokens); repeated code has to be fixed in every copy 606:1 [warning] duplication.repeated_block - lines 606 to 612 repeat lines 521 to 527 (51 tokens); repeated code has to be fixed in every copy 632:1 [warning] duplication.repeated_block - lines 632 to 661 repeat lines 415 to 444 (239 tokens); repeated code has to be fixed in every copy 666:1 [warning] duplication.repeated_block - lines 666 to 673 repeat lines 420 to 427 (63 tokens); repeated code has to be fixed in every copy 696:1 [warning] duplication.repeated_block - lines 696 to 723 repeat lines 505 to 532 (229 tokens); repeated code has to be fixed in every copy 724:1 [warning] duplication.repeated_block - lines 724 to 731 repeat lines 539 to 546 (51 tokens); repeated code has to be fixed in every copy 731:1 [warning] duplication.repeated_block - lines 731 to 752 repeat lines 423 to 444 (169 tokens); repeated code has to be fixed in every copy 757:1 [warning] duplication.repeated_block - lines 757 to 764 repeat lines 420 to 427 (63 tokens); repeated code has to be fixed in every copy 764:1 [warning] duplication.repeated_block - lines 764 to 770 repeat lines 454 to 460 (52 tokens); repeated code has to be fixed in every copy 783:1 [warning] duplication.repeated_block - lines 783 to 815 repeat lines 691 to 723 (276 tokens); repeated code has to be fixed in every copy 816:1 [warning] duplication.repeated_block - lines 816 to 829 repeat lines 533 to 546 (103 tokens); repeated code has to be fixed in every copy 829:1 [warning] duplication.repeated_block - lines 829 to 850 repeat lines 423 to 444 (169 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 35 names 23:7 [warning] naming.too_long - class `WC_REST_Order_Refunds_V2_Controller` is 35 characters (limit 30); very long names make code hard to read 148:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 334:16 [warning] naming.generic - parameter `thing` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-orders-v2-controller.php (other) CodeLength: not graded 70:18 [warning] length.function - WC_REST_Orders_V2_Controller::register_routes has 75 lines in its body, above 50 217:21 [warning] length.function - WC_REST_Orders_V2_Controller::get_order_item_data has 96 lines in its body, above 50 374:21 [error] length.function - WC_REST_Orders_V2_Controller::get_formatted_item_data has 151 lines in its body, above 100 617:21 [warning] length.function - WC_REST_Orders_V2_Controller::prepare_objects_query has 72 lines in its body, above 50 726:21 [warning] length.function - WC_REST_Orders_V2_Controller::prepare_object_for_database has 65 lines in its body, above 50 801:21 [warning] length.function - WC_REST_Orders_V2_Controller::save_object has 56 lines in its body, above 50 943:21 [warning] length.function - WC_REST_Orders_V2_Controller::prepare_line_items has 72 lines in its body, above 50 1105:21 [warning] length.function - WC_REST_Orders_V2_Controller::set_item has 66 lines in its body, above 50 1211:18 [error] length.function - WC_REST_Orders_V2_Controller::get_item_schema has 931 lines in its body, above 100 2148:18 [warning] length.function - WC_REST_Orders_V2_Controller::get_collection_params has 58 lines in its body, above 50 29:7 [error] length.class - WC_REST_Orders_V2_Controller has 2207 lines, above 1000 for a other 1:1 [error] length.file - the file has 2235 lines, above 1200 for a other CyclomaticComplexity: 84 (B), based on 32 functions and file level code 217:21 [error] complexity.function - WC_REST_Orders_V2_Controller::get_order_item_data has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 374:21 [error] complexity.function - WC_REST_Orders_V2_Controller::get_formatted_item_data has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 617:21 [warning] complexity.function - WC_REST_Orders_V2_Controller::prepare_objects_query has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 726:21 [error] complexity.function - WC_REST_Orders_V2_Controller::prepare_object_for_database has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 801:21 [warning] complexity.function - WC_REST_Orders_V2_Controller::save_object has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 943:21 [error] complexity.function - WC_REST_Orders_V2_Controller::prepare_line_items has a cyclomatic complexity of 30, high risk (above 10): each of its 30 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 1718 code lines 176:1 [warning] duplication.repeated_block - lines 176 to 189 repeat lines 160 to 173 (59 tokens); repeated code has to be fixed in every copy 192:1 [warning] duplication.repeated_block - lines 192 to 205 repeat lines 176 to 189 (62 tokens); repeated code has to be fixed in every copy 1013:1 [warning] duplication.repeated_block - lines 1013 to 1028 repeat lines 929 to 944 (53 tokens); repeated code has to be fixed in every copy 1038:1 [warning] duplication.repeated_block - lines 1038 to 1057 repeat lines 1010 to 1031 (86 tokens); repeated code has to be fixed in every copy 1064:1 [warning] duplication.repeated_block - lines 1064 to 1082 repeat lines 1010 to 1030 (79 tokens); repeated code has to be fixed in every copy 1425:1 [warning] duplication.repeated_block - lines 1425 to 1473 repeat lines 1362 to 1410 (450 tokens); repeated code has to be fixed in every copy 1602:1 [warning] duplication.repeated_block - lines 1602 to 1608 repeat lines 1315 to 1321 (51 tokens); repeated code has to be fixed in every copy 1642:1 [warning] duplication.repeated_block - lines 1642 to 1666 repeat lines 1522 to 1546 (238 tokens); repeated code has to be fixed in every copy 1674:1 [warning] duplication.repeated_block - lines 1674 to 1676 repeat lines 1543 to 1545 (57 tokens); repeated code has to be fixed in every copy 1723:1 [warning] duplication.repeated_block - lines 1723 to 1731 repeat lines 1619 to 1627 (69 tokens); repeated code has to be fixed in every copy 1767:1 [warning] duplication.repeated_block - lines 1767 to 1797 repeat lines 1519 to 1549 (279 tokens); repeated code has to be fixed in every copy 1802:1 [warning] duplication.repeated_block - lines 1802 to 1817 repeat lines 1551 to 1566 (126 tokens); repeated code has to be fixed in every copy 1838:1 [warning] duplication.repeated_block - lines 1838 to 1854 repeat lines 1613 to 1629 (152 tokens); repeated code has to be fixed in every copy 1861:1 [warning] duplication.repeated_block - lines 1861 to 1888 repeat lines 1639 to 1666 (244 tokens); repeated code has to be fixed in every copy 1896:1 [warning] duplication.repeated_block - lines 1896 to 1912 repeat lines 1551 to 1567 (138 tokens); repeated code has to be fixed in every copy 1933:1 [warning] duplication.repeated_block - lines 1933 to 1949 repeat lines 1613 to 1629 (152 tokens); repeated code has to be fixed in every copy 1950:1 [warning] duplication.repeated_block - lines 1950 to 1957 repeat lines 1855 to 1862 (60 tokens); repeated code has to be fixed in every copy 1959:1 [warning] duplication.repeated_block - lines 1959 to 1996 repeat lines 1858 to 1895 (292 tokens); repeated code has to be fixed in every copy 1997:1 [warning] duplication.repeated_block - lines 1997 to 2004 repeat lines 1525 to 1532 (63 tokens); repeated code has to be fixed in every copy 2040:1 [warning] duplication.repeated_block - lines 2040 to 2068 repeat lines 1521 to 1549 (252 tokens); repeated code has to be fixed in every copy 2073:1 [warning] duplication.repeated_block - lines 2073 to 2081 repeat lines 1619 to 1627 (69 tokens); repeated code has to be fixed in every copy 2087:1 [warning] duplication.repeated_block - lines 2087 to 2093 repeat lines 1315 to 1321 (51 tokens); repeated code has to be fixed in every copy 2093:1 [warning] duplication.repeated_block - lines 2093 to 2099 repeat lines 1321 to 1327 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 105 names 218:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 324:19 [warning] naming.too_long - method `merge_meta_item_with_formatted_meta_display_attributes` is 54 characters (limit 30); very long names make code hard to read 563:21 [warning] naming.too_long - method `prepare_object_for_response_core` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-payment-gateways-v2-controller.php (other) CodeLength: not graded 162:18 [warning] length.function - WC_REST_Payment_Gateways_V2_Controller::update_item has 67 lines in its body, above 50 352:18 [error] length.function - WC_REST_Payment_Gateways_V2_Controller::get_item_schema has 107 lines in its body, above 100 CyclomaticComplexity: 91 (A), based on 13 functions and file level code 162:18 [warning] complexity.function - WC_REST_Payment_Gateways_V2_Controller::update_item has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 293:18 [warning] complexity.function - WC_REST_Payment_Gateways_V2_Controller::get_settings has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 317 code lines 153:1 [warning] duplication.repeated_block - lines 153 to 170 repeat lines 136 to 152 (57 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 35 names 19:7 [warning] naming.too_long - class `WC_REST_Payment_Gateways_V2_Controller` is 38 characters (limit 30); very long names make code hard to read 124:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-attribute-terms-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Attribute_Terms_V2_Controller` is 45 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-attributes-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Attributes_V2_Controller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-brands-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 67 (D), based on 3 names 25:7 [warning] naming.too_long - class `WC_REST_Product_Brands_V2_Controller` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-categories-v2-controller.php (other) CodeLength: not graded 35:18 [warning] length.function - WC_REST_Product_Categories_V2_Controller::prepare_item_for_response has 55 lines in its body, above 50 96:18 [error] length.function - WC_REST_Product_Categories_V2_Controller::get_item_schema has 116 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 154 code lines NamingConvention: 86 (B), based on 14 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Categories_V2_Controller` is 40 characters (limit 30); very long names make code hard to read 42:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-reviews-v2-controller.php (other) CodeLength: not graded 146:18 [warning] length.function - WC_REST_Product_Reviews_V2_Controller::get_item_schema has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 119 code lines NamingConvention: 90 (A), based on 21 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Reviews_V2_Controller` is 37 characters (limit 30); very long names make code hard to read 81:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-shipping-classes-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Shipping_Classes_V2_Controller` is 46 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-tags-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Tags_V2_Controller` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-product-variations-v2-controller.php (other) CodeLength: not graded 100:18 [error] length.function - WC_REST_Product_Variations_V2_Controller::register_routes has 106 lines in its body, above 100 298:18 [warning] length.function - WC_REST_Product_Variations_V2_Controller::prepare_object_for_response has 68 lines in its body, above 50 389:21 [error] length.function - WC_REST_Product_Variations_V2_Controller::prepare_object_for_database has 201 lines in its body, above 100 608:18 [error] length.function - WC_REST_Product_Variations_V2_Controller::delete_item has 103 lines in its body, above 100 791:18 [error] length.function - WC_REST_Product_Variations_V2_Controller::get_item_schema has 354 lines in its body, above 100 26:7 [error] length.class - WC_REST_Product_Variations_V2_Controller has 1120 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1145 lines, above 600 for a other CyclomaticComplexity: 82 (B), based on 17 functions and file level code 389:21 [error] complexity.function - WC_REST_Product_Variations_V2_Controller::prepare_object_for_database has a cyclomatic complexity of 48, high risk (above 10): each of its 48 paths needs its own test, which makes it hard to follow and to change safely 608:18 [warning] complexity.function - WC_REST_Product_Variations_V2_Controller::delete_item has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 837 code lines 188:1 [warning] duplication.repeated_block - lines 188 to 198 repeat lines 103 to 113 (56 tokens); repeated code has to be fixed in every copy 253:1 [warning] duplication.repeated_block - lines 253 to 265 repeat lines 239 to 251 (74 tokens); repeated code has to be fixed in every copy 270:1 [warning] duplication.repeated_block - lines 270 to 287 repeat lines 236 to 253 (81 tokens); repeated code has to be fixed in every copy 1044:1 [warning] duplication.repeated_block - lines 1044 to 1050 repeat lines 806 to 812 (50 tokens); repeated code has to be fixed in every copy 1085:1 [warning] duplication.repeated_block - lines 1085 to 1092 repeat lines 901 to 908 (63 tokens); repeated code has to be fixed in every copy 1115:1 [warning] duplication.repeated_block - lines 1115 to 1122 repeat lines 901 to 908 (63 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 63 names 26:7 [warning] naming.too_long - class `WC_REST_Product_Variations_V2_Controller` is 40 characters (limit 30); very long names make code hard to read 54:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 86:21 [warning] naming.too_long - method `get_version_strings_relevant_to_caching` is 39 characters (limit 30); very long names make code hard to read 302:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-products-v2-controller.php (other) CodeLength: not graded 136:18 [error] length.function - WC_REST_Products_V2_Controller::register_routes has 113 lines in its body, above 100 352:21 [error] length.function - WC_REST_Products_V2_Controller::prepare_objects_query has 127 lines in its body, above 100 532:21 [warning] length.function - WC_REST_Products_V2_Controller::get_images has 62 lines in its body, above 50 832:21 [error] length.function - WC_REST_Products_V2_Controller::get_product_data has 218 lines in its body, above 100 1086:21 [error] length.function - WC_REST_Products_V2_Controller::prepare_object_for_database has 351 lines in its body, above 100 1447:21 [warning] length.function - WC_REST_Products_V2_Controller::set_product_images has 70 lines in its body, above 50 1625:21 [warning] length.function - WC_REST_Products_V2_Controller::save_default_attributes has 51 lines in its body, above 50 1694:18 [error] length.function - WC_REST_Products_V2_Controller::delete_item has 132 lines in its body, above 100 1832:18 [error] length.function - WC_REST_Products_V2_Controller::get_item_schema has 615 lines in its body, above 100 2453:18 [error] length.function - WC_REST_Products_V2_Controller::get_collection_params has 130 lines in its body, above 100 29:7 [error] length.class - WC_REST_Products_V2_Controller has 2555 lines, above 1000 for a other 1:1 [error] length.file - the file has 2583 lines, above 1200 for a other CyclomaticComplexity: 67 (D), based on 35 functions and file level code 352:21 [error] complexity.function - WC_REST_Products_V2_Controller::prepare_objects_query has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 832:21 [error] complexity.function - WC_REST_Products_V2_Controller::get_product_data has a cyclomatic complexity of 75, untestable risk (above 10): each of its 75 paths needs its own test, which makes it hard to follow and to change safely 1086:21 [error] complexity.function - WC_REST_Products_V2_Controller::prepare_object_for_database has a cyclomatic complexity of 89, untestable risk (above 10): each of its 89 paths needs its own test, which makes it hard to follow and to change safely 1447:21 [warning] complexity.function - WC_REST_Products_V2_Controller::set_product_images has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1625:21 [warning] complexity.function - WC_REST_Products_V2_Controller::save_default_attributes has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 1694:18 [warning] complexity.function - WC_REST_Products_V2_Controller::delete_item has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 1907 code lines 233:1 [warning] duplication.repeated_block - lines 233 to 243 repeat lines 165 to 175 (57 tokens); repeated code has to be fixed in every copy 1220:1 [warning] duplication.repeated_block - lines 1220 to 1228 repeat lines 1205 to 1213 (112 tokens); repeated code has to be fixed in every copy 1631:1 [warning] duplication.repeated_block - lines 1631 to 1640 repeat lines 1170 to 1179 (65 tokens); repeated code has to be fixed in every copy 2211:1 [warning] duplication.repeated_block - lines 2211 to 2218 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2238:1 [warning] duplication.repeated_block - lines 2238 to 2245 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2250:1 [warning] duplication.repeated_block - lines 2250 to 2256 repeat lines 2223 to 2229 (51 tokens); repeated code has to be fixed in every copy 2265:1 [warning] duplication.repeated_block - lines 2265 to 2272 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2277:1 [warning] duplication.repeated_block - lines 2277 to 2283 repeat lines 1864 to 1870 (51 tokens); repeated code has to be fixed in every copy 2283:1 [warning] duplication.repeated_block - lines 2283 to 2289 repeat lines 1870 to 1876 (51 tokens); repeated code has to be fixed in every copy 2289:1 [warning] duplication.repeated_block - lines 2289 to 2295 repeat lines 1876 to 1882 (51 tokens); repeated code has to be fixed in every copy 2325:1 [warning] duplication.repeated_block - lines 2325 to 2332 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2370:1 [warning] duplication.repeated_block - lines 2370 to 2377 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2377:1 [warning] duplication.repeated_block - lines 2377 to 2386 repeat lines 2332 to 2341 (80 tokens); repeated code has to be fixed in every copy 2417:1 [warning] duplication.repeated_block - lines 2417 to 2424 repeat lines 2002 to 2009 (63 tokens); repeated code has to be fixed in every copy 2573:1 [warning] duplication.repeated_block - lines 2573 to 2579 repeat lines 186 to 192 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 121 names 75:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 104:47 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 117:19 [warning] naming.too_long - method `remove_related_ids_from_response_data` is 37 characters (limit 30); very long names make code hard to read 326:21 [warning] naming.too_long - method `prepare_object_for_response_core` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-report-sales-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Sales_V2_Controller` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-report-top-sellers-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Top_Sellers_V2_Controller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-reports-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-setting-options-v2-controller.php (other) CodeLength: not graded 40:18 [warning] length.function - WC_REST_Setting_Options_V2_Controller::register_routes has 69 lines in its body, above 50 555:18 [warning] length.function - WC_REST_Setting_Options_V2_Controller::get_item_schema has 83 lines in its body, above 50 19:7 [warning] length.class - WC_REST_Setting_Options_V2_Controller has 620 lines, above 500 for a other 1:1 [warning] length.file - the file has 638 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 19 functions and file level code 163:18 [warning] complexity.function - WC_REST_Setting_Options_V2_Controller::get_group_settings has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 403 code lines 62:1 [warning] duplication.repeated_block - lines 62 to 72 repeat lines 43 to 53 (61 tokens); repeated code has to be fixed in every copy 580:1 [warning] duplication.repeated_block - lines 580 to 588 repeat lines 571 to 579 (55 tokens); repeated code has to be fixed in every copy 600:1 [warning] duplication.repeated_block - lines 600 to 608 repeat lines 571 to 579 (55 tokens); repeated code has to be fixed in every copy 609:1 [warning] duplication.repeated_block - lines 609 to 617 repeat lines 571 to 579 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 53 names 19:7 [warning] naming.too_long - class `WC_REST_Setting_Options_V2_Controller` is 37 characters (limit 30); very long names make code hard to read 143:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 217:21 [warning] naming.too_long - method `prime_options_cache_for_settings` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-settings-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 124 code lines NamingConvention: 97 (A), based on 30 names 118:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-methods-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 130 code lines NamingConvention: 92 (A), based on 24 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Methods_V2_Controller` is 38 characters (limit 30); very long names make code hard to read 105:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-locations-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 119 code lines NamingConvention: 92 (A), based on 24 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zone_Locations_V2_Controller` is 45 characters (limit 30); very long names make code hard to read 63:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zone-methods-v2-controller.php (other) CodeLength: not graded 24:18 [warning] length.function - WC_REST_Shipping_Zone_Methods_V2_Controller::register_routes has 71 lines in its body, above 50 199:18 [warning] length.function - WC_REST_Shipping_Zone_Methods_V2_Controller::delete_item has 52 lines in its body, above 50 436:18 [error] length.function - WC_REST_Shipping_Zone_Methods_V2_Controller::get_item_schema has 112 lines in its body, above 100 19:7 [warning] length.class - WC_REST_Shipping_Zone_Methods_V2_Controller has 530 lines, above 500 for a other CyclomaticComplexity: 97 (A), based on 11 functions and file level code 297:18 [warning] complexity.function - WC_REST_Shipping_Zone_Methods_V2_Controller::update_fields has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 395 code lines 186:1 [warning] duplication.repeated_block - lines 186 to 205 repeat lines 121 to 142 (55 tokens); repeated code has to be fixed in every copy 206:1 [warning] duplication.repeated_block - lines 206 to 222 repeat lines 109 to 124 (80 tokens); repeated code has to be fixed in every copy 249:1 [warning] duplication.repeated_block - lines 249 to 279 repeat lines 93 to 124 (124 tokens); repeated code has to be fixed in every copy 448:1 [warning] duplication.repeated_block - lines 448 to 454 repeat lines 442 to 448 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 36 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zone_Methods_V2_Controller` is 43 characters (limit 30); very long names make code hard to read 124:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-shipping-zones-v2-controller.php (other) CodeLength: not graded 24:18 [warning] length.function - WC_REST_Shipping_Zones_V2_Controller::register_routes has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 201 code lines NamingConvention: 92 (A), based on 26 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zones_V2_Controller` is 36 characters (limit 30); very long names make code hard to read 99:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-tools-v2-controller.php (other) CodeLength: not graded 128:18 [error] length.function - WC_REST_System_Status_Tools_V2_Controller::get_tools has 159 lines in its body, above 100 442:18 [warning] length.function - WC_REST_System_Status_Tools_V2_Controller::get_item_schema has 56 lines in its body, above 50 534:18 [error] length.function - WC_REST_System_Status_Tools_V2_Controller::execute_tool has 226 lines in its body, above 100 23:7 [warning] length.class - WC_REST_System_Status_Tools_V2_Controller has 756 lines, above 500 for a other 1:1 [warning] length.file - the file has 778 lines, above 600 for a other CyclomaticComplexity: 75 (C), based on 16 functions and file level code 534:18 [error] complexity.function - WC_REST_System_Status_Tools_V2_Controller::execute_tool has a cyclomatic complexity of 30, high risk (above 10): each of its 30 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 568 code lines 379:1 [warning] duplication.repeated_block - lines 379 to 394 repeat lines 354 to 368 (75 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 49 names 23:7 [warning] naming.too_long - class `WC_REST_System_Status_Tools_V2_Controller` is 41 characters (limit 30); very long names make code hard to read 293:19 [warning] naming.too_long - method `get_regenerating_lookup_table_status_text` is 41 characters (limit 30); very long names make code hard to read 312:19 [warning] naming.too_long - method `get_regenerating_thumbnails_status_text` is 39 characters (limit 30); very long names make code hard to read 427:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 634:30 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `get_current_blog_id()`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-system-status-v2-controller.php (other) CodeLength: not graded 130:18 [error] length.function - WC_REST_System_Status_V2_Controller::get_item_schema has 673 lines in its body, above 100 926:18 [error] length.function - WC_REST_System_Status_V2_Controller::get_environment_info_per_fields has 117 lines in its body, above 100 1060:18 [warning] length.function - WC_REST_System_Status_V2_Controller::get_database_info has 95 lines in its body, above 50 1321:18 [error] length.function - WC_REST_System_Status_V2_Controller::get_theme_info has 104 lines in its body, above 100 1448:18 [warning] length.function - WC_REST_System_Status_V2_Controller::get_settings has 51 lines in its body, above 50 1519:18 [error] length.function - WC_REST_System_Status_V2_Controller::get_pages has 135 lines in its body, above 100 27:7 [error] length.class - WC_REST_System_Status_V2_Controller has 1677 lines, above 1000 for a other 1:1 [error] length.file - the file has 1703 lines, above 1200 for a other CyclomaticComplexity: 85 (B), based on 26 functions and file level code 833:18 [warning] complexity.function - WC_REST_System_Status_V2_Controller::get_item_mappings_per_fields has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 926:18 [error] complexity.function - WC_REST_System_Status_V2_Controller::get_environment_info_per_fields has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 1321:18 [warning] complexity.function - WC_REST_System_Status_V2_Controller::get_theme_info has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1519:18 [error] complexity.function - WC_REST_System_Status_V2_Controller::get_pages has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 1338 code lines 429:1 [warning] duplication.repeated_block - lines 429 to 471 repeat lines 386 to 428 (307 tokens); repeated code has to be fixed in every copy 472:1 [warning] duplication.repeated_block - lines 472 to 479 repeat lines 375 to 382 (50 tokens); repeated code has to be fixed in every copy 542:1 [warning] duplication.repeated_block - lines 542 to 549 repeat lines 375 to 382 (50 tokens); repeated code has to be fixed in every copy 632:1 [warning] duplication.repeated_block - lines 632 to 639 repeat lines 375 to 382 (50 tokens); repeated code has to be fixed in every copy 641:1 [warning] duplication.repeated_block - lines 641 to 648 repeat lines 375 to 382 (50 tokens); repeated code has to be fixed in every copy 708:1 [warning] duplication.repeated_block - lines 708 to 715 repeat lines 386 to 393 (53 tokens); repeated code has to be fixed in every copy 752:1 [warning] duplication.repeated_block - lines 752 to 759 repeat lines 375 to 382 (50 tokens); repeated code has to be fixed in every copy 1556:1 [warning] duplication.repeated_block - lines 1556 to 1565 repeat lines 1531 to 1540 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 112 names 27:7 [warning] naming.too_long - class `WC_REST_System_Status_V2_Controller` is 35 characters (limit 30); very long names make code hard to read 926:18 [warning] naming.too_long - method `get_environment_info_per_fields` is 31 characters (limit 30); very long names make code hard to read 1188:6 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-tax-classes-v2-controller.php (other) CodeLength: not graded 31:18 [warning] length.function - WC_REST_Tax_Classes_V2_Controller::register_routes has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 73 code lines NamingConvention: 75 (C), based on 8 names 19:7 [warning] naming.too_long - class `WC_REST_Tax_Classes_V2_Controller` is 33 characters (limit 30); very long names make code hard to read 104:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-taxes-v2-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-webhook-deliveries-v2-controller.php (other) CodeLength: not graded 63:18 [warning] length.function - WC_REST_Webhook_Deliveries_V2_Controller::get_item_schema has 90 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 70 (C), based on 102 code lines 122:1 [warning] duplication.repeated_block - lines 122 to 130 repeat lines 95 to 103 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 80 (B), based on 10 names 20:7 [warning] naming.too_long - class `WC_REST_Webhook_Deliveries_V2_Controller` is 40 characters (limit 30); very long names make code hard to read 37:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version2/class-wc-rest-webhooks-v2-controller.php (other) CodeLength: not graded 91:18 [warning] length.function - WC_REST_Webhooks_V2_Controller::get_item_schema has 91 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 123 code lines NamingConvention: 92 (A), based on 12 names 42:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-controller.php (other) CodeLength: not graded 209:18 [error] length.function - WC_REST_Controller::batch_items has 157 lines in its body, above 100 563:18 [warning] length.function - WC_REST_Controller::get_fields_for_response has 70 lines in its body, above 50 30:16 [warning] length.class - WC_REST_Controller has 646 lines, above 500 for a other 1:1 [warning] length.file - the file has 675 lines, above 600 for a other CyclomaticComplexity: 85 (B), based on 17 functions and file level code 209:18 [warning] complexity.function - WC_REST_Controller::batch_items has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 563:18 [warning] complexity.function - WC_REST_Controller::get_fields_for_response has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 381 code lines 261:1 [warning] duplication.repeated_block - lines 261 to 271 repeat lines 248 to 257 (69 tokens); repeated code has to be fixed in every copy 296:1 [warning] duplication.repeated_block - lines 296 to 306 repeat lines 283 to 292 (74 tokens); repeated code has to be fixed in every copy 347:1 [warning] duplication.repeated_block - lines 347 to 357 repeat lines 334 to 343 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 64 names 102:18 [warning] naming.too_long - method `get_endpoint_args_for_item_schema` is 33 characters (limit 30); very long names make code hard to read 126:21 [warning] naming.too_long - method `adjust_wp_5_5_datatype_compatibility` is 36 characters (limit 30); very long names make code hard to read 404:18 [warning] naming.too_long - method `validate_setting_multiselect_field` is 34 characters (limit 30); very long names make code hard to read 431:18 [warning] naming.too_long - method `validate_setting_image_width_field` is 34 characters (limit 30); very long names make code hard to read 469:18 [warning] naming.too_long - method `validate_setting_checkbox_field` is 31 characters (limit 30); very long names make code hard to read 489:18 [warning] naming.too_long - method `validate_setting_textarea_field` is 31 characters (limit 30); very long names make code hard to read 658:7 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-coupons-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-crud-controller.php (other) CodeLength: not graded 287:21 [warning] length.function - WC_REST_CRUD_Controller::prepare_objects_query has 72 lines in its body, above 50 393:18 [warning] length.function - WC_REST_CRUD_Controller::get_items has 56 lines in its body, above 50 456:18 [warning] length.function - WC_REST_CRUD_Controller::delete_item has 68 lines in its body, above 50 568:18 [error] length.function - WC_REST_CRUD_Controller::get_collection_params has 140 lines in its body, above 100 19:16 [warning] length.class - WC_REST_CRUD_Controller has 690 lines, above 500 for a other 1:1 [warning] length.file - the file has 708 lines, above 600 for a other CyclomaticComplexity: 96 (A), based on 18 functions and file level code 287:21 [warning] complexity.function - WC_REST_CRUD_Controller::prepare_objects_query has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 420 code lines 72:1 [warning] duplication.repeated_block - lines 72 to 87 repeat lines 56 to 71 (68 tokens); repeated code has to be fixed in every copy 125:1 [warning] duplication.repeated_block - lines 125 to 139 repeat lines 41 to 55 (63 tokens); repeated code has to be fixed in every copy 236:1 [warning] duplication.repeated_block - lines 236 to 249 repeat lines 127 to 140 (71 tokens); repeated code has to be fixed in every copy 268:1 [warning] duplication.repeated_block - lines 268 to 273 repeat lines 185 to 190 (70 tokens); repeated code has to be fixed in every copy 459:1 [warning] duplication.repeated_block - lines 459 to 465 repeat lines 137 to 143 (54 tokens); repeated code has to be fixed in every copy 636:1 [warning] duplication.repeated_block - lines 636 to 644 repeat lines 627 to 635 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 58 names 143:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-customer-downloads-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Customer_Downloads_Controller` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-customers-controller.php (other) CodeLength: not graded 45:18 [error] length.function - WC_REST_Customers_Controller::get_item_schema has 240 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 0 (F), based on 246 code lines 186:1 [warning] duplication.repeated_block - lines 186 to 235 repeat lines 123 to 172 (451 tokens); repeated code has to be fixed in every copy 235:1 [warning] duplication.repeated_block - lines 235 to 242 repeat lines 178 to 185 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-data-continents-controller.php (other) CodeLength: not graded 92:18 [warning] length.function - WC_REST_Data_Continents_Controller::get_continent has 78 lines in its body, above 50 258:18 [error] length.function - WC_REST_Data_Continents_Controller::get_item_schema has 115 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 85 (B), based on 281 code lines 330:1 [warning] duplication.repeated_block - lines 330 to 340 repeat lines 278 to 288 (82 tokens); repeated code has to be fixed in every copy NamingConvention: 87 (B), based on 38 names 21:7 [warning] naming.too_long - class `WC_REST_Data_Continents_Controller` is 34 characters (limit 30); very long names make code hard to read 97:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 379:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 390:21 [warning] naming.too_long - method `get_files_relevant_to_response_caching` is 38 characters (limit 30); very long names make code hard to read 436:21 [warning] naming.too_long - method `extract_entity_ids_from_response` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-data-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 95 code lines NamingConvention: 94 (A), based on 18 names 89:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-data-countries-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 167 code lines NamingConvention: 83 (B), based on 30 names 21:7 [warning] naming.too_long - class `WC_REST_Data_Countries_Controller` is 33 characters (limit 30); very long names make code hard to read 94:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 263:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 274:21 [warning] naming.too_long - method `get_files_relevant_to_response_caching` is 38 characters (limit 30); very long names make code hard to read 315:21 [warning] naming.too_long - method `extract_entity_ids_from_response` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-data-currencies-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 100 (A), based on 152 code lines NamingConvention: 81 (B), based on 27 names 20:7 [warning] naming.too_long - class `WC_REST_Data_Currencies_Controller` is 34 characters (limit 30); very long names make code hard to read 102:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 245:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 256:21 [warning] naming.too_long - method `get_files_relevant_to_response_caching` is 38 characters (limit 30); very long names make code hard to read 295:21 [warning] naming.too_long - method `extract_entity_ids_from_response` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-layout-templates-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 22:7 [warning] naming.too_long - class `WC_REST_Layout_Templates_Controller` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-network-orders-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Network_Orders_Controller` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-order-notes-controller.php (other) CodeLength: not graded 115:18 [warning] length.function - WC_REST_Order_Notes_Controller::get_item_schema has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 93 code lines NamingConvention: 92 (A), based on 13 names 36:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-order-refunds-controller.php (other) CodeLength: not graded 276:19 [warning] length.function - WC_REST_Order_Refunds_Controller::normalize_line_item has 55 lines in its body, above 50 393:21 [warning] length.function - WC_REST_Order_Refunds_Controller::prepare_object_for_database has 60 lines in its body, above 50 472:19 [warning] length.function - WC_REST_Order_Refunds_Controller::create_refund_with_computed_totals has 95 lines in its body, above 50 25:7 [warning] length.class - WC_REST_Order_Refunds_Controller has 656 lines, above 500 for a other 1:1 [warning] length.file - the file has 680 lines, above 600 for a other CyclomaticComplexity: 90 (A), based on 14 functions and file level code 276:19 [warning] complexity.function - WC_REST_Order_Refunds_Controller::normalize_line_item has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 472:19 [warning] complexity.function - WC_REST_Order_Refunds_Controller::create_refund_with_computed_totals has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 323 code lines 472:1 [warning] duplication.repeated_block - lines 472 to 485 repeat lines 90 to 104 (61 tokens); repeated code has to be fixed in every copy 545:1 [warning] duplication.repeated_block - lines 545 to 565 repeat lines 433 to 451 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 44 names 25:7 [warning] naming.too_long - class `WC_REST_Order_Refunds_Controller` is 32 characters (limit 30); very long names make code hard to read 184:19 [warning] naming.too_long - method `get_preview_fields_for_response` is 31 characters (limit 30); very long names make code hard to read 256:19 [warning] naming.too_long - method `get_preview_line_items_arg_schema` is 33 characters (limit 30); very long names make code hard to read 374:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 472:19 [warning] naming.too_long - method `create_refund_with_computed_totals` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-orders-controller.php (other) CodeLength: not graded 45:21 [warning] length.function - WC_REST_Orders_Controller::calculate_coupons has 58 lines in its body, above 50 112:21 [warning] length.function - WC_REST_Orders_Controller::prepare_object_for_database has 67 lines in its body, above 50 253:21 [warning] length.function - WC_REST_Orders_Controller::save_object has 75 lines in its body, above 50 CyclomaticComplexity: 74 (C), based on 10 functions and file level code 112:21 [error] complexity.function - WC_REST_Orders_Controller::prepare_object_for_database has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 253:21 [error] complexity.function - WC_REST_Orders_Controller::save_object has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 288 code lines NamingConvention: 96 (A), based on 46 names 309:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 480:21 [warning] naming.too_long - method `prepare_object_for_response_core` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-payment-gateways-controller.php (other) CodeLength: not graded 110:18 [error] length.function - WC_REST_Payment_Gateways_Controller::get_item_schema has 116 lines in its body, above 100 CyclomaticComplexity: 96 (A), based on 5 functions and file level code 73:18 [warning] complexity.function - WC_REST_Payment_Gateways_Controller::get_settings has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 193 code lines NamingConvention: 88 (B), based on 26 names 19:7 [warning] naming.too_long - class `WC_REST_Payment_Gateways_Controller` is 35 characters (limit 30); very long names make code hard to read 50:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 234:18 [warning] naming.too_long - method `validate_setting_multiselect_field` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-buttons-controller.php (other) CodeLength: not graded 111:18 [warning] length.function - WC_REST_Paypal_Buttons_Controller::create_order has 61 lines in its body, above 50 CyclomaticComplexity: 87 (B), based on 5 functions and file level code 111:18 [warning] complexity.function - WC_REST_Paypal_Buttons_Controller::create_order has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 118 code lines NamingConvention: 85 (B), based on 20 names 34:7 [warning] naming.too_long - class `WC_REST_Paypal_Buttons_Controller` is 33 characters (limit 30); very long names make code hard to read 97:18 [warning] naming.too_long - method `validate_cancel_payment_request` is 31 characters (limit 30); very long names make code hard to read 112:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-standard-controller.php (other) CodeLength: not graded 117:18 [error] length.function - WC_REST_Paypal_Standard_Controller::process_shipping_callback has 102 lines in its body, above 100 CyclomaticComplexity: 89 (B), based on 9 functions and file level code 117:18 [warning] complexity.function - WC_REST_Paypal_Standard_Controller::process_shipping_callback has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 230 code lines NamingConvention: 92 (A), based on 52 names 37:7 [warning] naming.too_long - class `WC_REST_Paypal_Standard_Controller` is 34 characters (limit 30); very long names make code hard to read 77:18 [warning] naming.too_long - method `validate_shipping_callback_request` is 34 characters (limit 30); very long names make code hard to read 139:4 [warning] naming.too_long - variable `paypal_order_id_from_order_meta` is 31 characters (limit 30); very long names make code hard to read 391:19 [warning] naming.too_long - method `get_update_shipping_error_response` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-paypal-webhooks-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 88 (B), based on 8 names 24:7 [warning] naming.too_long - class `WC_REST_Paypal_Webhooks_Controller` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-posts-controller.php (other) CodeLength: not graded 172:18 [warning] length.function - WC_REST_Posts_Controller::create_item has 54 lines in its body, above 50 307:18 [error] length.function - WC_REST_Posts_Controller::get_items has 101 lines in its body, above 100 415:18 [warning] length.function - WC_REST_Posts_Controller::delete_item has 66 lines in its body, above 50 545:21 [warning] length.function - WC_REST_Posts_Controller::get_allowed_query_vars has 67 lines in its body, above 50 618:18 [warning] length.function - WC_REST_Posts_Controller::get_collection_params has 95 lines in its body, above 50 19:16 [warning] length.class - WC_REST_Posts_Controller has 706 lines, above 500 for a other 1:1 [warning] length.file - the file has 724 lines, above 600 for a other CyclomaticComplexity: 92 (A), based on 18 functions and file level code 253:18 [warning] complexity.function - WC_REST_Posts_Controller::update_item has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 307:18 [warning] complexity.function - WC_REST_Posts_Controller::get_items has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 388 code lines 87:1 [warning] duplication.repeated_block - lines 87 to 102 repeat lines 71 to 86 (58 tokens); repeated code has to be fixed in every copy 103:1 [warning] duplication.repeated_block - lines 103 to 118 repeat lines 71 to 86 (58 tokens); repeated code has to be fixed in every copy 244:1 [warning] duplication.repeated_block - lines 244 to 260 repeat lines 137 to 153 (119 tokens); repeated code has to be fixed in every copy 420:1 [warning] duplication.repeated_block - lines 420 to 421 repeat lines 259 to 260 (53 tokens); repeated code has to be fixed in every copy 645:1 [warning] duplication.repeated_block - lines 645 to 653 repeat lines 636 to 644 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 57 names 156:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 514:29 [warning] naming.generic - variable `var` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-attribute-terms-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Attribute_Terms_Controller` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-attributes-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 49 code lines NamingConvention: 93 (A), based on 15 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Attributes_Controller` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-brands-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 67 (D), based on 3 names 24:7 [warning] naming.too_long - class `WC_REST_Product_Brands_Controller` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-categories-controller.php (other) CodeLength: not graded 35:18 [warning] length.function - WC_REST_Product_Categories_Controller::prepare_item_for_response has 55 lines in its body, above 50 96:18 [error] length.function - WC_REST_Product_Categories_Controller::get_item_schema has 116 lines in its body, above 100 CyclomaticComplexity: 93 (A), based on 3 functions and file level code 222:21 [warning] complexity.function - WC_REST_Product_Categories_Controller::update_term_meta_fields has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 191 code lines NamingConvention: 89 (B), based on 18 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Categories_Controller` is 37 characters (limit 30); very long names make code hard to read 42:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-custom-fields-controller.php (other) CodeLength: not graded 69:18 [warning] length.function - WC_REST_Product_Custom_Fields_Controller::get_item_names has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 82 code lines NamingConvention: 97 (A), based on 29 names 21:7 [warning] naming.too_long - class `WC_REST_Product_Custom_Fields_Controller` is 40 characters (limit 30); very long names make code hard to read Security: not graded 88:20 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $order is safe.) woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-reviews-controller.php (other) CodeLength: not graded 38:18 [warning] length.function - WC_REST_Product_Reviews_Controller::register_routes has 92 lines in its body, above 50 236:18 [error] length.function - WC_REST_Product_Reviews_Controller::get_items has 135 lines in its body, above 100 378:18 [error] length.function - WC_REST_Product_Reviews_Controller::create_item has 139 lines in its body, above 100 542:18 [error] length.function - WC_REST_Product_Reviews_Controller::update_item has 114 lines in its body, above 100 663:18 [warning] length.function - WC_REST_Product_Reviews_Controller::delete_item has 62 lines in its body, above 50 733:18 [warning] length.function - WC_REST_Product_Reviews_Controller::prepare_item_for_response has 62 lines in its body, above 50 887:18 [error] length.function - WC_REST_Product_Reviews_Controller::get_item_schema has 105 lines in its body, above 100 998:18 [error] length.function - WC_REST_Product_Reviews_Controller::get_collection_params has 110 lines in its body, above 100 19:7 [error] length.class - WC_REST_Product_Reviews_Controller has 1219 lines, above 1000 for a other 1:1 [error] length.file - the file has 1237 lines, above 1200 for a other CyclomaticComplexity: 77 (C), based on 21 functions and file level code 236:18 [warning] complexity.function - WC_REST_Product_Reviews_Controller::get_items has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 378:18 [error] complexity.function - WC_REST_Product_Reviews_Controller::create_item has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 542:18 [error] complexity.function - WC_REST_Product_Reviews_Controller::update_item has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely 733:18 [warning] complexity.function - WC_REST_Product_Reviews_Controller::prepare_item_for_response has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1201:21 [warning] complexity.function - WC_REST_Product_Reviews_Controller::handle_status_param has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 813 code lines 172:1 [warning] duplication.repeated_block - lines 172 to 190 repeat lines 139 to 157 (66 tokens); repeated code has to be fixed in every copy 191:1 [warning] duplication.repeated_block - lines 191 to 209 repeat lines 139 to 157 (66 tokens); repeated code has to be fixed in every copy 589:1 [warning] duplication.repeated_block - lines 589 to 593 repeat lines 422 to 426 (80 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 81 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Reviews_Controller` is 34 characters (limit 30); very long names make code hard to read 327:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-shipping-classes-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 88 (B), based on 8 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Shipping_Classes_Controller` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-tags-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Product_Tags_Controller` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-product-variations-controller.php (other) CodeLength: not graded 114:18 [warning] length.function - WC_REST_Product_Variations_Controller::prepare_object_for_response has 80 lines in its body, above 50 203:21 [error] length.function - WC_REST_Product_Variations_Controller::prepare_object_for_database has 247 lines in its body, above 100 499:21 [warning] length.function - WC_REST_Product_Variations_Controller::set_variation_image has 53 lines in its body, above 50 558:18 [error] length.function - WC_REST_Product_Variations_Controller::get_item_schema has 388 lines in its body, above 100 954:21 [error] length.function - WC_REST_Product_Variations_Controller::prepare_objects_query has 212 lines in its body, above 100 1202:18 [error] length.function - WC_REST_Product_Variations_Controller::get_collection_params has 104 lines in its body, above 100 30:7 [error] length.class - WC_REST_Product_Variations_Controller has 1366 lines, above 1000 for a other 1:1 [error] length.file - the file has 1395 lines, above 1200 for a other CyclomaticComplexity: 68 (D), based on 13 functions and file level code 203:21 [error] complexity.function - WC_REST_Product_Variations_Controller::prepare_object_for_database has a cyclomatic complexity of 52, untestable risk (above 10): each of its 52 paths needs its own test, which makes it hard to follow and to change safely 954:21 [error] complexity.function - WC_REST_Product_Variations_Controller::prepare_objects_query has a cyclomatic complexity of 33, high risk (above 10): each of its 33 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1056 code lines 831:1 [warning] duplication.repeated_block - lines 831 to 837 repeat lines 579 to 585 (50 tokens); repeated code has to be fixed in every copy 876:1 [warning] duplication.repeated_block - lines 876 to 883 repeat lines 682 to 689 (63 tokens); repeated code has to be fixed in every copy 906:1 [warning] duplication.repeated_block - lines 906 to 913 repeat lines 682 to 689 (63 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 68 names 30:7 [warning] naming.too_long - class `WC_REST_Product_Variations_Controller` is 37 characters (limit 30); very long names make code hard to read 119:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 1313:19 [warning] naming.too_long - method `delete_unmatched_product_variations` is 35 characters (limit 30); very long names make code hard to read 1325:4 [warning] naming.too_long - variable `possible_attribute_combinations` is 31 characters (limit 30); very long names make code hard to read 1380:18 [warning] naming.too_long - method `exclude_product_variation_statuses` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-products-catalog-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 26:7 [warning] naming.too_long - class `WC_REST_Products_Catalog_Controller` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-products-controller.php (other) CodeLength: not graded 174:21 [warning] length.function - WC_REST_Products_Controller::get_images has 51 lines in its body, above 50 233:21 [error] length.function - WC_REST_Products_Controller::prepare_objects_query has 261 lines in its body, above 100 672:21 [warning] length.function - WC_REST_Products_Controller::set_product_images has 69 lines in its body, above 50 749:21 [error] length.function - WC_REST_Products_Controller::prepare_object_for_database has 419 lines in its body, above 100 1174:18 [error] length.function - WC_REST_Products_Controller::get_item_schema has 679 lines in its body, above 100 1859:18 [error] length.function - WC_REST_Products_Controller::get_collection_params has 111 lines in its body, above 100 2045:21 [warning] length.function - WC_REST_Products_Controller::get_product_data has 51 lines in its body, above 50 30:7 [error] length.class - WC_REST_Products_Controller has 2144 lines, above 1000 for a other 1:1 [error] length.file - the file has 2173 lines, above 1200 for a other CyclomaticComplexity: 67 (D), based on 19 functions and file level code 233:21 [error] complexity.function - WC_REST_Products_Controller::prepare_objects_query has a cyclomatic complexity of 45, high risk (above 10): each of its 45 paths needs its own test, which makes it hard to follow and to change safely 672:21 [warning] complexity.function - WC_REST_Products_Controller::set_product_images has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 749:21 [error] complexity.function - WC_REST_Products_Controller::prepare_object_for_database has a cyclomatic complexity of 101, untestable risk (above 10): each of its 101 paths needs its own test, which makes it hard to follow and to change safely 2045:21 [warning] complexity.function - WC_REST_Products_Controller::get_product_data has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 1626 code lines 893:1 [warning] duplication.repeated_block - lines 893 to 901 repeat lines 878 to 886 (112 tokens); repeated code has to be fixed in every copy 1567:1 [warning] duplication.repeated_block - lines 1567 to 1574 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1594:1 [warning] duplication.repeated_block - lines 1594 to 1601 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1606:1 [warning] duplication.repeated_block - lines 1606 to 1612 repeat lines 1579 to 1585 (51 tokens); repeated code has to be fixed in every copy 1621:1 [warning] duplication.repeated_block - lines 1621 to 1628 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1633:1 [warning] duplication.repeated_block - lines 1633 to 1639 repeat lines 1579 to 1585 (51 tokens); repeated code has to be fixed in every copy 1648:1 [warning] duplication.repeated_block - lines 1648 to 1655 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1672:1 [warning] duplication.repeated_block - lines 1672 to 1678 repeat lines 1216 to 1222 (51 tokens); repeated code has to be fixed in every copy 1709:1 [warning] duplication.repeated_block - lines 1709 to 1716 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1754:1 [warning] duplication.repeated_block - lines 1754 to 1761 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1761:1 [warning] duplication.repeated_block - lines 1761 to 1770 repeat lines 1716 to 1725 (80 tokens); repeated code has to be fixed in every copy 1788:1 [warning] duplication.repeated_block - lines 1788 to 1796 repeat lines 1532 to 1540 (55 tokens); repeated code has to be fixed in every copy 1802:1 [warning] duplication.repeated_block - lines 1802 to 1809 repeat lines 1347 to 1354 (63 tokens); repeated code has to be fixed in every copy 1937:1 [warning] duplication.repeated_block - lines 1937 to 1947 repeat lines 1926 to 1936 (63 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 116 names 86:11 [warning] naming.too_long - property `processed_attachment_ids_for_request` is 36 characters (limit 30); very long names make code hard to read 549:18 [warning] naming.too_long - method `add_search_criteria_to_wp_query_join` is 36 characters (limit 30); very long names make code hard to read 576:18 [warning] naming.too_long - method `add_search_criteria_to_wp_query_where` is 37 characters (limit 30); very long names make code hard to read 1976:18 [warning] naming.too_long - method `get_suggested_products_collection_params` is 40 characters (limit 30); very long names make code hard to read 2046:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 2138:21 [warning] naming.too_long - method `prepare_object_for_response_core` is 32 characters (limit 30); very long names make code hard to read Security: not graded 631:37 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$db_column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-refunds-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 79 code lines NamingConvention: 95 (A), based on 19 names 101:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-coupons-totals-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 69 code lines NamingConvention: 88 (B), based on 17 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Coupons_Totals_Controller` is 40 characters (limit 30); very long names make code hard to read 44:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-customers-totals-controller.php (other) CodeLength: not graded 41:21 [warning] length.function - WC_REST_Report_Customers_Totals_Controller::get_reports has 68 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 95 code lines NamingConvention: 89 (B), based on 19 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Customers_Totals_Controller` is 42 characters (limit 30); very long names make code hard to read 94:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 82:27 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$customers_query->query_from`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Both clauses are built and escaped by WP_User_Query::prepare_query().) woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-orders-totals-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 60 code lines NamingConvention: 87 (B), based on 15 names 21:7 [warning] naming.too_long - class `WC_REST_Report_Orders_Totals_Controller` is 39 characters (limit 30); very long names make code hard to read 45:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-products-totals-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 66 code lines NamingConvention: 87 (B), based on 15 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Products_Totals_Controller` is 41 characters (limit 30); very long names make code hard to read 49:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-reviews-totals-controller.php (other) CodeLength: not graded 41:21 [warning] length.function - WC_REST_Report_Reviews_Totals_Controller::get_reports has 92 lines in its body, above 50 CyclomaticComplexity: 81 (B), based on 3 functions and file level code 41:21 [warning] complexity.function - WC_REST_Report_Reviews_Totals_Controller::get_reports has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 102 code lines NamingConvention: 92 (A), based on 24 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Reviews_Totals_Controller` is 40 characters (limit 30); very long names make code hard to read 120:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 105:20 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$fields`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Every clause is either built above from literals and $wpdb table names or supplied by a comments_clauses callback, exactly as WP_Comment_Query assembles them.) woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-sales-controller.php (other) CodeLength: not graded 89:18 [warning] length.function - WC_REST_Report_Sales_Controller::get_item_schema has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 90 code lines NamingConvention: 85 (B), based on 13 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Sales_Controller` is 31 characters (limit 30); very long names make code hard to read 42:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-report-top-sellers-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Report_Top_Sellers_Controller` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-reports-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-setting-options-controller.php (other) CodeLength: not graded 74:18 [warning] length.function - WC_REST_Setting_Options_Controller::get_group_settings has 60 lines in its body, above 50 166:18 [warning] length.function - WC_REST_Setting_Options_Controller::get_item_schema has 92 lines in its body, above 50 CyclomaticComplexity: 91 (A), based on 5 functions and file level code 74:18 [warning] complexity.function - WC_REST_Setting_Options_Controller::get_group_settings has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 188 code lines 182:1 [warning] duplication.repeated_block - lines 182 to 190 repeat lines 173 to 181 (55 tokens); repeated code has to be fixed in every copy 200:1 [warning] duplication.repeated_block - lines 200 to 208 repeat lines 191 to 199 (55 tokens); repeated code has to be fixed in every copy 220:1 [warning] duplication.repeated_block - lines 220 to 228 repeat lines 191 to 199 (55 tokens); repeated code has to be fixed in every copy 229:1 [warning] duplication.repeated_block - lines 229 to 237 repeat lines 191 to 199 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 27 names 19:7 [warning] naming.too_long - class `WC_REST_Setting_Options_Controller` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-settings-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-methods-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Methods_Controller` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-locations-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zone_Locations_Controller` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zone-methods-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 75 (C), based on 4 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zone_Methods_Controller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller-base.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 0 (F), based on 50 code lines 68:1 [warning] duplication.repeated_block - lines 68 to 82 repeat lines 50 to 64 (57 tokens); repeated code has to be fixed in every copy 83:1 [warning] duplication.repeated_block - lines 83 to 101 repeat lines 65 to 83 (89 tokens); repeated code has to be fixed in every copy 101:1 [warning] duplication.repeated_block - lines 101 to 118 repeat lines 65 to 82 (79 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 11 names 21:16 [warning] naming.too_long - class `WC_REST_Shipping_Zones_Controller_Base` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-shipping-zones-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_Shipping_Zones_Controller` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_System_Status_Controller` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-system-status-tools-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 19:7 [warning] naming.too_long - class `WC_REST_System_Status_Tools_Controller` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-tax-classes-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-taxes-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 70 (C), based on 68 code lines 86:1 [warning] duplication.repeated_block - lines 86 to 94 repeat lines 77 to 85 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 13 names 36:44 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-terms-controller.php (other) CodeLength: not graded 44:18 [warning] length.function - WC_REST_Terms_Controller::register_routes has 84 lines in its body, above 50 278:18 [error] length.function - WC_REST_Terms_Controller::get_items has 112 lines in its body, above 100 397:18 [warning] length.function - WC_REST_Terms_Controller::create_item has 68 lines in its body, above 50 491:18 [warning] length.function - WC_REST_Terms_Controller::update_item has 53 lines in its body, above 50 712:18 [warning] length.function - WC_REST_Terms_Controller::get_collection_params has 85 lines in its body, above 50 18:16 [warning] length.class - WC_REST_Terms_Controller has 806 lines, above 500 for a other 1:1 [warning] length.file - the file has 823 lines, above 600 for a other CyclomaticComplexity: 95 (A), based on 19 functions and file level code 278:18 [warning] complexity.function - WC_REST_Terms_Controller::get_items has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 517 code lines 164:1 [warning] duplication.repeated_block - lines 164 to 180 repeat lines 126 to 142 (51 tokens); repeated code has to be fixed in every copy 500:1 [warning] duplication.repeated_block - lines 500 to 511 repeat lines 403 to 414 (139 tokens); repeated code has to be fixed in every copy 600:1 [warning] duplication.repeated_block - lines 600 to 606 repeat lines 456 to 461 (55 tokens); repeated code has to be fixed in every copy 727:1 [warning] duplication.repeated_block - lines 727 to 735 repeat lines 718 to 726 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 65 names 357:6 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-variations-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/rest-api/Controllers/Version3/class-wc-rest-webhooks-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/rest-api/Controllers/Version4/class-wc-rest-settings-v4-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/includes/rest-api/Controllers/Version4/class-wc-rest-v4-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 85 (B), based on 13 names 75:18 [warning] naming.too_long - method `prepare_response_for_collection` is 31 characters (limit 30); very long names make code hard to read 80:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/rest-api/Package.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/rest-api/Server.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 177 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/includes/rest-api/Utilities/ImageAttachment.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 40 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/rest-api/Utilities/SingletonTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php (other) CodeLength: not graded 163:18 [warning] length.function - WC_Shipping_Flat_Rate::calculate_shipping has 72 lines in its body, above 50 CyclomaticComplexity: 91 (A), based on 9 functions and file level code 163:18 [warning] complexity.function - WC_Shipping_Flat_Rate::calculate_shipping has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 180 code lines NamingConvention: 100 (A), based on 40 names Security: not graded woocommerce/includes/shipping/flat-rate/includes/settings-flat-rate.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/shipping/free-shipping/class-wc-shipping-free-shipping.php (other) CodeLength: not graded 160:18 [warning] length.function - WC_Shipping_Free_Shipping::is_available has 54 lines in its body, above 50 CyclomaticComplexity: 91 (A), based on 8 functions and file level code 160:18 [warning] complexity.function - WC_Shipping_Free_Shipping::is_available has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 145 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/includes/shipping/legacy-flat-rate/class-wc-shipping-legacy-flat-rate.php (other) CodeLength: not graded 194:18 [warning] length.function - WC_Shipping_Legacy_Flat_Rate::calculate_shipping has 85 lines in its body, above 50 CyclomaticComplexity: 86 (B), based on 13 functions and file level code 194:18 [warning] complexity.function - WC_Shipping_Legacy_Flat_Rate::calculate_shipping has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 383:18 [warning] complexity.function - WC_Shipping_Legacy_Flat_Rate::get_extra_cost has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 233 code lines NamingConvention: 100 (A), based on 54 names Security: not graded woocommerce/includes/shipping/legacy-flat-rate/includes/settings-flat-rate.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 115 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/shipping/legacy-free-shipping/class-wc-shipping-legacy-free-shipping.php (other) CodeLength: not graded 96:18 [warning] length.function - WC_Shipping_Legacy_Free_Shipping::init_form_fields has 59 lines in its body, above 50 162:18 [warning] length.function - WC_Shipping_Legacy_Free_Shipping::is_available has 74 lines in its body, above 50 CyclomaticComplexity: 71 (C), based on 7 functions and file level code 162:18 [error] complexity.function - WC_Shipping_Legacy_Free_Shipping::is_available has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 166 code lines NamingConvention: 95 (A), based on 19 names 23:7 [warning] naming.too_long - class `WC_Shipping_Legacy_Free_Shipping` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/shipping/legacy-international-delivery/class-wc-shipping-legacy-international-delivery.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 44 code lines NamingConvention: 80 (B), based on 5 names 21:7 [warning] naming.too_long - class `WC_Shipping_Legacy_International_Delivery` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/shipping/legacy-local-delivery/class-wc-shipping-legacy-local-delivery.php (other) CodeLength: not graded 129:18 [warning] length.function - WC_Shipping_Legacy_Local_Delivery::init_form_fields has 67 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 126 code lines NamingConvention: 92 (A), based on 13 names 21:7 [warning] naming.too_long - class `WC_Shipping_Legacy_Local_Delivery` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/shipping/legacy-local-pickup/class-wc-shipping-legacy-local-pickup.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 138 code lines NamingConvention: 92 (A), based on 25 names 21:7 [warning] naming.too_long - class `WC_Shipping_Legacy_Local_Pickup` is 31 characters (limit 30); very long names make code hard to read 181:24 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/includes/shipping/local-pickup/class-wc-shipping-local-pickup.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 70 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/shortcodes/class-wc-shortcode-cart.php (other) CodeLength: not graded CyclomaticComplexity: 83 (B), based on 2 functions and file level code 23:25 [warning] complexity.function - WC_Shortcode_Cart::calculate_shipping has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 6 names Security: not graded 82:30 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-shipping-calculator-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 82:94 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/shortcodes/class-wc-shortcode-checkout.php (other) CodeLength: not graded 81:26 [error] length.function - WC_Shortcode_Checkout::order_pay has 177 lines in its body, above 100 264:26 [warning] length.function - WC_Shortcode_Checkout::order_received has 83 lines in its body, above 50 CyclomaticComplexity: 57 (F), based on 6 functions and file level code 81:26 [error] complexity.function - WC_Shortcode_Checkout::order_pay has a cyclomatic complexity of 42, high risk (above 10): each of its 42 paths needs its own test, which makes it hard to follow and to change safely 264:26 [warning] complexity.function - WC_Shortcode_Checkout::order_received has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 211 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php (other) CodeLength: not graded 206:25 [warning] length.function - WC_Shortcode_My_Account::edit_address has 56 lines in its body, above 50 266:25 [warning] length.function - WC_Shortcode_My_Account::lost_password has 68 lines in its body, above 50 343:25 [warning] length.function - WC_Shortcode_My_Account::retrieve_password has 64 lines in its body, above 50 18:7 [warning] length.class - WC_Shortcode_My_Account has 808 lines, above 500 for a other 1:1 [warning] length.file - the file has 825 lines, above 600 for a other CyclomaticComplexity: 94 (A), based on 27 functions and file level code 94:26 [warning] complexity.function - WC_Shortcode_My_Account::my_account_add_notices has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 266:25 [warning] complexity.function - WC_Shortcode_My_Account::lost_password has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 425 code lines NamingConvention: 80 (B), based on 82 names 23:16 [warning] naming.too_long - constant `PASSWORD_RESET_FORM_TOKEN_VERSION` is 33 characters (limit 30); very long names make code hard to read 28:16 [warning] naming.too_long - constant `PASSWORD_RESET_BRIDGE_EXPIRATION` is 32 characters (limit 30); very long names make code hard to read 33:16 [warning] naming.too_long - constant `PASSWORD_RESET_BRIDGE_TRANSIENT_PREFIX` is 38 characters (limit 30); very long names make code hard to read 38:16 [warning] naming.too_long - constant `PASSWORD_RESET_BRIDGE_HANDLE_LENGTH` is 35 characters (limit 30); very long names make code hard to read 453:25 [warning] naming.too_long - method `create_password_reset_bridge_token` is 34 characters (limit 30); very long names make code hard to read 497:25 [warning] naming.too_long - method `is_password_reset_bridge_handle` is 31 characters (limit 30); very long names make code hard to read 507:26 [warning] naming.too_long - method `discard_password_reset_bridge_token` is 35 characters (limit 30); very long names make code hard to read 519:26 [warning] naming.too_long - method `consume_password_reset_bridge_token` is 35 characters (limit 30); very long names make code hard to read 571:26 [warning] naming.too_long - method `get_eligible_password_reset_user` is 32 characters (limit 30); very long names make code hard to read 596:26 [warning] naming.too_long - method `get_posted_password_reset_bridge_credentials` is 44 characters (limit 30); very long names make code hard to read 624:26 [warning] naming.too_long - method `create_password_reset_form_token` is 32 characters (limit 30); very long names make code hard to read 669:26 [warning] naming.too_long - method `get_password_reset_bridge_signature` is 35 characters (limit 30); very long names make code hard to read 689:26 [warning] naming.too_long - method `get_password_reset_bridge_transient_name` is 40 characters (limit 30); very long names make code hard to read 699:26 [warning] naming.too_long - method `get_password_reset_state_signature` is 34 characters (limit 30); very long names make code hard to read 713:26 [warning] naming.too_long - method `get_password_reset_state_expiration` is 35 characters (limit 30); very long names make code hard to read 733:26 [warning] naming.too_long - method `add_password_reset_key_error_notice` is 35 characters (limit 30); very long names make code hard to read Security: not graded 285:89 [info] security.unsanitized_input - read of `$_COOKIE` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 597:30 [info] security.unsanitized_input - read of `$_POST['woocommerce-reset-password-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 597:86 [info] security.unsanitized_input - read of `$_POST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 801:86 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Read-only UI selector; login and path are normalized downstream.) woocommerce/includes/shortcodes/class-wc-shortcode-order-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 73 (C), based on 2 functions and file level code 33:25 [warning] complexity.function - WC_Shortcode_Order_Tracking::output has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 8 names Security: not graded 40:30 [info] security.unsanitized_input - read of `$_REQUEST['woocommerce-order-tracking-nonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 40:89 [info] security.unsanitized_input - read of `$_REQUEST['_wpnonce']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) woocommerce/includes/shortcodes/class-wc-shortcode-products.php (other) CodeLength: not graded 178:21 [warning] length.function - WC_Shortcode_Products::parse_query_args has 66 lines in its body, above 50 614:21 [warning] length.function - WC_Shortcode_Products::product_loop has 81 lines in its body, above 50 18:7 [warning] length.class - WC_Shortcode_Products has 696 lines, above 500 for a other 1:1 [warning] length.file - the file has 713 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 27 functions and file level code Duplication: 100 (A), based on 378 code lines 465:1 [warning] duplication.repeated_block - lines 465 to 472 repeat lines 441 to 448 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 66 names 396:21 [warning] naming.too_long - method `set_best_selling_products_query_args` is 36 characters (limit 30); very long names make code hard to read 408:21 [warning] naming.too_long - method `set_top_rated_products_query_args` is 33 characters (limit 30); very long names make code hard to read 420:21 [warning] naming.too_long - method `set_visibility_hidden_query_args` is 32 characters (limit 30); very long names make code hard to read 437:21 [warning] naming.too_long - method `set_visibility_catalog_query_args` is 33 characters (limit 30); very long names make code hard to read 461:21 [warning] naming.too_long - method `set_visibility_search_query_args` is 32 characters (limit 30); very long names make code hard to read 485:21 [warning] naming.too_long - method `set_visibility_featured_query_args` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/theme-support/class-wc-twenty-eleven.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-fifteen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-fourteen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-nineteen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-seventeen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-sixteen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-ten.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-thirteen.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-twelve.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-twenty-one.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-twenty-three.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-twenty-two.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/theme-support/class-wc-twenty-twenty.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/includes/tracks/class-wc-site-tracking.php (other) CodeLength: not graded 66:25 [warning] length.function - WC_Site_Tracking::add_tracking_function has 73 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 105 code lines NamingConvention: 97 (A), based on 29 names 250:25 [warning] naming.too_long - method `maybe_unschedule_deferred_tracks` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/class-wc-tracks-client.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 100 (A), based on 180 code lines NamingConvention: 97 (A), based on 35 names 218:25 [warning] naming.too_long - method `add_request_timestamp_and_nocache` is 33 characters (limit 30); very long names make code hard to read Security: not graded 236:6 [warning] security.include_variable - include_once of `$jetpack_lib` builds the file path from data; a crafted path can load another file woocommerce/includes/tracks/class-wc-tracks-event.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 111 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/includes/tracks/class-wc-tracks-footer-pixel.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/includes/tracks/class-wc-tracks.php (other) CodeLength: not graded CyclomaticComplexity: 96 (A), based on 7 functions 61:25 [warning] complexity.function - WC_Tracks::get_server_details has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 90 code lines NamingConvention: 93 (A), based on 27 names 62:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 154:25 [warning] naming.too_long - method `track_woocommerce_allow_tracking_toggled` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-admin-setup-wizard-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 15 functions and file level code Duplication: 0 (F), based on 60 code lines 48:1 [warning] duplication.repeated_block - lines 48 to 58 repeat lines 28 to 39 (65 tokens); repeated code has to be fixed in every copy 78:1 [warning] duplication.repeated_block - lines 78 to 88 repeat lines 28 to 39 (61 tokens); repeated code has to be fixed in every copy 89:1 [warning] duplication.repeated_block - lines 89 to 106 repeat lines 41 to 58 (66 tokens); repeated code has to be fixed in every copy 107:1 [warning] duplication.repeated_block - lines 107 to 124 repeat lines 41 to 58 (66 tokens); repeated code has to be fixed in every copy 125:1 [warning] duplication.repeated_block - lines 125 to 142 repeat lines 41 to 58 (66 tokens); repeated code has to be fixed in every copy 143:1 [warning] duplication.repeated_block - lines 143 to 160 repeat lines 41 to 58 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/includes/tracks/events/class-wc-coupon-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/includes/tracks/events/class-wc-coupons-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 39 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/tracks/events/class-wc-extensions-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 70 code lines NamingConvention: 73 (C), based on 15 names 57:18 [warning] naming.too_long - method `track_extensions_page_connection_error` is 38 characters (limit 30); very long names make code hard to read 84:18 [warning] naming.too_long - method `track_helper_connection_cancelled` is 33 characters (limit 30); very long names make code hard to read 91:18 [warning] naming.too_long - method `track_helper_connection_complete` is 32 characters (limit 30); very long names make code hard to read 115:18 [warning] naming.too_long - method `track_helper_subscriptions_refresh` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-importer-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 83 (B), based on 6 names 67:18 [warning] naming.too_long - method `track_product_importer_complete` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-order-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/tracks/events/class-wc-orders-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 93 (A), based on 9 functions and file level code 180:18 [warning] complexity.function - WC_Orders_Tracking::track_add_order_from_edit has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 125 code lines NamingConvention: 96 (A), based on 26 names 220:18 [warning] naming.too_long - method `possibly_add_order_tracking_scripts` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-product-collection-block-tracking.php (other) CodeLength: not graded 34:18 [warning] length.function - WC_Product_Collection_Block_Tracking::track_collection_instances has 60 lines in its body, above 50 105:19 [warning] length.function - WC_Product_Collection_Block_Tracking::parse_blocks_track_data has 63 lines in its body, above 50 241:19 [warning] length.function - WC_Product_Collection_Block_Tracking::get_query_filters_usage_data has 80 lines in its body, above 50 CyclomaticComplexity: 48 (F), based on 5 functions and file level code 34:18 [warning] complexity.function - WC_Product_Collection_Block_Tracking::track_collection_instances has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 105:19 [error] complexity.function - WC_Product_Collection_Block_Tracking::parse_blocks_track_data has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 186:19 [warning] complexity.function - WC_Product_Collection_Block_Tracking::parse_editor_location_context has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 241:19 [error] complexity.function - WC_Product_Collection_Block_Tracking::get_query_filters_usage_data has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 200 code lines NamingConvention: 97 (A), based on 37 names 17:7 [warning] naming.too_long - class `WC_Product_Collection_Block_Tracking` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-products-tracking.php (other) CodeLength: not graded 161:18 [error] length.function - WC_Products_Tracking::track_product_updated_client_side has 101 lines in its body, above 100 18:7 [warning] length.class - WC_Products_Tracking has 597 lines, above 500 for a other 1:1 [warning] length.file - the file has 614 lines, above 600 for a other CyclomaticComplexity: 86 (B), based on 18 functions and file level code 93:18 [warning] complexity.function - WC_Products_Tracking::track_categories_and_tags_view has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 336:18 [error] complexity.function - WC_Products_Tracking::track_product_published has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 409:18 [warning] complexity.function - WC_Products_Tracking::track_product_category_created has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 473:21 [warning] complexity.function - WC_Products_Tracking::get_product_screen has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 306 code lines NamingConvention: 80 (B), based on 49 names 31:15 [warning] naming.too_long - constant `TRACK_PRODUCT_PUBLISHED_CALLBACK` is 32 characters (limit 30); very long names make code hard to read 161:18 [warning] naming.too_long - method `track_product_updated_client_side` is 33 characters (limit 30); very long names make code hard to read 268:26 [warning] naming.too_long - method `get_possible_product_type_options_ids` is 37 characters (limit 30); very long names make code hard to read 295:4 [warning] naming.too_long - variable `possible_product_type_options_ids` is 33 characters (limit 30); very long names make code hard to read 313:26 [warning] naming.too_long - method `get_product_type_options_string` is 31 characters (limit 30); very long names make code hard to read 391:18 [warning] naming.too_long - method `track_product_published_maybe_defer` is 35 characters (limit 30); very long names make code hard to read 513:18 [warning] naming.too_long - method `possibly_add_product_tracking_scripts` is 37 characters (limit 30); very long names make code hard to read 534:18 [warning] naming.too_long - method `possibly_add_product_import_scripts` is 35 characters (limit 30); very long names make code hard to read 550:18 [warning] naming.too_long - method `possibly_add_attribute_tracking_scripts` is 39 characters (limit 30); very long names make code hard to read 569:18 [warning] naming.too_long - method `possibly_add_tag_tracking_scripts` is 33 characters (limit 30); very long names make code hard to read Security: not graded 64:33 [info] security.unsanitized_input - read of `$_GET['post_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 103:33 [info] security.unsanitized_input - read of `$_GET['post_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 107:28 [info] security.unsanitized_input - read of `$_GET['taxonomy']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 439:71 [info] security.unsanitized_input - read of `$_POST['display_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 478:30 [info] security.unsanitized_input - read of `$_GET['post_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 486:30 [info] security.unsanitized_input - read of `$_GET['post_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 555:41 [info] security.unsanitized_input - read of `$_GET['page']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 574:30 [info] security.unsanitized_input - read of `$_GET['post_type']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification`) 583:34 [info] security.unsanitized_input - read of `$_GET['taxonomy']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 592:34 [info] security.unsanitized_input - read of `$_GET['taxonomy']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/tracks/events/class-wc-settings-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 91 (A), based on 7 functions and file level code 174:18 [warning] complexity.function - WC_Settings_Tracking::send_settings_change_event has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 113 code lines NamingConvention: 92 (A), based on 25 names 88:18 [warning] naming.too_long - method `add_option_to_list_and_track_setting_change` is 43 characters (limit 30); very long names make code hard to read 232:18 [warning] naming.too_long - method `possibly_add_settings_tracking_scripts` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/tracks/events/class-wc-status-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/tracks/events/class-wc-theme-tracking.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/includes/traits/trait-wc-item-totals.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/includes/walkers/class-product-cat-dropdown-walker.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/includes/walkers/class-product-cat-list-walker.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/includes/walkers/class-wc-product-cat-dropdown-walker.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/includes/walkers/class-wc-product-cat-list-walker.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 70 (C), based on 52 code lines 67:1 [warning] duplication.repeated_block - lines 67 to 73 repeat lines 48 to 54 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/includes/wc-account-functions.php (other) CodeLength: not graded 296:10 [warning] length.function - wc_get_account_orders_actions has 73 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 270 code lines NamingConvention: 83 (B), based on 53 names 148:10 [warning] naming.too_long - function `wc_is_current_account_menu_item` is 31 characters (limit 30); very long names make code hard to read 170:10 [warning] naming.too_long - function `wc_get_account_menu_item_classes` is 32 characters (limit 30); very long names make code hard to read 237:10 [warning] naming.too_long - function `wc_get_account_downloads_columns` is 32 characters (limit 30); very long names make code hard to read 262:10 [warning] naming.too_long - function `wc_get_account_payment_methods_columns` is 38 characters (limit 30); very long names make code hard to read 279:10 [warning] naming.too_long - function `wc_get_account_payment_methods_types` is 36 characters (limit 30); very long names make code hard to read 379:10 [warning] naming.too_long - function `wc_get_account_formatted_address` is 32 characters (limit 30); very long names make code hard to read 405:10 [warning] naming.too_long - function `wc_get_account_saved_payment_methods_list` is 41 characters (limit 30); very long names make code hard to read 451:10 [warning] naming.too_long - function `wc_get_account_saved_payment_methods_list_item_cc` is 49 characters (limit 30); very long names make code hard to read 474:10 [warning] naming.too_long - function `wc_get_account_saved_payment_methods_list_item_echeck` is 53 characters (limit 30); very long names make code hard to read Security: not graded 34:88 [info] security.unsanitized_input - read of `$_GET['redirect_to']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Value is compared only with network_admin_url(); it is not used as a redirect.) woocommerce/includes/wc-attribute-functions.php (other) CodeLength: not graded 336:10 [warning] length.function - wc_check_if_attribute_name_is_reserved has 81 lines in its body, above 50 511:10 [error] length.function - wc_create_attribute has 174 lines in its body, above 100 738:10 [warning] length.function - wc_delete_attribute has 64 lines in its body, above 50 1:1 [warning] length.file - the file has 825 lines, above 600 for a other CyclomaticComplexity: 79 (C), based on 27 functions and file level code 511:10 [error] complexity.function - wc_create_attribute has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 442 code lines NamingConvention: 84 (B), based on 76 names 35:10 [warning] naming.too_long - function `wc_get_text_attributes_filter_callback` is 38 characters (limit 30); very long names make code hard to read 121:10 [warning] naming.too_long - function `wc_get_attribute_taxonomy_labels` is 32 characters (limit 30); very long names make code hard to read 159:10 [warning] naming.too_long - function `wc_get_attribute_slug_max_byte_length` is 37 characters (limit 30); very long names make code hard to read 181:10 [warning] naming.too_long - function `wc_attribute_taxonomy_name_by_id` is 32 characters (limit 30); very long names make code hard to read 194:10 [warning] naming.too_long - function `wc_attribute_taxonomy_id_by_name` is 32 characters (limit 30); very long names make code hard to read 255:10 [warning] naming.too_long - function `wc_get_attribute_taxonomy_names` is 31 characters (limit 30); very long names make code hard to read 336:10 [warning] naming.too_long - function `wc_check_if_attribute_name_is_reserved` is 38 characters (limit 30); very long names make code hard to read 425:10 [warning] naming.too_long - function `wc_attributes_array_filter_visible` is 34 characters (limit 30); very long names make code hard to read 436:10 [warning] naming.too_long - function `wc_attributes_array_filter_variation` is 36 characters (limit 30); very long names make code hard to read 448:10 [warning] naming.too_long - function `wc_is_attribute_in_product_name` is 31 characters (limit 30); very long names make code hard to read 461:10 [warning] naming.too_long - function `wc_array_filter_default_attributes` is 34 characters (limit 30); very long names make code hard to read 479:3 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wc-brands-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 53 code lines 69:1 [warning] duplication.repeated_block - lines 69 to 70 repeat lines 67 to 68 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/includes/wc-cart-functions.php (other) CodeLength: not graded 76:10 [warning] length.function - wc_add_to_cart_message has 73 lines in its body, above 50 175:10 [warning] length.function - wc_clear_cart_after_payment has 56 lines in its body, above 50 503:10 [warning] length.function - wc_get_default_shipping_method_for_package has 79 lines in its body, above 50 1:1 [warning] length.file - the file has 628 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 20 functions and file level code 76:10 [warning] complexity.function - wc_add_to_cart_message has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 175:10 [warning] complexity.function - wc_clear_cart_after_payment has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 503:10 [warning] complexity.function - wc_get_default_shipping_method_for_package has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 340 code lines NamingConvention: 90 (A), based on 88 names 26:10 [warning] naming.too_long - function `wc_protected_product_add_to_cart` is 32 characters (limit 30); very long names make code hard to read 178:3 [warning] naming.too_long - variable `should_clear_cart_after_payment` is 31 characters (limit 30); very long names make code hard to read 281:10 [warning] naming.too_long - function `wc_cart_totals_taxes_total_html` is 31 characters (limit 30); very long names make code hard to read 335:10 [warning] naming.too_long - function `wc_cart_totals_order_total_html` is 31 characters (limit 30); very long names make code hard to read 386:10 [warning] naming.too_long - function `wc_cart_totals_shipping_method_label` is 36 characters (limit 30); very long names make code hard to read 425:10 [warning] naming.too_long - function `wc_get_chosen_shipping_method_ids` is 33 characters (limit 30); very long names make code hard to read 452:10 [warning] naming.too_long - function `wc_get_chosen_shipping_method_for_package` is 41 characters (limit 30); very long names make code hard to read 503:10 [warning] naming.too_long - function `wc_get_default_shipping_method_for_package` is 42 characters (limit 30); very long names make code hard to read 591:10 [warning] naming.too_long - function `wc_shipping_methods_have_changed` is 32 characters (limit 30); very long names make code hard to read Security: not graded 59:22 [info] security.unsanitized_input - read of `$_REQUEST['_wp_http_referer']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- This function is documented to return the referer unvalidated; every caller passes the result through wp_validate_redirect().) 61:22 [info] security.unsanitized_input - read of `$_SERVER['HTTP_REFERER']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- This function is documented to return the referer unvalidated; every caller passes the result through wp_validate_redirect().) 237:2 [info] security.unescaped_output - echo of `WC()->cart->get_cart_subtotal()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 282:2 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_totals_taxes_total_html', wc_price( WC()->ca...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 302:3 [info] security.unescaped_output - echo of `$label` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 366:2 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_totals_order_total_html', $value )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 377:2 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_totals_fee_html', $cart_totals_fee_html, $fee )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/wc-conditional-functions.php (other) CodeLength: not graded 1:1 [warning] length.file - the file has 661 lines, above 600 for a other CyclomaticComplexity: 71 (C), based on 38 functions and file level code 19:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 256 code lines NamingConvention: 95 (A), based on 60 names 608:10 [warning] naming.too_long - function `wc_current_theme_supports_woocommerce_or_fse` is 44 characters (limit 30); very long names make code hard to read 622:10 [warning] naming.too_long - function `wc_wp_theme_get_element_class_name` is 34 characters (limit 30); very long names make code hard to read 642:10 [warning] naming.too_long - function `wc_block_theme_has_styles_for_element` is 37 characters (limit 30); very long names make code hard to read Security: not graded 322:70 [info] security.unsanitized_input - read of `$_REQUEST['page']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/wc-core-functions.php (other) CodeLength: not graded 89:10 [warning] length.function - wc_create_order has 56 lines in its body, above 50 303:10 [warning] length.function - wc_get_template has 53 lines in its body, above 50 388:10 [warning] length.function - wc_locate_template has 52 lines in its body, above 50 531:10 [error] length.function - get_woocommerce_currency_symbols has 176 lines in its body, above 100 799:10 [warning] length.function - wc_get_image_size has 65 lines in its body, above 50 923:10 [warning] length.function - wc_setcookie has 59 lines in its body, above 50 1044:10 [warning] length.function - wc_fix_rewrite_rules has 55 lines in its body, above 50 1322:10 [warning] length.function - wc_array_cartesian has 58 lines in its body, above 50 1666:10 [warning] length.function - wc_get_shipping_method_count has 56 lines in its body, above 50 2599:10 [error] length.function - _wc_delete_transients has 106 lines in its body, above 100 1:1 [error] length.file - the file has 2704 lines, above 1200 for a other CyclomaticComplexity: 95 (A), based on 88 functions and file level code 799:10 [warning] complexity.function - wc_get_image_size has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1044:10 [warning] complexity.function - wc_fix_rewrite_rules has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1322:10 [warning] complexity.function - wc_array_cartesian has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1613:10 [warning] complexity.function - wc_postcode_location_matcher has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 2599:10 [warning] complexity.function - _wc_delete_transients has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1462 code lines NamingConvention: 94 (A), based on 293 names 171:15 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 171:19 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 485:10 [warning] naming.too_long - function `wc_clear_system_status_theme_info_cache` is 39 characters (limit 30); very long names make code hard to read 531:10 [warning] naming.too_long - function `get_woocommerce_currency_symbols` is 32 characters (limit 30); very long names make code hard to read 716:10 [warning] naming.too_long - function `get_woocommerce_currency_symbol` is 31 characters (limit 30); very long names make code hard to read 1014:10 [warning] naming.too_long - function `flush_rewrite_rules_on_shop_page_save` is 37 characters (limit 30); very long names make code hard to read 1123:10 [warning] naming.too_long - function `wc_ms_protect_download_rewite_rules` is 35 characters (limit 30); very long names make code hard to read 1224:10 [warning] naming.too_long - function `wc_get_customer_default_location` is 32 characters (limit 30); very long names make code hard to read 1311:24 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 1464:10 [warning] naming.too_long - function `woocommerce_register_shipping_method` is 36 characters (limit 30); very long names make code hard to read 1755:10 [warning] naming.too_long - function `wc_product_attribute_uasort_comparison` is 38 characters (limit 30); very long names make code hard to read 1769:10 [warning] naming.too_long - function `wc_shipping_zone_method_order_uasort_comparison` is 47 characters (limit 30); very long names make code hard to read 1781:10 [warning] naming.too_long - function `wc_checkout_fields_uasort_comparison` is 36 characters (limit 30); very long names make code hard to read 1869:30 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 1980:10 [warning] naming.too_long - function `wc_remove_number_precision_deep` is 31 characters (limit 30); very long names make code hard to read 2265:24 [warning] naming.generic - parameter `var` is a generic name; it says nothing about what it holds 2303:10 [warning] naming.too_long - function `wc_prevent_dangerous_auto_updates` is 33 characters (limit 30); very long names make code hard to read 2560:10 [warning] naming.too_long - function `wc_is_running_from_async_action_scheduler` is 41 characters (limit 30); very long names make code hard to read Security: not graded 352:2 [warning] security.include_variable - include of `$action_args['located']` builds the file path from data; a crafted path can load another file 907:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_queued_js', $js )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 1692:40 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( "','", array_map( 'esc_sql', $method_ids ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) 1693:40 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( "','", array_map( 'esc_sql', $method_ids ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) 2093:4 [info] security.unescaped_output - echo of `$res` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 2645:13 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ', ', array_fill( 0, count( $transient_names ), '%s' ) )`; pass values through prepare with placeholders to prevent SQL injection 2659:12 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ', ', array_fill( 0, count( $options_to_clear ), '%s' ) )`; pass values through prepare with placeholders to prevent SQL injection woocommerce/includes/wc-coupon-functions.php (other) CodeLength: not graded 142:10 [warning] length.function - wc_repair_zero_discount_coupons_lookup_table has 76 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 109 code lines NamingConvention: 96 (A), based on 28 names 142:10 [warning] naming.too_long - function `wc_repair_zero_discount_coupons_lookup_table` is 44 characters (limit 30); very long names make code hard to read Security: not graded 149:14 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 158:10 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/wc-deprecated-functions.php (other) CodeLength: not graded 1:1 [error] length.file - the file has 1431 lines, above 1200 for a other CyclomaticComplexity: 95 (A), based on 118 functions and file level code 1050:10 [warning] complexity.function - _wc_save_product_price has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 17:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 610 code lines NamingConvention: 80 (B), based on 244 names 228:10 [warning] naming.too_long - function `woocommerce_get_formatted_product_name` is 38 characters (limit 30); very long names make code hard to read 260:10 [warning] naming.too_long - function `woocommerce_protected_product_add_to_cart` is 41 characters (limit 30); very long names make code hard to read 278:10 [warning] naming.too_long - function `woocommerce_load_persistent_cart` is 32 characters (limit 30); very long names make code hard to read 287:10 [warning] naming.too_long - function `woocommerce_add_to_cart_message` is 31 characters (limit 30); very long names make code hard to read 296:10 [warning] naming.too_long - function `woocommerce_clear_cart_after_payment` is 36 characters (limit 30); very long names make code hard to read 305:10 [warning] naming.too_long - function `woocommerce_cart_totals_subtotal_html` is 37 characters (limit 30); very long names make code hard to read 314:10 [warning] naming.too_long - function `woocommerce_cart_totals_shipping_html` is 37 characters (limit 30); very long names make code hard to read 323:10 [warning] naming.too_long - function `woocommerce_cart_totals_coupon_html` is 35 characters (limit 30); very long names make code hard to read 332:10 [warning] naming.too_long - function `woocommerce_cart_totals_order_total_html` is 40 characters (limit 30); very long names make code hard to read 341:10 [warning] naming.too_long - function `woocommerce_cart_totals_fee_html` is 32 characters (limit 30); very long names make code hard to read 350:10 [warning] naming.too_long - function `woocommerce_cart_totals_shipping_method_label` is 45 characters (limit 30); very long names make code hard to read 404:10 [warning] naming.too_long - function `woocommerce_create_new_customer` is 31 characters (limit 30); very long names make code hard to read 413:10 [warning] naming.too_long - function `woocommerce_set_customer_auth_cookie` is 36 characters (limit 30); very long names make code hard to read 422:10 [warning] naming.too_long - function `woocommerce_update_new_customer_past_orders` is 43 characters (limit 30); very long names make code hard to read 440:10 [warning] naming.too_long - function `woocommerce_customer_bought_product` is 35 characters (limit 30); very long names make code hard to read 449:10 [warning] naming.too_long - function `woocommerce_customer_has_capability` is 35 characters (limit 30); very long names make code hard to read 458:10 [warning] naming.too_long - function `woocommerce_sanitize_taxonomy_name` is 34 characters (limit 30); very long names make code hard to read 467:10 [warning] naming.too_long - function `woocommerce_get_filename_from_url` is 33 characters (limit 30); very long names make code hard to read 521:30 [warning] naming.generic - parameter `var` is a generic name; it says nothing about what it holds 639:10 [warning] naming.too_long - function `woocommerce_get_order_id_by_order_key` is 37 characters (limit 30); very long names make code hard to read 648:10 [warning] naming.too_long - function `woocommerce_downloadable_file_permission` is 40 characters (limit 30); very long names make code hard to read 657:10 [warning] naming.too_long - function `woocommerce_downloadable_product_permissions` is 44 characters (limit 30); very long names make code hard to read 684:10 [warning] naming.too_long - function `woocommerce_update_order_item_meta` is 34 characters (limit 30); very long names make code hard to read 693:10 [warning] naming.too_long - function `woocommerce_add_order_item_meta` is 31 characters (limit 30); very long names make code hard to read 702:10 [warning] naming.too_long - function `woocommerce_delete_order_item_meta` is 34 characters (limit 30); very long names make code hard to read 711:10 [warning] naming.too_long - function `woocommerce_get_order_item_meta` is 31 characters (limit 30); very long names make code hard to read 720:10 [warning] naming.too_long - function `woocommerce_cancel_unpaid_orders` is 32 characters (limit 30); very long names make code hard to read 729:10 [warning] naming.too_long - function `woocommerce_processing_order_count` is 34 characters (limit 30); very long names make code hard to read 765:10 [warning] naming.too_long - function `woocommerce_customer_edit_account_url` is 37 characters (limit 30); very long names make code hard to read 783:10 [warning] naming.too_long - function `woocommerce_nav_menu_item_classes` is 33 characters (limit 30); very long names make code hard to read 801:10 [warning] naming.too_long - function `woocommerce_product_dropdown_categories` is 39 characters (limit 30); very long names make code hard to read 810:10 [warning] naming.too_long - function `woocommerce_walk_category_dropdown_tree` is 39 characters (limit 30); very long names make code hard to read 819:10 [warning] naming.too_long - function `woocommerce_taxonomy_metadata_wpdbfix` is 37 characters (limit 30); very long names make code hard to read 871:10 [warning] naming.too_long - function `woocommerce_recount_after_stock_change` is 38 characters (limit 30); very long names make code hard to read 889:10 [warning] naming.too_long - function `woocommerce_get_product_ids_on_sale` is 35 characters (limit 30); very long names make code hard to read 898:10 [warning] naming.too_long - function `woocommerce_get_featured_product_ids` is 36 characters (limit 30); very long names make code hard to read 916:10 [warning] naming.too_long - function `woocommerce_product_post_type_link` is 34 characters (limit 30); very long names make code hard to read 925:10 [warning] naming.too_long - function `woocommerce_placeholder_img_src` is 31 characters (limit 30); very long names make code hard to read 943:10 [warning] naming.too_long - function `woocommerce_get_formatted_variation` is 35 characters (limit 30); very long names make code hard to read 961:10 [warning] naming.too_long - function `woocommerce_get_attachment_image_attributes` is 43 characters (limit 30); very long names make code hard to read 970:10 [warning] naming.too_long - function `woocommerce_prepare_attachment_for_js` is 37 characters (limit 30); very long names make code hard to read 988:10 [warning] naming.too_long - function `woocommerce_compile_less_styles` is 31 characters (limit 30); very long names make code hard to read 998:10 [warning] naming.too_long - function `woocommerce_calc_shipping_backwards_compatibility` is 49 characters (limit 30); very long names make code hard to read 1124:10 [warning] naming.too_long - function `wc_get_min_max_price_meta_query` is 31 characters (limit 30); very long names make code hard to read 1152:10 [warning] naming.too_long - function `wc_taxonomy_metadata_update_content_for_split_terms` is 51 characters (limit 30); very long names make code hard to read 1235:10 [warning] naming.too_long - function `wc_register_default_log_handler` is 31 characters (limit 30); very long names make code hard to read 1323:11 [warning] naming.too_long - function `woocommerce_product_subcategories` is 33 characters (limit 30); very long names make code hard to read 1391:11 [warning] naming.too_long - function `woocommerce_product_reviews_tab` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-formatting-functions.php (other) CodeLength: not graded 597:10 [warning] length.function - wc_price has 75 lines in its body, above 50 1:1 [error] length.file - the file has 1725 lines, above 1200 for a other CyclomaticComplexity: 95 (A), based on 73 functions and file level code 121:10 [warning] complexity.function - wc_get_dimension has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 802:10 [warning] complexity.function - wc_timezone_string has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1019:10 [warning] complexity.function - wc_format_postcode has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 1522:10 [warning] complexity.function - wc_array_merge_recursive_numeric has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 814 code lines NamingConvention: 94 (A), based on 190 names 407:21 [warning] naming.generic - parameter `var` is a generic name; it says nothing about what it holds 474:26 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning 547:10 [warning] naming.too_long - function `wc_get_price_thousand_separator` is 31 characters (limit 30); very long names make code hard to read 684:3 [warning] naming.too_short - variable `l` is 1 character (at least 2); a one letter name hides its meaning 1187:10 [warning] naming.too_long - function `wc_format_product_short_description` is 35 characters (limit 30); very long names make code hard to read 1213:10 [warning] naming.too_long - function `wc_format_option_price_separators` is 33 characters (limit 30); very long names make code hard to read 1228:10 [warning] naming.too_long - function `wc_format_option_price_num_decimals` is 35 characters (limit 30); very long names make code hard to read 1242:10 [warning] naming.too_long - function `wc_format_option_hold_stock_minutes` is 35 characters (limit 30); very long names make code hard to read 1355:10 [warning] naming.too_long - function `wc_format_stock_quantity_for_display` is 36 characters (limit 30); very long names make code hard to read 1522:10 [warning] naming.too_long - function `wc_array_merge_recursive_numeric` is 32 characters (limit 30); very long names make code hard to read 1541:24 [warning] naming.too_short - variable `b` is 1 character (at least 2); a one letter name hides its meaning 1670:10 [warning] naming.too_long - function `wc_remove_non_displayable_chars` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-interactivity-api-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 12 code lines NamingConvention: 50 (F), based on 6 names 31:10 [warning] naming.too_long - function `wc_interactivity_api_load_product` is 33 characters (limit 30); very long names make code hard to read 47:10 [warning] naming.too_long - function `wc_interactivity_api_load_purchasable_child_products` is 52 characters (limit 30); very long names make code hard to read 63:10 [warning] naming.too_long - function `wc_interactivity_api_load_variations` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-notice-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 173 code lines NamingConvention: 96 (A), based on 28 names 76:62 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 188:2 [info] security.unescaped_output - echo of `$notices` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 230:2 [info] security.unescaped_output - echo of `$notice` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/wc-order-functions.php (other) CodeLength: not graded 228:10 [warning] length.function - wc_get_order_types has 77 lines in its body, above 50 559:10 [error] length.function - wc_create_refund has 204 lines in its body, above 100 817:10 [warning] length.function - wc_restock_refunded_items has 55 lines in its body, above 50 1020:10 [warning] length.function - wc_update_coupon_usage_counts has 60 lines in its body, above 50 1091:10 [warning] length.function - wc_cancel_unpaid_orders has 68 lines in its body, above 50 1232:10 [warning] length.function - wc_get_order_notes has 59 lines in its body, above 50 1:1 [error] length.file - the file has 1375 lines, above 1200 for a other CyclomaticComplexity: 75 (C), based on 34 functions and file level code 37:10 [warning] complexity.function - wc_get_orders has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 228:10 [error] complexity.function - wc_get_order_types has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 465:10 [warning] complexity.function - wc_downloadable_product_permissions has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 502:10 [warning] complexity.function - wc_delete_shop_order_transients has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 559:10 [error] complexity.function - wc_create_refund has a cyclomatic complexity of 36, high risk (above 10): each of its 36 paths needs its own test, which makes it hard to follow and to change safely 960:10 [warning] complexity.function - wc_update_total_sales_counts has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1020:10 [warning] complexity.function - wc_update_coupon_usage_counts has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 755 code lines NamingConvention: 96 (A), based on 146 names 432:10 [warning] naming.too_long - function `wc_downloadable_file_permission` is 31 characters (limit 30); very long names make code hard to read 465:10 [warning] naming.too_long - function `wc_downloadable_product_permissions` is 35 characters (limit 30); very long names make code hard to read 502:10 [warning] naming.too_long - function `wc_delete_shop_order_transients` is 31 characters (limit 30); very long names make code hard to read 545:10 [warning] naming.too_long - function `wc_ship_to_billing_address_only` is 31 characters (limit 30); very long names make code hard to read 892:10 [warning] naming.too_long - function `wc_get_payment_gateway_by_order` is 31 characters (limit 30); very long names make code hard to read 1182:30 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wc-order-item-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 70 code lines NamingConvention: 96 (A), based on 24 names 178:10 [warning] naming.too_long - function `wc_get_order_id_by_order_item_id` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-order-step-logger-functions.php (other) CodeLength: not graded 30:10 [warning] length.function - wc_log_order_step has 89 lines in its body, above 50 CyclomaticComplexity: 81 (B), based on 2 functions and file level code 30:10 [warning] complexity.function - wc_log_order_step has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 98 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/includes/wc-page-functions.php (other) CodeLength: not graded CyclomaticComplexity: 88 (B), based on 10 functions and file level code 20:10 [warning] complexity.function - wc_page_endpoint_title has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 181:10 [warning] complexity.function - wc_nav_menu_items has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 251:10 [warning] complexity.function - wc_nav_menu_item_classes has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 164 code lines 57:1 [warning] duplication.repeated_block - lines 57 to 61 repeat lines 27 to 31 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 41 names 54:10 [warning] naming.too_long - function `wc_page_endpoint_document_title_parts` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-product-functions.php (other) CodeLength: not graded 248:10 [error] length.function - wc_product_post_type_link has 119 lines in its body, above 100 446:10 [warning] length.function - wc_placeholder_img has 51 lines in its body, above 50 509:10 [warning] length.function - wc_get_formatted_variation has 68 lines in its body, above 50 851:10 [warning] length.function - wc_scheduled_sales has 54 lines in its body, above 50 1194:10 [warning] length.function - wc_get_product_variation_attributes has 51 lines in its body, above 50 1273:10 [warning] length.function - wc_get_product_attachment_props has 84 lines in its body, above 50 1436:10 [warning] length.function - wc_get_related_products has 77 lines in its body, above 50 1535:10 [warning] length.function - wc_get_price_including_tax has 78 lines in its body, above 50 1622:10 [warning] length.function - wc_get_price_excluding_tax has 60 lines in its body, above 50 1746:10 [error] length.function - wc_get_product_category_list has 207 lines in its body, above 100 2171:10 [warning] length.function - wc_update_product_lookup_tables has 84 lines in its body, above 50 2262:10 [error] length.function - wc_update_product_lookup_tables_column has 129 lines in its body, above 100 1:1 [error] length.file - the file has 2507 lines, above 1200 for a other CyclomaticComplexity: 80 (B), based on 64 functions and file level code 248:10 [warning] complexity.function - wc_product_post_type_link has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 509:10 [error] complexity.function - wc_get_formatted_variation has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 1194:10 [warning] complexity.function - wc_get_product_variation_attributes has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1273:10 [warning] complexity.function - wc_get_product_attachment_props has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 1436:10 [warning] complexity.function - wc_get_related_products has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 1535:10 [warning] complexity.function - wc_get_price_including_tax has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1622:10 [warning] complexity.function - wc_get_price_excluding_tax has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 1746:10 [error] complexity.function - wc_get_product_category_list has a cyclomatic complexity of 34, high risk (above 10): each of its 34 paths needs its own test, which makes it hard to follow and to change safely 2262:10 [warning] complexity.function - wc_update_product_lookup_tables_column has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 1396 code lines 1627:1 [warning] duplication.repeated_block - lines 1627 to 1642 repeat lines 1536 to 1551 (108 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 260 names 148:10 [warning] naming.too_long - function `wc_delete_related_product_transients` is 36 characters (limit 30); very long names make code hard to read 592:10 [warning] naming.too_long - function `wc_schedule_product_sale_events` is 31 characters (limit 30); very long names make code hard to read 644:10 [warning] naming.too_long - function `wc_apply_sale_state_for_product` is 31 characters (limit 30); very long names make code hard to read 696:10 [warning] naming.too_long - function `wc_handle_product_start_scheduled_sale` is 38 characters (limit 30); very long names make code hard to read 741:10 [warning] naming.too_long - function `wc_handle_product_end_scheduled_sale` is 36 characters (limit 30); very long names make code hard to read 775:10 [warning] naming.too_long - function `wc_maybe_schedule_product_sale_events` is 37 characters (limit 30); very long names make code hard to read 810:10 [warning] naming.too_long - function `wc_maybe_schedule_sale_events_on_meta_change` is 44 characters (limit 30); very long names make code hard to read 913:10 [warning] naming.too_long - function `wc_get_attachment_image_attributes` is 34 characters (limit 30); very long names make code hard to read 1078:10 [warning] naming.too_long - function `wc_product_has_global_unique_id` is 31 characters (limit 30); very long names make code hard to read 1176:10 [warning] naming.too_long - function `wc_get_product_id_by_global_unique_id` is 37 characters (limit 30); very long names make code hard to read 1194:10 [warning] naming.too_long - function `wc_get_product_variation_attributes` is 35 characters (limit 30); very long names make code hard to read 1273:10 [warning] naming.too_long - function `wc_get_product_attachment_props` is 31 characters (limit 30); very long names make code hard to read 1364:10 [warning] naming.too_long - function `wc_get_product_visibility_options` is 33 characters (limit 30); very long names make code hard to read 1382:10 [warning] naming.too_long - function `wc_get_product_tax_class_options` is 32 characters (limit 30); very long names make code hard to read 1401:10 [warning] naming.too_long - function `wc_get_product_stock_status_options` is 35 characters (limit 30); very long names make code hard to read 1418:10 [warning] naming.too_long - function `wc_get_product_backorder_options` is 32 characters (limit 30); very long names make code hard to read 1779:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 1779:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 1974:10 [warning] naming.too_long - function `wc_products_array_filter_visible` is 32 characters (limit 30); very long names make code hard to read 1985:10 [warning] naming.too_long - function `wc_products_array_filter_visible_grouped` is 40 characters (limit 30); very long names make code hard to read 1996:10 [warning] naming.too_long - function `wc_products_array_filter_editable` is 33 characters (limit 30); very long names make code hard to read 2007:10 [warning] naming.too_long - function `wc_products_array_filter_readable` is 33 characters (limit 30); very long names make code hard to read 2054:10 [warning] naming.too_long - function `wc_products_array_orderby_title` is 31 characters (limit 30); very long names make code hard to read 2096:10 [warning] naming.too_long - function `wc_products_array_orderby_modified` is 34 characters (limit 30); very long names make code hard to read 2111:10 [warning] naming.too_long - function `wc_products_array_orderby_menu_order` is 36 characters (limit 30); very long names make code hard to read 2126:10 [warning] naming.too_long - function `wc_products_array_orderby_price` is 31 characters (limit 30); very long names make code hard to read 2154:10 [warning] naming.too_long - function `wc_update_product_lookup_tables_is_running` is 42 characters (limit 30); very long names make code hard to read 2171:10 [warning] naming.too_long - function `wc_update_product_lookup_tables` is 31 characters (limit 30); very long names make code hard to read 2262:10 [warning] naming.too_long - function `wc_update_product_lookup_tables_column` is 38 characters (limit 30); very long names make code hard to read 2399:10 [warning] naming.too_long - function `wc_update_product_lookup_tables_rating_count` is 44 characters (limit 30); very long names make code hard to read 2426:10 [warning] naming.too_long - function `wc_update_product_lookup_tables_rating_count_batch` is 50 characters (limit 30); very long names make code hard to read 2473:10 [warning] naming.too_long - function `wc_product_attach_featured_image` is 32 characters (limit 30); very long names make code hard to read Security: not graded 405:54 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended`) 997:74 [info] security.unsanitized_input - read of `$_COOKIE['woocommerce_recently_viewed']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 2323:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 2342:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 2361:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/includes/wc-rest-functions.php (other) CodeLength: not graded 71:10 [warning] length.function - wc_rest_upload_image_from_url has 56 lines in its body, above 50 410:10 [warning] length.function - wc_rest_should_load_namespace has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 242 code lines NamingConvention: 88 (B), based on 52 names 49:10 [warning] naming.too_long - function `wc_rest_allowed_image_mime_types` is 32 characters (limit 30); very long names make code hard to read 136:10 [warning] naming.too_long - function `wc_rest_set_uploaded_image_as_attachment` is 40 characters (limit 30); very long names make code hard to read 180:10 [warning] naming.too_long - function `wc_rest_validate_reports_request_arg` is 36 characters (limit 30); very long names make code hard to read 317:10 [warning] naming.too_long - function `wc_rest_check_product_term_permissions` is 38 characters (limit 30); very long names make code hard to read 341:10 [warning] naming.too_long - function `wc_rest_check_manager_permissions` is 33 characters (limit 30); very long names make code hard to read 365:10 [warning] naming.too_long - function `wc_rest_check_product_reviews_permissions` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-stock-functions.php (other) CodeLength: not graded 30:10 [warning] length.function - wc_update_product_stock has 52 lines in its body, above 50 170:10 [warning] length.function - wc_reduce_stock_levels has 70 lines in its body, above 50 248:10 [warning] length.function - wc_trigger_stock_change_notifications has 56 lines in its body, above 50 351:10 [warning] length.function - wc_increase_stock_levels has 62 lines in its body, above 50 CyclomaticComplexity: 90 (A), based on 13 functions and file level code 170:10 [warning] complexity.function - wc_reduce_stock_levels has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 351:10 [warning] complexity.function - wc_increase_stock_levels has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 241 code lines 351:1 [warning] duplication.repeated_block - lines 351 to 360 repeat lines 170 to 178 (61 tokens); repeated code has to be fixed in every copy 360:1 [warning] duplication.repeated_block - lines 360 to 376 repeat lines 178 to 194 (67 tokens); repeated code has to be fixed in every copy 473:1 [warning] duplication.repeated_block - lines 473 to 489 repeat lines 446 to 462 (61 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 42 names 248:10 [warning] naming.too_long - function `wc_trigger_stock_change_notifications` is 37 characters (limit 30); very long names make code hard to read 315:10 [warning] naming.too_long - function `wc_trigger_stock_change_actions` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-template-functions.php (other) CodeLength: not graded 27:10 [warning] length.function - wc_template_redirect has 67 lines in its body, above 50 326:10 [warning] length.function - wc_body_class has 67 lines in its body, above 50 555:10 [warning] length.function - wc_product_post_class has 53 lines in its body, above 50 654:10 [error] length.function - wc_get_product_class has 113 lines in its body, above 100 790:10 [warning] length.function - wc_query_string_form_fields has 62 lines in its body, above 50 1380:11 [warning] length.function - woocommerce_product_archive_description has 63 lines in its body, above 50 1453:11 [warning] length.function - woocommerce_template_loop_add_to_cart has 75 lines in its body, above 50 1674:11 [warning] length.function - woocommerce_catalog_ordering has 84 lines in its body, above 50 1839:10 [warning] length.function - wc_get_gallery_image_html has 52 lines in its body, above 50 2590:11 [warning] length.function - woocommerce_upsell_display has 57 lines in its body, above 50 3238:11 [warning] length.function - woocommerce_order_details_table has 54 lines in its body, above 50 3360:11 [error] length.function - woocommerce_form_field has 274 lines in its body, above 100 3736:11 [warning] length.function - wc_dropdown_variation_attribute_options has 73 lines in its body, above 50 4050:11 [warning] length.function - wc_get_email_fulfillment_items has 88 lines in its body, above 50 4261:10 [warning] length.function - wc_display_product_attributes has 73 lines in its body, above 50 4539:10 [warning] length.function - wc_get_formatted_cart_item_data has 99 lines in its body, above 50 4892:10 [warning] length.function - wc_get_quantity_input_args has 69 lines in its body, above 50 1:1 [error] length.file - the file has 4960 lines, above 1200 for a other CyclomaticComplexity: 62 (D), based on 167 functions and file level code 27:10 [error] complexity.function - wc_template_redirect has a cyclomatic complexity of 30, high risk (above 10): each of its 30 paths needs its own test, which makes it hard to follow and to change safely 326:10 [warning] complexity.function - wc_body_class has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 555:10 [warning] complexity.function - wc_product_post_class has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 654:10 [error] complexity.function - wc_get_product_class has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely 790:10 [warning] complexity.function - wc_query_string_form_fields has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1453:11 [warning] complexity.function - woocommerce_template_loop_add_to_cart has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 1674:11 [warning] complexity.function - woocommerce_catalog_ordering has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1839:10 [warning] complexity.function - wc_get_gallery_image_html has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 3002:11 [warning] complexity.function - woocommerce_get_loop_display_mode has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 3185:11 [warning] complexity.function - woocommerce_subcategory_thumbnail has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 3360:11 [error] complexity.function - woocommerce_form_field has a cyclomatic complexity of 67, untestable risk (above 10): each of its 67 paths needs its own test, which makes it hard to follow and to change safely 3736:11 [error] complexity.function - wc_dropdown_variation_attribute_options has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 4050:11 [warning] complexity.function - wc_get_email_fulfillment_items has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 4261:10 [warning] complexity.function - wc_display_product_attributes has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 4539:10 [error] complexity.function - wc_get_formatted_cart_item_data has a cyclomatic complexity of 31, high risk (above 10): each of its 31 paths needs its own test, which makes it hard to follow and to change safely 4892:10 [warning] complexity.function - wc_get_quantity_input_args has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 20:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 102, untestable risk (above 10): each of its 102 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 2726 code lines 714:1 [warning] duplication.repeated_block - lines 714 to 743 repeat lines 570 to 599 (195 tokens); repeated code has to be fixed in every copy 3223:1 [warning] duplication.repeated_block - lines 3223 to 3224 repeat lines 3221 to 3222 (51 tokens); repeated code has to be fixed in every copy 3498:1 [warning] duplication.repeated_block - lines 3498 to 3498 repeat lines 3471 to 3471 (52 tokens); repeated code has to be fixed in every copy 3499:1 [warning] duplication.repeated_block - lines 3499 to 3505 repeat lines 3471 to 3477 (64 tokens); repeated code has to be fixed in every copy 4050:1 [warning] duplication.repeated_block - lines 4050 to 4065 repeat lines 4000 to 4015 (92 tokens); repeated code has to be fixed in every copy 4115:1 [warning] duplication.repeated_block - lines 4115 to 4136 repeat lines 4023 to 4035 (100 tokens); repeated code has to be fixed in every copy NamingConvention: 78 (C), based on 404 names 134:10 [warning] naming.too_long - function `wc_prevent_adjacent_posts_rel_link_wp_head` is 42 characters (limit 30); very long names make code hard to read 432:10 [warning] naming.too_long - function `wc_get_default_products_per_row` is 31 characters (limit 30); very long names make code hard to read 461:10 [warning] naming.too_long - function `wc_get_default_product_rows_per_page` is 36 characters (limit 30); very long names make code hard to read 859:10 [warning] naming.too_long - function `wc_terms_and_conditions_page_id` is 31 characters (limit 30); very long names make code hard to read 881:10 [warning] naming.too_long - function `wc_terms_and_conditions_checkbox_enabled` is 40 characters (limit 30); very long names make code hard to read 893:10 [warning] naming.too_long - function `wc_get_terms_and_conditions_checkbox_text` is 41 characters (limit 30); very long names make code hard to read 928:10 [warning] naming.too_long - function `wc_terms_and_conditions_checkbox_text` is 37 characters (limit 30); very long names make code hard to read 944:10 [warning] naming.too_long - function `wc_terms_and_conditions_page_content` is 36 characters (limit 30); very long names make code hard to read 965:10 [warning] naming.too_long - function `wc_checkout_privacy_policy_text` is 31 characters (limit 30); very long names make code hard to read 977:10 [warning] naming.too_long - function `wc_registration_privacy_policy_text` is 35 characters (limit 30); very long names make code hard to read 1006:10 [warning] naming.too_long - function `wc_replace_policy_page_link_placeholders` is 40 characters (limit 30); very long names make code hard to read 1091:11 [warning] naming.too_long - function `woocommerce_output_content_wrapper` is 34 characters (limit 30); very long names make code hard to read 1102:11 [warning] naming.too_long - function `woocommerce_output_content_wrapper_end` is 38 characters (limit 30); very long names make code hard to read 1249:11 [warning] naming.too_long - function `woocommerce_template_loop_product_title` is 39 characters (limit 30); very long names make code hard to read 1261:11 [warning] naming.too_long - function `woocommerce_template_loop_category_title` is 40 characters (limit 30); very long names make code hard to read 1283:11 [warning] naming.too_long - function `woocommerce_template_loop_product_link_open` is 43 characters (limit 30); very long names make code hard to read 1302:11 [warning] naming.too_long - function `woocommerce_template_loop_product_link_close` is 44 characters (limit 30); very long names make code hard to read 1314:11 [warning] naming.too_long - function `woocommerce_template_loop_category_link_open` is 44 characters (limit 30); very long names make code hard to read 1328:11 [warning] naming.too_long - function `woocommerce_template_loop_category_link_close` is 45 characters (limit 30); very long names make code hard to read 1339:11 [warning] naming.too_long - function `woocommerce_product_taxonomy_archive_header` is 43 characters (limit 30); very long names make code hard to read 1350:11 [warning] naming.too_long - function `woocommerce_taxonomy_archive_description` is 40 characters (limit 30); very long names make code hard to read 1380:11 [warning] naming.too_long - function `woocommerce_product_archive_description` is 39 characters (limit 30); very long names make code hard to read 1453:11 [warning] naming.too_long - function `woocommerce_template_loop_add_to_cart` is 37 characters (limit 30); very long names make code hard to read 1537:11 [warning] naming.too_long - function `woocommerce_template_loop_product_thumbnail` is 43 characters (limit 30); very long names make code hard to read 1549:11 [warning] naming.too_long - function `woocommerce_template_loop_price` is 31 characters (limit 30); very long names make code hard to read 1560:11 [warning] naming.too_long - function `woocommerce_template_loop_rating` is 32 characters (limit 30); very long names make code hard to read 1571:11 [warning] naming.too_long - function `woocommerce_show_product_loop_sale_flash` is 40 characters (limit 30); very long names make code hard to read 1586:11 [warning] naming.too_long - function `woocommerce_get_product_thumbnail` is 33 characters (limit 30); very long names make code hard to read 1812:11 [warning] naming.too_long - function `woocommerce_show_product_images` is 31 characters (limit 30); very long names make code hard to read 1823:11 [warning] naming.too_long - function `woocommerce_show_product_thumbnails` is 35 characters (limit 30); very long names make code hard to read 1936:10 [warning] naming.too_long - function `wc_render_product_image_template_for` is 36 characters (limit 30); very long names make code hard to read 1970:10 [warning] naming.too_long - function `wc_render_product_image_template_for_image_ids` is 46 characters (limit 30); very long names make code hard to read 2008:10 [warning] naming.too_long - function `wc_apply_product_image_overrides` is 32 characters (limit 30); very long names make code hard to read 2043:11 [warning] naming.too_long - function `woocommerce_get_alt_from_product_title_and_position` is 51 characters (limit 30); very long names make code hard to read 2060:11 [warning] naming.too_long - function `woocommerce_output_product_data_tabs` is 36 characters (limit 30); very long names make code hard to read 2071:11 [warning] naming.too_long - function `woocommerce_template_single_title` is 33 characters (limit 30); very long names make code hard to read 2082:11 [warning] naming.too_long - function `woocommerce_template_single_rating` is 34 characters (limit 30); very long names make code hard to read 2097:11 [warning] naming.too_long - function `woocommerce_template_single_price` is 33 characters (limit 30); very long names make code hard to read 2112:11 [warning] naming.too_long - function `woocommerce_template_single_excerpt` is 35 characters (limit 30); very long names make code hard to read 2127:11 [warning] naming.too_long - function `woocommerce_template_single_meta` is 32 characters (limit 30); very long names make code hard to read 2142:11 [warning] naming.too_long - function `woocommerce_template_single_sharing` is 35 characters (limit 30); very long names make code hard to read 2153:11 [warning] naming.too_long - function `woocommerce_show_product_sale_flash` is 35 characters (limit 30); very long names make code hard to read 2165:11 [warning] naming.too_long - function `woocommerce_template_single_add_to_cart` is 39 characters (limit 30); very long names make code hard to read 2196:11 [warning] naming.too_long - function `woocommerce_grouped_add_to_cart` is 31 characters (limit 30); very long names make code hard to read 2226:11 [warning] naming.too_long - function `woocommerce_variable_add_to_cart` is 32 characters (limit 30); very long names make code hard to read 2273:11 [warning] naming.too_long - function `woocommerce_external_add_to_cart` is 32 characters (limit 30); very long names make code hard to read 2328:11 [warning] naming.too_long - function `woocommerce_product_description_tab` is 35 characters (limit 30); very long names make code hard to read 2339:11 [warning] naming.too_long - function `woocommerce_product_additional_information_tab` is 46 characters (limit 30); very long names make code hard to read 2351:11 [warning] naming.too_long - function `woocommerce_default_product_tabs` is 32 characters (limit 30); very long names make code hard to read 2424:39 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 2424:43 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 2469:11 [warning] naming.too_long - function `woocommerce_review_display_gravatar` is 35 characters (limit 30); very long names make code hard to read 2480:11 [warning] naming.too_long - function `woocommerce_review_display_rating` is 33 characters (limit 30); very long names make code hard to read 2493:11 [warning] naming.too_long - function `woocommerce_review_display_meta` is 31 characters (limit 30); very long names make code hard to read 2505:11 [warning] naming.too_long - function `woocommerce_review_display_comment_text` is 39 characters (limit 30); very long names make code hard to read 2519:11 [warning] naming.too_long - function `woocommerce_output_related_products` is 35 characters (limit 30); very long names make code hard to read 2659:11 [warning] naming.too_long - function `woocommerce_shipping_calculator` is 31 characters (limit 30); very long names make code hard to read 2756:11 [warning] naming.too_long - function `woocommerce_button_proceed_to_checkout` is 38 characters (limit 30); very long names make code hard to read 2768:11 [warning] naming.too_long - function `woocommerce_widget_shopping_cart_button_view_cart` is 49 characters (limit 30); very long names make code hard to read 2784:11 [warning] naming.too_long - function `woocommerce_widget_shopping_cart_proceed_to_checkout` is 52 characters (limit 30); very long names make code hard to read 2797:11 [warning] naming.too_long - function `woocommerce_widget_shopping_cart_subtotal` is 41 characters (limit 30); very long names make code hard to read 2855:11 [warning] naming.too_long - function `woocommerce_checkout_login_form` is 31 characters (limit 30); very long names make code hard to read 2968:11 [warning] naming.too_long - function `woocommerce_checkout_coupon_form` is 32 characters (limit 30); very long names make code hard to read 2987:11 [warning] naming.too_long - function `woocommerce_products_will_display` is 33 characters (limit 30); very long names make code hard to read 3002:11 [warning] naming.too_long - function `woocommerce_get_loop_display_mode` is 33 characters (limit 30); very long names make code hard to read 3050:11 [warning] naming.too_long - function `woocommerce_maybe_show_product_subcategories` is 44 characters (limit 30); very long names make code hard to read 3095:11 [warning] naming.too_long - function `woocommerce_output_product_categories` is 37 characters (limit 30); very long names make code hard to read 3137:11 [warning] naming.too_long - function `woocommerce_get_product_subcategories` is 37 characters (limit 30); very long names make code hard to read 3185:11 [warning] naming.too_long - function `woocommerce_subcategory_thumbnail` is 33 characters (limit 30); very long names make code hard to read 3238:11 [warning] naming.too_long - function `woocommerce_order_details_table` is 31 characters (limit 30); very long names make code hard to read 3303:11 [warning] naming.too_long - function `woocommerce_order_downloads_table` is 33 characters (limit 30); very long names make code hard to read 3722:11 [warning] naming.too_long - function `woocommerce_single_variation_add_to_cart_button` is 47 characters (limit 30); very long names make code hard to read 3736:11 [warning] naming.too_long - function `wc_dropdown_variation_attribute_options` is 39 characters (limit 30); very long names make code hard to read 3923:11 [warning] naming.too_long - function `woocommerce_account_edit_address` is 32 characters (limit 30); very long names make code hard to read 3937:11 [warning] naming.too_long - function `woocommerce_account_payment_methods` is 35 characters (limit 30); very long names make code hard to read 3949:11 [warning] naming.too_long - function `woocommerce_account_add_payment_method` is 38 characters (limit 30); very long names make code hard to read 3961:11 [warning] naming.too_long - function `woocommerce_account_edit_account` is 32 characters (limit 30); very long names make code hard to read 4524:10 [warning] naming.too_long - function `wc_get_theme_slug_for_templates` is 31 characters (limit 30); very long names make code hard to read 4539:10 [warning] naming.too_long - function `wc_get_formatted_cart_item_data` is 31 characters (limit 30); very long names make code hard to read 4595:36 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 4725:10 [warning] naming.too_long - function `wc_update_product_archive_title` is 31 characters (limit 30); very long names make code hard to read 4789:10 [warning] naming.too_long - function `wc_update_store_notice_visible_on_theme_switch` is 46 characters (limit 30); very long names make code hard to read 4790:3 [warning] naming.too_long - variable `enable_store_notice_in_classic_theme_option` is 43 characters (limit 30); very long names make code hard to read 4807:4 [warning] naming.too_long - variable `enable_store_notice_in_classic_theme` is 36 characters (limit 30); very long names make code hard to read 4826:10 [warning] naming.too_long - function `wc_set_hooked_blocks_version_on_theme_switch` is 44 characters (limit 30); very long names make code hard to read 4845:10 [warning] naming.too_long - function `wc_add_aria_label_to_pagination_numbers` is 39 characters (limit 30); very long names make code hard to read 4846:3 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 67:4 [warning] security.include_variable - include of `$template` builds the file path from data; a crafted path can load another file 403:15 [info] security.unescaped_output - echo of `$type_attr` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 793:13 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended`) 850:2 [info] security.unescaped_output - echo of `$html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 955:3 [info] security.unescaped_output - echo of `wc_format_content( $sanitizer->styled_post_content( $page->post_content ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 1145:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_demo_store', '
('...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 1366:6 [info] security.unescaped_output - echo of `wc_format_content( wp_kses_post( $term_description ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 1438:6 [info] security.unescaped_output - echo of `$description` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 1539:3 [info] security.unescaped_output - echo of `woocommerce_get_product_thumbnail()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 2314:4 [info] security.unescaped_output - echo of `ob_get_clean()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 2470:3 [warning] security.unescaped_output - echo of `get_avatar( $comment, apply_filters( 'woocommerce_review_gravatar_size', '60'...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 2798:3 [info] security.unescaped_output - echo of `WC()->cart->get_cart_subtotal()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 3112:3 [info] security.unescaped_output - echo of `$args['before']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 3124:3 [info] security.unescaped_output - echo of `$args['after']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 3631:4 [info] security.unescaped_output - echo of `$field` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 3675:3 [info] security.unescaped_output - echo of `$form` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 3807:3 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_dropdown_variation_attribute_options_html', $html...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 4178:4 [info] security.unescaped_output - echo of `$html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 4233:4 [info] security.unescaped_output - echo of `$html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 4479:2 [info] security.unescaped_output - echo of `$notice` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/wc-template-hooks.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 110 code lines NamingConvention: not graded Security: not graded woocommerce/includes/wc-term-functions.php (other) CodeLength: not graded 419:10 [error] length.function - _wc_term_recount has 133 lines in its body, above 100 1:1 [warning] length.file - the file has 823 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 21 functions and file level code 419:10 [warning] complexity.function - _wc_term_recount has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 595:10 [warning] complexity.function - wc_change_term_counts has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 443 code lines NamingConvention: 92 (A), based on 78 names 196:10 [warning] naming.too_long - function `_wc_get_product_terms_name_num_usort_callback` is 45 characters (limit 30); very long names make code hard to read 196:58 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 196:62 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 214:10 [warning] naming.too_long - function `_wc_get_product_terms_parent_usort_callback` is 43 characters (limit 30); very long names make code hard to read 288:10 [warning] naming.too_long - function `wc_taxonomy_metadata_migrate_data` is 33 characters (limit 30); very long names make code hard to read 685:10 [warning] naming.too_long - function `wc_get_product_visibility_term_ids` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-update-functions.php (other) CodeLength: not graded 157:10 [warning] length.function - wc_update_200_taxrates has 93 lines in its body, above 50 256:10 [error] length.function - wc_update_200_line_items has 134 lines in its body, above 100 582:10 [warning] length.function - wc_update_220_order_status has 80 lines in its body, above 50 780:10 [warning] length.function - wc_update_240_shipping_methods has 70 lines in its body, above 50 1126:10 [warning] length.function - wc_update_260_zone_methods has 79 lines in its body, above 50 1334:10 [warning] length.function - wc_update_300_product_visibility has 59 lines in its body, above 50 1462:10 [warning] length.function - wc_update_320_mexican_states has 69 lines in its body, above 50 1732:10 [warning] length.function - wc_update_340_states has 77 lines in its body, above 50 1815:10 [warning] length.function - wc_update_340_state has 56 lines in its body, above 50 2251:10 [warning] length.function - wc_update_450_sanitize_coupons_code has 54 lines in its body, above 50 2313:10 [warning] length.function - wc_update_500_fix_product_review_count has 51 lines in its body, above 50 3735:10 [error] length.function - wc_update_1120_cleanup_inherited_variation_images has 101 lines in its body, above 100 3870:10 [warning] length.function - wc_update_11202_reset_refund_returning_customer_markers has 51 lines in its body, above 50 3935:10 [warning] length.function - wc_update_11203_normalize_stock_notification_emails has 62 lines in its body, above 50 1:1 [error] length.file - the file has 3996 lines, above 1200 for a other CyclomaticComplexity: 93 (A), based on 157 functions and file level code 89:10 [warning] complexity.function - wc_update_200_permalinks has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 157:10 [warning] complexity.function - wc_update_200_taxrates has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 256:10 [error] complexity.function - wc_update_200_line_items has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 780:10 [warning] complexity.function - wc_update_240_shipping_methods has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 3735:10 [warning] complexity.function - wc_update_1120_cleanup_inherited_variation_images has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 2180 code lines 216:1 [warning] duplication.repeated_block - lines 216 to 222 repeat lines 184 to 190 (63 tokens); repeated code has to be fixed in every copy 2570:1 [warning] duplication.repeated_block - lines 2570 to 2583 repeat lines 1915 to 1928 (55 tokens); repeated code has to be fixed in every copy 2811:1 [warning] duplication.repeated_block - lines 2811 to 2820 repeat lines 2790 to 2799 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 76 (C), based on 375 names 564:3 [warning] naming.too_long - variable `woocommerce_ship_to_destination` is 31 characters (limit 30); very long names make code hard to read 1268:10 [warning] naming.too_long - function `wc_update_300_comment_type_index` is 32 characters (limit 30); very long names make code hard to read 1334:10 [warning] naming.too_long - function `wc_update_300_product_visibility` is 32 characters (limit 30); very long names make code hard to read 1408:10 [warning] naming.too_long - function `wc_update_310_downloadable_products` is 35 characters (limit 30); very long names make code hard to read 1443:10 [warning] naming.too_long - function `wc_update_312_shop_manager_capabilities` is 39 characters (limit 30); very long names make code hard to read 1634:10 [warning] naming.too_long - function `wc_update_330_set_default_product_cat` is 37 characters (limit 30); very long names make code hard to read 1648:10 [warning] naming.too_long - function `wc_update_330_product_stock_status` is 34 characters (limit 30); very long names make code hard to read 1703:10 [warning] naming.too_long - function `wc_update_330_set_paypal_sandbox_credentials` is 44 characters (limit 30); very long names make code hard to read 1908:10 [warning] naming.too_long - function `wc_update_343_cleanup_foreign_keys` is 34 characters (limit 30); very long names make code hard to read 1956:10 [warning] naming.too_long - function `wc_update_350_reviews_comment_type` is 34 characters (limit 30); very long names make code hard to read 1978:10 [warning] naming.too_long - function `wc_update_352_drop_download_log_fk` is 34 characters (limit 30); very long names make code hard to read 1996:10 [warning] naming.too_long - function `wc_update_354_modify_shop_manager_caps` is 38 characters (limit 30); very long names make code hard to read 2024:10 [warning] naming.too_long - function `wc_update_360_product_lookup_tables` is 35 characters (limit 30); very long names make code hard to read 2044:10 [warning] naming.too_long - function `wc_update_360_downloadable_product_permissions_index` is 52 characters (limit 30); very long names make code hard to read 2143:10 [warning] naming.too_long - function `wc_update_390_move_maxmind_database` is 35 characters (limit 30); very long names make code hard to read 2166:10 [warning] naming.too_long - function `wc_update_390_change_geolocation_database_update_cron` is 53 characters (limit 30); very long names make code hard to read 2185:10 [warning] naming.too_long - function `wc_update_400_increase_size_of_column` is 37 characters (limit 30); very long names make code hard to read 2196:10 [warning] naming.too_long - function `wc_update_400_reset_action_scheduler_migration_status` is 53 characters (limit 30); very long names make code hard to read 2224:10 [warning] naming.too_long - function `wc_update_440_insert_attribute_terms_for_variable_products` is 58 characters (limit 30); very long names make code hard to read 2251:10 [warning] naming.too_long - function `wc_update_450_sanitize_coupons_code` is 35 characters (limit 30); very long names make code hard to read 2270:33 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 2313:10 [warning] naming.too_long - function `wc_update_500_fix_product_review_count` is 38 characters (limit 30); very long names make code hard to read 2382:10 [warning] naming.too_long - function `wc_update_560_create_refund_returns_page` is 40 characters (limit 30); very long names make code hard to read 2419:10 [warning] naming.too_long - function `wc_update_600_migrate_rate_limit_options` is 40 characters (limit 30); very long names make code hard to read 2460:10 [warning] naming.too_long - function `wc_update_630_create_product_attributes_lookup_table` is 52 characters (limit 30); very long names make code hard to read 2490:10 [warning] naming.too_long - function `wc_update_640_add_primary_key_to_product_attributes_lookup_table` is 64 characters (limit 30); very long names make code hard to read 2513:10 [warning] naming.too_long - function `wc_update_650_approved_download_directories` is 43 characters (limit 30); very long names make code hard to read 2525:10 [warning] naming.too_long - function `wc_update_651_approved_download_directories` is 43 characters (limit 30); very long names make code hard to read 2552:10 [warning] naming.too_long - function `wc_update_670_purge_comments_count_cache` is 40 characters (limit 30); very long names make code hard to read 2564:10 [warning] naming.too_long - function `wc_update_700_remove_download_log_fk` is 36 characters (limit 30); very long names make code hard to read 2583:10 [warning] naming.too_long - function `wc_update_700_remove_recommended_marketing_plugins_transient` is 60 characters (limit 30); very long names make code hard to read 2593:10 [warning] naming.too_long - function `wc_update_721_adjust_new_zealand_states` is 39 characters (limit 30); very long names make code hard to read 2623:10 [warning] naming.too_long - function `wc_update_721_adjust_ukraine_states` is 35 characters (limit 30); very long names make code hard to read 2664:10 [warning] naming.too_long - function `wc_update_722_adjust_new_zealand_states` is 39 characters (limit 30); very long names make code hard to read 2677:10 [warning] naming.too_long - function `wc_update_722_adjust_ukraine_states` is 35 characters (limit 30); very long names make code hard to read 2687:10 [warning] naming.too_long - function `wc_update_750_add_columns_to_order_stats_table` is 46 characters (limit 30); very long names make code hard to read 2712:10 [warning] naming.too_long - function `wc_update_750_disable_new_product_management_experience` is 55 characters (limit 30); very long names make code hard to read 2723:10 [warning] naming.too_long - function `wc_update_770_remove_multichannel_marketing_feature_options` is 59 characters (limit 30); very long names make code hard to read 2733:10 [warning] naming.too_long - function `wc_update_790_blockified_product_grid_block` is 43 characters (limit 30); very long names make code hard to read 2742:10 [warning] naming.too_long - function `wc_update_810_migrate_transactional_metadata_for_hpos` is 53 characters (limit 30); very long names make code hard to read 2789:10 [warning] naming.too_long - function `wc_update_830_rename_checkout_template` is 38 characters (limit 30); very long names make code hard to read 2810:10 [warning] naming.too_long - function `wc_update_830_rename_cart_template` is 34 characters (limit 30); very long names make code hard to read 2834:10 [warning] naming.too_long - function `wc_update_860_remove_recommended_marketing_plugins_transient` is 60 characters (limit 30); very long names make code hard to read 2844:10 [warning] naming.too_long - function `wc_update_870_prevent_listing_of_transient_files_directory` is 58 characters (limit 30); very long names make code hard to read 2867:10 [warning] naming.too_long - function `wc_update_890_update_connect_to_woocommerce_note` is 48 characters (limit 30); very long names make code hard to read 2892:10 [warning] naming.too_long - function `wc_update_890_update_paypal_standard_load_eligibility` is 53 characters (limit 30); very long names make code hard to read 2911:10 [warning] naming.too_long - function `wc_update_891_create_plugin_autoinstall_history_option` is 54 characters (limit 30); very long names make code hard to read 2912:3 [warning] naming.too_long - variable `autoinstalled_plugins_history_info` is 34 characters (limit 30); very long names make code hard to read 2926:10 [warning] naming.too_long - function `wc_update_910_add_launch_your_store_tour_option` is 47 characters (limit 30); very long names make code hard to read 2935:10 [warning] naming.too_long - function `wc_update_920_add_wc_hooked_blocks_version_option` is 49 characters (limit 30); very long names make code hard to read 2956:3 [warning] naming.too_long - variable `should_set_hooked_blocks_version` is 32 characters (limit 30); very long names make code hard to read 2978:10 [warning] naming.too_long - function `wc_update_910_remove_obsolete_user_meta` is 39 characters (limit 30); very long names make code hard to read 3025:10 [warning] naming.too_long - function `wc_update_930_add_woocommerce_coming_soon_option` is 48 characters (limit 30); very long names make code hard to read 3034:10 [warning] naming.too_long - function `wc_update_930_migrate_user_meta_for_launch_your_store_tour` is 58 characters (limit 30); very long names make code hard to read 3064:10 [warning] naming.too_long - function `wc_update_940_add_phone_to_order_address_fts_index` is 50 characters (limit 30); very long names make code hard to read 3086:10 [warning] naming.too_long - function `wc_update_940_remove_help_panel_highlight_shown` is 47 characters (limit 30); very long names make code hard to read 3140:10 [warning] naming.too_long - function `wc_update_1000_multisite_visibility_setting` is 43 characters (limit 30); very long names make code hard to read 3159:10 [warning] naming.too_long - function `wc_update_950_tracking_option_autoload` is 38 characters (limit 30); very long names make code hard to read 3172:10 [warning] naming.too_long - function `wc_update_961_migrate_default_email_base_color` is 46 characters (limit 30); very long names make code hard to read 3184:10 [warning] naming.too_long - function `wc_update_1020_add_old_refunded_order_items_to_product_lookup_table` is 67 characters (limit 30); very long names make code hard to read 3226:10 [warning] naming.too_long - function `wc_update_980_remove_order_attribution_install_banner_dismissed_option` is 70 characters (limit 30); very long names make code hard to read 3235:10 [warning] naming.too_long - function `wc_update_985_enable_new_payments_settings_page_feature` is 55 characters (limit 30); very long names make code hard to read 3244:10 [warning] naming.too_long - function `wc_update_990_remove_wc_count_comments_transient` is 48 characters (limit 30); very long names make code hard to read 3253:10 [warning] naming.too_long - function `wc_update_990_remove_email_notes` is 32 characters (limit 30); very long names make code hard to read 3272:10 [warning] naming.too_long - function `wc_update_1000_remove_patterns_toolkit_transient` is 48 characters (limit 30); very long names make code hard to read 3283:10 [warning] naming.too_long - function `wc_update_1030_add_comments_date_type_index` is 43 characters (limit 30); very long names make code hard to read 3300:10 [warning] naming.too_long - function `wc_update_1040_cleanup_legacy_ptk_patterns_fetching` is 51 characters (limit 30); very long names make code hard to read 3313:10 [warning] naming.too_long - function `wc_update_1050_migrate_brand_permalink_setting` is 46 characters (limit 30); very long names make code hard to read 3337:10 [warning] naming.too_long - function `wc_update_1050_enable_autoload_options` is 38 characters (limit 30); very long names make code hard to read 3394:10 [warning] naming.too_long - function `wc_update_1050_remove_deprecated_marketplace_option` is 51 characters (limit 30); very long names make code hard to read 3405:10 [warning] naming.too_long - function `wc_update_1060_add_woo_idx_comment_approved_type_index` is 54 characters (limit 30); very long names make code hard to read 3408:3 [warning] naming.too_long - variable `comment_approved_type_index_exists` is 34 characters (limit 30); very long names make code hard to read 3424:10 [warning] naming.too_long - function `wc_update_1070_disable_hpos_sync_on_read` is 40 characters (limit 30); very long names make code hard to read 3442:10 [warning] naming.too_long - function `wc_update_1080_migrate_analytics_import_option` is 46 characters (limit 30); very long names make code hard to read 3497:10 [warning] naming.too_long - function `wc_update_10802_restore_orders_meta_key_value_index` is 51 characters (limit 30); very long names make code hard to read 3545:10 [warning] naming.too_long - function `wc_update_1080_backfill_email_template_sync_meta` is 48 characters (limit 30); very long names make code hard to read 3557:10 [warning] naming.too_long - function `wc_update_1090_remove_task_list_reminder_bar_hidden_option` is 58 characters (limit 30); very long names make code hard to read 3574:10 [warning] naming.too_long - function `wc_update_10902_remove_deprecated_push_notifications_option` is 59 characters (limit 30); very long names make code hard to read 3589:10 [warning] naming.too_long - function `wc_update_1100_enable_point_of_sale_feature` is 43 characters (limit 30); very long names make code hard to read 3604:10 [warning] naming.too_long - function `wc_update_11101_remove_deprecated_variation_gallery_option` is 58 characters (limit 30); very long names make code hard to read 3615:10 [warning] naming.too_long - function `wc_update_1110_delete_dashboard_outofstock_count_transient` is 58 characters (limit 30); very long names make code hard to read 3628:10 [warning] naming.too_long - function `wc_update_1110_cleanup_block_email_posts` is 40 characters (limit 30); very long names make code hard to read 3639:10 [warning] naming.too_long - function `wc_update_1110_flush_product_count_cache` is 40 characters (limit 30); very long names make code hard to read 3663:10 [warning] naming.too_long - function `wc_update_1120_remove_abandoned_cart_recovery` is 45 characters (limit 30); very long names make code hard to read 3703:10 [warning] naming.too_long - function `wc_update_1120_migrate_stock_notifications_alpha_constant` is 57 characters (limit 30); very long names make code hard to read 3718:10 [warning] naming.too_long - function `wc_update_1120_delete_surface_cart_checkout_note` is 48 characters (limit 30); very long names make code hard to read 3735:10 [warning] naming.too_long - function `wc_update_1120_cleanup_inherited_variation_images` is 49 characters (limit 30); very long names make code hard to read 3848:10 [warning] naming.too_long - function `wc_update_11201_invalidate_analytics_reports_cache` is 50 characters (limit 30); very long names make code hard to read 3870:10 [warning] naming.too_long - function `wc_update_11202_reset_refund_returning_customer_markers` is 55 characters (limit 30); very long names make code hard to read 3935:10 [warning] naming.too_long - function `wc_update_11203_normalize_stock_notification_emails` is 51 characters (limit 30); very long names make code hard to read Security: not graded 319:14 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ',', $meta_rows )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) 1680:9 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `implode( ',', $post_ids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) 1917:12 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$foreign_key_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 2532:32 [warning] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$download_directories->get_table()`; pass values through prepare with placeholders to prevent SQL injection 2572:12 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$foreign_key_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 2779:24 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$select_query`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- No user input in the query, everything hardcoded.) 3375:10 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 3510:10 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) 3528:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 3531:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 3683:9 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$unsubscribes_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- table name built from the wpdb prefix.) 3882:10 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_stats_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table and column names cannot be prepared.) 3898:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_stats_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Table name cannot be prepared; placeholders are generated per ID.) 3943:10 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name cannot be prepared.) woocommerce/includes/wc-user-functions.php (other) CodeLength: not graded 56:11 [error] length.function - wc_create_new_customer has 146 lines in its body, above 100 213:10 [warning] length.function - wc_create_new_customer_username has 93 lines in its body, above 50 328:10 [warning] length.function - wc_update_new_customer_past_orders has 52 lines in its body, above 50 410:10 [error] length.function - wc_customer_bought_product has 166 lines in its body, above 100 615:10 [warning] length.function - wc_customer_has_capability has 56 lines in its body, above 50 780:10 [warning] length.function - wc_get_customer_available_downloads has 91 lines in its body, above 50 1:1 [warning] length.file - the file has 1172 lines, above 600 for a other CyclomaticComplexity: 77 (C), based on 31 functions and file level code 56:11 [warning] complexity.function - wc_create_new_customer has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 410:10 [error] complexity.function - wc_customer_bought_product has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 615:10 [warning] complexity.function - wc_customer_has_capability has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 730:10 [warning] complexity.function - wc_modify_map_meta_cap has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 780:10 [warning] complexity.function - wc_get_customer_available_downloads has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 631 code lines NamingConvention: 91 (A), based on 106 names 213:10 [warning] naming.too_long - function `wc_create_new_customer_username` is 31 characters (limit 30); very long names make code hard to read 328:10 [warning] naming.too_long - function `wc_update_new_customer_past_orders` is 34 characters (limit 30); very long names make code hard to read 769:10 [warning] naming.too_long - function `wc_get_customer_download_permissions` is 36 characters (limit 30); very long names make code hard to read 780:10 [warning] naming.too_long - function `wc_get_customer_available_downloads` is 35 characters (limit 30); very long names make code hard to read 899:10 [warning] naming.too_long - function `wc_reset_order_customer_id_on_deleted_user` is 42 characters (limit 30); very long names make code hard to read 946:10 [warning] naming.too_long - function `wc_review_is_from_verified_owner` is 32 characters (limit 30); very long names make code hard to read 956:10 [warning] naming.too_long - function `wc_disable_author_archives_for_customers` is 40 characters (limit 30); very long names make code hard to read 978:10 [warning] naming.too_long - function `wc_update_profile_last_update_time` is 34 characters (limit 30); very long names make code hard to read 993:10 [warning] naming.too_long - function `wc_meta_update_last_update_time` is 31 characters (limit 30); very long names make code hard to read 1024:10 [warning] naming.too_long - function `wc_get_customer_saved_methods_list` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-webhook-functions.php (other) CodeLength: not graded 101:10 [warning] length.function - wc_is_webhook_valid_topic has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 111 code lines NamingConvention: 93 (A), based on 29 names 22:36 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 246:10 [warning] naming.too_long - function `wc_get_webhook_rest_api_versions` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wc-widget-functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/includes/wccom-site/class-wc-wccom-site-installer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/includes/wccom-site/class-wc-wccom-site.php (other) CodeLength: not graded 53:25 [warning] length.function - WC_WCCOM_Site::authenticate_wccom has 83 lines in its body, above 50 CyclomaticComplexity: 86 (B), based on 7 functions and file level code 53:25 [warning] complexity.function - WC_WCCOM_Site::authenticate_wccom has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 149 code lines NamingConvention: 92 (A), based on 25 names 172:28 [warning] naming.too_long - method `is_request_to_wccom_site_rest_api` is 33 characters (limit 30); very long names make code hard to read 196:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 63:26 [info] security.unsanitized_input - read of `$_GET['token']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 75:23 [info] security.unsanitized_input - read of `$_SERVER['HTTP_X_WOO_SIGNATURE']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 77:23 [info] security.unsanitized_input - read of `$_GET['signature']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 150:23 [info] security.unsanitized_input - read of `$_SERVER['HTTP_AUTHORIZATION']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 175:31 [info] security.unsanitized_input - read of `$_REQUEST['rest_route']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.NonceVerification.Recommended`) 197:21 [info] security.unsanitized_input - read of `$_SERVER['HTTP_HOST']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 198:81 [info] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/includes/wccom-site/installation/class-wc-wccom-site-installation-manager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 110 code lines NamingConvention: 96 (A), based on 28 names 16:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Manager` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/class-wc-wccom-site-installation-state-storage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 54 code lines NamingConvention: 80 (B), based on 10 names 13:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_State_Storage` is 40 characters (limit 30); very long names make code hard to read 23:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wccom-site/installation/class-wc-wccom-site-installation-state.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 26 functions and file level code Duplication: 0 (F), based on 110 code lines 253:1 [warning] duplication.repeated_block - lines 253 to 285 repeat lines 219 to 253 (52 tokens); repeated code has to be fixed in every copy 285:1 [warning] duplication.repeated_block - lines 285 to 342 repeat lines 219 to 278 (93 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 58 names 13:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_State` is 32 characters (limit 30); very long names make code hard to read 324:18 [warning] naming.too_long - method `get_already_installed_plugin_info` is 33 characters (limit 30); very long names make code hard to read 332:18 [warning] naming.too_long - method `set_already_installed_plugin_info` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/class-wc-wccom-site-installation-step-activate-product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 83 code lines NamingConvention: 94 (A), based on 16 names 17:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Step_Activate_Product` is 48 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/class-wc-wccom-site-installation-step-download-product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 83 (B), based on 6 names 17:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Step_Download_Product` is 48 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/class-wc-wccom-site-installation-step-get-product-info.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 57 code lines NamingConvention: 83 (B), based on 12 names 17:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Step_Get_Product_Info` is 48 characters (limit 30); very long names make code hard to read 85:46 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/class-wc-wccom-site-installation-step-move-product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 43 code lines NamingConvention: 91 (A), based on 11 names 17:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Step_Move_Product` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/class-wc-wccom-site-installation-step-unpack-product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 83 (B), based on 6 names 17:7 [warning] naming.too_long - class `WC_WCCOM_Site_Installation_Step_Unpack_Product` is 46 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/installation/installation-steps/interface-installaton-step.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 67 (D), based on 3 names 11:11 [warning] naming.too_long - interface `WC_WCCOM_Site_Installation_Step` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/rest-api/class-wc-rest-wccom-site-installer-error-codes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 73 code lines NamingConvention: 80 (B), based on 30 names 16:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_Installer_Error_Codes` is 40 characters (limit 30); very long names make code hard to read 27:8 [warning] naming.too_long - constant `NO_INITIATED_INSTALLATION_FOUND` is 31 characters (limit 30); very long names make code hard to read 33:8 [warning] naming.too_long - constant `FILESYSTEM_REQUIREMENTS_NOT_MET` is 31 characters (limit 30); very long names make code hard to read 36:8 [warning] naming.too_long - constant `WCCOM_PRODUCT_MISSING_SUBSCRIPTION` is 34 characters (limit 30); very long names make code hard to read 38:8 [warning] naming.too_long - constant `WPORG_PRODUCT_MISSING_DOWNLOAD_LINK` is 35 characters (limit 30); very long names make code hard to read 44:8 [warning] naming.too_long - constant `FAILED_TO_RESET_INSTALLATION_STATE` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/rest-api/class-wc-rest-wccom-site-installer-error.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 18 code lines NamingConvention: 86 (B), based on 7 names 14:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_Installer_Error` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/rest-api/endpoints/abstract-wc-rest-wccom-site-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 91 (A), based on 11 names 88:42 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wccom-site/rest-api/endpoints/class-wc-rest-wccom-site-connection-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 82 code lines NamingConvention: 92 (A), based on 13 names 20:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_Connection_Controller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/rest-api/endpoints/class-wc-rest-wccom-site-installer-controller.php (other) CodeLength: not graded 34:18 [warning] length.function - WC_REST_WCCOM_Site_Installer_Controller::register_routes has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 154 code lines NamingConvention: 95 (A), based on 19 names 20:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_Installer_Controller` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/wccom-site/rest-api/endpoints/class-wc-rest-wccom-site-ssr-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 50 code lines NamingConvention: 82 (B), based on 11 names 18:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_SSR_Controller` is 33 characters (limit 30); very long names make code hard to read 66:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/wccom-site/rest-api/endpoints/class-wc-rest-wccom-site-status-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 32 code lines NamingConvention: 86 (B), based on 7 names 18:7 [warning] naming.too_long - class `WC_REST_WCCOM_Site_Status_Controller` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/includes/widgets/class-wc-widget-brand-description.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 15 names Security: not graded 89:3 [info] security.unescaped_output - echo of `$before_widget` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) 101:3 [info] security.unescaped_output - echo of `$after_widget` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/includes/widgets/class-wc-widget-brand-nav.php (other) CodeLength: not graded 86:18 [warning] length.function - WC_Widget_Brand_Nav::widget has 75 lines in its body, above 50 217:21 [warning] length.function - WC_Widget_Brand_Nav::get_page_base_url has 73 lines in its body, above 50 314:21 [warning] length.function - WC_Widget_Brand_Nav::layered_nav_dropdown has 74 lines in its body, above 50 397:21 [warning] length.function - WC_Widget_Brand_Nav::layered_nav_list has 88 lines in its body, above 50 494:21 [warning] length.function - WC_Widget_Brand_Nav::get_filtered_term_product_counts has 60 lines in its body, above 50 16:7 [warning] length.class - WC_Widget_Brand_Nav has 539 lines, above 500 for a other CyclomaticComplexity: 71 (C), based on 13 functions 86:18 [warning] complexity.function - WC_Widget_Brand_Nav::widget has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 217:21 [warning] complexity.function - WC_Widget_Brand_Nav::get_page_base_url has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 314:21 [warning] complexity.function - WC_Widget_Brand_Nav::layered_nav_dropdown has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 397:21 [error] complexity.function - WC_Widget_Brand_Nav::layered_nav_list has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 319 code lines NamingConvention: 97 (A), based on 60 names 274:47 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 494:21 [warning] naming.too_long - method `get_filtered_term_product_counts` is 32 characters (limit 30); very long names make code hard to read Security: not graded 158:4 [info] security.unescaped_output - echo of `ob_get_clean()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/includes/widgets/class-wc-widget-brand-thumbnails.php (other) CodeLength: not graded 73:18 [warning] length.function - WC_Widget_Brand_Thumbnails::widget has 60 lines in its body, above 50 179:18 [warning] length.function - WC_Widget_Brand_Thumbnails::form has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 115 code lines NamingConvention: 100 (A), based on 17 names Security: not graded 115:3 [info] security.unescaped_output - echo of `$args['before_widget']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) 117:4 [info] security.unescaped_output - echo of `$args['before_title']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) 131:3 [info] security.unescaped_output - echo of `$args['after_widget']` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/includes/widgets/class-wc-widget-cart.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/includes/widgets/class-wc-widget-layered-nav-filters.php (other) CodeLength: not graded 42:18 [warning] length.function - WC_Widget_Layered_Nav_Filters::widget has 100 lines in its body, above 50 CyclomaticComplexity: 40 (F), based on 2 functions and file level code 42:18 [error] complexity.function - WC_Widget_Layered_Nav_Filters::widget has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 71 code lines NamingConvention: 95 (A), based on 21 names 71:52 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/includes/widgets/class-wc-widget-layered-nav.php (other) CodeLength: not graded 239:21 [warning] length.function - WC_Widget_Layered_Nav::layered_nav_dropdown has 100 lines in its body, above 50 392:21 [warning] length.function - WC_Widget_Layered_Nav::layered_nav_list has 81 lines in its body, above 50 CyclomaticComplexity: 74 (C), based on 17 functions and file level code 239:21 [warning] complexity.function - WC_Widget_Layered_Nav::layered_nav_dropdown has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 392:21 [error] complexity.function - WC_Widget_Layered_Nav::layered_nav_list has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 252 code lines NamingConvention: 98 (A), based on 50 names 350:21 [warning] naming.too_long - method `get_filtered_term_product_counts` is 32 characters (limit 30); very long names make code hard to read Security: not graded 200:4 [info] security.unescaped_output - echo of `ob_get_clean()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `@codingStandardsIgnoreLine`) 465:4 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_layered_nav_term_html', $term_html, $term, $link,...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/includes/widgets/class-wc-widget-price-filter.php (other) CodeLength: not graded 71:18 [warning] length.function - WC_Widget_Price_Filter::widget has 73 lines in its body, above 50 CyclomaticComplexity: 86 (B), based on 3 functions and file level code 71:18 [warning] complexity.function - WC_Widget_Price_Filter::widget has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 118 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/includes/widgets/class-wc-widget-product-categories.php (other) CodeLength: not graded 35:18 [warning] length.function - WC_Widget_Product_Categories::__construct has 54 lines in its body, above 50 97:18 [error] length.function - WC_Widget_Product_Categories::widget has 204 lines in its body, above 100 CyclomaticComplexity: 45 (F), based on 2 functions and file level code 97:18 [error] complexity.function - WC_Widget_Product_Categories::widget has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 216 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/includes/widgets/class-wc-widget-product-search.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/includes/widgets/class-wc-widget-product-tag-cloud.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 53 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/includes/widgets/class-wc-widget-products.php (other) CodeLength: not graded 21:18 [warning] length.function - WC_Widget_Products::__construct has 64 lines in its body, above 50 94:18 [warning] length.function - WC_Widget_Products::get_products has 97 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 4 functions and file level code 94:18 [warning] complexity.function - WC_Widget_Products::get_products has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 197 code lines NamingConvention: 100 (A), based on 19 names Security: not graded 293:3 [info] security.unescaped_output - echo of `$this->cache_widget( $args, ob_get_clean() )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Buffered widget markup; each dynamic value is escaped or annotated where it is rendered.) woocommerce/includes/widgets/class-wc-widget-rating-filter.php (other) CodeLength: not graded 89:18 [warning] length.function - WC_Widget_Rating_Filter::widget has 58 lines in its body, above 50 CyclomaticComplexity: 85 (B), based on 3 functions and file level code 89:18 [warning] complexity.function - WC_Widget_Rating_Filter::widget has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 95 code lines NamingConvention: 100 (A), based on 24 names Security: not graded 144:4 [info] security.unescaped_output - echo of `ob_get_clean()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Buffered widget markup; each dynamic value is escaped or annotated where it is rendered.) woocommerce/includes/widgets/class-wc-widget-recent-reviews.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 8 names Security: not graded 94:3 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Buffered widget markup; each dynamic value is escaped or annotated where it is rendered.) woocommerce/includes/widgets/class-wc-widget-recently-viewed.php (other) CodeLength: not graded 52:18 [warning] length.function - WC_Widget_Recently_Viewed::widget has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 69 code lines NamingConvention: 90 (A), based on 10 names 84:4 [warning] naming.too_short - variable `r` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 53:109 [info] security.unsanitized_input - read of `$_COOKIE['woocommerce_recently_viewed']` with no sanitizer around it; sanitize request input where you read it (suppressed by `@codingStandardsIgnoreLine`) 110:3 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Buffered widget markup; each dynamic value is escaped or annotated where it is rendered.) woocommerce/includes/widgets/class-wc-widget-top-rated-products.php (other) CodeLength: not graded 51:18 [warning] length.function - WC_Widget_Top_Rated_Products::widget has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 85 code lines NamingConvention: 93 (A), based on 15 names 78:4 [warning] naming.too_short - variable `r` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 105:3 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- Buffered widget markup; each dynamic value is escaped or annotated where it is rendered.) woocommerce/lib/classes/symfony/polyfill-php80/Resources/stubs/Attribute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/classes/symfony/polyfill-php80/Resources/stubs/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/classes/symfony/polyfill-php80/Resources/stubs/Stringable.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/classes/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/classes/symfony/polyfill-php80/Resources/stubs/ValueError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Detection/MobileDetect.php (other) CodeLength: not graded 217:7 [error] length.class - MobileDetect has 1203 lines, above 1000 for a other 1:1 [error] length.file - the file has 1419 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 31 functions Duplication: 100 (A), based on 580 code lines NamingConvention: 100 (A), based on 73 names Security: not graded woocommerce/lib/packages/League/ISO3166/Exception/DomainException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/League/ISO3166/Exception/ISO3166Exception.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/League/ISO3166/Exception/OutOfBoundsException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/League/ISO3166/Guards.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/League/ISO3166/ISO3166.php (other) CodeLength: not graded 18:13 [error] length.class - ISO3166 has 2451 lines, above 1000 for a other 1:1 [error] length.file - the file has 2468 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 2367 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/lib/packages/League/ISO3166/ISO3166DataProvider.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/League/ISO3166/ISO3166DataValidator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 80 (B), based on 5 names 23:37 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/lib/packages/League/ISO3166/ISO3166WithAliases.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Caching/SimpleStringCache.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Css/CssDocument.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 98 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Css/StyleRule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/CssInliner.php (other) CodeLength: not graded 605:22 [warning] length.function - CssInliner::collateCssRules has 61 lines in its body, above 50 18:13 [error] length.class - CssInliner has 1194 lines, above 1000 for a other 1:1 [error] length.file - the file has 1211 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 44 functions Duplication: 85 (B), based on 556 code lines 269:1 [warning] duplication.repeated_block - lines 269 to 299 repeat lines 239 to 267 (61 tokens); repeated code has to be fixed in every copy 301:1 [warning] duplication.repeated_block - lines 301 to 341 repeat lines 239 to 281 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 87 (B), based on 140 names 61:19 [warning] naming.too_long - constant `QSA_ALWAYS_THROW_PARSE_EXCEPTION` is 32 characters (limit 30); very long names make code hard to read 115:14 [warning] naming.too_long - property `isInlineStyleAttributesParsingEnabled` is 37 characters (limit 30); very long names make code hard to read 223:21 [warning] naming.too_long - method `disableInlineStyleAttributesParsing` is 35 characters (limit 30); very long names make code hard to read 358:21 [warning] naming.too_long - method `getMatchingUninlinableSelectors` is 31 characters (limit 30); very long names make code hard to read 409:22 [warning] naming.too_long - method `normalizeStyleAttributesOfAllNodes` is 34 characters (limit 30); very long names make code hard to read 708:22 [warning] naming.too_long - method `selectorPartHasUnsupportedOfTypePseudoClass` is 43 characters (limit 30); very long names make code hard to read 778:22 [warning] naming.too_long - method `copyInlinableCssToStyleAttribute` is 32 characters (limit 30); very long names make code hard to read 813:22 [warning] naming.too_long - method `generateStyleStringFromDeclarationsArrays` is 41 characters (limit 30); very long names make code hard to read 872:22 [warning] naming.too_long - method `fillStyleAttributesWithMergedStyles` is 35 characters (limit 30); very long names make code hard to read 894:22 [warning] naming.too_long - method `removeImportantAnnotationFromAllInlineStyles` is 44 characters (limit 30); very long names make code hard to read 914:22 [warning] naming.too_long - method `removeImportantAnnotationFromNodeInlineStyle` is 44 characters (limit 30); very long names make code hard to read 930:10 [warning] naming.too_long - variable `inlineStyleDeclarationsInNewOrder` is 33 characters (limit 30); very long names make code hard to read 944:22 [warning] naming.too_long - method `generateStyleStringFromSingleDeclarationsArray` is 46 characters (limit 30); very long names make code hard to read 962:22 [warning] naming.too_long - method `determineMatchingUninlinableCssRules` is 36 characters (limit 30); very long names make code hard to read 991:22 [warning] naming.too_long - method `existsMatchForSelectorInCssRule` is 31 characters (limit 30); very long names make code hard to read 1037:22 [warning] naming.too_long - method `removeUnmatchablePseudoComponents` is 33 characters (limit 30); very long names make code hard to read 1052:10 [warning] naming.too_long - variable `selectorWithoutUnmatchablePseudoComponents` is 42 characters (limit 30); very long names make code hard to read 1127:22 [warning] naming.too_long - method `removeUnsupportedOfTypePseudoClasses` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 24 functions Duplication: 100 (A), based on 206 code lines NamingConvention: 91 (A), based on 53 names 33:21 [warning] naming.too_long - constant `PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER` is 37 characters (limit 30); very long names make code hard to read 41:21 [warning] naming.too_long - constant `TAGNAME_ALLOWED_BEFORE_BODY_MATCHER` is 35 characters (limit 30); very long names make code hard to read 170:10 [warning] naming.too_long - variable `htmlWithPossibleErroneousClosingTags` is 36 characters (limit 30); very long names make code hard to read 195:22 [warning] naming.too_long - method `removeSelfClosingTagsClosingTags` is 32 characters (limit 30); very long names make code hard to read 456:22 [warning] naming.too_long - method `ensurePhpUnrecognizedSelfClosingTagsAreXml` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/HtmlProcessor/CssToAttributeConverter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 133 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/HtmlProcessor/CssVariableEvaluator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 104 code lines NamingConvention: 89 (B), based on 28 names 40:22 [warning] naming.too_long - method `getVariableDefinitionsFromDeclarations` is 38 characters (limit 30); very long names make code hard to read 79:22 [warning] naming.too_long - method `replaceVariablesInPropertyValue` is 31 characters (limit 30); very long names make code hard to read 172:22 [warning] naming.too_long - method `evaluateVariablesInElementAndDescendants` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/HtmlProcessor/HtmlNormalizer.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/HtmlProcessor/HtmlPruner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 62 code lines NamingConvention: 90 (A), based on 20 names 106:22 [warning] naming.too_long - method `removeClassAttributeFromElements` is 32 characters (limit 30); very long names make code hard to read 127:21 [warning] naming.too_long - method `removeRedundantClassesAfterCssInlined` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Utilities/ArrayIntersector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Utilities/CssConcatenator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 96 (A), based on 25 names 89:18 [warning] naming.too_long - variable `lastDeclarationsBlockWithoutSemicolon` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Utilities/DeclarationBlockParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/lib/packages/Pelago/Emogrifier/Utilities/Preg.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 83 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/lib/packages/Psr/Container/ContainerExceptionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Psr/Container/ContainerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/lib/packages/Psr/Container/NotFoundExceptionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSElement.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSList/AtRuleBlockList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSList/CSSBlockList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 114 code lines NamingConvention: 97 (A), based on 29 names 86:10 [warning] naming.too_long - parameter `ruleSearchPatternOrSearchInFunctionArguments` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSList/CSSList.php (other) CodeLength: not graded 164:29 [warning] length.function - CSSList::parseAtRule has 78 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 19 functions 164:29 [warning] complexity.function - CSSList::parseAtRule has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 299 code lines NamingConvention: 98 (A), based on 63 names 374:21 [warning] naming.too_long - method `removeDeclarationBlockBySelector` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSList/Document.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/CSSList/KeyFrame.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Comment/Comment.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Comment/Commentable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/OutputFormat.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 143 code lines NamingConvention: 90 (A), based on 51 names 138:13 [warning] naming.too_long - property `sSpaceBeforeListArgumentSeparator` is 33 characters (limit 30); very long names make code hard to read 147:13 [warning] naming.too_long - property `aSpaceBeforeListArgumentSeparators` is 34 characters (limit 30); very long names make code hard to read 159:13 [warning] naming.too_long - property `sSpaceAfterListArgumentSeparator` is 32 characters (limit 30); very long names make code hard to read 168:13 [warning] naming.too_long - property `aSpaceAfterListArgumentSeparators` is 33 characters (limit 30); very long names make code hard to read 191:13 [warning] naming.too_long - property `sAfterDeclarationBlockSelectors` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Sabberworm/CSS/OutputFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions Duplication: 100 (A), based on 147 code lines NamingConvention: 95 (A), based on 41 names 121:21 [warning] naming.too_long - method `spaceBeforeListArgumentSeparator` is 32 characters (limit 30); very long names make code hard to read 136:21 [warning] naming.too_long - method `spaceAfterListArgumentSeparator` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/Anchor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/OutputException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/ParserState.php (other) CodeLength: not graded 180:21 [warning] length.function - ParserState::parseCharacter has 53 lines in its body, above 50 11:7 [warning] length.class - ParserState has 542 lines, above 500 for a other CyclomaticComplexity: 88 (B), based on 26 functions 180:21 [error] complexity.function - ParserState::parseCharacter has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 326 code lines NamingConvention: 100 (A), based on 76 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/SourceException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/UnexpectedEOFException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Parsing/UnexpectedTokenException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Position/Position.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Position/Positionable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/AtRule.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/CSSNamespace.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 65 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/Charset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 51 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/Import.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 60 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/KeyframeSelector.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Property/Selector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 51 code lines NamingConvention: 65 (D), based on 17 names 18:11 [warning] naming.too_long - constant `NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX` is 39 characters (limit 30); very long names make code hard to read 44:11 [warning] naming.too_long - constant `ELEMENTS_AND_PSEUDO_ELEMENTS_RX` is 31 characters (limit 30); very long names make code hard to read 138:14 [warning] naming.too_short - variable `a` is 1 character (at least 2); a one letter name hides its meaning 141:14 [warning] naming.too_short - variable `b` is 1 character (at least 2); a one letter name hides its meaning 142:14 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning 143:14 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Renderable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Rule/Rule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions Duplication: 100 (A), based on 204 code lines NamingConvention: 100 (A), based on 46 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/RuleSet/AtRuleSet.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/RuleSet/DeclarationBlock.php (other) CodeLength: not graded 227:21 [warning] length.function - DeclarationBlock::expandBorderShorthand has 51 lines in its body, above 50 290:21 [warning] length.function - DeclarationBlock::expandDimensionsShorthand has 51 lines in its body, above 50 352:21 [warning] length.function - DeclarationBlock::expandFontShorthand has 59 lines in its body, above 50 424:21 [warning] length.function - DeclarationBlock::expandBackgroundShorthand has 67 lines in its body, above 50 498:21 [warning] length.function - DeclarationBlock::expandListStyleShorthand has 75 lines in its body, above 50 676:21 [warning] length.function - DeclarationBlock::createDimensionsShorthand has 64 lines in its body, above 50 752:21 [warning] length.function - DeclarationBlock::createFontShorthand has 76 lines in its body, above 50 29:7 [warning] length.class - DeclarationBlock has 843 lines, above 500 for a other 1:1 [warning] length.file - the file has 871 lines, above 600 for a other CyclomaticComplexity: 82 (B), based on 22 functions 55:28 [warning] complexity.function - DeclarationBlock::parse has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 352:21 [warning] complexity.function - DeclarationBlock::expandFontShorthand has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 424:21 [warning] complexity.function - DeclarationBlock::expandBackgroundShorthand has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 498:21 [warning] complexity.function - DeclarationBlock::expandListStyleShorthand has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 676:21 [warning] complexity.function - DeclarationBlock::createDimensionsShorthand has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 752:21 [warning] complexity.function - DeclarationBlock::createFontShorthand has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 645 code lines 116:1 [warning] duplication.repeated_block - lines 116 to 125 repeat lines 107 to 116 (50 tokens); repeated code has to be fixed in every copy 300:1 [warning] duplication.repeated_block - lines 300 to 311 repeat lines 242 to 253 (64 tokens); repeated code has to be fixed in every copy 366:1 [warning] duplication.repeated_block - lines 366 to 375 repeat lines 246 to 255 (50 tokens); repeated code has to be fixed in every copy 536:1 [warning] duplication.repeated_block - lines 536 to 551 repeat lines 440 to 455 (122 tokens); repeated code has to be fixed in every copy 563:1 [warning] duplication.repeated_block - lines 563 to 572 repeat lines 481 to 490 (63 tokens); repeated code has to be fixed in every copy 679:1 [warning] duplication.repeated_block - lines 679 to 687 repeat lines 292 to 300 (62 tokens); repeated code has to be fixed in every copy 795:1 [warning] duplication.repeated_block - lines 795 to 804 repeat lines 771 to 780 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 72 names 804:18 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds Security: not graded woocommerce/lib/packages/Sabberworm/CSS/RuleSet/RuleSet.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 100 (A), based on 195 code lines NamingConvention: 100 (A), based on 45 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Settings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/CSSFunction.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/CSSString.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/CalcFunction.php (other) CodeLength: not graded 39:28 [warning] length.function - CalcFunction::parse has 75 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 1 function 39:28 [warning] complexity.function - CalcFunction::parse has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/CalcRuleValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/Color.php (other) CodeLength: not graded 36:28 [warning] length.function - Color::parse has 72 lines in its body, above 50 CyclomaticComplexity: 80 (B), based on 8 functions 36:28 [warning] complexity.function - Color::parse has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 115 code lines 61:1 [warning] duplication.repeated_block - lines 61 to 65 repeat lines 49 to 53 (104 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/LineName.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/PrimitiveValue.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/RuleValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/Size.php (other) CodeLength: not graded CyclomaticComplexity: 90 (A), based on 12 functions 98:28 [warning] complexity.function - Size::parse has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 132 code lines NamingConvention: 91 (A), based on 34 names 57:21 [warning] naming.inconsistent_style - property `SIZE_UNITS` is UPPER_SNAKE_CASE, while most properties in this file are camelCase (3 of 4 names); mixed styles make code harder to scan 140:114 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 240:10 [warning] naming.too_short - variable `l` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/URL.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/Value.php (other) CodeLength: not graded 39:28 [warning] length.function - Value::parseValue has 66 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 6 functions 39:28 [warning] complexity.function - Value::parseValue has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 149:28 [warning] complexity.function - Value::parsePrimitiveValue has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 147 code lines NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/lib/packages/Sabberworm/CSS/Value/ValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/CssSelectorConverter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Exception/ExceptionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Exception/InternalErrorException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Exception/ParseException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/AbstractNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/AttributeNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/ClassNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/ElementNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/FunctionNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/HashNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/NegationNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/NodeInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/PseudoNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/SelectorNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Node/Specificity.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 57 (F), based on 14 names 32:14 [warning] naming.too_short - property `a` is 1 character (at least 2); a one letter name hides its meaning 33:14 [warning] naming.too_short - property `b` is 1 character (at least 2); a one letter name hides its meaning 34:14 [warning] naming.too_short - property `c` is 1 character (at least 2); a one letter name hides its meaning 36:38 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 36:46 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 36:54 [warning] naming.too_short - parameter `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Parser.php (other) CodeLength: not graded 149:22 [error] length.function - Parser::parseSimpleSelector has 112 lines in its body, above 100 289:22 [warning] length.function - Parser::parseAttributeNode has 63 lines in its body, above 50 CyclomaticComplexity: 63 (D), based on 8 functions 55:28 [warning] complexity.function - Parser::parseSeries has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 149:22 [error] complexity.function - Parser::parseSimpleSelector has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely 289:22 [warning] complexity.function - Parser::parseAttributeNode has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 249 code lines NamingConvention: 100 (A), based on 36 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/ParserInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Reader.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Token.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/TokenStream.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 68 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 89 (B), based on 9 names 50:14 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 83 (B), based on 6 names 61:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 79 code lines NamingConvention: 93 (A), based on 14 names 32:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 86 (B), based on 7 names 61:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php (other) CodeLength: not graded 51:21 [warning] length.function - FunctionExtension::translateNthChild has 53 lines in its body, above 50 CyclomaticComplexity: 85 (B), based on 8 functions 51:21 [warning] complexity.function - FunctionExtension::translateNthChild has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 96 code lines 143:1 [warning] duplication.repeated_block - lines 143 to 154 repeat lines 125 to 136 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 134 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 15 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 31 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/Translator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 45 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/TranslatorInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/lib/packages/Symfony/Component/CssSelector/XPath/XPathExpr.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Php80.php (other) CodeLength: not graded CyclomaticComplexity: 89 (B), based on 7 functions 28:28 [warning] complexity.function - Php80::get_debug_type has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 81 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Resources/stubs/Attribute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Resources/stubs/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Resources/stubs/Stringable.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Resources/stubs/UnhandledMatchError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/Resources/stubs/ValueError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/lib/packages/Symfony/Polyfill/Php80/bootstrap.php (other) CodeLength: not graded CyclomaticComplexity: 78 (C), based on 7 functions and file level code 14:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/action-scheduler/action-scheduler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 22 code lines NamingConvention: 33 (F), based on 3 names 45:11 [warning] naming.too_long - function `action_scheduler_register_4_dot_1_dot_0` is 39 characters (limit 30); very long names make code hard to read 54:11 [warning] naming.too_long - function `action_scheduler_initialize_4_dot_1_dot_0` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionClaim.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_ActionFactory.php (other) CodeLength: not graded 268:18 [warning] length.function - ActionScheduler_ActionFactory::create has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 70 (C), based on 152 code lines 156:1 [warning] duplication.repeated_block - lines 156 to 175 repeat lines 119 to 136 (64 tokens); repeated code has to be fixed in every copy 175:1 [warning] duplication.repeated_block - lines 175 to 198 repeat lines 136 to 156 (79 tokens); repeated code has to be fixed in every copy 198:1 [warning] duplication.repeated_block - lines 198 to 228 repeat lines 155 to 174 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 38 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_AdminView.php (other) CodeLength: not graded 164:21 [warning] length.function - ActionScheduler_AdminView::check_pastdue_actions has 79 lines in its body, above 50 247:18 [warning] length.function - ActionScheduler_AdminView::add_help_tabs has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 181 code lines NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_AsyncRequest_QueueRunner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 36 code lines NamingConvention: 91 (A), based on 11 names 8:7 [warning] naming.too_long - class `ActionScheduler_AsyncRequest_QueueRunner` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_Compatibility.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 58 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_DataController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 83 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_DateTime.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 23 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_Exception.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 1 code line NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_FatalErrorMonitor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 92 (A), based on 13 names 6:7 [warning] naming.too_long - class `ActionScheduler_FatalErrorMonitor` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_InvalidActionException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 18 code lines NamingConvention: 86 (B), based on 7 names 10:7 [warning] naming.too_long - class `ActionScheduler_InvalidActionException` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_ListTable.php (other) CodeLength: not graded 90:18 [error] length.function - ActionScheduler_ListTable::__construct has 119 lines in its body, above 100 378:18 [error] length.function - ActionScheduler_ListTable::display_admin_notices has 101 lines in its body, above 100 621:18 [warning] length.function - ActionScheduler_ListTable::prepare_items has 65 lines in its body, above 50 8:7 [warning] length.class - ActionScheduler_ListTable has 693 lines, above 500 for a other 1:1 [warning] length.file - the file has 700 lines, above 600 for a other CyclomaticComplexity: 94 (A), based on 20 functions 378:18 [warning] complexity.function - ActionScheduler_ListTable::display_admin_notices has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 386 code lines NamingConvention: 100 (A), based on 84 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_LogEntry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 23 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_NullLogEntry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_OptionLock.php (other) CodeLength: not graded 27:18 [warning] length.function - ActionScheduler_OptionLock::set has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 89 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_QueueCleaner.php (other) CodeLength: not graded 106:18 [warning] length.function - ActionScheduler_QueueCleaner::delete_old_actions has 72 lines in its body, above 50 191:18 [warning] length.function - ActionScheduler_QueueCleaner::clean_actions has 68 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 11 functions 191:18 [warning] complexity.function - ActionScheduler_QueueCleaner::clean_actions has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 193 code lines 355:1 [warning] duplication.repeated_block - lines 355 to 367 repeat lines 321 to 333 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 47 names 19:16 [warning] naming.too_long - constant `CONTINUE_SCHEDULED_CLEANER_HOOK` is 31 characters (limit 30); very long names make code hard to read 209:23 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 209:27 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_QueueRunner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 116 code lines NamingConvention: 94 (A), based on 36 names 246:4 [warning] naming.too_long - variable `flushing_runtime_cache_explicitly_supported` is 43 characters (limit 30); very long names make code hard to read 247:4 [warning] naming.too_long - variable `flushing_runtime_cache_implicitly_supported` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_RecurringActionScheduler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 50 (F), based on 6 names 10:7 [warning] naming.too_long - class `ActionScheduler_RecurringActionScheduler` is 40 characters (limit 30); very long names make code hard to read 18:16 [warning] naming.too_long - constant `RUN_SCHEDULED_RECURRING_ACTIONS_HOOK` is 36 characters (limit 30); very long names make code hard to read 39:18 [warning] naming.too_long - method `schedule_recurring_scheduler_hook` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_ScheduleDeserializer.php (other) CodeLength: not graded CyclomaticComplexity: 94 (A), based on 10 functions 226:19 [warning] complexity.function - ActionScheduler_ScheduleDeserializer::scan_object_graph has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 152 code lines NamingConvention: 98 (A), based on 42 names 12:7 [warning] naming.too_long - class `ActionScheduler_ScheduleDeserializer` is 36 characters (limit 30); very long names make code hard to read Security: not graded 314:11 [info] security.unserialize - call to `unserialize` with `$this->source_data` without `allowed_classes => false`; untrusted data can create objects and run their code (suppressed by `phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize, WordPress.PHP.NoSilencedErrors.Discouraged`) woocommerce/packages/action-scheduler/classes/ActionScheduler_SystemInformation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 87 (B), based on 15 names 6:7 [warning] naming.too_long - class `ActionScheduler_SystemInformation` is 33 characters (limit 30); very long names make code hard to read 48:34 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_Versions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 54 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_WPCommentCleaner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 67 code lines NamingConvention: 93 (A), based on 15 names 8:7 [warning] naming.too_long - class `ActionScheduler_WPCommentCleaner` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/ActionScheduler_wcSystemStatus.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 74 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Cancel_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 58 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Create_Command.php (other) CodeLength: not graded 19:18 [warning] length.function - Create_Command::execute has 97 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 104 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Delete_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Generate_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 64 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Get_Command.php (other) CodeLength: not graded 15:18 [warning] length.function - Get_Command::execute has 59 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action/List_Command.php (other) CodeLength: not graded 33:18 [warning] length.function - List_Command::execute has 99 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 1 function 33:18 [warning] complexity.function - List_Command::execute has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 91 code lines NamingConvention: 100 (A), based on 16 names Security: not graded 92:5 [info] security.unescaped_output - echo of `$actions` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Next_Command.php (other) CodeLength: not graded 19:18 [warning] length.function - Next_Command::execute has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 9 names Security: not graded 53:4 [info] security.unescaped_output - echo of `$action_id` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) 64:4 [info] security.unescaped_output - echo of `$action_id` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) woocommerce/packages/action-scheduler/classes/WP_CLI/Action/Run_Command.php (other) CodeLength: not graded 53:18 [warning] length.function - Run_Command::execute has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 103 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_Clean_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 63 code lines NamingConvention: 95 (A), based on 20 names 6:7 [warning] naming.too_long - class `ActionScheduler_WPCLI_Clean_Command` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_QueueRunner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 89 code lines NamingConvention: 97 (A), based on 31 names 10:7 [warning] naming.too_long - class `ActionScheduler_WPCLI_QueueRunner` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/ActionScheduler_WPCLI_Scheduler_command.php (other) CodeLength: not graded 76:18 [warning] length.function - ActionScheduler_WPCLI_Scheduler_command::run has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 91 code lines NamingConvention: 93 (A), based on 30 names 6:7 [warning] naming.too_long - class `ActionScheduler_WPCLI_Scheduler_command` is 39 characters (limit 30); very long names make code hard to read 23:6 [warning] naming.generic - variable `obj` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Action_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/Migration_Command.php (other) CodeLength: not graded 136:19 [warning] length.function - Migration_Command::init_logging has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 124 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/ProgressBar.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/action-scheduler/classes/WP_CLI/System_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 132 code lines NamingConvention: 100 (A), based on 39 names Security: not graded 40:3 [info] security.unescaped_output - echo of `$this->get_current_datastore()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) 51:3 [info] security.unescaped_output - echo of `$this->get_current_runner()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) 107:4 [info] security.unescaped_output - echo of `$latest` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) 160:4 [info] security.unescaped_output - echo of `$path` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped` -- Escaping output is not necessary in WP CLI.) woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler.php (other) CodeLength: not graded 111:25 [warning] length.function - ActionScheduler::autoload has 57 lines in its body, above 50 175:25 [warning] length.function - ActionScheduler::init has 88 lines in its body, above 50 CyclomaticComplexity: 84 (B), based on 19 functions 111:25 [error] complexity.function - ActionScheduler::autoload has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 211 code lines NamingConvention: 98 (A), based on 41 names 112:4 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded 164:4 [warning] security.include_variable - include of `$dir` builds the file path from data; a crafted path can load another file woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_ListTable.php (other) CodeLength: not graded 24:16 [warning] length.class - ActionScheduler_Abstract_ListTable has 780 lines, above 500 for a other 1:1 [warning] length.file - the file has 803 lines, above 600 for a other CyclomaticComplexity: 97 (A), based on 34 functions and file level code 693:21 [warning] complexity.function - ActionScheduler_Abstract_ListTable::display_filter_by_status has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 393 code lines NamingConvention: 97 (A), based on 109 names 24:16 [warning] naming.too_long - class `ActionScheduler_Abstract_ListTable` is 34 characters (limit 30); very long names make code hard to read 81:13 [warning] naming.inconsistent_style - property `ID` is PascalCase, while most properties in this file are snake_case (10 of 13 names); mixed styles make code harder to scan 323:21 [warning] naming.too_long - method `get_request_query_args_to_persist` is 33 characters (limit 30); very long names make code hard to read Security: not graded 425:23 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.DB.PreparedSQL.NotPrepared`) 448:23 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 732:4 [info] security.unescaped_output - echo of `$status_list_items` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 754:4 [info] security.unescaped_output - echo of `$this->search_box( $this->get_search_box_button_text(), 'plugin' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_QueueRunner.php (other) CodeLength: not graded 63:18 [warning] length.function - ActionScheduler_Abstract_QueueRunner::process_action has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 16 functions Duplication: 100 (A), based on 174 code lines NamingConvention: 94 (A), based on 48 names 6:16 [warning] naming.too_long - class `ActionScheduler_Abstract_QueueRunner` is 36 characters (limit 30); very long names make code hard to read 236:19 [warning] naming.too_long - method `recurring_action_is_consistently_failing` is 40 characters (limit 30); very long names make code hard to read 267:4 [warning] naming.too_long - variable `first_action_id_with_the_same_hook` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_RecurringSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 38 code lines NamingConvention: 91 (A), based on 11 names 6:16 [warning] naming.too_long - class `ActionScheduler_Abstract_RecurringSchedule` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 89 (B), based on 9 names 6:16 [warning] naming.too_long - class `ActionScheduler_Abstract_Schedule` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 74 code lines NamingConvention: 96 (A), based on 26 names 13:16 [warning] naming.too_long - class `ActionScheduler_Abstract_Schema` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Lock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Logger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 16 functions Duplication: 100 (A), based on 101 code lines NamingConvention: 97 (A), based on 33 names 236:18 [warning] naming.too_long - method `log_failed_schedule_next_instance` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_Store.php (other) CodeLength: not graded 8:16 [warning] length.class - ActionScheduler_Store has 505 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 18 functions Duplication: 100 (A), based on 179 code lines NamingConvention: 99 (A), based on 67 names 320:21 [warning] naming.too_long - method `get_scheduled_date_string_local` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_TimezoneHelper.php (other) CodeLength: not graded CyclomaticComplexity: 86 (B), based on 4 functions 112:25 [warning] complexity.function - ActionScheduler_TimezoneHelper::get_local_timezone has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 86 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/action-scheduler/classes/abstracts/ActionScheduler_WPCLI_Command.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 86 (B), based on 14 names 75:21 [warning] naming.too_long - method `process_csv_arguments_to_arrays` is 31 characters (limit 30); very long names make code hard to read 76:41 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/action-scheduler/classes/actions/ActionScheduler_Action.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 64 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/packages/action-scheduler/classes/actions/ActionScheduler_CanceledAction.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/action-scheduler/classes/actions/ActionScheduler_FinishedAction.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/action-scheduler/classes/actions/ActionScheduler_NullAction.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_DBLogger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 87 code lines NamingConvention: 96 (A), based on 28 names 137:18 [warning] naming.too_long - method `clear_deleted_action_logs_single_batch` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php (other) CodeLength: not graded 303:21 [warning] length.function - ActionScheduler_DBStore::get_group_ids has 66 lines in its body, above 50 499:21 [error] length.function - ActionScheduler_DBStore::get_query_actions_sql has 202 lines in its body, above 100 1005:21 [error] length.function - ActionScheduler_DBStore::claim_actions has 103 lines in its body, above 100 10:7 [error] length.class - ActionScheduler_DBStore has 1424 lines, above 1000 for a other 1:1 [error] length.file - the file has 1433 lines, above 1200 for a other CyclomaticComplexity: 83 (B), based on 41 functions 499:21 [error] complexity.function - ActionScheduler_DBStore::get_query_actions_sql has a cyclomatic complexity of 40, high risk (above 10): each of its 40 paths needs its own test, which makes it hard to follow and to change safely 1005:21 [warning] complexity.function - ActionScheduler_DBStore::claim_actions has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 753 code lines 1360:1 [warning] duplication.repeated_block - lines 1360 to 1391 repeat lines 1294 to 1323 (107 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 144 names 127:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 191:26 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- $column_sql and $where_clause are already prepared. $placeholder_sql is hardcoded.) 226:26 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber` -- $pending_status_placeholders is hardcoded.) 336:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 852:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_in`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1082:24 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$where`; pass values through prepare with placeholders to prevent SQL injection 1256:31 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$action_id_string`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 25 functions Duplication: 100 (A), based on 205 code lines NamingConvention: 100 (A), based on 65 names Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_wpCommentLogger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 15 functions Duplication: 100 (A), based on 148 code lines NamingConvention: 95 (A), based on 41 names 6:7 [warning] naming.too_long - class `ActionScheduler_wpCommentLogger` is 31 characters (limit 30); very long names make code hard to read 97:27 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore.php (other) CodeLength: not graded 354:21 [error] length.function - ActionScheduler_wpPostStore::get_query_actions_sql has 144 lines in its body, above 100 681:21 [warning] length.function - ActionScheduler_wpPostStore::claim_actions has 78 lines in its body, above 50 6:7 [error] length.class - ActionScheduler_wpPostStore has 1158 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1163 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 39 functions 354:21 [error] complexity.function - ActionScheduler_wpPostStore::get_query_actions_sql has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 618 code lines NamingConvention: 97 (A), based on 118 names 151:64 [warning] naming.inconsistent_style - parameter `post_ID` is mixed case, while most variables and parameters in this file are snake_case (38 of 72 names); mixed styles make code harder to scan 297:21 [warning] naming.too_long - method `get_action_status_by_post_status` is 32 characters (limit 30); very long names make code hard to read 325:21 [warning] naming.too_long - method `get_post_status_by_action_status` is 32 characters (limit 30); very long names make code hard to read Security: not graded 740:41 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$update`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 890:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$action_id_string`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore`) 1003:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$column_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore`) woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_PostStatusRegistrar.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 86 (B), based on 7 names 8:7 [warning] naming.too_long - class `ActionScheduler_wpPostStore_PostStatusRegistrar` is 47 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_PostTypeRegistrar.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 75 (C), based on 4 names 8:7 [warning] naming.too_long - class `ActionScheduler_wpPostStore_PostTypeRegistrar` is 45 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/data-stores/ActionScheduler_wpPostStore_TaxonomyRegistrar.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 75 (C), based on 4 names 8:7 [warning] naming.too_long - class `ActionScheduler_wpPostStore_TaxonomyRegistrar` is 45 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/migration/ActionMigrator.php (other) CodeLength: not graded 58:18 [warning] length.function - ActionMigrator::migrate has 68 lines in its body, above 50 CyclomaticComplexity: 72 (C), based on 2 functions 58:18 [warning] complexity.function - ActionMigrator::migrate has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 58 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 18 code lines NamingConvention: 71 (C), based on 7 names 10:7 [warning] naming.too_long - class `ActionScheduler_DBStoreMigrator` is 31 characters (limit 30); very long names make code hard to read 38:6 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/action-scheduler/classes/migration/BatchFetcher.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/Config.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 0 (F), based on 59 code lines 100:1 [warning] duplication.repeated_block - lines 100 to 123 repeat lines 77 to 100 (54 tokens); repeated code has to be fixed in every copy 123:1 [warning] duplication.repeated_block - lines 123 to 146 repeat lines 77 to 100 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 112 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/DryRun_ActionMigrator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/DryRun_LogMigrator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/LogMigrator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/Runner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/action-scheduler/classes/migration/Scheduler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_CanceledSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 83 (B), based on 6 names 6:7 [warning] naming.too_long - class `ActionScheduler_CanceledSchedule` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_CronSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_IntervalSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 86 (B), based on 7 names 6:7 [warning] naming.too_long - class `ActionScheduler_IntervalSchedule` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_NullSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_Schedule.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/action-scheduler/classes/schedules/ActionScheduler_SimpleSchedule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/action-scheduler/classes/schema/ActionScheduler_LoggerSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 13 names Security: not graded 88:26 [info] security.sql_interpolated - query `$wpdb->get_col` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/packages/action-scheduler/classes/schema/ActionScheduler_StoreSchema.php (other) CodeLength: not graded 48:21 [warning] length.function - ActionScheduler_StoreSchema::get_table_definition has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 94 (A), based on 18 names 56:4 [warning] naming.too_long - variable `hook_status_scheduled_date_gmt_max_index_length` is 47 characters (limit 30); very long names make code hard to read Security: not graded 130:26 [info] security.sql_interpolated - query `$wpdb->get_col` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/packages/action-scheduler/deprecated/ActionScheduler_Abstract_QueueRunner_Deprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 67 (D), based on 3 names 6:16 [warning] naming.too_long - class `ActionScheduler_Abstract_QueueRunner_Deprecated` is 47 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/deprecated/ActionScheduler_AdminView_Deprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 92 (A), based on 24 names 11:7 [warning] naming.too_long - class `ActionScheduler_AdminView_Deprecated` is 36 characters (limit 30); very long names make code hard to read 18:18 [warning] naming.too_long - method `action_scheduler_post_type_args` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/deprecated/ActionScheduler_Schedule_Deprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 80 (B), based on 5 names 6:16 [warning] naming.too_long - class `ActionScheduler_Schedule_Deprecated` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/deprecated/ActionScheduler_Store_Deprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 83 (B), based on 6 names 8:16 [warning] naming.too_long - class `ActionScheduler_Store_Deprecated` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/action-scheduler/deprecated/functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/action-scheduler/functions.php (other) CodeLength: not graded 122:10 [warning] length.function - as_schedule_recurring_action has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 40 (F), based on 231 code lines 176:1 [warning] duplication.repeated_block - lines 176 to 232 repeat lines 101 to 127 (72 tokens); repeated code has to be fixed in every copy 232:1 [warning] duplication.repeated_block - lines 232 to 239 repeat lines 165 to 172 (53 tokens); repeated code has to be fixed in every copy 239:1 [warning] duplication.repeated_block - lines 239 to 267 repeat lines 172 to 209 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 38 names Security: not graded woocommerce/packages/action-scheduler/lib/WP_Async_Request.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 59 code lines NamingConvention: 93 (A), based on 15 names 76:26 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 151:20 [warning] security.unsanitized_input - read of `$_COOKIE` with no sanitizer around it; sanitize request input where you read it woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression.php (other) CodeLength: not graded 261:24 [warning] length.function - CronExpression::getRunDate has 56 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 11 functions 261:24 [warning] complexity.function - CronExpression::getRunDate has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 142 code lines NamingConvention: 100 (A), based on 37 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_AbstractField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_DayOfMonthField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_DayOfWeekField.php (other) CodeLength: not graded 23:21 [warning] length.function - CronExpression_DayOfWeekField::isSatisfiedBy has 76 lines in its body, above 50 CyclomaticComplexity: 75 (C), based on 3 functions 23:21 [warning] complexity.function - CronExpression_DayOfWeekField::isSatisfiedBy has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_FieldFactory.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_FieldInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_HoursField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_MinutesField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_MonthField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/action-scheduler/lib/cron-expression/CronExpression_YearField.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/blueprint/blueprint.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/BuiltInExporters.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/blueprint/src/BuiltInStepProcessors.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 67 (D), based on 6 names 47:19 [warning] naming.too_long - method `create_install_plugins_processor` is 32 characters (limit 30); very long names make code hard to read 58:19 [warning] naming.too_long - method `create_install_themes_processor` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/blueprint/src/ClassExtractor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 75 code lines NamingConvention: 96 (A), based on 27 names 147:19 [warning] naming.too_long - method `apply_class_variable_replacement` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/blueprint/src/Cli.php (other) CodeLength: not graded 24:25 [warning] length.function - Cli::register_commands has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 74 code lines NamingConvention: 100 (A), based on 9 names Security: not graded 10:2 [warning] security.include_variable - require_once of `$autoload_path` builds the file path from data; a crafted path can load another file woocommerce/packages/blueprint/src/Cli/ExportCli.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/blueprint/src/Cli/ImportCli.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/blueprint/src/ExportSchema.php (other) CodeLength: not graded 45:18 [warning] length.function - ExportSchema::export has 80 lines in its body, above 50 CyclomaticComplexity: 77 (C), based on 4 functions 45:18 [warning] complexity.function - ExportSchema::export has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/packages/blueprint/src/Exporters/ExportInstallPluginSteps.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 90 code lines NamingConvention: 100 (A), based on 31 names Security: not graded woocommerce/packages/blueprint/src/Exporters/ExportInstallThemeSteps.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/blueprint/src/Exporters/HasAlias.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/blueprint/src/Exporters/StepExporter.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/blueprint/src/ImportSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/blueprint/src/ImportStep.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/blueprint/src/Importers/ImportActivatePlugin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/blueprint/src/Importers/ImportActivateTheme.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/blueprint/src/Importers/ImportInstallPlugin.php (other) CodeLength: not graded 49:18 [warning] length.function - ImportInstallPlugin::process has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 84 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/packages/blueprint/src/Importers/ImportInstallTheme.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 69 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/blueprint/src/Importers/ImportRunSql.php (other) CodeLength: not graded 61:18 [warning] length.function - ImportRunSql::process has 63 lines in its body, above 50 182:19 [warning] length.function - ImportRunSql::contains_suspicious_comments has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 187 code lines NamingConvention: 96 (A), based on 25 names 245:19 [warning] naming.too_long - method `contains_sql_injection_patterns` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/blueprint/src/Importers/ImportSetSiteOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 104 code lines NamingConvention: 96 (A), based on 25 names 142:19 [warning] naming.too_long - method `get_collation_restricted_option_indexes` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/blueprint/src/Logger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 92 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages/LocalPluginResourceStorage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages/LocalThemeResourceStorage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages/OrgPluginResourceStorage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 39 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages/OrgThemeResourceStorage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/blueprint/src/ResourceStorages/ResourceStorage.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/blueprint/src/ResultFormatters/CliResultFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/blueprint/src/ResultFormatters/JsonResultFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 91 (A), based on 11 names 35:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/blueprint/src/Schemas/JsonSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/blueprint/src/StepProcessor.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/blueprint/src/StepProcessorResult.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/blueprint/src/Steps/ActivatePlugin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 40 code lines NamingConvention: 90 (A), based on 10 names 76:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/blueprint/src/Steps/ActivateTheme.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/blueprint/src/Steps/InstallPlugin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/blueprint/src/Steps/InstallTheme.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/blueprint/src/Steps/RunSql.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 54 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/blueprint/src/Steps/SetSiteOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/blueprint/src/Steps/Step.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/CorePluginReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 19 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/CoreThemeReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 19 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/DirectoryLiteralReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 22 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/GitDirectoryReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 29 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/LiteralReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 67 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/UrlReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 23 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/Steps/schemas/definitions/VFSReference.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 16 code lines NamingConvention: not graded Security: not graded woocommerce/packages/blueprint/src/UsePluginHelpers.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 46 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/blueprint/src/UsePubSub.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/blueprint/src/UseWPFunctions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 24 functions Duplication: 100 (A), based on 121 code lines NamingConvention: 98 (A), based on 51 names 266:32 [warning] naming.generic - parameter `thing` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/blueprint/src/Util.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 69 code lines NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/packages/email-editor/email-editor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 21:2 [warning] security.include_variable - require_once of `$autoload_entry_point` builds the file path from data; a crafted path can load another file woocommerce/packages/email-editor/src/Engine/Logger/class-default-email-editor-logger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 0 (F), based on 62 code lines 72:1 [warning] duplication.repeated_block - lines 72 to 94 repeat lines 50 to 71 (62 tokens); repeated code has to be fixed in every copy 95:1 [warning] duplication.repeated_block - lines 95 to 138 repeat lines 50 to 94 (124 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/packages/email-editor/src/Engine/Logger/class-email-editor-logger-interface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 0 (F), based on 12 code lines 51:1 [warning] duplication.repeated_block - lines 51 to 69 repeat lines 23 to 41 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Engine/Logger/class-email-editor-logger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/email-editor/src/Engine/Patterns/class-abstract-pattern.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/email-editor/src/Engine/Patterns/class-patterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 80 (B), based on 5 names 29:19 [warning] naming.too_long - method `register_block_pattern_categories` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/PersonalizationTags/class-html-tag-processor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Engine/PersonalizationTags/class-personalization-tag.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 78 code lines NamingConvention: 97 (A), based on 32 names 147:40 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/email-editor/src/Engine/PersonalizationTags/class-personalization-tags-registry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 69 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Layout/class-flex-layout-renderer.php (other) CodeLength: not graded 153:19 [warning] length.function - Flex_Layout_Renderer::compute_widths_for_flex_layout has 51 lines in its body, above 50 CyclomaticComplexity: 89 (B), based on 5 functions 153:19 [warning] complexity.function - Flex_Layout_Renderer::compute_widths_for_flex_layout has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 111 code lines NamingConvention: 100 (A), based on 32 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Postprocessors/class-border-style-postprocessor.php (other) CodeLength: not graded 67:19 [error] length.function - Border_Style_Postprocessor::process_style has 105 lines in its body, above 100 CyclomaticComplexity: 48 (F), based on 6 functions 67:19 [error] complexity.function - Border_Style_Postprocessor::process_style has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 179:19 [error] complexity.function - Border_Style_Postprocessor::expand_shorthand_value has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 162 code lines NamingConvention: 93 (A), based on 29 names 228:19 [warning] naming.too_long - method `extract_width_from_shorthand_value` is 34 characters (limit 30); very long names make code hard to read 250:19 [warning] naming.too_long - method `extract_style_from_shorthand_value` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Postprocessors/class-highlighting-postprocessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Postprocessors/class-variables-postprocessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Postprocessors/interface-postprocessor.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/class-blocks-width-preprocessor.php (other) CodeLength: not graded 51:19 [warning] length.function - Blocks_Width_Preprocessor::calculate_widths has 70 lines in its body, above 50 CyclomaticComplexity: 57 (F), based on 6 functions 51:19 [error] complexity.function - Blocks_Width_Preprocessor::calculate_widths has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely 178:19 [warning] complexity.function - Blocks_Width_Preprocessor::add_missing_column_widths has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 103 code lines 202:1 [warning] duplication.repeated_block - lines 202 to 206 repeat lines 188 to 192 (190 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 37 names 148:19 [warning] naming.too_long - method `parse_number_from_string_with_pixels` is 36 characters (limit 30); very long names make code hard to read 179:4 [warning] naming.too_long - variable `columns_count_with_defined_width` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/class-cleanup-preprocessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/class-quote-preprocessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 63 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/class-spacing-preprocessor.php (other) CodeLength: not graded 138:19 [warning] length.function - Spacing_Preprocessor::add_block_gaps has 87 lines in its body, above 50 CyclomaticComplexity: 68 (D), based on 11 functions 75:19 [warning] complexity.function - Spacing_Preprocessor::get_block_horizontal_padding has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 138:19 [error] complexity.function - Spacing_Preprocessor::add_block_gaps has a cyclomatic complexity of 35, high risk (above 10): each of its 35 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 164 code lines 326:1 [warning] duplication.repeated_block - lines 326 to 341 repeat lines 76 to 89 (118 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 55 names 298:19 [warning] naming.too_long - method `has_explicit_horizontal_padding` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/class-typography-preprocessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 65 code lines NamingConvention: 95 (A), based on 19 names 121:19 [warning] naming.inconsistent_style - method `filterStyles` is camelCase, while most methods in this file are snake_case (3 of 5 names); mixed styles make code harder to scan Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/interface-context-aware-preprocessor.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/Preprocessors/interface-preprocessor.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-block-renderer.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-blocks-parser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-content-renderer.php (other) CodeLength: not graded 639:19 [warning] length.function - Content_Renderer::collect_styles has 51 lines in its body, above 50 25:7 [warning] length.class - Content_Renderer has 666 lines, above 500 for a other 1:1 [warning] length.file - the file has 690 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 19 functions 372:19 [warning] complexity.function - Content_Renderer::find_container_padding has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 293 code lines NamingConvention: 100 (A), based on 81 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-preset-variable-resolver.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-process-manager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/ContentRenderer/class-rendering-context.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 19 functions Duplication: 100 (A), based on 121 code lines NamingConvention: 98 (A), based on 41 names 103:18 [warning] naming.too_long - method `get_layout_width_without_padding` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/class-html2text-exception.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/class-html2text.php (other) CodeLength: not graded 207:26 [warning] length.function - Html2Text::get_document has 77 lines in its body, above 50 354:26 [error] length.function - Html2Text::iterate_over_node has 279 lines in its body, above 100 24:7 [warning] length.class - Html2Text has 610 lines, above 500 for a other 1:1 [warning] length.file - the file has 633 lines, above 600 for a other CyclomaticComplexity: 41 (F), based on 12 functions 207:26 [warning] complexity.function - Html2Text::get_document has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 354:26 [error] complexity.function - Html2Text::iterate_over_node has a cyclomatic complexity of 90, untestable risk (above 10): each of its 90 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 344 code lines NamingConvention: 100 (A), based on 44 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/class-renderer.php (other) CodeLength: not graded 116:18 [warning] length.function - Renderer::render has 72 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 8 functions 116:18 [warning] complexity.function - Renderer::render has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 165 code lines NamingConvention: 98 (A), based on 56 names 70:17 [warning] naming.too_long - property `personalization_tag_placeholders` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/interface-css-inliner.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/src/Engine/Renderer/template-canvas.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 28:13 [info] security.unescaped_output - echo of `$language_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 36:8 [info] security.unescaped_output - echo of `$meta_robots` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 51:11 [info] security.unescaped_output - echo of `$template_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/packages/email-editor/src/Engine/Templates/class-template.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/src/Engine/Templates/class-templates-registry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/src/Engine/Templates/class-templates.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 81 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/packages/email-editor/src/Engine/Templates/single-email-post-template.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 13:1 [info] security.unescaped_output - echo of `$template_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/packages/email-editor/src/Engine/class-assets-manager.php (other) CodeLength: not graded 159:18 [warning] length.function - Assets_Manager::load_editor_assets has 69 lines in its body, above 50 235:19 [warning] length.function - Assets_Manager::preload_rest_api_data has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 141 code lines NamingConvention: 100 (A), based on 37 names Security: not graded 170:19 [warning] security.include_variable - require of `$assets_file` builds the file path from data; a crafted path can load another file woocommerce/packages/email-editor/src/Engine/class-dependency-check.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/email-editor/src/Engine/class-email-api-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 40 (F), based on 80 code lines 150:1 [warning] duplication.repeated_block - lines 150 to 163 repeat lines 103 to 116 (79 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 16 names 54:42 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 132:18 [warning] naming.too_long - method `get_personalization_tags_collection` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/class-email-editor.php (other) CodeLength: not graded 266:18 [warning] length.function - Email_Editor::register_email_editor_api_routes has 63 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 16 functions Duplication: 100 (A), based on 228 code lines NamingConvention: 91 (A), based on 46 names 26:15 [warning] naming.too_long - constant `WOOCOMMERCE_EMAIL_META_THEME_TYPE` is 33 characters (limit 30); very long names make code hard to read 87:34 [warning] naming.too_long - parameter `personalization_tags_controller` is 31 characters (limit 30); very long names make code hard to read 227:19 [warning] naming.too_long - method `register_email_post_sent_status` is 31 characters (limit 30); very long names make code hard to read 266:18 [warning] naming.too_long - method `register_email_editor_api_routes` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/class-email-styles-schema.php (other) CodeLength: not graded 22:18 [warning] length.function - Email_Styles_Schema::get_schema has 92 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 95 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/src/Engine/class-personalizer.php (other) CodeLength: not graded 178:18 [warning] length.function - Personalizer::personalize_content has 62 lines in its body, above 50 247:19 [warning] length.function - Personalizer::personalize_href_tokens has 54 lines in its body, above 50 CyclomaticComplexity: 90 (A), based on 10 functions 178:18 [warning] complexity.function - Personalizer::personalize_content has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 150 code lines 257:1 [warning] duplication.repeated_block - lines 257 to 264 repeat lines 210 to 217 (61 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 46 names Security: not graded woocommerce/packages/email-editor/src/Engine/class-send-preview-email.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 83 code lines NamingConvention: 97 (A), based on 31 names 59:39 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/email-editor/src/Engine/class-settings-controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 120 code lines NamingConvention: 92 (A), based on 38 names 131:18 [warning] naming.too_long - method `get_layout_width_without_padding` is 32 characters (limit 30); very long names make code hard to read 164:18 [warning] naming.too_long - method `parse_number_from_string_with_pixels` is 36 characters (limit 30); very long names make code hard to read 202:19 [warning] naming.too_long - method `get_allowed_iframe_style_handles` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/class-site-style-sync-controller.php (other) CodeLength: not graded 22:7 [warning] length.class - Site_Style_Sync_Controller has 533 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 21 functions Duplication: 100 (A), based on 260 code lines NamingConvention: 100 (A), based on 77 names Security: not graded woocommerce/packages/email-editor/src/Engine/class-theme-controller.php (other) CodeLength: not graded 202:18 [warning] length.function - Theme_Controller::get_stylesheet_for_rendering has 80 lines in its body, above 50 CyclomaticComplexity: 71 (C), based on 13 functions 202:18 [error] complexity.function - Theme_Controller::get_stylesheet_for_rendering has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 160 code lines 244:1 [warning] duplication.repeated_block - lines 244 to 248 repeat lines 237 to 241 (51 tokens); repeated code has to be fixed in every copy 307:1 [warning] duplication.repeated_block - lines 307 to 308 repeat lines 215 to 216 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 60 names 118:19 [warning] naming.too_long - method `recursive_extract_preset_variables` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Engine/class-user-theme.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-abstract-block-renderer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-audio.php (other) CodeLength: not graded 64:21 [error] length.function - Audio::render_content has 124 lines in its body, above 100 CyclomaticComplexity: 76 (C), based on 3 functions 64:21 [warning] complexity.function - Audio::render_content has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 110 code lines NamingConvention: 100 (A), based on 37 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-button.php (other) CodeLength: not graded 78:21 [warning] length.function - Button::render_content has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 71 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-buttons.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-column.php (other) CodeLength: not graded 54:19 [warning] length.function - Column::get_block_wrapper has 75 lines in its body, above 50 CyclomaticComplexity: 76 (C), based on 4 functions 54:19 [warning] complexity.function - Column::get_block_wrapper has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 28 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-columns.php (other) CodeLength: not graded 44:19 [warning] length.function - Columns::getBlockWrapper has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-cover.php (other) CodeLength: not graded 60:19 [warning] length.function - Cover::build_email_layout has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 126 code lines NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-embed.php (other) CodeLength: not graded 442:19 [warning] length.function - Embed::render_link_fallback has 70 lines in its body, above 50 684:19 [warning] length.function - Embed::get_oembed_thumbnail has 68 lines in its body, above 50 763:19 [error] length.function - Embed::fetch_embed_page_data has 160 lines in its body, above 100 932:19 [error] length.function - Embed::render_link_embed_card has 116 lines in its body, above 100 25:7 [error] length.class - Embed has 1073 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1097 lines, above 600 for a other CyclomaticComplexity: 82 (B), based on 26 functions 406:19 [warning] complexity.function - Embed::get_translated_provider_label has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 442:19 [warning] complexity.function - Embed::render_link_fallback has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 763:19 [error] complexity.function - Embed::fetch_embed_page_data has a cyclomatic complexity of 42, high risk (above 10): each of its 42 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 623 code lines 603:1 [warning] duplication.repeated_block - lines 603 to 631 repeat lines 286 to 314 (99 tokens); repeated code has to be fixed in every copy 869:1 [warning] duplication.repeated_block - lines 869 to 877 repeat lines 850 to 858 (56 tokens); repeated code has to be fixed in every copy 902:1 [warning] duplication.repeated_block - lines 902 to 911 repeat lines 858 to 868 (63 tokens); repeated code has to be fixed in every copy 1081:1 [warning] duplication.repeated_block - lines 1081 to 1096 repeat lines 1032 to 1047 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 120 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-fallback.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-gallery.php (other) CodeLength: not graded 271:19 [warning] length.function - Gallery::apply_aspect_ratio_crop has 84 lines in its body, above 50 406:19 [warning] length.function - Gallery::build_email_layout has 52 lines in its body, above 50 21:7 [warning] length.class - Gallery has 524 lines, above 500 for a other CyclomaticComplexity: 90 (A), based on 13 functions 80:19 [warning] complexity.function - Gallery::extract_images_from_gallery_content has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 271:19 [warning] complexity.function - Gallery::apply_aspect_ratio_crop has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 230 code lines 101:1 [warning] duplication.repeated_block - lines 101 to 106 repeat lines 87 to 92 (66 tokens); repeated code has to be fixed in every copy 160:1 [warning] duplication.repeated_block - lines 160 to 166 repeat lines 154 to 160 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 73 names 80:19 [warning] naming.too_long - method `extract_images_from_gallery_content` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-group.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 58 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-image.php (other) CodeLength: not graded 95:19 [warning] length.function - Image::add_image_size_when_missing has 61 lines in its body, above 50 383:19 [warning] length.function - Image::get_block_wrapper has 97 lines in its body, above 50 19:7 [warning] length.class - Image has 562 lines, above 500 for a other CyclomaticComplexity: 79 (C), based on 15 functions 95:19 [error] complexity.function - Image::add_image_size_when_missing has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 258:19 [warning] complexity.function - Image::get_inner_image_border_radius has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 383:19 [warning] complexity.function - Image::get_block_wrapper has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 528:19 [warning] complexity.function - Image::parse_block_content has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 356 code lines 499:1 [warning] duplication.repeated_block - lines 499 to 514 repeat lines 478 to 493 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 94 names 509:19 [warning] naming.too_long - method `remove_style_attribute_from_element` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-list-block.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-list-item.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-media-text.php (other) CodeLength: not graded 77:19 [warning] length.function - Media_Text::build_email_layout has 65 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 87 code lines NamingConvention: 93 (A), based on 28 names 149:19 [warning] naming.too_long - method `get_vertical_alignment_from_attributes` is 38 characters (limit 30); very long names make code hard to read 171:19 [warning] naming.too_long - method `get_media_width_from_attributes` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-post-content.php (other) CodeLength: not graded 44:18 [warning] length.function - Post_Content::render_stateless has 64 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 1 function 44:18 [warning] complexity.function - Post_Content::render_stateless has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 40 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-post-template.php (other) CodeLength: not graded CyclomaticComplexity: 93 (A), based on 14 functions 156:19 [warning] complexity.function - Post_Template::get_column_count has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 470:19 [warning] complexity.function - Post_Template::normalize_image_for_email has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 219 code lines NamingConvention: 100 (A), based on 69 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-quote.php (other) CodeLength: not graded 101:19 [warning] length.function - Quote::get_block_wrapper has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 120 code lines NamingConvention: 100 (A), based on 29 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-social-link.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-social-links.php (other) CodeLength: not graded 79:19 [error] length.function - Social_Links::generate_social_link_content has 152 lines in its body, above 100 279:19 [warning] length.function - Social_Links::adjust_block_content has 52 lines in its body, above 50 CyclomaticComplexity: 63 (D), based on 8 functions 79:19 [error] complexity.function - Social_Links::generate_social_link_content has a cyclomatic complexity of 33, high risk (above 10): each of its 33 paths needs its own test, which makes it hard to follow and to change safely 279:19 [warning] complexity.function - Social_Links::adjust_block_content has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 253 code lines 416:1 [warning] duplication.repeated_block - lines 416 to 433 repeat lines 399 to 416 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 73 names 25:11 [warning] naming.too_long - property `core_social_link_services_cache` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-table.php (other) CodeLength: not graded 34:21 [error] length.function - Table::render_content has 115 lines in its body, above 100 159:19 [warning] length.function - Table::process_table_content has 89 lines in its body, above 50 20:7 [warning] length.class - Table has 560 lines, above 500 for a other CyclomaticComplexity: 78 (C), based on 15 functions 34:21 [warning] complexity.function - Table::render_content has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 159:19 [error] complexity.function - Table::process_table_content has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 310 code lines NamingConvention: 98 (A), based on 83 names 393:19 [warning] naming.too_long - method `extract_table_and_caption_from_figure` is 37 characters (limit 30); very long names make code hard to read 528:19 [warning] naming.too_long - method `extract_typography_styles_for_caption` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-text.php (other) CodeLength: not graded 28:21 [warning] length.function - Text::render_content has 72 lines in its body, above 50 CyclomaticComplexity: 80 (B), based on 2 functions 28:21 [warning] complexity.function - Text::render_content has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/Renderer/Blocks/class-video.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 104 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Core/class-initializer.php (other) CodeLength: not graded 202:19 [warning] length.function - Initializer::get_block_renderer has 77 lines in its body, above 50 CyclomaticComplexity: 60 (D), based on 7 functions 202:19 [error] complexity.function - Initializer::get_block_renderer has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 155 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Utils/class-dom-document-helper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 65 code lines NamingConvention: 95 (A), based on 21 names 88:18 [warning] naming.too_long - method `get_attribute_value_by_tag_name` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Utils/class-html-processing-helper.php (other) CodeLength: not graded 269:25 [error] length.function - Html_Processing_Helper::validate_caption_attribute has 122 lines in its body, above 100 486:25 [warning] length.function - Html_Processing_Helper::sanitize_caption_html has 57 lines in its body, above 50 585:25 [warning] length.function - Html_Processing_Helper::sanitize_image_html has 73 lines in its body, above 50 14:7 [warning] length.class - Html_Processing_Helper has 696 lines, above 500 for a other 1:1 [warning] length.file - the file has 709 lines, above 600 for a other CyclomaticComplexity: 81 (B), based on 16 functions 269:25 [error] complexity.function - Html_Processing_Helper::validate_caption_attribute has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely 585:25 [warning] complexity.function - Html_Processing_Helper::sanitize_image_html has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 416 code lines 681:1 [warning] duplication.repeated_block - lines 681 to 695 repeat lines 330 to 344 (77 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 66 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Utils/class-social-links-helper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 79 code lines NamingConvention: 73 (C), based on 15 names 38:4 [warning] naming.too_short - variable `r` is 1 character (at least 2); a one letter name hides its meaning 39:4 [warning] naming.too_short - variable `g` is 1 character (at least 2); a one letter name hides its meaning 40:4 [warning] naming.too_short - variable `b` is 1 character (at least 2); a one letter name hides its meaning 126:25 [warning] naming.too_long - method `get_social_link_size_option_value` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/Utils/class-styles-helper.php (other) CodeLength: not graded 199:25 [warning] length.function - Styles_Helper::get_block_styles has 69 lines in its body, above 50 CyclomaticComplexity: 83 (B), based on 9 functions 122:25 [warning] complexity.function - Styles_Helper::get_styles_from_block has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 199:25 [warning] complexity.function - Styles_Helper::get_block_styles has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 333:25 [warning] complexity.function - Styles_Helper::clamp_to_static_px has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 203 code lines NamingConvention: 100 (A), based on 48 names Security: not graded woocommerce/packages/email-editor/src/Integrations/Utils/class-table-wrapper-helper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 67 code lines NamingConvention: 95 (A), based on 21 names 59:4 [warning] naming.too_long - variable `content_with_outlook_conditional` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-abstract-product-block-renderer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 20 code lines NamingConvention: 80 (B), based on 5 names 17:16 [warning] naming.too_long - class `Abstract_Product_Block_Renderer` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-coupon-code.php (other) CodeLength: not graded 34:21 [warning] length.function - Coupon_Code::render_content has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-product-button.php (other) CodeLength: not graded 66:21 [warning] length.function - Product_Button::render_content has 75 lines in its body, above 50 CyclomaticComplexity: 77 (C), based on 3 functions 66:21 [warning] complexity.function - Product_Button::render_content has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 88 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-product-collection.php (other) CodeLength: not graded 153:19 [warning] length.function - Product_Collection::render_two_column_grid has 51 lines in its body, above 50 214:19 [warning] length.function - Product_Collection::render_product_content has 61 lines in its body, above 50 283:19 [error] length.function - Product_Collection::prepare_and_execute_query has 112 lines in its body, above 100 17:7 [warning] length.class - Product_Collection has 719 lines, above 500 for a other 1:1 [warning] length.file - the file has 735 lines, above 600 for a other CyclomaticComplexity: 81 (B), based on 18 functions 214:19 [warning] complexity.function - Product_Collection::render_product_content has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 283:19 [error] complexity.function - Product_Collection::prepare_and_execute_query has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely 653:19 [warning] complexity.function - Product_Collection::get_user_cart_product_ids_from_context has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 423 code lines 529:1 [warning] duplication.repeated_block - lines 529 to 550 repeat lines 498 to 519 (68 tokens); repeated code has to be fixed in every copy 559:1 [warning] duplication.repeated_block - lines 559 to 583 repeat lines 521 to 544 (74 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 85 names 481:19 [warning] naming.too_long - method `get_collection_specific_product_ids` is 35 characters (limit 30); very long names make code hard to read 600:19 [warning] naming.too_long - method `get_product_references_for_collection` is 37 characters (limit 30); very long names make code hard to read 653:19 [warning] naming.too_long - method `get_user_cart_product_ids_from_context` is 38 characters (limit 30); very long names make code hard to read 700:19 [warning] naming.too_long - method `get_sample_product_ids_for_preview` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-product-image.php (other) CodeLength: not graded 166:19 [warning] length.function - Product_Image::create_overlay_structure has 51 lines in its body, above 50 430:19 [warning] length.function - Product_Image::apply_email_wrapper has 59 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 294 code lines NamingConvention: 100 (A), based on 64 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-product-price.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 32 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/Renderer/Blocks/class-product-sale-badge.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 98 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/class-coupon-code-generator.php (other) CodeLength: not graded 46:18 [warning] length.function - Coupon_Code_Generator::generate_coupon has 70 lines in its body, above 50 CyclomaticComplexity: 64 (D), based on 7 functions 46:18 [error] complexity.function - Coupon_Code_Generator::generate_coupon has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 118 code lines NamingConvention: 100 (A), based on 35 names Security: not graded woocommerce/packages/email-editor/src/Integrations/WooCommerce/class-initializer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-any-of-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-array-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-boolean-schema.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-integer-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-null-schema.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-number-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-object-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-one-of-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/src/Validator/Schema/class-string-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/src/Validator/class-builder.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/email-editor/src/Validator/class-schema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 100 (A), based on 28 names Security: not graded woocommerce/packages/email-editor/src/Validator/class-validation-exception.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/src/Validator/class-validator.php (other) CodeLength: not graded 58:19 [warning] length.function - Validator::validate_and_sanitize_value_from_schema has 92 lines in its body, above 50 CyclomaticComplexity: 59 (F), based on 6 functions 58:19 [error] complexity.function - Validator::validate_and_sanitize_value_from_schema has a cyclomatic complexity of 35, high risk (above 10): each of its 35 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 142 code lines NamingConvention: 88 (B), based on 26 names 58:19 [warning] naming.too_long - method `validate_and_sanitize_value_from_schema` is 39 characters (limit 30); very long names make code hard to read 96:33 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning 187:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/email-editor/src/class-bootstrap.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 54 code lines NamingConvention: 73 (C), based on 11 names 40:11 [warning] naming.too_long - property `woocommerce_email_editor_integration` is 36 characters (limit 30); very long names make code hard to read 52:38 [warning] naming.too_long - parameter `woocommerce_email_editor_integration` is 36 characters (limit 30); very long names make code hard to read 108:18 [warning] naming.too_long - method `setup_email_editor_integrations` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/src/class-container.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 23 code lines NamingConvention: 89 (B), based on 9 names 38:40 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/email-editor/src/class-email-css-inliner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/src/class-email-editor-container.php (other) CodeLength: not graded 64:25 [error] length.function - Email_Editor_Container::container has 241 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 0 (F), based on 239 code lines 105:1 [warning] duplication.repeated_block - lines 105 to 117 repeat lines 93 to 105 (51 tokens); repeated code has to be fixed in every copy 117:1 [warning] duplication.repeated_block - lines 117 to 152 repeat lines 80 to 116 (129 tokens); repeated code has to be fixed in every copy 152:1 [warning] duplication.repeated_block - lines 152 to 178 repeat lines 92 to 117 (108 tokens); repeated code has to be fixed in every copy 182:1 [warning] duplication.repeated_block - lines 182 to 192 repeat lines 171 to 181 (57 tokens); repeated code has to be fixed in every copy 193:1 [warning] duplication.repeated_block - lines 193 to 204 repeat lines 178 to 189 (66 tokens); repeated code has to be fixed in every copy 205:1 [warning] duplication.repeated_block - lines 205 to 216 repeat lines 179 to 190 (59 tokens); repeated code has to be fixed in every copy 254:1 [warning] duplication.repeated_block - lines 254 to 279 repeat lines 80 to 105 (93 tokens); repeated code has to be fixed in every copy 279:1 [warning] duplication.repeated_block - lines 279 to 285 repeat lines 189 to 195 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/class-package.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/src/exceptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/classes/symfony/polyfill-php80/Resources/stubs/Attribute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/classes/symfony/polyfill-php80/Resources/stubs/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/classes/symfony/polyfill-php80/Resources/stubs/Stringable.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/classes/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 0 (F), based on 1 name 13:11 [warning] naming.too_long - class `EmailEditorVendor_UnhandledMatchError` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/classes/symfony/polyfill-php80/Resources/stubs/ValueError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Caching/SimpleStringCache.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Css/CssDocument.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 98 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Css/StyleRule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/CssInliner.php (other) CodeLength: not graded 606:22 [warning] length.function - CssInliner::collateCssRules has 61 lines in its body, above 50 18:13 [error] length.class - CssInliner has 1195 lines, above 1000 for a other 1:1 [error] length.file - the file has 1212 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 44 functions Duplication: 85 (B), based on 557 code lines 269:1 [warning] duplication.repeated_block - lines 269 to 299 repeat lines 239 to 267 (61 tokens); repeated code has to be fixed in every copy 301:1 [warning] duplication.repeated_block - lines 301 to 341 repeat lines 239 to 281 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 87 (B), based on 140 names 61:19 [warning] naming.too_long - constant `QSA_ALWAYS_THROW_PARSE_EXCEPTION` is 32 characters (limit 30); very long names make code hard to read 115:14 [warning] naming.too_long - property `isInlineStyleAttributesParsingEnabled` is 37 characters (limit 30); very long names make code hard to read 223:21 [warning] naming.too_long - method `disableInlineStyleAttributesParsing` is 35 characters (limit 30); very long names make code hard to read 358:21 [warning] naming.too_long - method `getMatchingUninlinableSelectors` is 31 characters (limit 30); very long names make code hard to read 410:22 [warning] naming.too_long - method `normalizeStyleAttributesOfAllNodes` is 34 characters (limit 30); very long names make code hard to read 709:22 [warning] naming.too_long - method `selectorPartHasUnsupportedOfTypePseudoClass` is 43 characters (limit 30); very long names make code hard to read 779:22 [warning] naming.too_long - method `copyInlinableCssToStyleAttribute` is 32 characters (limit 30); very long names make code hard to read 814:22 [warning] naming.too_long - method `generateStyleStringFromDeclarationsArrays` is 41 characters (limit 30); very long names make code hard to read 873:22 [warning] naming.too_long - method `fillStyleAttributesWithMergedStyles` is 35 characters (limit 30); very long names make code hard to read 895:22 [warning] naming.too_long - method `removeImportantAnnotationFromAllInlineStyles` is 44 characters (limit 30); very long names make code hard to read 915:22 [warning] naming.too_long - method `removeImportantAnnotationFromNodeInlineStyle` is 44 characters (limit 30); very long names make code hard to read 931:10 [warning] naming.too_long - variable `inlineStyleDeclarationsInNewOrder` is 33 characters (limit 30); very long names make code hard to read 945:22 [warning] naming.too_long - method `generateStyleStringFromSingleDeclarationsArray` is 46 characters (limit 30); very long names make code hard to read 963:22 [warning] naming.too_long - method `determineMatchingUninlinableCssRules` is 36 characters (limit 30); very long names make code hard to read 992:22 [warning] naming.too_long - method `existsMatchForSelectorInCssRule` is 31 characters (limit 30); very long names make code hard to read 1038:22 [warning] naming.too_long - method `removeUnmatchablePseudoComponents` is 33 characters (limit 30); very long names make code hard to read 1053:10 [warning] naming.too_long - variable `selectorWithoutUnmatchablePseudoComponents` is 42 characters (limit 30); very long names make code hard to read 1128:22 [warning] naming.too_long - method `removeUnsupportedOfTypePseudoClasses` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/HtmlProcessor/AbstractHtmlProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 24 functions Duplication: 100 (A), based on 206 code lines NamingConvention: 91 (A), based on 53 names 33:21 [warning] naming.too_long - constant `PHP_UNRECOGNIZED_VOID_TAGNAME_MATCHER` is 37 characters (limit 30); very long names make code hard to read 41:21 [warning] naming.too_long - constant `TAGNAME_ALLOWED_BEFORE_BODY_MATCHER` is 35 characters (limit 30); very long names make code hard to read 170:10 [warning] naming.too_long - variable `htmlWithPossibleErroneousClosingTags` is 36 characters (limit 30); very long names make code hard to read 195:22 [warning] naming.too_long - method `removeSelfClosingTagsClosingTags` is 32 characters (limit 30); very long names make code hard to read 456:22 [warning] naming.too_long - method `ensurePhpUnrecognizedSelfClosingTagsAreXml` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/HtmlProcessor/CssToAttributeConverter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 133 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/HtmlProcessor/CssVariableEvaluator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 104 code lines NamingConvention: 89 (B), based on 28 names 40:22 [warning] naming.too_long - method `getVariableDefinitionsFromDeclarations` is 38 characters (limit 30); very long names make code hard to read 79:22 [warning] naming.too_long - method `replaceVariablesInPropertyValue` is 31 characters (limit 30); very long names make code hard to read 172:22 [warning] naming.too_long - method `evaluateVariablesInElementAndDescendants` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/HtmlProcessor/HtmlNormalizer.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/HtmlProcessor/HtmlPruner.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 62 code lines NamingConvention: 90 (A), based on 20 names 106:22 [warning] naming.too_long - method `removeClassAttributeFromElements` is 32 characters (limit 30); very long names make code hard to read 127:21 [warning] naming.too_long - method `removeRedundantClassesAfterCssInlined` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Utilities/ArrayIntersector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Utilities/CssConcatenator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 96 (A), based on 25 names 89:18 [warning] naming.too_long - variable `lastDeclarationsBlockWithoutSemicolon` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Utilities/DeclarationBlockParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Pelago/Emogrifier/Utilities/Preg.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 83 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSElement.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSList/AtRuleBlockList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSList/CSSBlockList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 114 code lines NamingConvention: 97 (A), based on 29 names 86:10 [warning] naming.too_long - parameter `ruleSearchPatternOrSearchInFunctionArguments` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSList/CSSList.php (other) CodeLength: not graded 164:29 [warning] length.function - CSSList::parseAtRule has 78 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 19 functions 164:29 [warning] complexity.function - CSSList::parseAtRule has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 299 code lines NamingConvention: 98 (A), based on 63 names 374:21 [warning] naming.too_long - method `removeDeclarationBlockBySelector` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSList/Document.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/CSSList/KeyFrame.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Comment/Comment.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Comment/Commentable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/OutputFormat.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 143 code lines NamingConvention: 90 (A), based on 51 names 138:13 [warning] naming.too_long - property `sSpaceBeforeListArgumentSeparator` is 33 characters (limit 30); very long names make code hard to read 147:13 [warning] naming.too_long - property `aSpaceBeforeListArgumentSeparators` is 34 characters (limit 30); very long names make code hard to read 159:13 [warning] naming.too_long - property `sSpaceAfterListArgumentSeparator` is 32 characters (limit 30); very long names make code hard to read 168:13 [warning] naming.too_long - property `aSpaceAfterListArgumentSeparators` is 33 characters (limit 30); very long names make code hard to read 191:13 [warning] naming.too_long - property `sAfterDeclarationBlockSelectors` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/OutputFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions Duplication: 100 (A), based on 147 code lines NamingConvention: 95 (A), based on 41 names 121:21 [warning] naming.too_long - method `spaceBeforeListArgumentSeparator` is 32 characters (limit 30); very long names make code hard to read 136:21 [warning] naming.too_long - method `spaceAfterListArgumentSeparator` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/Anchor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/OutputException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/ParserState.php (other) CodeLength: not graded 180:21 [warning] length.function - ParserState::parseCharacter has 53 lines in its body, above 50 11:7 [warning] length.class - ParserState has 542 lines, above 500 for a other CyclomaticComplexity: 88 (B), based on 26 functions 180:21 [error] complexity.function - ParserState::parseCharacter has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 326 code lines NamingConvention: 100 (A), based on 76 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/SourceException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/UnexpectedEOFException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Parsing/UnexpectedTokenException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Position/Position.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Position/Positionable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/AtRule.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/CSSNamespace.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 65 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/Charset.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 51 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/Import.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 60 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/KeyframeSelector.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Property/Selector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 51 code lines NamingConvention: 65 (D), based on 17 names 18:11 [warning] naming.too_long - constant `NON_ID_ATTRIBUTES_AND_PSEUDO_CLASSES_RX` is 39 characters (limit 30); very long names make code hard to read 44:11 [warning] naming.too_long - constant `ELEMENTS_AND_PSEUDO_ELEMENTS_RX` is 31 characters (limit 30); very long names make code hard to read 138:14 [warning] naming.too_short - variable `a` is 1 character (at least 2); a one letter name hides its meaning 141:14 [warning] naming.too_short - variable `b` is 1 character (at least 2); a one letter name hides its meaning 142:14 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning 143:14 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Renderable.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Rule/Rule.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 20 functions Duplication: 100 (A), based on 204 code lines NamingConvention: 100 (A), based on 46 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/RuleSet/AtRuleSet.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/RuleSet/DeclarationBlock.php (other) CodeLength: not graded 227:21 [warning] length.function - DeclarationBlock::expandBorderShorthand has 51 lines in its body, above 50 290:21 [warning] length.function - DeclarationBlock::expandDimensionsShorthand has 51 lines in its body, above 50 352:21 [warning] length.function - DeclarationBlock::expandFontShorthand has 59 lines in its body, above 50 424:21 [warning] length.function - DeclarationBlock::expandBackgroundShorthand has 67 lines in its body, above 50 498:21 [warning] length.function - DeclarationBlock::expandListStyleShorthand has 75 lines in its body, above 50 676:21 [warning] length.function - DeclarationBlock::createDimensionsShorthand has 64 lines in its body, above 50 752:21 [warning] length.function - DeclarationBlock::createFontShorthand has 76 lines in its body, above 50 29:7 [warning] length.class - DeclarationBlock has 843 lines, above 500 for a other 1:1 [warning] length.file - the file has 871 lines, above 600 for a other CyclomaticComplexity: 82 (B), based on 22 functions 55:28 [warning] complexity.function - DeclarationBlock::parse has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 352:21 [warning] complexity.function - DeclarationBlock::expandFontShorthand has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 424:21 [warning] complexity.function - DeclarationBlock::expandBackgroundShorthand has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 498:21 [warning] complexity.function - DeclarationBlock::expandListStyleShorthand has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 676:21 [warning] complexity.function - DeclarationBlock::createDimensionsShorthand has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 752:21 [warning] complexity.function - DeclarationBlock::createFontShorthand has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 645 code lines 116:1 [warning] duplication.repeated_block - lines 116 to 125 repeat lines 107 to 116 (50 tokens); repeated code has to be fixed in every copy 300:1 [warning] duplication.repeated_block - lines 300 to 311 repeat lines 242 to 253 (64 tokens); repeated code has to be fixed in every copy 366:1 [warning] duplication.repeated_block - lines 366 to 375 repeat lines 246 to 255 (50 tokens); repeated code has to be fixed in every copy 536:1 [warning] duplication.repeated_block - lines 536 to 551 repeat lines 440 to 455 (122 tokens); repeated code has to be fixed in every copy 563:1 [warning] duplication.repeated_block - lines 563 to 572 repeat lines 481 to 490 (63 tokens); repeated code has to be fixed in every copy 679:1 [warning] duplication.repeated_block - lines 679 to 687 repeat lines 292 to 300 (62 tokens); repeated code has to be fixed in every copy 795:1 [warning] duplication.repeated_block - lines 795 to 804 repeat lines 771 to 780 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 72 names 804:18 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/RuleSet/RuleSet.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 100 (A), based on 195 code lines NamingConvention: 100 (A), based on 45 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Settings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/CSSFunction.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/CSSString.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/CalcFunction.php (other) CodeLength: not graded 39:28 [warning] length.function - CalcFunction::parse has 75 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 1 function 39:28 [warning] complexity.function - CalcFunction::parse has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/CalcRuleValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/Color.php (other) CodeLength: not graded 36:28 [warning] length.function - Color::parse has 72 lines in its body, above 50 CyclomaticComplexity: 80 (B), based on 8 functions 36:28 [warning] complexity.function - Color::parse has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 115 code lines 61:1 [warning] duplication.repeated_block - lines 61 to 65 repeat lines 49 to 53 (104 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/LineName.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/PrimitiveValue.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/RuleValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/Size.php (other) CodeLength: not graded CyclomaticComplexity: 90 (A), based on 12 functions 98:28 [warning] complexity.function - Size::parse has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 132 code lines NamingConvention: 91 (A), based on 34 names 57:21 [warning] naming.inconsistent_style - property `SIZE_UNITS` is UPPER_SNAKE_CASE, while most properties in this file are camelCase (3 of 4 names); mixed styles make code harder to scan 140:114 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 240:10 [warning] naming.too_short - variable `l` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/URL.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/Value.php (other) CodeLength: not graded 39:28 [warning] length.function - Value::parseValue has 66 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 6 functions 39:28 [warning] complexity.function - Value::parseValue has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 149:28 [warning] complexity.function - Value::parsePrimitiveValue has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 147 code lines NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Sabberworm/CSS/Value/ValueList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/CssSelectorConverter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Exception/ExceptionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Exception/InternalErrorException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Exception/ParseException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/AbstractNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/AttributeNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/ClassNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/ElementNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/FunctionNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/HashNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/NegationNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/NodeInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/PseudoNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/SelectorNode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Node/Specificity.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 57 (F), based on 14 names 32:14 [warning] naming.too_short - property `a` is 1 character (at least 2); a one letter name hides its meaning 33:14 [warning] naming.too_short - property `b` is 1 character (at least 2); a one letter name hides its meaning 34:14 [warning] naming.too_short - property `c` is 1 character (at least 2); a one letter name hides its meaning 36:38 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 36:46 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 36:54 [warning] naming.too_short - parameter `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Parser.php (other) CodeLength: not graded 149:22 [error] length.function - Parser::parseSimpleSelector has 112 lines in its body, above 100 289:22 [warning] length.function - Parser::parseAttributeNode has 63 lines in its body, above 50 CyclomaticComplexity: 63 (D), based on 8 functions 55:28 [warning] complexity.function - Parser::parseSeries has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 149:22 [error] complexity.function - Parser::parseSimpleSelector has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely 289:22 [warning] complexity.function - Parser::parseAttributeNode has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 249 code lines NamingConvention: 100 (A), based on 36 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/ParserInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Reader.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Token.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/TokenStream.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 68 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 89 (B), based on 9 names 50:14 [warning] naming.too_short - variable `c` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 83 (B), based on 6 names 61:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 79 code lines NamingConvention: 93 (A), based on 14 names 32:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 10 code lines NamingConvention: 86 (B), based on 7 names 61:21 [warning] naming.too_long - method `getAttributeMatchingTranslators` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php (other) CodeLength: not graded 51:21 [warning] length.function - FunctionExtension::translateNthChild has 53 lines in its body, above 50 CyclomaticComplexity: 85 (B), based on 8 functions 51:21 [warning] complexity.function - FunctionExtension::translateNthChild has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 96 code lines 143:1 [warning] duplication.repeated_block - lines 143 to 154 repeat lines 125 to 136 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 134 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 15 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 31 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/Translator.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 100 (A), based on 45 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/TranslatorInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Component/CssSelector/XPath/XPathExpr.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Php80.php (other) CodeLength: not graded CyclomaticComplexity: 89 (B), based on 7 functions 28:28 [warning] complexity.function - Php80::get_debug_type has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 81 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Resources/stubs/Attribute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Resources/stubs/PhpToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Resources/stubs/Stringable.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Resources/stubs/UnhandledMatchError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/Resources/stubs/ValueError.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/packages/email-editor/vendor-prefixed/packages/Symfony/Polyfill/Php80/bootstrap.php (other) CodeLength: not graded CyclomaticComplexity: 78 (C), based on 7 functions and file level code 14:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/packages/woocommerce-admin/woocommerce-admin.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/patterns/coming-soon-entire-site.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/patterns/coming-soon-store-only.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/patterns/coming-soon.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 2 names Security: not graded 16:44 [info] security.unescaped_output - echo of `$default_pattern` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/patterns/footer-large.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: not graded Security: not graded woocommerce/patterns/footer-simple-menu.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/patterns/footer-with-3-menus.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 9 code lines NamingConvention: not graded Security: not graded woocommerce/patterns/header-centered-pattern.php (view) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/patterns/header-distraction-free.php (view) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/patterns/header-essential.php (view) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/patterns/header-large.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/patterns/header-minimal.php (view) CodeLength: not graded CyclomaticComplexity: not graded Duplication: not graded NamingConvention: not graded Security: not graded woocommerce/patterns/no-products-found-filters.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 2 code lines NamingConvention: not graded Security: not graded woocommerce/patterns/no-products-found.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/patterns/page-coming-soon-default.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded woocommerce/patterns/page-coming-soon-image-gallery.php (view) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 12:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/patterns/page-coming-soon-minimal-left-image.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/patterns/page-coming-soon-modern-black.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/patterns/page-coming-soon-split-right-image.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/patterns/page-coming-soon-with-header-footer.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/patterns/product-search-form.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/patterns/related-products.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 4 code lines NamingConvention: not graded Security: not graded woocommerce/src/Abilities/AbilityDefinition.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/AI/BusinessDescription.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/Images.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/Middleware.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/Patterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/Product.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/StoreInfo.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/AI/StoreTitle.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/ActivityPanelCounts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 126 code lines NamingConvention: 95 (A), based on 22 names 131:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/AnalyticsImports.php (other) CodeLength: not graded 193:18 [warning] length.function - AnalyticsImports::retry_failed_imports has 85 lines in its body, above 50 CyclomaticComplexity: 93 (A), based on 11 functions and file level code 193:18 [warning] complexity.function - AnalyticsImports::retry_failed_imports has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 329 code lines 431:1 [warning] duplication.repeated_block - lines 431 to 440 repeat lines 292 to 301 (74 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/src/Admin/API/Coupons.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 93 (A), based on 14 names 81:25 [warning] naming.too_long - method `add_wp_query_search_code_filter` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/CustomAttributeTraits.php (other) CodeLength: not graded 45:21 [warning] length.function - CustomAttributeTraits::get_custom_attributes has 85 lines in its body, above 50 CyclomaticComplexity: 75 (C), based on 2 functions and file level code 45:21 [warning] complexity.function - CustomAttributeTraits::get_custom_attributes has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/Admin/API/Customers.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/API/Data.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/API/DataCountries.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/API/DataDownloadIPs.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 83 code lines NamingConvention: 94 (A), based on 18 names 76:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Experiments.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/API/Features.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/API/Init.php (other) CodeLength: not graded 80:18 [warning] length.function - Init::rest_api_init_wc_admin has 53 lines in its body, above 50 139:18 [warning] length.function - Init::rest_api_init_wc_analytics has 85 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 70 (C), based on 166 code lines 198:1 [warning] duplication.repeated_block - lines 198 to 232 repeat lines 105 to 139 (83 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 17 names 266:25 [warning] naming.too_long - method `add_currency_symbol_to_order_response` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/LaunchYourStore.php (other) CodeLength: not graded 38:18 [warning] length.function - LaunchYourStore::register_routes has 67 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 133 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/src/Admin/API/Leaderboards.php (other) CodeLength: not graded 122:21 [warning] length.function - Leaderboards::get_coupons_leaderboard has 62 lines in its body, above 50 193:21 [warning] length.function - Leaderboards::get_categories_leaderboard has 62 lines in its body, above 50 264:21 [warning] length.function - Leaderboards::get_customers_leaderboard has 60 lines in its body, above 50 333:21 [warning] length.function - Leaderboards::get_products_leaderboard has 62 lines in its body, above 50 556:18 [warning] length.function - Leaderboards::get_item_schema has 71 lines in its body, above 50 23:7 [warning] length.class - Leaderboards has 616 lines, above 500 for a other 1:1 [warning] length.file - the file has 638 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 40 (F), based on 475 code lines 79:1 [warning] duplication.repeated_block - lines 79 to 87 repeat lines 46 to 54 (65 tokens); repeated code has to be fixed in every copy 199:1 [warning] duplication.repeated_block - lines 199 to 213 repeat lines 128 to 142 (68 tokens); repeated code has to be fixed in every copy 249:1 [warning] duplication.repeated_block - lines 249 to 268 repeat lines 178 to 197 (53 tokens); repeated code has to be fixed in every copy 292:1 [warning] duplication.repeated_block - lines 292 to 300 repeat lines 152 to 160 (51 tokens); repeated code has to be fixed in every copy 318:1 [warning] duplication.repeated_block - lines 318 to 337 repeat lines 178 to 197 (53 tokens); repeated code has to be fixed in every copy 337:1 [warning] duplication.repeated_block - lines 337 to 353 repeat lines 197 to 213 (78 tokens); repeated code has to be fixed in every copy 358:1 [warning] duplication.repeated_block - lines 358 to 379 repeat lines 218 to 239 (164 tokens); repeated code has to be fixed in every copy 383:1 [warning] duplication.repeated_block - lines 383 to 394 repeat lines 243 to 254 (58 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 51 names 443:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Marketing.php (other) CodeLength: not graded 41:18 [warning] length.function - Marketing::register_routes has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 40 (F), based on 87 code lines 72:1 [warning] duplication.repeated_block - lines 72 to 85 repeat lines 52 to 65 (67 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 17 names 103:18 [warning] naming.too_long - method `get_recommended_plugins_permissions_check` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/MarketingCampaignTypes.php (other) CodeLength: not graded 148:18 [warning] length.function - MarketingCampaignTypes::get_item_schema has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 120 code lines NamingConvention: 95 (A), based on 20 names 124:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/MarketingCampaigns.php (other) CodeLength: not graded 231:18 [warning] length.function - MarketingCampaigns::get_item_schema has 71 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 70 (C), based on 192 code lines 280:1 [warning] duplication.repeated_block - lines 280 to 296 repeat lines 262 to 278 (108 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 46 names 196:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/MarketingChannels.php (other) CodeLength: not graded 133:18 [warning] length.function - MarketingChannels::get_item_schema has 59 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 110 code lines NamingConvention: 94 (A), based on 17 names 110:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/MarketingOverview.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 64 code lines NamingConvention: 90 (A), based on 10 names 112:18 [warning] naming.too_long - method `install_plugins_permissions_check` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/MarketingRecommendations.php (other) CodeLength: not graded 130:18 [warning] length.function - MarketingRecommendations::get_item_schema has 98 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 40 (F), based on 154 code lines 201:1 [warning] duplication.repeated_block - lines 201 to 222 repeat lines 179 to 200 (129 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 17 names 119:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/MobileAppMagicLink.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/API/MobileAppQRLogin.php (other) CodeLength: not graded 202:18 [error] length.function - MobileAppQRLogin::register_routes has 218 lines in its body, above 100 887:18 [warning] length.function - MobileAppQRLogin::generate_token has 73 lines in its body, above 50 970:18 [error] length.function - MobileAppQRLogin::exchange_token has 262 lines in its body, above 100 1251:18 [error] length.function - MobileAppQRLogin::get_status has 102 lines in its body, above 100 1520:18 [error] length.function - MobileAppQRLogin::scan_token has 142 lines in its body, above 100 1672:18 [error] length.function - MobileAppQRLogin::approve_token has 130 lines in its body, above 100 1811:18 [warning] length.function - MobileAppQRLogin::get_session_status has 73 lines in its body, above 50 24:7 [error] length.class - MobileAppQRLogin has 2090 lines, above 1000 for a other 1:1 [error] length.file - the file has 2113 lines, above 1200 for a other CyclomaticComplexity: 75 (C), based on 42 functions and file level code 970:18 [error] complexity.function - MobileAppQRLogin::exchange_token has a cyclomatic complexity of 26, high risk (above 10): each of its 26 paths needs its own test, which makes it hard to follow and to change safely 1251:18 [error] complexity.function - MobileAppQRLogin::get_status has a cyclomatic complexity of 26, high risk (above 10): each of its 26 paths needs its own test, which makes it hard to follow and to change safely 1520:18 [warning] complexity.function - MobileAppQRLogin::scan_token has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1672:18 [warning] complexity.function - MobileAppQRLogin::approve_token has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 1811:18 [warning] complexity.function - MobileAppQRLogin::get_session_status has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 1152 code lines 264:1 [warning] duplication.repeated_block - lines 264 to 277 repeat lines 242 to 255 (53 tokens); repeated code has to be fixed in every copy 284:1 [warning] duplication.repeated_block - lines 284 to 300 repeat lines 262 to 277 (63 tokens); repeated code has to be fixed in every copy 354:1 [warning] duplication.repeated_block - lines 354 to 361 repeat lines 259 to 266 (52 tokens); repeated code has to be fixed in every copy 362:1 [warning] duplication.repeated_block - lines 362 to 379 repeat lines 262 to 277 (63 tokens); repeated code has to be fixed in every copy 391:1 [warning] duplication.repeated_block - lines 391 to 407 repeat lines 241 to 255 (57 tokens); repeated code has to be fixed in every copy 972:1 [warning] duplication.repeated_block - lines 972 to 987 repeat lines 892 to 905 (59 tokens); repeated code has to be fixed in every copy 1546:1 [warning] duplication.repeated_block - lines 1546 to 1558 repeat lines 1000 to 1016 (54 tokens); repeated code has to be fixed in every copy 1679:1 [warning] duplication.repeated_block - lines 1679 to 1688 repeat lines 1533 to 1542 (53 tokens); repeated code has to be fixed in every copy 1722:1 [warning] duplication.repeated_block - lines 1722 to 1730 repeat lines 1044 to 1053 (63 tokens); repeated code has to be fixed in every copy 1753:1 [warning] duplication.repeated_block - lines 1753 to 1765 repeat lines 1730 to 1742 (78 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 158 names 469:19 [warning] naming.too_long - method `are_application_passwords_available` is 35 characters (limit 30); very long names make code hard to read 480:56 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 498:8 [warning] naming.too_long - constant `AVAILABILITY_REASON_HTTPS_REQUIRED` is 34 characters (limit 30); very long names make code hard to read 499:8 [warning] naming.too_long - constant `AVAILABILITY_REASON_AP_UNSUPPORTED` is 34 characters (limit 30); very long names make code hard to read 500:8 [warning] naming.too_long - constant `AVAILABILITY_REASON_AP_DISABLED_BY_FILTER` is 41 characters (limit 30); very long names make code hard to read 593:19 [warning] naming.too_long - method `check_invalid_exchange_rate_limit` is 33 characters (limit 30); very long names make code hard to read 612:19 [warning] naming.too_long - method `check_valid_exchange_rate_limit` is 31 characters (limit 30); very long names make code hard to read 809:19 [warning] naming.too_long - method `delete_session_mapping_for_record` is 33 characters (limit 30); very long names make code hard to read 1466:19 [warning] naming.too_long - method `format_application_password_name` is 32 characters (limit 30); very long names make code hard to read 1992:19 [warning] naming.too_long - method `check_session_status_rate_limit` is 31 characters (limit 30); very long names make code hard to read 2009:19 [warning] naming.too_long - method `maybe_send_sign_in_notification_email` is 37 characters (limit 30); very long names make code hard to read 2073:19 [warning] naming.too_long - method `send_sign_in_notification_email` is 31 characters (limit 30); very long names make code hard to read 2101:19 [warning] naming.too_long - method `render_sign_in_notification_email_body` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/NoteActions.php (other) CodeLength: not graded 59:18 [warning] length.function - NoteActions::trigger_note_action has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 88 (B), based on 8 names 105:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Notes.php (other) CodeLength: not graded 40:18 [error] length.function - Notes::register_routes has 103 lines in its body, above 100 615:18 [warning] length.function - Notes::get_collection_params has 71 lines in its body, above 50 692:18 [error] length.function - Notes::get_item_schema has 123 lines in its body, above 100 21:7 [warning] length.class - Notes has 795 lines, above 500 for a other 1:1 [warning] length.file - the file has 815 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 21 functions and file level code Duplication: 85 (B), based on 561 code lines 278:1 [warning] duplication.repeated_block - lines 278 to 292 repeat lines 264 to 278 (59 tokens); repeated code has to be fixed in every copy 292:1 [warning] duplication.repeated_block - lines 292 to 310 repeat lines 141 to 159 (62 tokens); repeated code has to be fixed in every copy 665:1 [warning] duplication.repeated_block - lines 665 to 674 repeat lines 101 to 110 (68 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 53 names 165:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 199:19 [warning] naming.too_long - method `is_tasklist_experiment_assigned_treatment` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Notice.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/API/OnboardingFreeExtensions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/API/OnboardingPlugins.php (other) CodeLength: not graded 42:18 [warning] length.function - OnboardingPlugins::register_routes has 91 lines in its body, above 50 297:18 [warning] length.function - OnboardingPlugins::get_install_activate_schema has 76 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 85 (B), based on 296 code lines 344:1 [warning] duplication.repeated_block - lines 344 to 358 repeat lines 319 to 333 (70 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 33 names 257:18 [warning] naming.too_long - method `can_install_and_activate_plugins` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/OnboardingProductTypes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/API/OnboardingProducts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/API/OnboardingProfile.php (other) CodeLength: not graded 45:18 [error] length.function - OnboardingProfile::register_routes has 101 lines in its body, above 100 434:25 [error] length.function - OnboardingProfile::get_profile_properties has 101 lines in its body, above 100 27:7 [warning] length.class - OnboardingProfile has 576 lines, above 500 for a other 1:1 [warning] length.file - the file has 602 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 16 functions and file level code Duplication: 100 (A), based on 359 code lines NamingConvention: 96 (A), based on 51 names 196:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 343:18 [warning] naming.too_long - method `update_store_currency_and_measurement_units` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/OnboardingTasks.php (other) CodeLength: not graded 55:18 [error] length.function - OnboardingTasks::register_routes has 197 lines in its body, above 100 540:26 [warning] length.function - OnboardingTasks::get_homepage_template has 58 lines in its body, above 50 622:26 [warning] length.function - OnboardingTasks::sideload_homepage_images has 55 lines in its body, above 50 26:7 [error] length.class - OnboardingTasks has 1015 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1040 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 26 functions and file level code 622:26 [warning] complexity.function - OnboardingTasks::sideload_homepage_images has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 660 code lines 183:1 [warning] duplication.repeated_block - lines 183 to 193 repeat lines 164 to 174 (63 tokens); repeated code has to be fixed in every copy 212:1 [warning] duplication.repeated_block - lines 212 to 219 repeat lines 167 to 174 (53 tokens); repeated code has to be fixed in every copy 731:1 [warning] duplication.repeated_block - lines 731 to 740 repeat lines 114 to 123 (68 tokens); repeated code has to be fixed in every copy 824:1 [warning] duplication.repeated_block - lines 824 to 869 repeat lines 778 to 823 (171 tokens); repeated code has to be fixed in every copy 928:1 [warning] duplication.repeated_block - lines 928 to 950 repeat lines 890 to 912 (83 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 94 names 259:18 [warning] naming.too_long - method `create_products_permission_check` is 32 characters (limit 30); very long names make code hard to read 301:18 [warning] naming.too_long - method `hide_task_list_permission_check` is 31 characters (limit 30); very long names make code hard to read 333:25 [warning] naming.too_long - method `import_sample_products_from_csv` is 31 characters (limit 30); very long names make code hard to read 458:25 [warning] naming.too_long - method `sanitize_special_column_name_regex` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/OnboardingThemes.php (other) CodeLength: not graded 98:18 [warning] length.function - OnboardingThemes::install_theme has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 141 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/API/Options.php (other) CodeLength: not graded 157:25 [warning] length.function - Options::get_default_option_permissions has 82 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 181 code lines NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/src/Admin/API/Orders.php (other) CodeLength: not graded 185:21 [error] length.function - Orders::get_formatted_item_data has 127 lines in its body, above 100 CyclomaticComplexity: 84 (B), based on 6 functions and file level code 185:21 [warning] complexity.function - Orders::get_formatted_item_data has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 192 code lines NamingConvention: 97 (A), based on 38 names 202:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 85:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $orders_table_name is hardcoded.) 128:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$order_items_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 168:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$customer_lookup_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/PaymentGatewaySuggestions.php (other) CodeLength: not graded 136:18 [warning] length.function - PaymentGatewaySuggestions::get_item_schema has 63 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 126 code lines NamingConvention: 93 (A), based on 14 names 126:18 [warning] naming.too_long - method `dismiss_payment_gateway_suggestion` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Plugins.php (other) CodeLength: not graded 39:18 [error] length.function - Plugins::register_routes has 170 lines in its body, above 100 242:18 [warning] length.function - Plugins::install_plugins has 54 lines in its body, above 50 357:18 [warning] length.function - Plugins::activate_plugins has 52 lines in its body, above 50 462:18 [warning] length.function - Plugins::request_wccom_connect has 53 lines in its body, above 50 522:18 [warning] length.function - Plugins::finish_wccom_connect has 55 lines in its body, above 50 21:7 [warning] length.class - Plugins has 685 lines, above 500 for a other 1:1 [warning] length.file - the file has 705 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 19 functions and file level code Duplication: 70 (C), based on 496 code lines 358:1 [warning] duplication.repeated_block - lines 358 to 365 repeat lines 244 to 251 (68 tokens); repeated code has to be fixed in every copy 381:1 [warning] duplication.repeated_block - lines 381 to 396 repeat lines 267 to 282 (82 tokens); repeated code has to be fixed in every copy 399:1 [warning] duplication.repeated_block - lines 399 to 405 repeat lines 286 to 292 (61 tokens); repeated code has to be fixed in every copy 537:1 [warning] duplication.repeated_block - lines 537 to 547 repeat lines 475 to 485 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 44 names 262:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/ProductAttributeTerms.php (other) CodeLength: not graded 95:21 [warning] length.function - ProductAttributeTerms::get_custom_attribute_values has 71 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 101 code lines NamingConvention: 89 (B), based on 19 names 62:18 [warning] naming.too_long - method `get_custom_attribute_permissions_check` is 38 characters (limit 30); very long names make code hard to read 140:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/ProductAttributes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 92 code lines NamingConvention: 92 (A), based on 24 names 111:21 [warning] naming.too_long - method `format_custom_attribute_items_for_response` is 42 characters (limit 30); very long names make code hard to read 115:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/ProductCategories.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Admin/API/ProductForm.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 81 code lines NamingConvention: 94 (A), based on 17 names 71:18 [warning] naming.too_long - method `get_product_form_permission_check` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/ProductReviews.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/API/ProductVariations.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 112 code lines NamingConvention: 96 (A), based on 24 names 198:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Products.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 160 code lines NamingConvention: 95 (A), based on 38 names 193:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 309:28 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/ProductsLowInStock.php (other) CodeLength: not graded 21:13 [warning] length.class - ProductsLowInStock has 557 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 17 functions and file level code Duplication: 40 (F), based on 336 code lines 398:1 [warning] duplication.repeated_block - lines 398 to 426 repeat lines 369 to 397 (99 tokens); repeated code has to be fixed in every copy 480:1 [warning] duplication.repeated_block - lines 480 to 496 repeat lines 451 to 467 (53 tokens); repeated code has to be fixed in every copy 546:1 [warning] duplication.repeated_block - lines 546 to 564 repeat lines 524 to 543 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 57 names 236:4 [warning] naming.too_long - variable `count_query_with_custom_stock_threshold_string` is 46 characters (limit 30); very long names make code hard to read 237:4 [warning] naming.too_long - variable `count_query_without_custom_stock_threshold_string` is 49 characters (limit 30); very long names make code hard to read 238:4 [warning] naming.too_long - variable `count_query_with_custom_stock_threshold_results` is 47 characters (limit 30); very long names make code hard to read 242:4 [warning] naming.too_long - variable `count_query_without_custom_stock_threshold_results` is 50 characters (limit 30); very long names make code hard to read 257:21 [warning] naming.too_long - method `is_using_sitewide_stock_threshold_only` is 38 characters (limit 30); very long names make code hard to read 387:19 [warning] naming.too_long - method `get_products_with_custom_stock_threshold_count_query_str` is 56 characters (limit 30); very long names make code hard to read 416:19 [warning] naming.too_long - method `get_products_without_custom_stock_threshold_count_query_str` is 59 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/RateLimits/QRLoginRateLimits.php (other) CodeLength: not graded 165:26 [warning] length.function - QRLoginRateLimits::get_bucket_options has 56 lines in its body, above 50 CyclomaticComplexity: 85 (B), based on 3 functions and file level code 165:26 [warning] complexity.function - QRLoginRateLimits::get_bucket_options has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 105 code lines 177:1 [warning] duplication.repeated_block - lines 177 to 186 repeat lines 167 to 176 (52 tokens); repeated code has to be fixed in every copy 187:1 [warning] duplication.repeated_block - lines 187 to 206 repeat lines 167 to 186 (104 tokens); repeated code has to be fixed in every copy 207:1 [warning] duplication.repeated_block - lines 207 to 216 repeat lines 167 to 176 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/src/Admin/API/Reports/Cache.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Admin/API/Reports/Categories/Controller.php (other) CodeLength: not graded 171:18 [warning] length.function - Controller::get_collection_params has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 85 (B), based on 179 code lines 209:1 [warning] duplication.repeated_block - lines 209 to 218 repeat lines 199 to 208 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/Admin/API/Reports/Categories/DataStore.php (other) CodeLength: not graded 240:18 [warning] length.function - DataStore::get_noncached_data has 63 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 151 code lines NamingConvention: 98 (A), based on 43 names 193:36 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Categories/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Controller.php (other) CodeLength: not graded 31:18 [error] length.function - Controller::get_items has 114 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 157 code lines NamingConvention: 92 (A), based on 13 names 32:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Coupons/Controller.php (other) CodeLength: not graded 110:18 [warning] length.function - Controller::get_item_schema has 68 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 163 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/src/Admin/API/Reports/Coupons/DataStore.php (other) CodeLength: not graded 183:21 [warning] length.function - DataStore::include_extended_info has 55 lines in its body, above 50 294:18 [warning] length.function - DataStore::get_noncached_data has 84 lines in its body, above 50 386:25 [warning] length.function - DataStore::sync_order_coupons has 82 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 85 (B), based on 290 code lines 214:1 [warning] duplication.repeated_block - lines 214 to 225 repeat lines 203 to 214 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 98 (A), based on 66 names 301:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 402:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 458:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Coupons/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Coupons/Stats/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 92 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/API/Reports/Coupons/Stats/DataStore.php (other) CodeLength: not graded 149:18 [warning] length.function - DataStore::get_noncached_stats_data has 81 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 119 code lines NamingConvention: 97 (A), based on 29 names 149:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Coupons/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Coupons/Stats/Segmenter.php (other) CodeLength: not graded 255:21 [warning] length.function - Segmenter::get_segments has 76 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 40 (F), based on 178 code lines 141:1 [warning] duplication.repeated_block - lines 141 to 152 repeat lines 94 to 105 (54 tokens); repeated code has to be fixed in every copy 213:1 [warning] duplication.repeated_block - lines 213 to 220 repeat lines 129 to 139 (71 tokens); repeated code has to be fixed in every copy 287:1 [warning] duplication.repeated_block - lines 287 to 295 repeat lines 270 to 278 (71 tokens); repeated code has to be fixed in every copy 300:1 [warning] duplication.repeated_block - lines 300 to 308 repeat lines 269 to 277 (72 tokens); repeated code has to be fixed in every copy NamingConvention: 83 (B), based on 36 names 26:21 [warning] naming.too_long - method `get_segment_selections_product_level` is 36 characters (limit 30); very long names make code hard to read 42:21 [warning] naming.too_long - method `get_segment_selections_order_level` is 34 characters (limit 30); very long names make code hard to read 88:21 [warning] naming.too_long - method `get_product_related_totals_segments` is 35 characters (limit 30); very long names make code hard to read 129:21 [warning] naming.too_long - method `get_product_related_intervals_segments` is 38 characters (limit 30); very long names make code hard to read 175:21 [warning] naming.too_long - method `get_order_related_totals_segments` is 33 characters (limit 30); very long names make code hard to read 213:21 [warning] naming.too_long - method `get_order_related_intervals_segments` is 36 characters (limit 30); very long names make code hard to read Security: not graded 92:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 138:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$intervals_query['select_clause']`; pass values through prepare with placeholders to prevent SQL injection 178:29 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 219:32 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection woocommerce/src/Admin/API/Reports/Customers/Controller.php (other) CodeLength: not graded 131:25 [warning] length.function - Controller::consolidate_customer_id_filters has 56 lines in its body, above 50 331:18 [error] length.function - Controller::get_item_schema has 136 lines in its body, above 100 473:18 [error] length.function - Controller::get_collection_params has 274 lines in its body, above 100 23:7 [warning] length.class - Controller has 804 lines, above 500 for a other 1:1 [warning] length.file - the file has 826 lines, above 600 for a other CyclomaticComplexity: 98 (A), based on 12 functions and file level code 131:25 [warning] complexity.function - Controller::consolidate_customer_id_filters has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 641 code lines 162:1 [warning] duplication.repeated_block - lines 162 to 172 repeat lines 136 to 146 (81 tokens); repeated code has to be fixed in every copy 592:1 [warning] duplication.repeated_block - lines 592 to 605 repeat lines 474 to 487 (105 tokens); repeated code has to be fixed in every copy 605:1 [warning] duplication.repeated_block - lines 605 to 613 repeat lines 585 to 593 (64 tokens); repeated code has to be fixed in every copy 644:1 [warning] duplication.repeated_block - lines 644 to 651 repeat lines 626 to 633 (51 tokens); repeated code has to be fixed in every copy 662:1 [warning] duplication.repeated_block - lines 662 to 669 repeat lines 626 to 633 (51 tokens); repeated code has to be fixed in every copy 691:1 [warning] duplication.repeated_block - lines 691 to 699 repeat lines 682 to 690 (52 tokens); repeated code has to be fixed in every copy 700:1 [warning] duplication.repeated_block - lines 700 to 708 repeat lines 682 to 690 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 52 names 131:25 [warning] naming.too_long - method `consolidate_customer_id_filters` is 31 characters (limit 30); very long names make code hard to read 202:25 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning 222:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Customers/DataStore.php (other) CodeLength: not graded 303:21 [warning] length.function - DataStore::add_time_period_sql_params has 61 lines in its body, above 50 370:21 [error] length.function - DataStore::add_sql_query_params has 182 lines in its body, above 100 619:18 [warning] length.function - DataStore::get_noncached_data has 69 lines in its body, above 50 751:25 [warning] length.function - DataStore::get_customer_order_data_and_format has 61 lines in its body, above 50 972:25 [warning] length.function - DataStore::update_registered_customer has 73 lines in its body, above 50 1143:25 [warning] length.function - DataStore::anonymize_customer has 53 lines in its body, above 50 1205:21 [warning] length.function - DataStore::build_location_filter_clause has 56 lines in its body, above 50 21:7 [error] length.class - DataStore has 1253 lines, above 1000 for a other 1:1 [error] length.file - the file has 1273 lines, above 1200 for a other CyclomaticComplexity: 85 (B), based on 29 functions and file level code 370:21 [error] complexity.function - DataStore::add_sql_query_params has a cyclomatic complexity of 32, high risk (above 10): each of its 32 paths needs its own test, which makes it hard to follow and to change safely 1205:21 [warning] complexity.function - DataStore::build_location_filter_clause has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 767 code lines 997:1 [warning] duplication.repeated_block - lines 997 to 1004 repeat lines 770 to 777 (85 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 144 names 112:28 [warning] naming.too_long - method `get_countable_customer_order_predicate` is 38 characters (limit 30); very long names make code hard to read 161:25 [warning] naming.too_long - method `merge_guest_customer_on_delayed_account_creation` is 48 characters (limit 30); very long names make code hard to read 576:25 [warning] naming.too_long - method `get_existing_customer_id_from_order` is 35 characters (limit 30); very long names make code hard to read 624:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 698:25 [warning] naming.too_long - method `get_or_create_customer_from_order` is 33 characters (limit 30); very long names make code hard to read 751:25 [warning] naming.too_long - method `get_customer_order_data_and_format` is 34 characters (limit 30); very long names make code hard to read 1054:25 [warning] naming.too_long - method `update_registered_customer_via_last_active` is 42 characters (limit 30); very long names make code hard to read Security: not graded 425:30 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$searchby`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 517:28 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$param_info['column']`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 525:28 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$param_info['column']`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 824:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 850:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 871:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 892:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 930:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Customers/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Customers/Stats/Controller.php (other) CodeLength: not graded 189:18 [error] length.function - Controller::get_collection_params has 225 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 40 (F), based on 328 code lines 289:1 [warning] duplication.repeated_block - lines 289 to 302 repeat lines 191 to 204 (105 tokens); repeated code has to be fixed in every copy 302:1 [warning] duplication.repeated_block - lines 302 to 310 repeat lines 282 to 290 (64 tokens); repeated code has to be fixed in every copy 341:1 [warning] duplication.repeated_block - lines 341 to 348 repeat lines 323 to 330 (51 tokens); repeated code has to be fixed in every copy 359:1 [warning] duplication.repeated_block - lines 359 to 366 repeat lines 323 to 330 (51 tokens); repeated code has to be fixed in every copy 388:1 [warning] duplication.repeated_block - lines 388 to 396 repeat lines 379 to 387 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 25 names 109:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Customers/Stats/DataStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 62 code lines NamingConvention: 93 (A), based on 15 names 96:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Customers/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/DataStore.php (other) CodeLength: not graded 687:21 [error] length.function - DataStore::update_intervals_sql_params has 106 lines in its body, above 100 1519:21 [error] length.function - DataStore::get_attribute_subqueries has 105 lines in its body, above 100 65:7 [error] length.class - DataStore has 1621 lines, above 1000 for a other 1:1 [error] length.file - the file has 1685 lines, above 1200 for a other CyclomaticComplexity: 91 (A), based on 62 functions and file level code 466:19 [warning] complexity.function - DataStore::interval_cmp has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 687:21 [warning] complexity.function - DataStore::update_intervals_sql_params has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely 1232:21 [warning] complexity.function - DataStore::get_included_products_array has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 1410:21 [warning] complexity.function - DataStore::get_status_subquery has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1519:21 [warning] complexity.function - DataStore::get_attribute_subqueries has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 853 code lines NamingConvention: 97 (A), based on 213 names 247:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 466:34 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 466:38 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 508:35 [warning] naming.generic - parameter `arr` is a generic name; it says nothing about what it holds 532:37 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds 845:28 [warning] naming.too_long - method `get_excluded_report_order_statuses` is 34 characters (limit 30); very long names make code hard to read Security: not graded 1053:25 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$id_field`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1055:27 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$key`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 1599:38 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$join_alias`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber`) woocommerce/src/Admin/API/Reports/DataStoreInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Downloads/Controller.php (other) CodeLength: not graded 131:18 [warning] length.function - Controller::get_item_schema has 83 lines in its body, above 50 220:18 [warning] length.function - Controller::get_collection_params has 93 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 252 code lines 268:1 [warning] duplication.repeated_block - lines 268 to 276 repeat lines 259 to 267 (52 tokens); repeated code has to be fixed in every copy 277:1 [warning] duplication.repeated_block - lines 277 to 285 repeat lines 259 to 267 (52 tokens); repeated code has to be fixed in every copy 286:1 [warning] duplication.repeated_block - lines 286 to 294 repeat lines 259 to 267 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/src/Admin/API/Reports/Downloads/DataStore.php (other) CodeLength: not graded 88:21 [error] length.function - DataStore::add_sql_query_params has 105 lines in its body, above 100 333:18 [warning] length.function - DataStore::get_noncached_data has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 234 code lines NamingConvention: 98 (A), based on 44 names 338:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 349:36 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$this->subquery->get_query_statement()`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Downloads/Files/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Downloads/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Downloads/Stats/Controller.php (other) CodeLength: not graded 122:18 [warning] length.function - Controller::get_item_schema has 69 lines in its body, above 50 197:18 [warning] length.function - Controller::get_collection_params has 93 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 40 (F), based on 204 code lines 226:1 [warning] duplication.repeated_block - lines 226 to 234 repeat lines 216 to 225 (52 tokens); repeated code has to be fixed in every copy 244:1 [warning] duplication.repeated_block - lines 244 to 252 repeat lines 235 to 243 (52 tokens); repeated code has to be fixed in every copy 253:1 [warning] duplication.repeated_block - lines 253 to 261 repeat lines 235 to 243 (52 tokens); repeated code has to be fixed in every copy 262:1 [warning] duplication.repeated_block - lines 262 to 270 repeat lines 235 to 243 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Admin/API/Reports/Downloads/Stats/DataStore.php (other) CodeLength: not graded 90:18 [warning] length.function - DataStore::get_noncached_stats_data has 70 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 70 (C), based on 80 code lines 132:1 [warning] duplication.repeated_block - lines 132 to 145 repeat lines 117 to 128 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 21 names 90:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Downloads/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Export/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 85 (B), based on 174 code lines 174:1 [warning] duplication.repeated_block - lines 174 to 191 repeat lines 145 to 161 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 93 (A), based on 27 names 161:18 [warning] naming.too_long - method `get_export_status_public_schema` is 31 characters (limit 30); very long names make code hard to read 228:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/ExportableInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/API/Reports/ExportableTraits.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/API/Reports/FilteredGetDataTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/API/Reports/GenericController.php (other) CodeLength: not graded 116:18 [warning] length.function - GenericController::get_collection_params has 57 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 130 code lines NamingConvention: 97 (A), based on 31 names 229:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/GenericQuery.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/API/Reports/GenericStatsController.php (other) CodeLength: not graded 107:18 [warning] length.function - GenericStatsController::get_item_schema has 100 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 40 (F), based on 152 code lines 152:1 [warning] duplication.repeated_block - lines 152 to 159 repeat lines 112 to 119 (57 tokens); repeated code has to be fixed in every copy 190:1 [warning] duplication.repeated_block - lines 190 to 204 repeat lines 121 to 135 (90 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Admin/API/Reports/Import/Controller.php (other) CodeLength: not graded 32:18 [warning] length.function - Controller::register_routes has 64 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 70 (C), based on 185 code lines 254:1 [warning] duplication.repeated_block - lines 254 to 272 repeat lines 118 to 136 (85 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 25 names 133:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/OrderAwareControllerTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 0 (F), based on 54 code lines 71:1 [warning] duplication.repeated_block - lines 71 to 84 repeat lines 31 to 45 (69 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/API/Reports/Orders/Controller.php (other) CodeLength: not graded 130:18 [warning] length.function - Controller::get_item_schema has 97 lines in its body, above 50 233:18 [error] length.function - Controller::get_collection_params has 180 lines in its body, above 100 22:7 [warning] length.class - Controller has 502 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 40 (F), based on 385 code lines 264:1 [warning] duplication.repeated_block - lines 264 to 273 repeat lines 244 to 253 (60 tokens); repeated code has to be fixed in every copy 274:1 [warning] duplication.repeated_block - lines 274 to 283 repeat lines 254 to 263 (60 tokens); repeated code has to be fixed in every copy 284:1 [warning] duplication.repeated_block - lines 284 to 293 repeat lines 244 to 253 (60 tokens); repeated code has to be fixed in every copy 294:1 [warning] duplication.repeated_block - lines 294 to 303 repeat lines 254 to 263 (60 tokens); repeated code has to be fixed in every copy 304:1 [warning] duplication.repeated_block - lines 304 to 313 repeat lines 244 to 253 (60 tokens); repeated code has to be fixed in every copy 314:1 [warning] duplication.repeated_block - lines 314 to 323 repeat lines 254 to 263 (60 tokens); repeated code has to be fixed in every copy 334:1 [warning] duplication.repeated_block - lines 334 to 343 repeat lines 324 to 333 (62 tokens); repeated code has to be fixed in every copy 384:1 [warning] duplication.repeated_block - lines 384 to 392 repeat lines 375 to 383 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 31 names Security: not graded woocommerce/src/Admin/API/Reports/Orders/DataStore.php (other) CodeLength: not graded 135:21 [error] length.function - DataStore::add_sql_query_params has 114 lines in its body, above 100 291:18 [warning] length.function - DataStore::get_noncached_data has 66 lines in its body, above 50 380:21 [warning] length.function - DataStore::include_extended_info has 94 lines in its body, above 50 587:19 [warning] length.function - DataStore::get_order_customer_details_by_order_ids has 59 lines in its body, above 50 21:7 [warning] length.class - DataStore has 757 lines, above 500 for a other 1:1 [warning] length.file - the file has 777 lines, above 600 for a other CyclomaticComplexity: 81 (B), based on 19 functions and file level code 135:21 [error] complexity.function - DataStore::add_sql_query_params has a cyclomatic complexity of 31, high risk (above 10): each of its 31 paths needs its own test, which makes it hard to follow and to change safely 380:21 [warning] complexity.function - DataStore::include_extended_info has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 453 code lines NamingConvention: 95 (A), based on 94 names 296:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 587:19 [warning] naming.too_long - method `get_order_customer_details_by_order_ids` is 39 characters (limit 30); very long names make code hard to read 679:21 [warning] naming.too_long - method `get_order_attributions_by_order_ids` is 35 characters (limit 30); very long names make code hard to read 744:25 [warning] naming.too_long - method `maybe_update_order_statuses_cache` is 33 characters (limit 30); very long names make code hard to read 763:25 [warning] naming.too_long - method `maybe_update_order_statuses_transient` is 37 characters (limit 30); very long names make code hard to read Security: not graded 307:36 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$this->subquery->get_query_statement()`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 518:22 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_product_lookup_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 568:26 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$customer_lookup_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 602:18 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 622:17 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$included_order_ids`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 659:21 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_coupon_lookup_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 686:38 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_meta_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 697:38 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$included_order_ids`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Orders/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Orders/Stats/Controller.php (other) CodeLength: not graded 119:21 [warning] length.function - Controller::get_item_properties_schema has 63 lines in its body, above 50 203:18 [error] length.function - Controller::get_collection_params has 185 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 40 (F), based on 298 code lines 255:1 [warning] duplication.repeated_block - lines 255 to 264 repeat lines 245 to 254 (52 tokens); repeated code has to be fixed in every copy 285:1 [warning] duplication.repeated_block - lines 285 to 293 repeat lines 245 to 254 (52 tokens); repeated code has to be fixed in every copy 294:1 [warning] duplication.repeated_block - lines 294 to 302 repeat lines 245 to 254 (52 tokens); repeated code has to be fixed in every copy 303:1 [warning] duplication.repeated_block - lines 303 to 312 repeat lines 265 to 274 (60 tokens); repeated code has to be fixed in every copy 313:1 [warning] duplication.repeated_block - lines 313 to 322 repeat lines 275 to 284 (60 tokens); repeated code has to be fixed in every copy 363:1 [warning] duplication.repeated_block - lines 363 to 371 repeat lines 354 to 362 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php (other) CodeLength: not graded 157:21 [error] length.function - DataStore::orders_stats_sql_filter has 136 lines in its body, above 100 340:18 [error] length.function - DataStore::get_noncached_stats_data has 112 lines in its body, above 100 533:25 [error] length.function - DataStore::update has 130 lines in its body, above 100 860:25 [warning] length.function - DataStore::is_returning_customer has 53 lines in its body, above 50 31:7 [warning] length.class - DataStore has 935 lines, above 500 for a other 1:1 [warning] length.file - the file has 965 lines, above 600 for a other CyclomaticComplexity: 85 (B), based on 19 functions and file level code 533:25 [error] complexity.function - DataStore::update has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 860:25 [warning] complexity.function - DataStore::is_returning_customer has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 531 code lines NamingConvention: 97 (A), based on 97 names 39:8 [warning] naming.too_long - constant `OPTION_ORDER_STATS_TABLE_HAS_COLUMN_ORDER_FULFILLMENT_STATUS` is 60 characters (limit 30); very long names make code hard to read 340:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 784:28 [warning] naming.too_long - method `should_split_full_refund_using_parent_order` is 43 characters (limit 30); very long names make code hard to read Security: not graded 465:17 [warning] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection 490:17 [warning] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection 727:47 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 836:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name cannot be prepared.) 928:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$orders_stats_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name cannot be prepared.) woocommerce/src/Admin/API/Reports/Orders/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Orders/Stats/Segmenter.php (other) CodeLength: not graded 106:21 [warning] length.function - Segmenter::get_product_related_totals_segments has 60 lines in its body, above 50 181:21 [warning] length.function - Segmenter::get_product_related_intervals_segments has 71 lines in its body, above 50 348:21 [warning] length.function - Segmenter::get_segments has 90 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 8 functions and file level code 348:21 [warning] complexity.function - Segmenter::get_segments has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 250 code lines 381:1 [warning] duplication.repeated_block - lines 381 to 389 repeat lines 364 to 372 (71 tokens); repeated code has to be fixed in every copy 394:1 [warning] duplication.repeated_block - lines 394 to 402 repeat lines 362 to 371 (72 tokens); repeated code has to be fixed in every copy NamingConvention: 85 (B), based on 39 names 26:21 [warning] naming.too_long - method `get_segment_selections_product_level` is 36 characters (limit 30); very long names make code hard to read 49:21 [warning] naming.too_long - method `get_segment_selections_order_level` is 34 characters (limit 30); very long names make code hard to read 106:21 [warning] naming.too_long - method `get_product_related_totals_segments` is 35 characters (limit 30); very long names make code hard to read 181:21 [warning] naming.too_long - method `get_product_related_intervals_segments` is 38 characters (limit 30); very long names make code hard to read 265:21 [warning] naming.too_long - method `get_order_related_totals_segments` is 33 characters (limit 30); very long names make code hard to read 303:21 [warning] naming.too_long - method `get_order_related_intervals_segments` is 36 characters (limit 30); very long names make code hard to read Security: not graded 113:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 133:29 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$unique_orders_table`; pass values through prepare with placeholders to prevent SQL injection 193:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$intervals_query['select_clause']`; pass values through prepare with placeholders to prevent SQL injection 215:29 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$unique_orders_table`; pass values through prepare with placeholders to prevent SQL injection 268:29 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 312:32 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection woocommerce/src/Admin/API/Reports/ParameterException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/API/Reports/PerformanceIndicators/Controller.php (other) CodeLength: not graded 119:19 [warning] length.function - Controller::get_analytics_report_data has 67 lines in its body, above 50 403:18 [warning] length.function - Controller::get_items has 69 lines in its body, above 50 23:7 [warning] length.class - Controller has 670 lines, above 500 for a other 1:1 [warning] length.file - the file has 692 lines, above 600 for a other CyclomaticComplexity: 94 (A), based on 19 functions and file level code 119:19 [warning] complexity.function - Controller::get_analytics_report_data has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 547:18 [warning] complexity.function - Controller::format_data_value has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 412 code lines 452:1 [warning] duplication.repeated_block - lines 452 to 462 repeat lines 300 to 310 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 72 names 130:4 [warning] naming.too_long - variable `remove_self_link_from_prepared_internal_response` is 48 characters (limit 30); very long names make code hard to read 161:6 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 330:25 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 330:29 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/API/Reports/Products/Controller.php (other) CodeLength: not graded 130:18 [warning] length.function - Controller::get_item_schema has 97 lines in its body, above 50 233:18 [warning] length.function - Controller::get_collection_params has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 100 (A), based on 250 code lines 266:1 [warning] duplication.repeated_block - lines 266 to 275 repeat lines 247 to 255 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/src/Admin/API/Reports/Products/DataStore.php (other) CodeLength: not graded 336:21 [warning] length.function - DataStore::include_extended_info has 58 lines in its body, above 50 446:18 [error] length.function - DataStore::get_noncached_data has 108 lines in its body, above 100 562:25 [error] length.function - DataStore::sync_order_products has 211 lines in its body, above 100 22:7 [warning] length.class - DataStore has 784 lines, above 500 for a other 1:1 [warning] length.file - the file has 805 lines, above 600 for a other CyclomaticComplexity: 70 (C), based on 18 functions and file level code 336:21 [warning] complexity.function - DataStore::include_extended_info has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 562:25 [error] complexity.function - DataStore::sync_order_products has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 456 code lines NamingConvention: 98 (A), based on 101 names 404:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 584:4 [warning] naming.too_long - variable `is_full_refund_without_line_items` is 33 characters (limit 30); very long names make code hard to read Security: not graded 470:35 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$search_subquery`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $search_subquery is built from prepared fragments.) 572:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 763:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Products/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Products/Stats/Controller.php (other) CodeLength: not graded 199:18 [warning] length.function - Controller::get_collection_params has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 151 code lines 224:1 [warning] duplication.repeated_block - lines 224 to 232 repeat lines 215 to 223 (52 tokens); repeated code has to be fixed in every copy 233:1 [warning] duplication.repeated_block - lines 233 to 241 repeat lines 215 to 223 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/src/Admin/API/Reports/Products/Stats/DataStore.php (other) CodeLength: not graded 161:18 [warning] length.function - DataStore::get_noncached_stats_data has 86 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 137 code lines NamingConvention: 97 (A), based on 32 names 161:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Products/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Products/Stats/Segmenter.php (other) CodeLength: not graded 143:21 [warning] length.function - Segmenter::get_segments has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 113 code lines NamingConvention: 90 (A), based on 29 names 26:21 [warning] naming.too_long - method `get_segment_selections_product_level` is 36 characters (limit 30); very long names make code hard to read 52:21 [warning] naming.too_long - method `get_product_related_totals_segments` is 35 characters (limit 30); very long names make code hard to read 95:21 [warning] naming.too_long - method `get_product_related_intervals_segments` is 38 characters (limit 30); very long names make code hard to read Security: not graded 59:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 109:31 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$intervals_query['select_clause']`; pass values through prepare with placeholders to prevent SQL injection woocommerce/src/Admin/API/Reports/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/API/Reports/Revenue/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Revenue/Stats/Controller.php (other) CodeLength: not graded 120:21 [warning] length.function - Controller::get_item_properties_schema has 78 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 40 (F), based on 195 code lines 131:1 [warning] duplication.repeated_block - lines 131 to 138 repeat lines 123 to 130 (53 tokens); repeated code has to be fixed in every copy 153:1 [warning] duplication.repeated_block - lines 153 to 160 repeat lines 123 to 130 (53 tokens); repeated code has to be fixed in every copy 169:1 [warning] duplication.repeated_block - lines 169 to 176 repeat lines 123 to 130 (53 tokens); repeated code has to be fixed in every copy 189:1 [warning] duplication.repeated_block - lines 189 to 195 repeat lines 123 to 129 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 25 names 84:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Segmenter.php (other) CodeLength: not graded 226:21 [warning] length.function - Segmenter::merge_segment_intervals_results has 54 lines in its body, above 50 328:21 [error] length.function - Segmenter::set_all_segments has 140 lines in its body, above 100 18:7 [warning] length.class - Segmenter has 725 lines, above 500 for a other 1:1 [warning] length.file - the file has 742 lines, above 600 for a other CyclomaticComplexity: 77 (C), based on 22 functions and file level code 328:21 [error] complexity.function - Segmenter::set_all_segments has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 377 code lines 184:1 [warning] duplication.repeated_block - lines 184 to 234 repeat lines 114 to 160 (60 tokens); repeated code has to be fixed in every copy 253:1 [warning] duplication.repeated_block - lines 253 to 267 repeat lines 230 to 244 (102 tokens); repeated code has to be fixed in every copy 276:1 [warning] duplication.repeated_block - lines 276 to 302 repeat lines 80 to 106 (87 tokens); repeated code has to be fixed in every copy 304:1 [warning] duplication.repeated_block - lines 304 to 318 repeat lines 236 to 251 (116 tokens); repeated code has to be fixed in every copy NamingConvention: 90 (A), based on 88 names 226:21 [warning] naming.too_long - method `merge_segment_intervals_results` is 31 characters (limit 30); very long names make code hard to read 502:33 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 502:37 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 558:21 [warning] naming.too_long - method `fill_in_missing_interval_segments` is 33 characters (limit 30); very long names make code hard to read 558:58 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 578:21 [warning] naming.too_long - method `get_product_related_totals_segments` is 35 characters (limit 30); very long names make code hard to read 596:21 [warning] naming.too_long - method `get_product_related_intervals_segments` is 38 characters (limit 30); very long names make code hard to read 612:21 [warning] naming.too_long - method `get_order_related_totals_segments` is 33 characters (limit 30); very long names make code hard to read 628:21 [warning] naming.too_long - method `get_order_related_intervals_segments` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Reports/SqlQuery.php (other) CodeLength: not graded 158:18 [warning] length.function - SqlQuery::get_query_statement has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 40 (F), based on 125 code lines 214:1 [warning] duplication.repeated_block - lines 214 to 227 repeat lines 21 to 34 (102 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 28 names Security: not graded woocommerce/src/Admin/API/Reports/StatsDataStoreTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 89 (B), based on 9 names 101:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Stock/Controller.php (other) CodeLength: not graded 361:18 [warning] length.function - Controller::get_item_schema has 54 lines in its body, above 50 421:18 [warning] length.function - Controller::get_collection_params has 67 lines in its body, above 50 27:7 [warning] length.class - Controller has 519 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 15 functions and file level code Duplication: 85 (B), based on 333 code lines 434:1 [warning] duplication.repeated_block - lines 434 to 442 repeat lines 425 to 433 (52 tokens); repeated code has to be fixed in every copy 471:1 [warning] duplication.repeated_block - lines 471 to 479 repeat lines 462 to 470 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 47 names 140:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 229:28 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Reports/Stock/Stats/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 67 code lines NamingConvention: 95 (A), based on 21 names 57:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Stock/Stats/DataStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 77 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/src/Admin/API/Reports/Stock/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/API/Reports/Taxes/Controller.php (other) CodeLength: not graded 118:18 [warning] length.function - Controller::get_item_schema has 77 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 178 code lines NamingConvention: 96 (A), based on 25 names 301:19 [warning] naming.too_long - method `prepare_taxable_amount_for_export` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Reports/Taxes/DataStore.php (other) CodeLength: not graded 276:18 [warning] length.function - DataStore::get_noncached_data has 69 lines in its body, above 50 455:25 [error] length.function - DataStore::sync_order_taxes has 207 lines in its body, above 100 20:7 [warning] length.class - DataStore has 738 lines, above 500 for a other 1:1 [warning] length.file - the file has 757 lines, above 600 for a other CyclomaticComplexity: 66 (D), based on 15 functions and file level code 276:18 [warning] complexity.function - DataStore::get_noncached_data has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 455:25 [error] complexity.function - DataStore::sync_order_taxes has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely 676:28 [warning] complexity.function - DataStore::get_taxable_amounts_by_rate has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 351 code lines NamingConvention: 99 (A), based on 72 names 281:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 166:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name cannot be prepared.) 301:37 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$this->subquery->get_query_statement()`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- cache ok, DB call ok, unprepared SQL ok.) 397:54 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name is not user input.) 483:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- Table name is not user input.) 598:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Table name is not user input, and the value placeholders are built above, one set per tax line.) 629:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Table name is not user input, and the key placeholders are built above, one pair per stale row.) woocommerce/src/Admin/API/Reports/Taxes/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Taxes/Stats/Controller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 123 code lines 140:1 [warning] duplication.repeated_block - lines 140 to 147 repeat lines 132 to 139 (53 tokens); repeated code has to be fixed in every copy 148:1 [warning] duplication.repeated_block - lines 148 to 155 repeat lines 132 to 139 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/Admin/API/Reports/Taxes/Stats/DataStore.php (other) CodeLength: not graded 197:18 [warning] length.function - DataStore::get_noncached_stats_data has 88 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 131 code lines NamingConvention: 97 (A), based on 33 names 197:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 161:31 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$tax_placeholders`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Taxes/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Taxes/Stats/Segmenter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 75 code lines NamingConvention: 87 (B), based on 23 names 24:21 [warning] naming.too_long - method `get_segment_selections_order_level` is 34 characters (limit 30); very long names make code hard to read 48:21 [warning] naming.too_long - method `get_order_related_totals_segments` is 33 characters (limit 30); very long names make code hard to read 86:21 [warning] naming.too_long - method `get_order_related_intervals_segments` is 36 characters (limit 30); very long names make code hard to read Security: not graded 51:29 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection 99:32 [warning] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection woocommerce/src/Admin/API/Reports/TimeInterval.php (other) CodeLength: not graded 217:25 [warning] length.function - TimeInterval::intervals_between has 54 lines in its body, above 50 385:25 [warning] length.function - TimeInterval::next_quarter_start has 52 lines in its body, above 50 650:25 [warning] length.function - TimeInterval::get_timeframe_dates has 70 lines in its body, above 50 13:7 [warning] length.class - TimeInterval has 708 lines, above 500 for a other 1:1 [warning] length.file - the file has 720 lines, above 600 for a other CyclomaticComplexity: 91 (A), based on 22 functions and file level code 117:25 [warning] complexity.function - TimeInterval::quarter has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 385:25 [warning] complexity.function - TimeInterval::next_quarter_start has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 650:25 [warning] complexity.function - TimeInterval::get_timeframe_dates has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 427 code lines 601:1 [warning] duplication.repeated_block - lines 601 to 624 repeat lines 568 to 591 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 104 names 579:25 [warning] naming.too_long - method `rest_validate_between_numeric_arg` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/API/Reports/Variations/Controller.php (other) CodeLength: not graded 150:18 [warning] length.function - Controller::get_item_schema has 91 lines in its body, above 50 247:18 [error] length.function - Controller::get_collection_params has 105 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 70 (C), based on 288 code lines 162:1 [warning] duplication.repeated_block - lines 162 to 168 repeat lines 156 to 162 (51 tokens); repeated code has to be fixed in every copy 314:1 [warning] duplication.repeated_block - lines 314 to 322 repeat lines 305 to 313 (52 tokens); repeated code has to be fixed in every copy 323:1 [warning] duplication.repeated_block - lines 323 to 331 repeat lines 289 to 297 (52 tokens); repeated code has to be fixed in every copy 332:1 [warning] duplication.repeated_block - lines 332 to 340 repeat lines 289 to 297 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/src/Admin/API/Reports/Variations/DataStore.php (other) CodeLength: not graded 161:21 [warning] length.function - DataStore::add_sql_query_params has 56 lines in its body, above 50 244:21 [warning] length.function - DataStore::include_extended_info has 67 lines in its body, above 50 330:21 [warning] length.function - DataStore::fill_deleted_product_name has 63 lines in its body, above 50 421:18 [error] length.function - DataStore::get_noncached_data has 113 lines in its body, above 100 17:7 [warning] length.class - DataStore has 529 lines, above 500 for a other CyclomaticComplexity: 95 (A), based on 11 functions and file level code 244:21 [warning] complexity.function - DataStore::include_extended_info has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 320 code lines NamingConvention: 97 (A), based on 75 names 129:21 [warning] naming.too_long - method `get_order_item_by_attribute_subquery` is 36 characters (limit 30); very long names make code hard to read 428:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 484:37 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$this->subquery->get_query_statement()`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/Reports/Variations/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Variations/Stats/Controller.php (other) CodeLength: not graded 201:18 [error] length.function - Controller::get_collection_params has 103 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 70 (C), based on 196 code lines 236:1 [warning] duplication.repeated_block - lines 236 to 244 repeat lines 227 to 235 (52 tokens); repeated code has to be fixed in every copy 265:1 [warning] duplication.repeated_block - lines 265 to 273 repeat lines 227 to 235 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/src/Admin/API/Reports/Variations/Stats/DataStore.php (other) CodeLength: not graded 73:21 [warning] length.function - DataStore::update_sql_query_params has 57 lines in its body, above 50 175:18 [warning] length.function - DataStore::get_noncached_stats_data has 89 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 147 code lines NamingConvention: 97 (A), based on 36 names 175:68 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Reports/Variations/Stats/Query.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/API/Reports/Variations/Stats/Segmenter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 84 code lines NamingConvention: 90 (A), based on 29 names 26:21 [warning] naming.too_long - method `get_segment_selections_product_level` is 36 characters (limit 30); very long names make code hard to read 51:21 [warning] naming.too_long - method `get_product_related_totals_segments` is 35 characters (limit 30); very long names make code hard to read 96:21 [warning] naming.too_long - method `get_product_related_intervals_segments` is 38 characters (limit 30); very long names make code hard to read Security: not graded 59:31 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$segmenting_groupby`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 111:31 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$intervals_query['select_clause']`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/API/SettingOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/API/Settings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Admin/API/ShippingPartnerSuggestions.php (other) CodeLength: not graded 114:25 [error] length.function - ShippingPartnerSuggestions::get_suggestions_schema has 114 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 158 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Admin/API/Taxes.php (other) CodeLength: not graded 57:18 [error] length.function - Taxes::get_items has 101 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 91 code lines NamingConvention: 97 (A), based on 29 names 122:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/API/Themes.php (other) CodeLength: not graded 75:18 [warning] length.function - Themes::upload_theme has 54 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 6 functions and file level code 75:18 [warning] complexity.function - Themes::upload_theme has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 111 code lines NamingConvention: 95 (A), based on 21 names 125:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 77:155 [info] security.unsanitized_input - read of `$_FILES['pluginzip']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/src/Admin/API/views/mobile-app-qr-login-signin-email.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 22:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 23 names Security: not graded 69:19 [info] security.unescaped_output - echo of `$language` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- already escaped above.) 104:171 [info] security.unescaped_output - echo of `$app_version_line` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- already escaped above.) 135:168 [info] security.unescaped_output - echo of `$manage_line` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- already escaped above.) woocommerce/src/Admin/BlockTemplates/BlockContainerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/BlockTemplates/BlockInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/BlockTemplates/BlockTemplateInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/BlockTemplates/ContainerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Composer/Package.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/Admin/DataSourcePoller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/Admin/DateTimeProvider/CurrentDateTimeProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Admin/DateTimeProvider/DateTimeProviderInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Admin/DeprecatedClassFacade.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/FeaturePlugin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCCoreProfilerOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCPaymentGateways.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsAccount.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsAdvanced.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsEmails.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsGeneral.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsIntegrations.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsProducts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsShipping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 102 code lines NamingConvention: 93 (A), based on 28 names 64:21 [warning] naming.too_long - method `get_steps_for_classes_and_terms` is 31 characters (limit 30); very long names make code hard to read 154:19 [warning] naming.too_long - method `get_steps_for_methods_and_options` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsSiteVisibility.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettingsTax.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 92 (A), based on 12 names 90:19 [warning] naming.inconsistent_style - method `generateTaxRateSteps` is camelCase, while most methods in this file are snake_case (4 of 6 names); mixed styles make code harder to scan Security: not graded woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCTaskOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/Blueprint/Init.php (other) CodeLength: not graded 257:19 [warning] length.function - Init::get_installed_wp_org_plugins has 75 lines in its body, above 50 338:19 [warning] length.function - Init::get_installed_wp_org_themes has 63 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 268 code lines NamingConvention: 85 (B), based on 40 names 29:8 [warning] naming.too_long - constant `INSTALLED_WP_ORG_PLUGINS_TRANSIENT` is 34 characters (limit 30); very long names make code hard to read 30:8 [warning] naming.too_long - constant `INSTALLED_WP_ORG_THEMES_TRANSIENT` is 33 characters (limit 30); very long names make code hard to read 136:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 136:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning 146:18 [warning] naming.too_long - method `clear_installed_wp_org_plugins_transient` is 40 characters (limit 30); very long names make code hard to read 153:18 [warning] naming.too_long - method `clear_installed_wp_org_themes_transient` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Blueprint/RestApi.php (other) CodeLength: not graded 68:18 [warning] length.function - RestApi::register_routes has 76 lines in its body, above 50 269:18 [warning] length.function - RestApi::import_step has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 264 code lines NamingConvention: 90 (A), based on 30 names 212:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 244:19 [warning] naming.too_long - method `steps_payload_to_blueprint_steps` is 32 characters (limit 30); very long names make code hard to read 393:18 [warning] naming.too_long - method `get_import_step_response_schema` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Blueprint/SettingOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Features/Features.php (other) CodeLength: not graded 255:25 [warning] length.function - Features::load_features has 54 lines in its body, above 50 18:7 [warning] length.class - Features has 665 lines, above 500 for a other 1:1 [warning] length.file - the file has 682 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 27 functions Duplication: 100 (A), based on 399 code lines 270:1 [warning] duplication.repeated_block - lines 270 to 274 repeat lines 266 to 270 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 79 (C), based on 58 names 34:18 [warning] naming.too_long - property `retired_feature_compatibility_versions` is 38 characters (limit 30); very long names make code hard to read 216:4 [warning] naming.too_long - variable `is_legacy_compatibility_feature` is 31 characters (limit 30); very long names make code hard to read 488:25 [warning] naming.too_long - method `get_legacy_feature_compatibility_values` is 39 characters (limit 30); very long names make code hard to read 508:26 [warning] naming.too_long - method `get_legacy_feature_compatibility_defaults` is 41 characters (limit 30); very long names make code hard to read 523:26 [warning] naming.too_long - method `get_features_with_legacy_compatibility_defaults` is 47 characters (limit 30); very long names make code hard to read 539:25 [warning] naming.too_long - method `is_analytics_disabled_by_legacy_filters` is 39 characters (limit 30); very long names make code hard to read 568:26 [warning] naming.too_long - method `is_legacy_compatibility_feature` is 31 characters (limit 30); very long names make code hard to read 578:26 [warning] naming.too_long - method `get_legacy_feature_compatibility_versions` is 41 characters (limit 30); very long names make code hard to read 588:26 [warning] naming.too_long - method `get_legacy_feature_compatibility_deprecation_version` is 52 characters (limit 30); very long names make code hard to read 599:26 [warning] naming.too_long - method `get_legacy_feature_compatibility_removal_version` is 48 characters (limit 30); very long names make code hard to read 610:26 [warning] naming.too_long - method `warn_legacy_feature_compatibility_usage` is 39 characters (limit 30); very long names make code hard to read 635:19 [warning] naming.too_long - method `register_internal_class_aliases` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/DataStore/FulfillmentsDataStore.php (other) CodeLength: not graded 37:18 [warning] length.function - FulfillmentsDataStore::create has 92 lines in its body, above 50 173:18 [error] length.function - FulfillmentsDataStore::update has 108 lines in its body, above 100 292:18 [warning] length.function - FulfillmentsDataStore::delete has 53 lines in its body, above 50 25:7 [warning] length.class - FulfillmentsDataStore has 644 lines, above 500 for a other 1:1 [warning] length.file - the file has 668 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 11 functions and file level code 37:18 [warning] complexity.function - FulfillmentsDataStore::create has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 173:18 [warning] complexity.function - FulfillmentsDataStore::update has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 642:19 [warning] complexity.function - FulfillmentsDataStore::validate_items has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 341 code lines NamingConvention: 97 (A), based on 34 names 37:28 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/Fulfillments/DataStore/FulfillmentsDataStoreInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Fulfillment.php (other) CodeLength: not graded 24:7 [warning] length.class - Fulfillment has 542 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 37 functions and file level code Duplication: 70 (C), based on 230 code lines 477:1 [warning] duplication.repeated_block - lines 477 to 493 repeat lines 451 to 467 (51 tokens); repeated code has to be fixed in every copy 503:1 [warning] duplication.repeated_block - lines 503 to 519 repeat lines 451 to 467 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 69 names 54:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentOrderNotes.php (other) CodeLength: not graded 100:18 [warning] length.function - FulfillmentOrderNotes::add_fulfillment_updated_note has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 40 (F), based on 181 code lines 146:1 [warning] duplication.repeated_block - lines 146 to 161 repeat lines 78 to 100 (57 tokens); repeated code has to be fixed in every copy 184:1 [warning] duplication.repeated_block - lines 184 to 203 repeat lines 78 to 100 (55 tokens); repeated code has to be fixed in every copy 226:1 [warning] duplication.repeated_block - lines 226 to 234 repeat lines 78 to 86 (50 tokens); repeated code has to be fixed in every copy 269:1 [warning] duplication.repeated_block - lines 269 to 286 repeat lines 226 to 244 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 37 names 203:18 [warning] naming.too_long - method `add_order_fulfillment_status_changed_note` is 41 characters (limit 30); very long names make code hard to read 244:19 [warning] naming.too_long - method `add_fulfillment_status_changed_note` is 35 characters (limit 30); very long names make code hard to read 372:19 [warning] naming.too_long - method `get_order_fulfillment_status_label` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentUtils.php (other) CodeLength: not graded 13:7 [warning] length.class - FulfillmentUtils has 730 lines, above 500 for a other 1:1 [warning] length.file - the file has 742 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 24 functions Duplication: 70 (C), based on 418 code lines 618:1 [warning] duplication.repeated_block - lines 618 to 636 repeat lines 589 to 606 (72 tokens); repeated code has to be fixed in every copy 640:1 [warning] duplication.repeated_block - lines 640 to 671 repeat lines 575 to 605 (128 tokens); repeated code has to be fixed in every copy 672:1 [warning] duplication.repeated_block - lines 672 to 682 repeat lines 606 to 614 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 73 names 137:25 [warning] naming.too_long - method `calculate_order_fulfillment_status` is 34 characters (limit 30); very long names make code hard to read 247:25 [warning] naming.too_long - method `get_order_fulfillment_status_text` is 33 characters (limit 30); very long names make code hard to read 294:25 [warning] naming.too_long - method `get_order_fulfillment_status_meta_query` is 39 characters (limit 30); very long names make code hard to read 333:25 [warning] naming.too_long - method `is_valid_order_fulfillment_status` is 33 characters (limit 30); very long names make code hard to read 465:28 [warning] naming.too_long - method `get_default_order_fulfillment_statuses` is 38 characters (limit 30); very long names make code hard to read 499:28 [warning] naming.too_long - method `get_default_fulfillment_statuses` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentsController.php (other) CodeLength: not graded 126:19 [warning] length.function - FulfillmentsController::maybe_create_db_tables has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 143 code lines NamingConvention: 82 (B), based on 22 names 93:19 [warning] naming.too_long - method `register_custom_shipping_providers_taxonomy` is 43 characters (limit 30); very long names make code hard to read 191:19 [warning] naming.too_long - method `bulk_delete_order_fulfillment_status_meta` is 41 characters (limit 30); very long names make code hard to read 201:19 [warning] naming.too_long - method `delete_legacy_order_fulfillment_meta` is 36 characters (limit 30); very long names make code hard to read 234:19 [warning] naming.too_long - method `delete_hpos_order_fulfillment_meta` is 34 characters (limit 30); very long names make code hard to read Security: not graded 207:12 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ',', array_fill( 0, count( $order_ids ), '%d' ) )`; pass values through prepare with placeholders to prevent SQL injection 246:12 [warning] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ',', array_fill( 0, count( $order_ids ), '%d' ) )`; pass values through prepare with placeholders to prevent SQL injection woocommerce/src/Admin/Features/Fulfillments/FulfillmentsManager.php (other) CodeLength: not graded 321:18 [error] length.function - FulfillmentsManager::update_fulfillments_after_refund has 141 lines in its body, above 100 24:7 [warning] length.class - FulfillmentsManager has 555 lines, above 500 for a other CyclomaticComplexity: 73 (C), based on 15 functions 321:18 [error] complexity.function - FulfillmentsManager::update_fulfillments_after_refund has a cyclomatic complexity of 25, high risk (above 10): each of its 25 paths needs its own test, which makes it hard to follow and to change safely 497:18 [warning] complexity.function - FulfillmentsManager::try_parse_tracking_number has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 331 code lines 339:1 [warning] duplication.repeated_block - lines 339 to 358 repeat lines 291 to 309 (80 tokens); repeated code has to be fixed in every copy NamingConvention: 90 (A), based on 59 names 81:19 [warning] naming.too_long - method `init_email_template_tracking_hooks` is 34 characters (limit 30); very long names make code hard to read 240:18 [warning] naming.too_long - method `update_order_fulfillment_status_on_fulfillment_update` is 53 characters (limit 30); very long names make code hard to read 240:86 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 279:18 [warning] naming.too_long - method `update_fulfillment_status_after_refund_deleted` is 46 characters (limit 30); very long names make code hard to read 321:18 [warning] naming.too_long - method `update_fulfillments_after_refund` is 32 characters (limit 30); very long names make code hard to read 393:4 [warning] naming.too_long - variable `items_need_removal_from_fulfillments` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentsRenderer.php (other) CodeLength: not graded 677:19 [warning] length.function - FulfillmentsRenderer::get_order_ids_by_shipping_provider has 60 lines in its body, above 50 17:7 [warning] length.class - FulfillmentsRenderer has 779 lines, above 500 for a other 1:1 [warning] length.file - the file has 795 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 29 functions Duplication: 100 (A), based on 452 code lines 523:1 [warning] duplication.repeated_block - lines 523 to 532 repeat lines 490 to 500 (73 tokens); repeated code has to be fixed in every copy NamingConvention: 80 (B), based on 84 names 107:18 [warning] naming.too_long - method `render_fulfillment_column_row_data_legacy` is 41 characters (limit 30); very long names make code hard to read 119:18 [warning] naming.too_long - method `render_fulfillment_column_row_data` is 34 characters (limit 30); very long names make code hard to read 141:19 [warning] naming.too_long - method `render_order_fulfillment_status_column_row_data` is 47 characters (limit 30); very long names make code hard to read 155:19 [warning] naming.too_long - method `render_order_fulfillment_status_badge` is 37 characters (limit 30); very long names make code hard to read 179:19 [warning] naming.too_long - method `render_shipment_provider_column_row_data` is 40 characters (limit 30); very long names make code hard to read 214:19 [warning] naming.too_long - method `render_shipment_tracking_column_row_data` is 40 characters (limit 30); very long names make code hard to read 258:18 [warning] naming.too_long - method `define_fulfillment_bulk_actions` is 31 characters (limit 30); very long names make code hard to read 272:18 [warning] naming.too_long - method `handle_fulfillment_bulk_actions` is 31 characters (limit 30); very long names make code hard to read 333:18 [warning] naming.too_long - method `render_fulfillment_customer_details` is 35 characters (limit 30); very long names make code hard to read 471:18 [warning] naming.too_long - method `render_fulfillment_filters_legacy` is 33 characters (limit 30); very long names make code hard to read 518:18 [warning] naming.too_long - method `filter_legacy_orders_list_query` is 31 characters (limit 30); very long names make code hard to read 559:18 [warning] naming.too_long - method `render_shipping_provider_filter` is 31 characters (limit 30); very long names make code hard to read 587:18 [warning] naming.too_long - method `render_shipping_provider_filter_legacy` is 38 characters (limit 30); very long names make code hard to read 605:18 [warning] naming.too_long - method `filter_orders_by_shipping_provider` is 34 characters (limit 30); very long names make code hard to read 637:18 [warning] naming.too_long - method `filter_legacy_orders_by_shipping_provider` is 41 characters (limit 30); very long names make code hard to read 677:19 [warning] naming.too_long - method `get_order_ids_by_shipping_provider` is 34 characters (limit 30); very long names make code hard to read 743:21 [warning] naming.too_long - method `should_render_fulfillment_drawer` is 32 characters (limit 30); very long names make code hard to read Security: not graded 690:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$fulfillments_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 705:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$fulfillments_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) 721:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$fulfillments_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare`) woocommerce/src/Admin/Features/Fulfillments/FulfillmentsSettings.php (other) CodeLength: not graded 38:18 [warning] length.function - FulfillmentsSettings::add_auto_fulfill_settings has 56 lines in its body, above 50 101:18 [warning] length.function - FulfillmentsSettings::auto_fulfill_items_on_processing has 62 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 5 functions 101:18 [warning] complexity.function - FulfillmentsSettings::auto_fulfill_items_on_processing has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 123 code lines NamingConvention: 91 (A), based on 23 names 101:18 [warning] naming.too_long - method `auto_fulfill_items_on_processing` is 32 characters (limit 30); very long names make code hard to read 170:18 [warning] naming.too_long - method `auto_fulfill_items_on_completed` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/FulfillmentsTracker.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 127 code lines NamingConvention: 82 (B), based on 39 names 179:25 [warning] naming.too_long - method `track_fulfillment_tracking_added` is 32 characters (limit 30); very long names make code hard to read 207:25 [warning] naming.too_long - method `track_fulfillment_tracking_lookup_attempt` is 41 characters (limit 30); very long names make code hard to read 235:25 [warning] naming.too_long - method `track_fulfillment_bulk_action_used` is 34 characters (limit 30); very long names make code hard to read 286:25 [warning] naming.too_long - method `track_fulfillment_notification_sent` is 35 characters (limit 30); very long names make code hard to read 309:25 [warning] naming.too_long - method `track_fulfillment_email_template_customized` is 43 characters (limit 30); very long names make code hard to read 336:25 [warning] naming.too_long - method `track_fulfillment_validation_error` is 34 characters (limit 30); very long names make code hard to read 369:25 [warning] naming.too_long - method `determine_tracking_entry_method` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/OrderFulfillmentsRestController.php (other) CodeLength: not graded 56:18 [warning] length.function - OrderFulfillmentsRestController::register_routes has 96 lines in its body, above 50 259:18 [warning] length.function - OrderFulfillmentsRestController::create_fulfillment has 68 lines in its body, above 50 378:18 [error] length.function - OrderFulfillmentsRestController::update_fulfillment has 105 lines in its body, above 100 1069:19 [warning] length.function - OrderFulfillmentsRestController::get_read_schema_for_fulfillment has 64 lines in its body, above 50 1141:19 [warning] length.function - OrderFulfillmentsRestController::get_write_args_for_fulfillment has 51 lines in its body, above 50 29:7 [error] length.class - OrderFulfillmentsRestController has 1380 lines, above 1000 for a other 1:1 [error] length.file - the file has 1408 lines, above 1200 for a other CyclomaticComplexity: 97 (A), based on 41 functions 378:18 [warning] complexity.function - OrderFulfillmentsRestController::update_fulfillment has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 918 code lines 355:1 [warning] duplication.repeated_block - lines 355 to 380 repeat lines 318 to 342 (82 tokens); repeated code has to be fixed in every copy 463:1 [warning] duplication.repeated_block - lines 463 to 470 repeat lines 310 to 317 (51 tokens); repeated code has to be fixed in every copy 470:1 [warning] duplication.repeated_block - lines 470 to 491 repeat lines 317 to 340 (70 tokens); repeated code has to be fixed in every copy 509:1 [warning] duplication.repeated_block - lines 509 to 516 repeat lines 310 to 317 (51 tokens); repeated code has to be fixed in every copy 537:1 [warning] duplication.repeated_block - lines 537 to 556 repeat lines 325 to 347 (67 tokens); repeated code has to be fixed in every copy 566:1 [warning] duplication.repeated_block - lines 566 to 585 repeat lines 325 to 347 (69 tokens); repeated code has to be fixed in every copy 588:1 [warning] duplication.repeated_block - lines 588 to 600 repeat lines 407 to 419 (80 tokens); repeated code has to be fixed in every copy 606:1 [warning] duplication.repeated_block - lines 606 to 629 repeat lines 556 to 578 (62 tokens); repeated code has to be fixed in every copy 629:1 [warning] duplication.repeated_block - lines 629 to 636 repeat lines 340 to 347 (50 tokens); repeated code has to be fixed in every copy 640:1 [warning] duplication.repeated_block - lines 640 to 670 repeat lines 601 to 631 (111 tokens); repeated code has to be fixed in every copy 817:1 [warning] duplication.repeated_block - lines 817 to 833 repeat lines 760 to 775 (59 tokens); repeated code has to be fixed in every copy 866:1 [warning] duplication.repeated_block - lines 866 to 889 repeat lines 818 to 841 (121 tokens); repeated code has to be fixed in every copy 905:1 [warning] duplication.repeated_block - lines 905 to 929 repeat lines 865 to 889 (123 tokens); repeated code has to be fixed in every copy 950:1 [warning] duplication.repeated_block - lines 950 to 980 repeat lines 900 to 930 (182 tokens); repeated code has to be fixed in every copy 995:1 [warning] duplication.repeated_block - lines 995 to 1019 repeat lines 900 to 924 (130 tokens); repeated code has to be fixed in every copy 1021:1 [warning] duplication.repeated_block - lines 1021 to 1035 repeat lines 721 to 735 (54 tokens); repeated code has to be fixed in every copy 1144:1 [warning] duplication.repeated_block - lines 1144 to 1149 repeat lines 1071 to 1076 (50 tokens); repeated code has to be fixed in every copy 1156:1 [warning] duplication.repeated_block - lines 1156 to 1163 repeat lines 1093 to 1100 (57 tokens); repeated code has to be fixed in every copy 1170:1 [warning] duplication.repeated_block - lines 1170 to 1179 repeat lines 840 to 849 (63 tokens); repeated code has to be fixed in every copy NamingConvention: 78 (C), based on 85 names 29:7 [warning] naming.too_long - class `OrderFulfillmentsRestController` is 31 characters (limit 30); very long names make code hard to read 163:21 [warning] naming.too_long - method `check_permission_for_fulfillments` is 33 characters (limit 30); very long names make code hard to read 733:19 [warning] naming.too_long - method `get_schema_for_get_fulfillments` is 31 characters (limit 30); very long names make code hard to read 749:19 [warning] naming.too_long - method `get_args_for_create_fulfillment` is 31 characters (limit 30); very long names make code hard to read 758:19 [warning] naming.too_long - method `get_schema_for_create_fulfillment` is 33 characters (limit 30); very long names make code hard to read 805:19 [warning] naming.too_long - method `get_args_for_update_fulfillment` is 31 characters (limit 30); very long names make code hard to read 814:19 [warning] naming.too_long - method `get_schema_for_update_fulfillment` is 33 characters (limit 30); very long names make code hard to read 828:19 [warning] naming.too_long - method `get_args_for_delete_fulfillment` is 31 characters (limit 30); very long names make code hard to read 857:19 [warning] naming.too_long - method `get_schema_for_delete_fulfillment` is 33 characters (limit 30); very long names make code hard to read 876:19 [warning] naming.too_long - method `get_args_for_get_fulfillment_meta` is 33 characters (limit 30); very long names make code hard to read 898:19 [warning] naming.too_long - method `get_schema_for_get_fulfillment_meta` is 35 characters (limit 30); very long names make code hard to read 916:19 [warning] naming.too_long - method `get_args_for_update_fulfillment_meta` is 36 characters (limit 30); very long names make code hard to read 948:19 [warning] naming.too_long - method `get_schema_for_update_fulfillment_meta` is 38 characters (limit 30); very long names make code hard to read 966:19 [warning] naming.too_long - method `get_args_for_delete_fulfillment_meta` is 36 characters (limit 30); very long names make code hard to read 993:19 [warning] naming.too_long - method `get_schema_for_delete_fulfillment_meta` is 38 characters (limit 30); very long names make code hard to read 1011:19 [warning] naming.too_long - method `get_args_for_get_tracking_number_details` is 40 characters (limit 30); very long names make code hard to read 1033:19 [warning] naming.too_long - method `get_schema_for_get_tracking_number_details` is 42 characters (limit 30); very long names make code hard to read 1069:19 [warning] naming.too_long - method `get_read_schema_for_fulfillment` is 31 characters (limit 30); very long names make code hard to read 1363:19 [warning] naming.too_long - method `prepare_fulfillment_response_data` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ACSCourierShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/AbstractShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/AmazonLogisticsShippingProvider.php (other) CodeLength: not graded 94:18 [warning] length.function - AmazonLogisticsShippingProvider::try_parse_tracking_number has 60 lines in its body, above 50 CyclomaticComplexity: 49 (F), based on 8 functions 94:18 [error] complexity.function - AmazonLogisticsShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 27, high risk (above 10): each of its 27 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 71 code lines NamingConvention: 94 (A), based on 16 names 10:7 [warning] naming.too_long - class `AmazonLogisticsShippingProvider` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/AnPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ArasKargoShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/AustraliaPostShippingProvider.php (other) CodeLength: not graded 149:18 [warning] length.function - AustraliaPostShippingProvider::try_parse_tracking_number has 65 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 8 functions 149:18 [warning] complexity.function - AustraliaPostShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 111 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/AzerpostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/BartoliniBRTShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/BelpochtaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/BpostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/BulgarianPostsShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CDEKShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CTTShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CanadaPostShippingProvider.php (other) CodeLength: not graded 140:18 [warning] length.function - CanadaPostShippingProvider::try_parse_tracking_number has 68 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 8 functions 140:18 [warning] complexity.function - CanadaPostShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 115 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CeskaPostaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ChronopostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CorreosShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CustomShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/CyprusPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/DHLShippingProvider.php (other) CodeLength: not graded 108:18 [warning] length.function - DHLShippingProvider::try_parse_tracking_number has 87 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 8 functions 108:18 [warning] complexity.function - DHLShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 85 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/DPDShippingProvider.php (other) CodeLength: not graded 394:18 [warning] length.function - DPDShippingProvider::try_parse_tracking_number has 69 lines in its body, above 50 CyclomaticComplexity: 74 (C), based on 8 functions 340:19 [warning] complexity.function - DPDShippingProvider::validate_country_pattern has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely 394:18 [warning] complexity.function - DPDShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 365 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/DeutschePostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ELTAShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/EcontShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/EimskipShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/EvriHermesShippingProvider.php (other) CodeLength: not graded 100:18 [warning] length.function - EvriHermesShippingProvider::try_parse_tracking_number has 55 lines in its body, above 50 CyclomaticComplexity: 78 (C), based on 7 functions 100:18 [warning] complexity.function - EvriHermesShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/FanCourierShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/FastwayShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/FedExShippingProvider.php (other) CodeLength: not graded 95:18 [warning] length.function - FedExShippingProvider::try_parse_tracking_number has 94 lines in its body, above 50 CyclomaticComplexity: 43 (F), based on 8 functions 95:18 [error] complexity.function - FedExShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 82 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/GLSShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/GenikiTaxydromikiShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `GenikiTaxydromikiShippingProvider` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/HayPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/HelthjemShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/HrvatskaPostaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/InPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/IslandsposturShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ItellaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/KazpostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/LaPosteColissimoShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `LaPosteColissimoShippingProvider` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/LasershipOntracShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `LasershipOntracShippingProvider` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/LatvijasPastsShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/LiechtensteinischePostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `LiechtensteinischePostShippingProvider` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MPLShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MRWShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MagyarPostaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MakedonskaPostaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `MakedonskaPostaShippingProvider` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MaltaPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MatkahuoltoShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/MondialRelayShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/NewZealandPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/NovaPoshtaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/OmnivaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/OsterreichischePostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `OsterreichischePostShippingProvider` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ParcelForceShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PocztaPolskaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostLuxembourgShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostNLShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostNordShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostaMoldoveiShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostaRomanaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PosteItalianeShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PosteSanMarinoShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PostenNorgeBringShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `PostenNorgeBringShippingProvider` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/PurolatorShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/RoyalMailShippingProvider.php (other) CodeLength: not graded 153:18 [warning] length.function - RoyalMailShippingProvider::try_parse_tracking_number has 72 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 8 functions 153:18 [warning] complexity.function - RoyalMailShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 121 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/RussianPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/SDAShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/SeurShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/SlovenskaPostaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/SpeeDeeDeliveryShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 83 (B), based on 6 names 8:7 [warning] naming.too_long - class `SpeeDeeDeliveryShippingProvider` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/StarTrackShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/SwissPostShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/TollShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/UPSShippingProvider.php (other) CodeLength: not graded 114:18 [warning] length.function - UPSShippingProvider::try_parse_tracking_number has 68 lines in its body, above 50 CyclomaticComplexity: 79 (C), based on 8 functions 114:18 [warning] complexity.function - UPSShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 76 code lines NamingConvention: 90 (A), based on 21 names 16:17 [warning] naming.too_long - property `international_shipping_countries` is 32 characters (limit 30); very long names make code hard to read 30:17 [warning] naming.too_long - property `domestic_but_international_tracking` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/USPSShippingProvider.php (other) CodeLength: not graded 98:18 [warning] length.function - USPSShippingProvider::try_parse_tracking_number has 71 lines in its body, above 50 CyclomaticComplexity: 78 (C), based on 8 functions 98:18 [warning] complexity.function - USPSShippingProvider::try_parse_tracking_number has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 76 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/UkrposhtaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/UrgentCargusShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/YurticiKargoShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/Providers/ZasilkovnaShippingProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/Fulfillments/ShippingProviders.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 79 code lines NamingConvention: not graded Security: not graded woocommerce/src/Admin/Features/LaunchYourStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 163 code lines NamingConvention: 89 (B), based on 36 names 79:18 [warning] naming.too_long - method `append_coming_soon_global_tracks` is 32 characters (limit 30); very long names make code hard to read 155:18 [warning] naming.too_long - method `maybe_add_coming_soon_banner_on_frontend` is 40 characters (limit 30); very long names make code hard to read 210:18 [warning] naming.too_long - method `register_launch_your_store_user_meta_fields` is 43 characters (limit 30); very long names make code hard to read 262:18 [warning] naming.too_long - method `reset_woocommerce_coming_soon_banner_dismissed` is 46 characters (limit 30); very long names make code hard to read Security: not graded 202:3 [info] security.unescaped_output - echo of `$text` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore`) woocommerce/src/Admin/Features/MarketingRecommendations/DefaultMarketingRecommendations.php (other) CodeLength: not graded 19:25 [error] length.function - DefaultMarketingRecommendations::get_all has 418 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 413 code lines NamingConvention: 92 (A), based on 12 names 13:7 [warning] naming.too_long - class `DefaultMarketingRecommendations` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/MarketingRecommendations/Init.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 70 (C), based on 137 code lines 178:1 [warning] duplication.repeated_block - lines 178 to 193 repeat lines 118 to 133 (73 tokens); repeated code has to be fixed in every copy NamingConvention: 80 (B), based on 30 names 19:8 [warning] naming.too_long - constant `MARKETING_EXTENSION_CATEGORY_SLUG` is 33 characters (limit 30); very long names make code hard to read 26:8 [warning] naming.too_long - constant `MARKETING_CHANNEL_SUBCATEGORY_SLUG` is 34 characters (limit 30); very long names make code hard to read 140:25 [warning] naming.too_long - method `get_recommended_marketing_channels` is 34 characters (limit 30); very long names make code hard to read 154:25 [warning] naming.too_long - method `get_recommended_marketing_extensions_excluding_channels` is 55 characters (limit 30); very long names make code hard to read 238:43 [warning] naming.generic - parameter `obj` is a generic name; it says nothing about what it holds 249:31 [warning] naming.generic - variable `val` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/MarketingRecommendations/MarketingRecommendationsDataSourcePoller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 23 code lines NamingConvention: 83 (B), based on 6 names 11:7 [warning] naming.too_long - class `MarketingRecommendationsDataSourcePoller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/MarketingRecommendations/MiscRecommendationsDataSourcePoller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 80 (B), based on 5 names 26:7 [warning] naming.too_long - class `MiscRecommendationsDataSourcePoller` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/Navigation/RemovedDeprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Features/Onboarding.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/DeprecatedExtendedTask.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 40 (F), based on 83 code lines 178:1 [warning] duplication.repeated_block - lines 178 to 223 repeat lines 133 to 178 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 28 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/DeprecatedOptions.php (other) CodeLength: not graded CyclomaticComplexity: 74 (C), based on 3 functions 36:25 [warning] complexity.function - DeprecatedOptions::get_deprecated_options has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 65:25 [warning] complexity.function - DeprecatedOptions::update_deprecated_options has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 66 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Init.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Task.php (other) CodeLength: not graded 13:16 [warning] length.class - Task has 649 lines, above 500 for a other 1:1 [warning] length.file - the file has 661 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 40 functions Duplication: 100 (A), based on 284 code lines NamingConvention: 96 (A), based on 79 names 582:55 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 643:32 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 643:36 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/TaskList.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 18 functions Duplication: 100 (A), based on 215 code lines NamingConvention: 93 (A), based on 54 names 125:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 231:45 [warning] naming.too_long - parameter `completed_or_hidden_tasklist_ids` is 32 characters (limit 30); very long names make code hard to read 379:17 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 379:21 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/TaskListSection.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 56 code lines NamingConvention: 93 (A), based on 15 names 63:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/TaskLists.php (other) CodeLength: not graded 108:25 [warning] length.function - TaskLists::init_default_lists has 84 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 20 functions Duplication: 100 (A), based on 266 code lines NamingConvention: 100 (A), based on 54 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/TaskTraits.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/AdditionalPayments.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 68 code lines NamingConvention: 94 (A), based on 16 names 126:19 [warning] naming.too_long - method `has_enabled_non_psp_payment_suggestion` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Appearance.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/CustomizeStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 100 (A), based on 60 code lines NamingConvention: 91 (A), based on 22 names 37:18 [warning] naming.too_long - method `mark_task_as_complete_block_theme` is 33 characters (limit 30); very long names make code hard to read 52:18 [warning] naming.too_long - method `mark_task_as_complete_classic_theme` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/ExperimentalShippingRecommendation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 91 (A), based on 11 names 13:7 [warning] naming.too_long - class `ExperimentalShippingRecommendation` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/ExtendStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/GetMobileApp.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 93 (A), based on 14 names 67:4 [warning] naming.too_long - variable `jetpack_is_installed_and_current_user_connected` is 47 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/LaunchYourStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 61 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Marketing.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Payments.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 27 functions Duplication: 70 (C), based on 233 code lines 354:1 [warning] duplication.repeated_block - lines 354 to 376 repeat lines 332 to 354 (72 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 41 names 255:19 [warning] naming.too_long - method `has_woopayments_live_account_in_progress` is 40 characters (limit 30); very long names make code hard to read 310:19 [warning] naming.too_long - method `is_woopayments_supported_country` is 32 characters (limit 30); very long names make code hard to read 326:18 [warning] naming.too_long - method `has_providers_enabled_other_than_woopayments` is 44 characters (limit 30); very long names make code hard to read 348:19 [warning] naming.too_long - method `has_providers_needing_setup_other_than_woopayments` is 50 characters (limit 30); very long names make code hard to read 438:19 [warning] naming.too_long - method `get_payments_extension_suggestions` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Products.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 21 functions Duplication: 100 (A), based on 157 code lines NamingConvention: 88 (B), based on 40 names 170:18 [warning] naming.too_long - method `possibly_add_import_return_notice_script` is 40 characters (limit 30); very long names make code hard to read 189:18 [warning] naming.too_long - method `possibly_add_load_sample_return_notice_script` is 45 characters (limit 30); very long names make code hard to read 216:18 [warning] naming.too_long - method `maybe_set_has_product_transient_on_untrashed_post` is 49 characters (limit 30); very long names make code hard to read 230:18 [warning] naming.too_long - method `maybe_set_has_product_transient` is 31 characters (limit 30); very long names make code hard to read 324:18 [warning] naming.too_long - method `maybe_redirect_to_add_product_tasklist` is 38 characters (limit 30); very long names make code hard to read Security: not graded 171:36 [warning] security.unsanitized_input - read of `$_GET['step']` with no sanitizer around it; sanitize request input where you read it woocommerce/src/Admin/Features/OnboardingTasks/Tasks/ReviewShippingOptions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Shipping.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/StoreCreation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/StoreDetails.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Tax.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 17 functions Duplication: 100 (A), based on 148 code lines NamingConvention: 89 (B), based on 28 names 40:18 [warning] naming.too_long - method `possibly_add_return_notice_script` is 33 characters (limit 30); very long names make code hard to read 227:25 [warning] naming.too_long - method `get_automated_support_countries` is 31 characters (limit 30); very long names make code hard to read 242:26 [warning] naming.too_long - method `get_stripe_tax_support_countries` is 32 characters (limit 30); very long names make code hard to read Security: not graded 41:36 [info] security.unsanitized_input - read of `$_GET['page']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- Values are used only in strict comparisons and never reach a sink.) 42:35 [info] security.unsanitized_input - read of `$_GET['tab']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized, WordPress.Security.ValidatedSanitizedInput.MissingUnslash` -- Values are used only in strict comparisons and never reach a sink.) woocommerce/src/Admin/Features/OnboardingTasks/Tasks/TourInAppMarketplace.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/Features/OnboardingTasks/Tasks/WooCommercePayments.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 21 functions Duplication: 100 (A), based on 140 code lines NamingConvention: 100 (A), based on 36 names Security: not graded woocommerce/src/Admin/Features/PaymentGatewaySuggestions/DefaultPaymentGateways.php (other) CodeLength: not graded 54:25 [error] length.function - DefaultPaymentGateways::get_all has 903 lines in its body, above 100 1140:26 [error] length.function - DefaultPaymentGateways::get_recommendation_priority has 389 lines in its body, above 100 16:7 [error] length.class - DefaultPaymentGateways has 1528 lines, above 1000 for a other 1:1 [error] length.file - the file has 1543 lines, above 1200 for a other CyclomaticComplexity: 100 (A), based on 10 functions and file level code Duplication: 40 (F), based on 1425 code lines 97:1 [warning] duplication.repeated_block - lines 97 to 111 repeat lines 68 to 82 (66 tokens); repeated code has to be fixed in every copy 125:1 [warning] duplication.repeated_block - lines 125 to 125 repeat lines 123 to 123 (70 tokens); repeated code has to be fixed in every copy 160:1 [warning] duplication.repeated_block - lines 160 to 179 repeat lines 137 to 156 (75 tokens); repeated code has to be fixed in every copy 285:1 [warning] duplication.repeated_block - lines 285 to 305 repeat lines 247 to 267 (79 tokens); repeated code has to be fixed in every copy 476:1 [warning] duplication.repeated_block - lines 476 to 524 repeat lines 422 to 470 (194 tokens); repeated code has to be fixed in every copy 540:1 [warning] duplication.repeated_block - lines 540 to 579 repeat lines 433 to 472 (155 tokens); repeated code has to be fixed in every copy 587:1 [warning] duplication.repeated_block - lines 587 to 600 repeat lines 401 to 414 (77 tokens); repeated code has to be fixed in every copy 667:1 [warning] duplication.repeated_block - lines 667 to 699 repeat lines 437 to 469 (127 tokens); repeated code has to be fixed in every copy 705:1 [warning] duplication.repeated_block - lines 705 to 746 repeat lines 660 to 701 (163 tokens); repeated code has to be fixed in every copy 827:1 [warning] duplication.repeated_block - lines 827 to 839 repeat lines 785 to 797 (95 tokens); repeated code has to be fixed in every copy 862:1 [warning] duplication.repeated_block - lines 862 to 871 repeat lines 785 to 794 (70 tokens); repeated code has to be fixed in every copy 874:1 [warning] duplication.repeated_block - lines 874 to 896 repeat lines 839 to 862 (118 tokens); repeated code has to be fixed in every copy 911:1 [warning] duplication.repeated_block - lines 911 to 926 repeat lines 250 to 265 (62 tokens); repeated code has to be fixed in every copy 1095:1 [warning] duplication.repeated_block - lines 1095 to 1116 repeat lines 1042 to 1059 (59 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 28 names 1537:26 [warning] naming.too_long - method `get_default_recommendation_priority` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/PaymentGatewaySuggestions/EvaluateSuggestion.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 62 code lines NamingConvention: 94 (A), based on 18 names 118:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/PaymentGatewaySuggestions/Init.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 65 code lines NamingConvention: 85 (B), based on 13 names 20:8 [warning] naming.too_long - constant `RECOMMENDED_PAYMENT_PLUGINS_DISMISS_OPTION` is 42 characters (limit 30); very long names make code hard to read 69:25 [warning] naming.too_long - method `get_cached_or_default_suggestions` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/PaymentGatewaySuggestions/PaymentGatewaySuggestionsDataSourcePoller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 90 (A), based on 10 names 11:7 [warning] naming.too_long - class `PaymentGatewaySuggestionsDataSourcePoller` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/PaymentGatewaySuggestions/PaymentGatewaysController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 86 code lines NamingConvention: 89 (B), based on 18 names 35:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 87:25 [warning] naming.too_long - method `possibly_do_connection_return_action` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/BlockRegistry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 49 code lines NamingConvention: 95 (A), based on 19 names 127:18 [warning] naming.too_long - method `register_block_type_from_metadata` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/ProductTemplate.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 15 functions Duplication: 40 (F), based on 70 code lines 85:1 [warning] duplication.repeated_block - lines 85 to 119 repeat lines 51 to 85 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 21 names 26:38 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/ProductTemplates/GroupInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/ProductTemplates/ProductFormTemplateInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/ProductTemplates/SectionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Features/ProductBlockEditor/ProductTemplates/SubsectionInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Features/ShippingPartnerSuggestions/DefaultShippingPartners.php (other) CodeLength: not graded 15:25 [error] length.function - DefaultShippingPartners::get_all has 272 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 279 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Features/ShippingPartnerSuggestions/ShippingPartnerSuggestions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 52 code lines NamingConvention: 89 (B), based on 18 names 65:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 65:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/Features/ShippingPartnerSuggestions/ShippingPartnerSuggestionsDataSourcePoller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 83 (B), based on 6 names 11:7 [warning] naming.too_long - class `ShippingPartnerSuggestionsDataSourcePoller` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Features/TransientNotices.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/Loader.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Marketing/InstalledExtensions.php (other) CodeLength: not graded 20:25 [warning] length.function - InstalledExtensions::get_data has 91 lines in its body, above 50 13:7 [warning] length.class - InstalledExtensions has 621 lines, above 500 for a other 1:1 [warning] length.file - the file has 633 lines, above 600 for a other CyclomaticComplexity: 94 (A), based on 20 functions 20:25 [warning] complexity.function - InstalledExtensions::get_data has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 391 code lines 61:1 [warning] duplication.repeated_block - lines 61 to 79 repeat lines 41 to 59 (60 tokens); repeated code has to be fixed in every copy 81:1 [warning] duplication.repeated_block - lines 81 to 107 repeat lines 41 to 67 (84 tokens); repeated code has to be fixed in every copy 161:1 [warning] duplication.repeated_block - lines 161 to 170 repeat lines 137 to 146 (51 tokens); repeated code has to be fixed in every copy 187:1 [warning] duplication.repeated_block - lines 187 to 196 repeat lines 137 to 146 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 49 names 21:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 186:28 [warning] naming.too_long - method `get_aw_birthdays_extension_data` is 31 characters (limit 30); very long names make code hard to read 420:28 [warning] naming.too_long - method `get_creative_mail_extension_data` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Marketing/MarketingCampaign.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/src/Admin/Marketing/MarketingCampaignType.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 19 names Security: not graded woocommerce/src/Admin/Marketing/MarketingChannelInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 17 code lines NamingConvention: 87 (B), based on 15 names 16:15 [warning] naming.too_long - constant `PRODUCT_LISTINGS_NOT_APPLICABLE` is 31 characters (limit 30); very long names make code hard to read 17:15 [warning] naming.too_long - constant `PRODUCT_LISTINGS_SYNC_IN_PROGRESS` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Marketing/MarketingChannels.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Marketing/Price.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Notes/DataStore.php (other) CodeLength: not graded 74:18 [warning] length.function - DataStore::read has 62 lines in its body, above 50 260:19 [warning] length.function - DataStore::save_actions has 71 lines in its body, above 50 474:21 [warning] length.function - DataStore::args_to_where_clauses has 51 lines in its body, above 50 13:7 [warning] length.class - DataStore has 545 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 70 (C), based on 330 code lines 160:1 [warning] duplication.repeated_block - lines 160 to 166 repeat lines 35 to 41 (53 tokens); repeated code has to be fixed in every copy 170:1 [warning] duplication.repeated_block - lines 170 to 176 repeat lines 42 to 48 (57 tokens); repeated code has to be fixed in every copy 295:1 [warning] duplication.repeated_block - lines 295 to 303 repeat lines 237 to 245 (59 tokens); repeated code has to be fixed in every copy 383:1 [warning] duplication.repeated_block - lines 383 to 389 repeat lines 351 to 357 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 67 names 429:19 [warning] naming.too_long - method `get_escaped_arguments_array_by_key` is 34 characters (limit 30); very long names make code hard to read Security: not graded 357:19 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$where_clauses`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 415:18 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `$where_clauses`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared, WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Admin/Notes/DeprecatedNotes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 116 code lines NamingConvention: 49 (F), based on 39 names 53:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 84:7 [warning] naming.too_long - class `WC_Admin_Notes_Customize_Store_With_Blocks` is 42 characters (limit 30); very long names make code hard to read 105:7 [warning] naming.too_long - class `WC_Admin_Notes_Edit_Products_On_The_Move` is 40 characters (limit 30); very long names make code hard to read 147:7 [warning] naming.too_long - class `WC_Admin_Notes_Facebook_Marketing_Expert` is 40 characters (limit 30); very long names make code hard to read 189:7 [warning] naming.too_long - class `WC_Admin_Notes_Giving_Feedback_Notes` is 36 characters (limit 30); very long names make code hard to read 210:7 [warning] naming.too_long - class `WC_Admin_Notes_Install_JP_And_WCS_Plugins` is 41 characters (limit 30); very long names make code hard to read 231:7 [warning] naming.too_long - class `WC_Admin_Notes_Launch_Checklist` is 31 characters (limit 30); very long names make code hard to read 252:7 [warning] naming.too_long - class `WC_Admin_Notes_Migrate_From_Shopify` is 35 characters (limit 30); very long names make code hard to read 294:7 [warning] naming.too_long - class `WC_Admin_Notes_New_Sales_Record` is 31 characters (limit 30); very long names make code hard to read 315:7 [warning] naming.too_long - class `WC_Admin_Notes_Onboarding_Email_Marketing` is 41 characters (limit 30); very long names make code hard to read 336:7 [warning] naming.too_long - class `WC_Admin_Notes_Onboarding_Payments` is 34 characters (limit 30); very long names make code hard to read 357:7 [warning] naming.too_long - class `WC_Admin_Notes_Online_Clothing_Store` is 36 characters (limit 30); very long names make code hard to read 378:7 [warning] naming.too_long - class `WC_Admin_Notes_Order_Milestones` is 31 characters (limit 30); very long names make code hard to read 399:7 [warning] naming.too_long - class `WC_Admin_Notes_Performance_On_Mobile` is 36 characters (limit 30); very long names make code hard to read 420:7 [warning] naming.too_long - class `WC_Admin_Notes_Personalize_Store` is 32 characters (limit 30); very long names make code hard to read 441:7 [warning] naming.too_long - class `WC_Admin_Notes_Real_Time_Order_Alerts` is 37 characters (limit 30); very long names make code hard to read 462:7 [warning] naming.too_long - class `WC_Admin_Notes_Selling_Online_Courses` is 37 characters (limit 30); very long names make code hard to read 504:7 [warning] naming.too_long - class `WC_Admin_Notes_Woo_Subscriptions_Notes` is 38 characters (limit 30); very long names make code hard to read 525:7 [warning] naming.too_long - class `WC_Admin_Notes_WooCommerce_Payments` is 35 characters (limit 30); very long names make code hard to read 546:7 [warning] naming.too_long - class `WC_Admin_Notes_WooCommerce_Subscriptions` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Notes/Note.php (other) CodeLength: not graded 15:7 [warning] length.class - Note has 726 lines, above 500 for a other 1:1 [warning] length.file - the file has 740 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 43 functions and file level code Duplication: 100 (A), based on 341 code lines NamingConvention: 99 (A), based on 92 names 52:32 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Notes/NoteTraits.php (other) CodeLength: not graded 251:26 [warning] length.function - NoteTraits::update_note_field_if_changed has 80 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 13 functions and file level code Duplication: 100 (A), based on 158 code lines NamingConvention: 92 (A), based on 37 names 35:26 [warning] naming.too_long - method `is_wc_admin_active_in_date_range` is 32 characters (limit 30); very long names make code hard to read 338:26 [warning] naming.too_long - method `possibly_convert_object_to_array` is 32 characters (limit 30); very long names make code hard to read 338:61 [warning] naming.generic - parameter `obj` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/Notes/Notes.php (other) CodeLength: not graded CyclomaticComplexity: 98 (A), based on 21 functions and file level code 437:25 [warning] complexity.function - Notes::get_screen_name has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 274 code lines NamingConvention: 97 (A), based on 61 names 281:25 [warning] naming.too_long - method `possibly_delete_marketing_notes` is 31 characters (limit 30); very long names make code hard to read 420:26 [warning] naming.too_long - method `record_tracks_event_without_cookies` is 35 characters (limit 30); very long names make code hard to read Security: not graded 423:43 [info] security.unsanitized_input - read of `$_COOKIE['tk_ai']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.MissingUnslash, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) 441:29 [warning] security.unsanitized_input - read of `$_SERVER['HTTP_REFERER']` with no sanitizer around it; sanitize request input where you read it woocommerce/src/Admin/Notes/NotesUnavailableException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Overrides/Order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 71 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Admin/Overrides/OrderRefund.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/Overrides/OrderTraits.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/src/Admin/Overrides/ThemeUpgrader.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/Overrides/ThemeUpgraderSkin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/PageController.php (other) CodeLength: not graded 171:18 [warning] length.function - PageController::get_breadcrumbs has 54 lines in its body, above 50 261:18 [error] length.function - PageController::get_current_screen_id has 105 lines in its body, above 100 452:18 [warning] length.function - PageController::register_page has 53 lines in its body, above 50 612:18 [warning] length.function - PageController::maybe_redirect_payment_tasks_to_settings has 65 lines in its body, above 50 20:7 [warning] length.class - PageController has 658 lines, above 500 for a other 1:1 [warning] length.file - the file has 677 lines, above 600 for a other CyclomaticComplexity: 93 (A), based on 21 functions and file level code 261:18 [warning] complexity.function - PageController::get_current_screen_id has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 340 code lines NamingConvention: 97 (A), based on 58 names 548:18 [warning] naming.too_long - method `remove_app_entry_page_menu_item` is 31 characters (limit 30); very long names make code hard to read 612:18 [warning] naming.too_long - method `maybe_redirect_payment_tasks_to_settings` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/PluginsHelper.php (other) CodeLength: not graded 382:25 [error] length.function - PluginsHelper::install_plugins has 191 lines in its body, above 100 623:25 [warning] length.function - PluginsHelper::activate_plugins has 78 lines in its body, above 50 941:25 [error] length.function - PluginsHelper::get_subscriptions_notice_data has 107 lines in its body, above 100 1088:25 [warning] length.function - PluginsHelper::get_expiring_subscription_notice has 78 lines in its body, above 50 1173:25 [warning] length.function - PluginsHelper::get_expired_subscription_notice has 80 lines in its body, above 50 1259:25 [warning] length.function - PluginsHelper::get_missing_subscription_notice has 74 lines in its body, above 50 33:7 [error] length.class - PluginsHelper has 1426 lines, above 1000 for a other 1:1 [error] length.file - the file has 1458 lines, above 1200 for a other CyclomaticComplexity: 84 (B), based on 36 functions and file level code 382:25 [warning] complexity.function - PluginsHelper::install_plugins has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely 623:25 [warning] complexity.function - PluginsHelper::activate_plugins has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 941:25 [warning] complexity.function - PluginsHelper::get_subscriptions_notice_data has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1056:26 [warning] complexity.function - PluginsHelper::has_active_usable_product_subscription has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1088:25 [warning] complexity.function - PluginsHelper::get_expiring_subscription_notice has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1173:25 [warning] complexity.function - PluginsHelper::get_expired_subscription_notice has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 831 code lines 699:1 [warning] duplication.repeated_block - lines 699 to 721 repeat lines 590 to 610 (70 tokens); repeated code has to be fixed in every copy 827:1 [warning] duplication.repeated_block - lines 827 to 846 repeat lines 788 to 808 (58 tokens); repeated code has to be fixed in every copy 1174:1 [warning] duplication.repeated_block - lines 1174 to 1188 repeat lines 1093 to 1107 (98 tokens); repeated code has to be fixed in every copy 1259:1 [warning] duplication.repeated_block - lines 1259 to 1276 repeat lines 1088 to 1105 (87 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 138 names 42:17 [warning] naming.too_long - property `subscription_usage_notices_already_shown` is 40 characters (limit 30); very long names make code hard to read 87:8 [warning] naming.too_long - constant `DISMISS_CONNECTED_ACCOUNT_NOTICE` is 32 characters (limit 30); very long names make code hard to read 118:42 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 585:25 [warning] naming.too_long - method `install_and_activate_plugins_async_callback` is 43 characters (limit 30); very long names make code hard to read 796:25 [warning] naming.too_long - method `maybe_show_connect_notice_in_plugin_list` is 40 characters (limit 30); very long names make code hard to read 835:25 [warning] naming.too_long - method `maybe_enqueue_scripts_for_connect_notice` is 40 characters (limit 30); very long names make code hard to read 855:25 [warning] naming.too_long - method `maybe_enqueue_scripts_for_notices_in_plugins` is 44 characters (limit 30); very long names make code hard to read 875:25 [warning] naming.too_long - method `maybe_show_expired_subscriptions_notice` is 39 characters (limit 30); very long names make code hard to read 899:25 [warning] naming.too_long - method `maybe_show_expiring_subscriptions_notice` is 40 characters (limit 30); very long names make code hard to read 922:25 [warning] naming.too_long - method `maybe_enqueue_scripts_for_subscription_notice` is 45 characters (limit 30); very long names make code hard to read 1056:26 [warning] naming.too_long - method `has_active_usable_product_subscription` is 38 characters (limit 30); very long names make code hard to read 1088:25 [warning] naming.too_long - method `get_expiring_subscription_notice` is 32 characters (limit 30); very long names make code hard to read 1173:25 [warning] naming.too_long - method `get_expired_subscription_notice` is 31 characters (limit 30); very long names make code hard to read 1259:25 [warning] naming.too_long - method `get_missing_subscription_notice` is 31 characters (limit 30); very long names make code hard to read 1426:25 [warning] naming.too_long - method `get_missing_payment_method_notice` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/PluginsInstallLoggers/AsyncPluginsInstallLogger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 154 code lines NamingConvention: 93 (A), based on 30 names 55:34 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 175:27 [warning] naming.inconsistent_style - parameter `timeInMs` is camelCase, while most variables and parameters in this file are snake_case (8 of 18 names); mixed styles make code harder to scan Security: not graded woocommerce/src/Admin/PluginsInstallLoggers/PluginsInstallLogger.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 8 code lines NamingConvention: 90 (A), based on 10 names 50:29 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/PluginsInstaller.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 72 code lines NamingConvention: 93 (A), based on 14 names 30:25 [warning] naming.too_long - method `possibly_install_activate_plugins` is 33 characters (limit 30); very long names make code hard to read Security: not graded 114:57 [warning] security.unsanitized_input - read of `$_SERVER['REQUEST_URI']` with no sanitizer around it; sanitize request input where you read it woocommerce/src/Admin/PluginsProvider/PluginsProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 22 code lines NamingConvention: 90 (A), based on 10 names 34:15 [warning] naming.too_short - parameter `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/PluginsProvider/PluginsProviderInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteInboxNotifications/RemoteInboxNotificationsDataSourcePoller.php (other) CodeLength: not graded 61:21 [error] length.function - RemoteInboxNotificationsDataSourcePoller::validate_spec has 108 lines in its body, above 100 CyclomaticComplexity: 82 (B), based on 4 functions and file level code 61:21 [warning] complexity.function - RemoteInboxNotificationsDataSourcePoller::validate_spec has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 142 code lines NamingConvention: 93 (A), based on 15 names 19:7 [warning] naming.too_long - class `RemoteInboxNotificationsDataSourcePoller` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteInboxNotifications/RemoteInboxNotificationsEngine.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 193 code lines NamingConvention: 94 (A), based on 36 names 152:25 [warning] naming.too_long - method `run_on_woocommerce_admin_updated` is 32 characters (limit 30); very long names make code hard to read 314:25 [warning] naming.too_long - method `ajax_action_inbox_notification_search` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteInboxNotifications/RuleProcessorInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteInboxNotifications/SpecRunner.php (other) CodeLength: not graded 25:25 [warning] length.function - SpecRunner::run_spec has 57 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 40 (F), based on 127 code lines 142:1 [warning] duplication.repeated_block - lines 142 to 182 repeat lines 102 to 142 (106 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 24 names 118:17 [warning] naming.too_short - parameter `l` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Admin/RemoteInboxNotifications/TransformerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/DataSourcePoller.php (other) CodeLength: not graded 223:28 [warning] length.function - DataSourcePoller::read_data_source has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 144 code lines NamingConvention: 100 (A), based on 35 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RemoteSpecsEngine.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/BaseLocationCountryRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 34 code lines NamingConvention: 89 (B), based on 9 names 17:7 [warning] naming.too_long - class `BaseLocationCountryRuleProcessor` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/BaseLocationStateRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/ComparisonOperation.php (other) CodeLength: not graded 21:25 [warning] length.function - ComparisonOperation::compare has 55 lines in its body, above 50 CyclomaticComplexity: 31 (F), based on 1 function and file level code 21:25 [error] complexity.function - ComparisonOperation::compare has a cyclomatic complexity of 31, high risk (above 10): each of its 31 paths needs its own test, which makes it hard to follow and to change safely Duplication: 0 (F), based on 58 code lines 51:1 [warning] duplication.repeated_block - lines 51 to 59 repeat lines 35 to 43 (54 tokens); repeated code has to be fixed in every copy 59:1 [warning] duplication.repeated_block - lines 59 to 67 repeat lines 43 to 51 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/ContextPluginsRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/EvaluateAndGetStatus.php (other) CodeLength: not graded CyclomaticComplexity: 71 (C), based on 1 function and file level code 26:25 [warning] complexity.function - EvaluateAndGetStatus::evaluate has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/EvaluateOverrides.php (other) CodeLength: not graded CyclomaticComplexity: 86 (B), based on 2 functions 19:18 [warning] complexity.function - EvaluateOverrides::evaluate has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 47 code lines NamingConvention: 93 (A), based on 14 names 56:49 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/EvaluationLogger.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/FailRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/GetRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 31 (F), based on 1 function and file level code 21:25 [error] complexity.function - GetRuleProcessor::get_processor has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 51 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/GetRuleProcessorForContext.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/IsEcommerceRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/IsWooExpressRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/NotRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 23 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/NoteStatusRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/OnboardingProfileRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/OptionRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 59 code lines NamingConvention: 93 (A), based on 15 names 26:4 [warning] naming.too_long - variable `value_when_default_not_provided` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/OrRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/OrderCountRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/OrdersProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 14 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/PassRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/PluginVersionRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/PluginsActivatedRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/ProductCountRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/PublishAfterTimeRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/PublishBeforeTimeRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/RuleEvaluator.php (other) CodeLength: not graded CyclomaticComplexity: 73 (C), based on 2 functions and file level code 47:18 [warning] complexity.function - RuleEvaluator::evaluate has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/RuleProcessorInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/StoredStateRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/StoredStateSetupForProducts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions and file level code Duplication: 100 (A), based on 61 code lines NamingConvention: 88 (B), based on 17 names 16:8 [warning] naming.too_long - constant `ASYNC_RUN_REMOTE_NOTIFICATIONS_ACTION_NAME` is 42 characters (limit 30); very long names make code hard to read 119:26 [warning] naming.too_long - method `update_stored_state_and_possibly_run_remote_notifications` is 57 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/TotalPaymentsVolumeProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 87 (B), based on 4 functions and file level code 89:18 [warning] complexity.function - TotalPaymentsVolumeProcessor::validate has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 69 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/ArrayColumn.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/ArrayFlatten.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/ArrayKeys.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/ArraySearch.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 19 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/ArrayValues.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/Count.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/DotNotation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/PrepareUrl.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/TransformerInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/Transformers/TransformerService.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 38 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/WCAdminActiveForProvider.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 50 (F), based on 2 names 21:18 [warning] naming.too_long - method `get_wcadmin_active_for_in_seconds` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/WCAdminActiveForRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Admin/RemoteSpecs/RuleProcessors/WooCommerceAdminUpdatedRuleProcessor.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 80 (B), based on 5 names 15:7 [warning] naming.too_long - class `WooCommerceAdminUpdatedRuleProcessor` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/ReportCSVEmail.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 40 (F), based on 107 code lines 156:1 [warning] duplication.repeated_block - lines 156 to 173 repeat lines 133 to 150 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/src/Admin/ReportCSVExporter.php (other) CodeLength: not graded 369:18 [warning] length.function - ReportCSVExporter::prepare_data_to_export has 74 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 21 functions and file level code Duplication: 100 (A), based on 226 code lines NamingConvention: 100 (A), based on 58 names Security: not graded woocommerce/src/Admin/ReportExporter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 18 functions and file level code Duplication: 100 (A), based on 191 code lines NamingConvention: 98 (A), based on 54 names 196:25 [warning] naming.too_long - method `update_export_percentage_complete` is 33 characters (limit 30); very long names make code hard to read Security: not graded 381:55 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Read in get_requested_export(), which documents why there is no nonce and validates every value it reads.) woocommerce/src/Admin/ReportsSync.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions and file level code Duplication: 100 (A), based on 110 code lines NamingConvention: 96 (A), based on 27 names 208:25 [warning] naming.too_long - method `maybe_clear_stock_count_cache_for_post` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Schedulers/SchedulerTraits.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 19 functions and file level code Duplication: 100 (A), based on 191 code lines NamingConvention: 100 (A), based on 54 names Security: not graded woocommerce/src/Admin/Settings/LegacySettingsPageAdapter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/Settings/SettingsSection.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions and file level code Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Admin/Settings/SettingsSectionInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Admin/Settings/SettingsSectionRegistry.php (other) CodeLength: not graded CyclomaticComplexity: 91 (A), based on 8 functions and file level code 201:19 [warning] complexity.function - SettingsSectionRegistry::is_reserved_checkout_section_id has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 138 code lines NamingConvention: 96 (A), based on 23 names 201:19 [warning] naming.too_long - method `is_reserved_checkout_section_id` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Settings/SettingsSectionUIPageProviderInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 67 (D), based on 3 names 17:11 [warning] naming.too_long - interface `SettingsSectionUIPageProviderInterface` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Admin/Settings/SettingsUIPageInterface.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Admin/Settings/SettingsUISchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Admin/WCAdminHelper.php (other) CodeLength: not graded 133:25 [warning] length.function - WCAdminHelper::is_current_page_store_page has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 7 functions and file level code Duplication: 100 (A), based on 108 code lines NamingConvention: 93 (A), based on 27 names 48:25 [warning] naming.too_long - method `get_wcadmin_active_for_in_seconds` is 33 characters (limit 30); very long names make code hard to read 80:25 [warning] naming.too_long - method `is_wc_admin_active_in_date_range` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Autoloader.php (other) CodeLength: not graded 150:25 [error] length.function - Autoloader::register_woocommerce_psr4_fallback has 125 lines in its body, above 100 CyclomaticComplexity: 85 (B), based on 9 functions and file level code 150:25 [warning] complexity.function - Autoloader::register_woocommerce_psr4_fallback has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 152 code lines NamingConvention: 92 (A), based on 26 names 78:25 [warning] naming.too_long - method `build_woocommerce_psr4_fallback` is 31 characters (limit 30); very long names make code hard to read 150:25 [warning] naming.too_long - method `register_woocommerce_psr4_fallback` is 34 characters (limit 30); very long names make code hard to read Security: not graded 39:24 [warning] security.include_variable - require of `$autoloader` builds the file path from data; a crafted path can load another file 97:5 [warning] security.include_variable - require_once of `$classloader_file` builds the file path from data; a crafted path can load another file 100:20 [warning] security.include_variable - require of `$psr4_map` builds the file path from data; a crafted path can load another file 237:17 [warning] security.include_variable - include of `$file` builds the file path from data; a crafted path can load another file woocommerce/src/Blocks/AI/Configuration.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AI/Connection.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AIContent/ContentProcessor.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AIContent/PatternsDictionary.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AIContent/PatternsHelper.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AIContent/UpdatePatterns.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/AIContent/UpdateProducts.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 3 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Blocks/Assets.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Blocks/Assets/Api.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 158 code lines NamingConvention: 98 (A), based on 44 names 129:4 [warning] naming.too_long - variable `path_to_metadata_from_plugin_root` is 33 characters (limit 30); very long names make code hard to read Security: not graded 205:46 [warning] security.include_variable - require of `$asset_path` builds the file path from data; a crafted path can load another file 234:42 [warning] security.include_variable - require of `$asset_path` builds the file path from data; a crafted path can load another file woocommerce/src/Blocks/Assets/AssetDataRegistry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 21 functions Duplication: 100 (A), based on 222 code lines NamingConvention: 98 (A), based on 48 names 311:30 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Blocks/AssetsController.php (other) CodeLength: not graded 17:13 [warning] length.class - AssetsController has 561 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 22 functions Duplication: 100 (A), based on 324 code lines NamingConvention: 87 (B), based on 76 names 63:40 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 146:19 [warning] naming.too_long - method `register_deprecated_script_handles` is 34 characters (limit 30); very long names make code hard to read 195:19 [warning] naming.too_long - method `add_deprecated_script_handle_warnings` is 37 characters (limit 30); very long names make code hard to read 312:19 [warning] naming.too_long - method `get_block_asset_resource_hints_cache` is 36 characters (limit 30); very long names make code hard to read 338:19 [warning] naming.too_long - method `set_block_asset_resource_hints_cache` is 36 characters (limit 30); very long names make code hard to read 399:19 [warning] naming.too_long - method `get_script_dependency_src_array` is 31 characters (limit 30); very long names make code hard to read 430:19 [warning] naming.too_long - method `gather_script_dependency_handles` is 32 characters (limit 30); very long names make code hard to read 448:18 [warning] naming.too_long - method `skip_boost_minification_for_cart_checkout` is 41 characters (limit 30); very long names make code hard to read 513:18 [warning] naming.too_long - method `update_block_style_dependencies` is 31 characters (limit 30); very long names make code hard to read 546:18 [warning] naming.too_long - method `update_block_settings_dependencies` is 34 characters (limit 30); very long names make code hard to read Security: not graded 169:19 [warning] security.include_variable - require of `$asset_file` builds the file path from data; a crafted path can load another file woocommerce/src/Blocks/BlockPatterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 128 code lines NamingConvention: 96 (A), based on 28 names 158:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Blocks/BlockTemplatesController.php (other) CodeLength: not graded 248:18 [warning] length.function - BlockTemplatesController::add_db_templates_with_woo_slug has 93 lines in its body, above 50 CyclomaticComplexity: 78 (C), based on 14 functions 248:18 [error] complexity.function - BlockTemplatesController::add_db_templates_with_woo_slug has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 224 code lines NamingConvention: 90 (A), based on 58 names 66:18 [warning] naming.too_long - method `render_woocommerce_template_part` is 32 characters (limit 30); very long names make code hard to read 93:18 [warning] naming.too_long - method `add_plugin_templates_parts_support` is 34 characters (limit 30); very long names make code hard to read 113:18 [warning] naming.too_long - method `prevent_shortcodes_html_breakage` is 32 characters (limit 30); very long names make code hard to read 140:18 [warning] naming.too_long - method `hide_template_selector_in_cart_checkout_pages` is 45 characters (limit 30); very long names make code hard to read 349:18 [warning] naming.too_long - method `dont_load_templates_for_suggestions` is 35 characters (limit 30); very long names make code hard to read 366:18 [warning] naming.too_long - method `get_block_templates_from_woocommerce` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTemplatesRegistry.php (other) CodeLength: not graded 44:18 [warning] length.function - BlockTemplatesRegistry::init has 72 lines in its body, above 50 CyclomaticComplexity: 76 (C), based on 3 functions 44:18 [warning] complexity.function - BlockTemplatesRegistry::init has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 85 code lines 77:1 [warning] duplication.repeated_block - lines 77 to 82 repeat lines 71 to 76 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 16 names 123:18 [warning] naming.too_long - method `register_add_to_cart_with_options_template_part_area` is 52 characters (limit 30); very long names make code hard to read 124:4 [warning] naming.too_long - variable `add_to_cart_with_options_template_part_area` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AbstractBlock.php (other) CodeLength: not graded 17:16 [warning] length.class - AbstractBlock has 588 lines, above 500 for a other 1:1 [warning] length.file - the file has 604 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 28 functions Duplication: 100 (A), based on 299 code lines NamingConvention: 97 (A), based on 75 names 183:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 464:21 [warning] naming.too_long - method `parse_render_callback_attributes` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AbstractDynamicBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Blocks/BlockTypes/AbstractInnerBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Blocks/BlockTypes/AbstractProductGrid.php (other) CodeLength: not graded 76:21 [warning] length.function - AbstractProductGrid::render has 62 lines in its body, above 50 12:16 [warning] length.class - AbstractProductGrid has 708 lines, above 500 for a other 1:1 [warning] length.file - the file has 719 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 25 functions Duplication: 100 (A), based on 394 code lines NamingConvention: 99 (A), based on 68 names 436:24 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded 418:37 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `implode( ',', $prime_product_ids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) 427:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ',', array_map( 'esc_sql', $prime_variation_ids ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/src/Blocks/BlockTypes/Accordion/AccordionGroup.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 21 code lines NamingConvention: 88 (B), based on 8 names 36:4 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Blocks/BlockTypes/Accordion/AccordionHeader.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/Accordion/AccordionItem.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 44 code lines NamingConvention: 90 (A), based on 10 names 35:4 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Blocks/BlockTypes/Accordion/AccordionPanel.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/ActiveFilters.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartForm.php (other) CodeLength: not graded 173:21 [error] length.function - AddToCartForm::render has 118 lines in its body, above 100 CyclomaticComplexity: 83 (B), based on 8 functions 173:21 [warning] complexity.function - AddToCartForm::render has a cyclomatic complexity of 20, moderate risk (above 10): each of its 20 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 150 code lines NamingConvention: 95 (A), based on 38 names 111:19 [warning] naming.too_long - method `add_stepper_classes_to_add_to_cart_form_input` is 45 characters (limit 30); very long names make code hard to read 182:4 [warning] naming.too_long - variable `is_descendent_of_single_product_block` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/AddToCartWithOptions.php (other) CodeLength: not graded 192:21 [error] length.function - AddToCartWithOptions::render has 501 lines in its body, above 100 18:7 [warning] length.class - AddToCartWithOptions has 724 lines, above 500 for a other 1:1 [warning] length.file - the file has 741 lines, above 600 for a other CyclomaticComplexity: 20 (F), based on 10 functions 192:21 [error] complexity.function - AddToCartWithOptions::render has a cyclomatic complexity of 51, untestable risk (above 10): each of its 51 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 362 code lines NamingConvention: 94 (A), based on 63 names 59:19 [warning] naming.too_long - method `get_product_type_for_add_to_cart_template` is 41 characters (limit 30); very long names make code hard to read 158:18 [warning] naming.too_long - method `set_is_descendant_of_add_to_cart_with_options_context` is 53 characters (limit 30); very long names make code hard to read 372:5 [warning] naming.too_long - variable `is_disabled_compatibility_layer` is 31 characters (limit 30); very long names make code hard to read 701:21 [warning] naming.too_long - method `render_interactivity_notices_region` is 35 characters (limit 30); very long names make code hard to read Security: not graded 710:108 [info] security.unescaped_output - echo of `$context_directive` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 736:10 [info] security.unescaped_output - echo of `$form_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/GroupedProductItem.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 46 code lines NamingConvention: 94 (A), based on 18 names 32:18 [warning] naming.too_long - method `set_is_descendant_of_grouped_product_selector_context` is 53 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/GroupedProductItemLabel.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/GroupedProductItemSelector.php (other) CodeLength: not graded 42:19 [warning] length.function - GroupedProductItemSelector::get_quantity_selector_markup has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 99 code lines NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/GroupedProductSelector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 16 code lines NamingConvention: 86 (B), based on 7 names 37:5 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/QuantitySelector.php (other) CodeLength: not graded 41:21 [warning] length.function - QuantitySelector::render has 93 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 1 function 41:21 [warning] complexity.function - QuantitySelector::render has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 74 code lines NamingConvention: 95 (A), based on 22 names 60:4 [warning] naming.too_long - variable `can_only_be_purchased_one_at_a_time` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/Utils.php (other) CodeLength: not graded 118:25 [warning] length.function - Utils::make_quantity_input_interactive has 73 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 8 functions 118:25 [warning] complexity.function - Utils::make_quantity_input_interactive has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 147 code lines NamingConvention: 95 (A), based on 39 names 118:25 [warning] naming.too_long - method `make_quantity_input_interactive` is 31 characters (limit 30); very long names make code hard to read 248:25 [warning] naming.too_long - method `get_product_quantity_constraints` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/VariationDescription.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 23 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/VariationSelector.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 86 (B), based on 7 names 36:5 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/VariationSelectorAttribute.php (other) CodeLength: not graded 81:19 [warning] length.function - VariationSelectorAttribute::render_attribute_row has 70 lines in its body, above 50 CyclomaticComplexity: 96 (A), based on 9 functions 159:19 [warning] complexity.function - VariationSelectorAttribute::replace_legacy_attribute_options_block has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 218 code lines NamingConvention: 95 (A), based on 57 names 159:19 [warning] naming.too_long - method `replace_legacy_attribute_options_block` is 38 characters (limit 30); very long names make code hard to read 232:19 [warning] naming.too_long - method `get_available_variation_values_by_attribute_slug` is 48 characters (limit 30); very long names make code hard to read 285:19 [warning] naming.too_long - method `build_variation_selectable_items` is 32 characters (limit 30); very long names make code hard to read Security: not graded 256:23 [info] security.unsanitized_input - read of `$_GET` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized`) woocommerce/src/Blocks/BlockTypes/AddToCartWithOptions/VariationSelectorAttributeName.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/Blocks/BlockTypes/AddToWishlistButton.php (other) CodeLength: not graded 48:21 [error] length.function - AddToWishlistButton::render has 116 lines in its body, above 100 CyclomaticComplexity: 80 (B), based on 9 functions 48:21 [warning] complexity.function - AddToWishlistButton::render has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 131 code lines NamingConvention: 97 (A), based on 33 names 194:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 126:14 [info] security.unescaped_output - echo of `get_block_wrapper_attributes( $wrapper_attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- get_block_wrapper_attributes returns escaped attribute markup.) 147:12 [info] security.unescaped_output - echo of `ShopperListRenderer::get_star_empty_svg()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- static SVG markup.) 156:12 [info] security.unescaped_output - echo of `ShopperListRenderer::get_star_filled_svg()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- static SVG markup.) woocommerce/src/Blocks/BlockTypes/AllProducts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 89 (B), based on 9 names 54:19 [warning] naming.too_long - method `get_store_thumbnail_aspect_ratio` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/AllReviews.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Blocks/BlockTypes/AtomicBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Blocks/BlockTypes/AttributeFilter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Blocks/BlockTypes/Breadcrumbs.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 88 code lines NamingConvention: 86 (B), based on 22 names 84:19 [warning] naming.too_long - method `get_font_size_classes_and_styles` is 32 characters (limit 30); very long names make code hard to read 103:4 [warning] naming.too_long - variable `theme_font_size_classes_and_styles` is 34 characters (limit 30); very long names make code hard to read 129:19 [warning] naming.too_long - method `get_theme_font_size_classes_and_styles` is 38 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/Cart.php (other) CodeLength: not graded 152:21 [warning] length.function - Cart::render has 62 lines in its body, above 50 222:21 [warning] length.function - Cart::enqueue_data has 51 lines in its body, above 50 CyclomaticComplexity: 93 (A), based on 11 functions 222:21 [warning] complexity.function - Cart::enqueue_data has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 146 code lines NamingConvention: 92 (A), based on 38 names 63:18 [warning] naming.too_long - method `dequeue_woocommerce_core_scripts` is 32 characters (limit 30); very long names make code hard to read 194:4 [warning] naming.too_long - variable `order_summary_with_inner_blocks` is 31 characters (limit 30); very long names make code hard to read 204:4 [warning] naming.too_long - variable `regex_for_order_summary_subtotal` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CartAcceptedPaymentMethodsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CartAcceptedPaymentMethodsBlock` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CartCrossSellsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartCrossSellsProductsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartExpressPaymentBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartItemsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartLineItemsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartLink.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 93 (A), based on 14 names 50:4 [warning] naming.too_long - variable `regex_for_cart_order_summary_totals` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryCouponFormBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CartOrderSummaryCouponFormBlock` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryDiscountBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryFeeBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryHeadingBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryShippingBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummarySubtotalBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryTaxesBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartOrderSummaryTotalsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CartTotalsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CatalogSorting.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 42 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/Blocks/BlockTypes/CategoryDescription.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Blocks/BlockTypes/CategoryTitle.php (other) CodeLength: not graded CyclomaticComplexity: 75 (C), based on 4 functions 25:21 [warning] complexity.function - CategoryTitle::render has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/Blocks/BlockTypes/Checkout.php (other) CodeLength: not graded 94:18 [warning] length.function - Checkout::register_settings has 53 lines in its body, above 50 231:21 [warning] length.function - Checkout::render has 92 lines in its body, above 50 405:21 [error] length.function - Checkout::enqueue_data has 187 lines in its body, above 100 20:7 [warning] length.class - Checkout has 636 lines, above 500 for a other 1:1 [warning] length.file - the file has 655 lines, above 600 for a other CyclomaticComplexity: 67 (D), based on 16 functions 231:21 [warning] complexity.function - Checkout::render has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 340:18 [warning] complexity.function - Checkout::update_local_pickup_title has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely 405:21 [error] complexity.function - Checkout::enqueue_data has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 403 code lines NamingConvention: 89 (B), based on 75 names 82:18 [warning] naming.too_long - method `dequeue_woocommerce_core_scripts` is 32 characters (limit 30); very long names make code hard to read 279:4 [warning] naming.too_long - variable `order_summary_with_inner_blocks` is 31 characters (limit 30); very long names make code hard to read 289:4 [warning] naming.too_long - variable `regex_for_order_summary_subtotal` is 32 characters (limit 30); very long names make code hard to read 312:4 [warning] naming.too_long - variable `additional_information_inner_blocks` is 35 characters (limit 30); very long names make code hard to read 313:4 [warning] naming.too_long - variable `has_additional_information_regex` is 32 characters (limit 30); very long names make code hard to read 314:4 [warning] naming.too_long - variable `has_additional_information_block` is 32 characters (limit 30); very long names make code hard to read 383:19 [warning] naming.too_long - method `find_local_pickup_text_in_checkout_block` is 40 characters (limit 30); very long names make code hard to read 596:21 [warning] naming.too_long - method `hydrate_customer_payment_methods` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutActionsBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutAdditionalInformationBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutAdditionalInformationBlock` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutBillingAddressBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutContactInformationBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutContactInformationBlock` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutExpressPaymentBlock.php (other) CodeLength: not graded CyclomaticComplexity: 84 (B), based on 3 functions 53:18 [warning] complexity.function - CheckoutExpressPaymentBlock::sync_express_payment_attrs has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 73 code lines NamingConvention: 94 (A), based on 18 names 110:19 [warning] naming.too_long - method `update_other_page_with_express_payment_attrs` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutFieldsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderNoteBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 93 (A), based on 14 names 50:4 [warning] naming.too_long - variable `regex_for_checkout_order_summary_totals` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryCartItemsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummaryCartItemsBlock` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryCouponFormBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummaryCouponFormBlock` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryDiscountBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummaryDiscountBlock` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryFeeBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryShippingBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummaryShippingBlock` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummarySubtotalBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummarySubtotalBlock` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryTaxesBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutOrderSummaryTotalsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 50 (F), based on 2 names 7:7 [warning] naming.too_long - class `CheckoutOrderSummaryTotalsBlock` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutPaymentBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutPickupOptionsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutShippingAddressBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutShippingMethodBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutShippingMethodsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutTermsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/CheckoutTotalsBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/ClassicShortcode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 40 (F), based on 51 code lines 96:1 [warning] duplication.repeated_block - lines 96 to 116 repeat lines 76 to 96 (68 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Blocks/BlockTypes/ClassicTemplate.php (other) CodeLength: not graded 142:21 [warning] length.function - ClassicTemplate::render has 72 lines in its body, above 50 295:21 [error] length.function - ClassicTemplate::render_archive_product has 112 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 184 code lines NamingConvention: 100 (A), based on 29 names Security: not graded woocommerce/src/Blocks/BlockTypes/ComingSoon.php (other) CodeLength: not graded CyclomaticComplexity: 85 (B), based on 5 functions 70:18 [warning] complexity.function - ComingSoon::enqueue_block_assets has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 65 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Blocks/BlockTypes/CouponCode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 139 code lines NamingConvention: 100 (A), based on 39 names Security: not graded woocommerce/src/Blocks/BlockTypes/CustomerAccount.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 13 functions Duplication: 100 (A), based on 171 code lines NamingConvention: 98 (A), based on 56 names 74:4 [warning] naming.too_long - variable `customer_account_block_font_size` is 32 characters (limit 30); very long names make code hard to read Security: not graded 160:11 [info] security.unescaped_output - echo of `$aria_label` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 162:11 [info] security.unescaped_output - echo of `$this->render_visual( $attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 163:11 [info] security.unescaped_output - echo of `$label_markup` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 196:10 [info] security.unescaped_output - echo of `wp_interactivity_data_wp_context( $context )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 207:11 [info] security.unescaped_output - echo of `$aria_label` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 212:11 [info] security.unescaped_output - echo of `$this->render_visual( $attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 213:11 [info] security.unescaped_output - echo of `$label_markup` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 214:11 [info] security.unescaped_output - echo of `$this->render_caret_icon()` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 221:11 [info] security.unescaped_output - echo of `$dropdown_html` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/Dropdown.php (other) CodeLength: not graded 44:21 [error] length.function - Dropdown::render has 105 lines in its body, above 100 CyclomaticComplexity: 36 (F), based on 2 functions 44:21 [error] complexity.function - Dropdown::render has a cyclomatic complexity of 24, high risk (above 10): each of its 24 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 75 code lines NamingConvention: 100 (A), based on 20 names Security: not graded 78:14 [info] security.unescaped_output - echo of `get_block_wrapper_attributes( $wrapper_attributes )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/EmailContent.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Blocks/BlockTypes/EmptyCartBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/EmptyMiniCartContentsBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 7 names Security: not graded 34:14 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 38:6 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/EnableBlockJsonAssetsTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Blocks/BlockTypes/FeaturedCategory.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Blocks/BlockTypes/FeaturedItem.php (other) CodeLength: not graded 383:19 [warning] length.function - FeaturedItem::render_image has 52 lines in its body, above 50 10:16 [warning] length.class - FeaturedItem has 522 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 17 functions Duplication: 100 (A), based on 242 code lines NamingConvention: 91 (A), based on 58 names 72:13 [warning] naming.too_long - property `featured_item_inner_blocks_names` is 32 characters (limit 30); very long names make code hard to read 83:21 [warning] naming.too_long - method `extract_featured_item_inner_block_names` is 39 characters (limit 30); very long names make code hard to read 110:21 [warning] naming.too_long - method `replace_post_for_featured_item_inner_block` is 42 characters (limit 30); very long names make code hard to read 264:5 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning 516:19 [warning] naming.inconsistent_style - method `hasFocalPoint` is camelCase, while most methods in this file are snake_case (18 of 21 names); mixed styles make code harder to scan Security: not graded woocommerce/src/Blocks/BlockTypes/FeaturedProduct.php (other) CodeLength: not graded CyclomaticComplexity: 83 (B), based on 5 functions 92:21 [warning] complexity.function - FeaturedProduct::render_attributes has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 77 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Blocks/BlockTypes/FilledCartBlock.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/Blocks/BlockTypes/FilledMiniCartContentsBlock.php (other) CodeLength: not graded 25:21 [warning] length.function - FilledMiniCartContentsBlock::render has 68 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 11 names Security: not graded 52:14 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 87:5 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/FilterWrapper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 7 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Blocks/BlockTypes/HandpickedProducts.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Blocks/BlockTypes/MiniCart.php (other) CodeLength: not graded 152:21 [warning] length.function - MiniCart::enqueue_data has 71 lines in its body, above 50 264:21 [error] length.function - MiniCart::render has 175 lines in its body, above 100 26:7 [warning] length.class - MiniCart has 723 lines, above 500 for a other 1:1 [warning] length.file - the file has 748 lines, above 600 for a other CyclomaticComplexity: 74 (C), based on 17 functions 264:21 [error] complexity.function - MiniCart::render has a cyclomatic complexity of 33, high risk (above 10): each of its 33 paths needs its own test, which makes it hard to follow and to change safely 619:21 [warning] complexity.function - MiniCart::get_markup has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 393 code lines 628:1 [warning] duplication.repeated_block - lines 628 to 637 repeat lines 297 to 303 (129 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 88 names 49:13 [warning] naming.too_long - property `display_cart_prices_including_tax` is 33 characters (limit 30); very long names make code hard to read 309:5 [warning] naming.too_long - variable `display_cart_price_including_tax` is 32 characters (limit 30); very long names make code hard to read 522:4 [warning] naming.too_short - variable `p` is 1 character (at least 2); a one letter name hides its meaning 698:6 [warning] naming.too_long - variable `display_cart_prices_including_tax` is 33 characters (limit 30); very long names make code hard to read 727:18 [warning] naming.too_long - method `register_empty_cart_message_block_pattern` is 41 characters (limit 30); very long names make code hard to read Security: not graded 391:11 [info] security.unescaped_output - echo of `wp_interactivity_data_wp_context( $context )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 399:12 [info] security.unescaped_output - echo of `$button_role` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 404:8 [info] security.unescaped_output - echo of `$icon` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 471:8 [info] security.unescaped_output - echo of `$template_part_contents` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 479:3 [info] security.unescaped_output - echo of `wp_interactivity_process_directives( ob_get_clean() )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/MiniCartCartButtonBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 12 names Security: not graded 49:12 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/MiniCartCheckoutButtonBlock.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 11 names Security: not graded 37:12 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/MiniCartContents.php (other) CodeLength: not graded 89:21 [warning] length.function - MiniCartContents::enqueue_assets has 62 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 97 code lines NamingConvention: 100 (A), based on 21 names Security: not graded 65:14 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 75:5 [info] security.unescaped_output - echo of `$content` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Blocks/BlockTypes/MiniCartFooterBlock.php (other) CodeLength: not graded 41:21 [warning] length.function - MiniCartFooterBlock::render has 59 lines in its body, above 50 121:19 [warning] length.function - MiniCartFooterBlock::get_totals_item_description has 55 lines in its body, above 50 CyclomaticComplexity: 87 (B), based on 4 functions 121:19 [warning] complexity.function - MiniCartFooterBlock::get_totals_item_description has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 95 code lines NamingConvention: 95 (A), based on 21 names 47:4 [warning] naming.too_long - variable `display_cart_price_including_tax` is 32 characters (limit 30); very long names make code hard to read Security: not graded 74:14 [info] security.unescaped_output - echo of `$wrapper_attributes` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 89:6 [info] security.unescaped_output - echo of `do_blocks( '' )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped` -- the block string is a static literal; `do_blocks()` invokes the registered block's render callback, which is responsible for its own escaping.) woocommerce/src/Internal/StockNotifications/Admin/AdminManager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/ListTable.php (other) CodeLength: not graded 325:18 [error] length.function - ListTable::prepare_items has 101 lines in its body, above 100 525:21 [warning] length.function - ListTable::get_views has 85 lines in its body, above 50 743:19 [warning] length.function - ListTable::process_bulk_action has 82 lines in its body, above 50 18:7 [warning] length.class - ListTable has 808 lines, above 500 for a other 1:1 [warning] length.file - the file has 825 lines, above 600 for a other CyclomaticComplexity: 80 (B), based on 24 functions 325:18 [error] complexity.function - ListTable::prepare_items has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 525:21 [warning] complexity.function - ListTable::get_views has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 743:19 [warning] complexity.function - ListTable::process_bulk_action has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 85 (B), based on 464 code lines 780:1 [warning] duplication.repeated_block - lines 780 to 801 repeat lines 758 to 780 (93 tokens); repeated code has to be fixed in every copy NamingConvention: 99 (A), based on 88 names 664:4 [warning] naming.too_short - variable `m` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Internal/StockNotifications/Admin/MenusController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 67 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/NotificationCreatePage.php (other) CodeLength: not graded 28:18 [warning] length.function - NotificationCreatePage::process_create_form has 97 lines in its body, above 50 CyclomaticComplexity: 71 (C), based on 2 functions 28:18 [warning] complexity.function - NotificationCreatePage::process_create_form has a cyclomatic complexity of 19, moderate risk (above 10): each of its 19 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 80 code lines NamingConvention: 100 (A), based on 11 names Security: not graded 66:45 [info] security.unsanitized_input - read of `$_POST['user_email']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized` -- Sanitized below, after the type check.) woocommerce/src/Internal/StockNotifications/Admin/NotificationEditPage.php (other) CodeLength: not graded 74:18 [warning] length.function - NotificationEditPage::process_edit_form has 76 lines in its body, above 50 CyclomaticComplexity: 78 (C), based on 3 functions 74:18 [warning] complexity.function - NotificationEditPage::process_edit_form has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 70 (C), based on 95 code lines 98:1 [warning] duplication.repeated_block - lines 98 to 108 repeat lines 85 to 95 (73 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/NotificationsPage.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 64 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/SettingsController.php (other) CodeLength: not graded 132:18 [warning] length.function - SettingsController::add_customer_stock_notifications_settings has 72 lines in its body, above 50 CyclomaticComplexity: 94 (A), based on 7 functions 54:18 [warning] complexity.function - SettingsController::add_my_account_endpoint_setting has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 182 code lines NamingConvention: 83 (B), based on 23 names 54:18 [warning] naming.too_long - method `add_my_account_endpoint_setting` is 31 characters (limit 30); very long names make code hard to read 105:18 [warning] naming.too_long - method `add_customer_stock_notifications_section` is 40 characters (limit 30); very long names make code hard to read 132:18 [warning] naming.too_long - method `add_customer_stock_notifications_settings` is 41 characters (limit 30); very long names make code hard to read 238:18 [warning] naming.too_long - method `add_disable_stock_notifications_checkbox` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Admin/Templates/html-admin-notification-create.php (other) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 10:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/Templates/html-admin-notification-edit.php (other) CodeLength: not graded CyclomaticComplexity: 30 (F), based on file level code 10:1 [error] complexity.file_code - file level code has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 97 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/Internal/StockNotifications/Admin/Templates/html-admin-notifications.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 16 code lines NamingConvention: not graded Security: not graded woocommerce/src/Internal/StockNotifications/Admin/Templates/html-product-data-admin.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/Internal/StockNotifications/AsyncTasks/CycleStateService.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 70 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/Internal/StockNotifications/AsyncTasks/JobManager.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 64 code lines NamingConvention: 73 (C), based on 11 names 26:15 [warning] naming.too_long - constant `AS_JOB_SEND_STOCK_NOTIFICATIONS` is 31 characters (limit 30); very long names make code hard to read 63:18 [warning] naming.too_long - method `schedule_initial_job_for_product` is 32 characters (limit 30); very long names make code hard to read 118:18 [warning] naming.too_long - method `schedule_next_batch_for_product` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/AsyncTasks/NotificationsProcessor.php (other) CodeLength: not graded 164:18 [warning] length.function - NotificationsProcessor::process_batch has 93 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 126 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/Internal/StockNotifications/Config.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 80 code lines NamingConvention: 80 (B), based on 15 names 42:18 [warning] naming.too_long - property `verification_expiration_time_threshold` is 38 characters (limit 30); very long names make code hard to read 183:25 [warning] naming.too_long - method `get_unverified_deletion_days_threshold` is 38 characters (limit 30); very long names make code hard to read 197:25 [warning] naming.too_long - method `get_verification_expiration_time_threshold` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/DataRetentionController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 85 (B), based on 13 names 46:18 [warning] naming.too_long - method `schedule_or_unschedule_daily_task` is 33 characters (limit 30); very long names make code hard to read 71:18 [warning] naming.too_long - method `do_wc_customer_stock_notifications_daily` is 40 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/CustomerStockNotificationEmail.php (other) CodeLength: not graded 141:19 [warning] length.function - CustomerStockNotificationEmail::get_additional_template_args has 52 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 70 (C), based on 155 code lines 110:1 [warning] duplication.repeated_block - lines 110 to 129 repeat lines 87 to 106 (80 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 25 names 248:19 [warning] naming.too_long - method `maybe_setup_notification_locale` is 31 characters (limit 30); very long names make code hard to read 260:19 [warning] naming.too_long - method `maybe_restore_notification_locale` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/CustomerStockNotificationVerifiedEmail.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 70 (C), based on 146 code lines 112:1 [warning] duplication.repeated_block - lines 112 to 131 repeat lines 89 to 108 (80 tokens); repeated code has to be fixed in every copy NamingConvention: 87 (B), based on 23 names 15:7 [warning] naming.too_long - class `CustomerStockNotificationVerifiedEmail` is 38 characters (limit 30); very long names make code hard to read 218:19 [warning] naming.too_long - method `maybe_setup_notification_locale` is 31 characters (limit 30); very long names make code hard to read 230:19 [warning] naming.too_long - method `maybe_restore_notification_locale` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/CustomerStockNotificationVerifyEmail.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions Duplication: 70 (C), based on 158 code lines 114:1 [warning] duplication.repeated_block - lines 114 to 133 repeat lines 91 to 110 (80 tokens); repeated code has to be fixed in every copy NamingConvention: 88 (B), based on 24 names 16:7 [warning] naming.too_long - class `CustomerStockNotificationVerifyEmail` is 36 characters (limit 30); very long names make code hard to read 243:19 [warning] naming.too_long - method `maybe_setup_notification_locale` is 31 characters (limit 30); very long names make code hard to read 255:19 [warning] naming.too_long - method `maybe_restore_notification_locale` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/EmailActionController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 85 (B), based on 95 code lines 203:1 [warning] duplication.repeated_block - lines 203 to 213 repeat lines 165 to 175 (55 tokens); repeated code has to be fixed in every copy NamingConvention: 89 (B), based on 19 names 90:18 [warning] naming.too_long - method `validate_and_maybe_process_request` is 34 characters (limit 30); very long names make code hard to read 235:19 [warning] naming.too_long - method `get_notification_to_be_processed` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/EmailManager.php (other) CodeLength: not graded 138:18 [error] length.function - EmailManager::add_stylesheets has 104 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 108 code lines NamingConvention: 92 (A), based on 24 names 104:18 [warning] naming.too_long - method `maybe_restore_customer_tax_location_data` is 40 characters (limit 30); very long names make code hard to read 250:18 [warning] naming.too_long - method `add_intro_content_to_preview_settings` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Emails/EmailTemplatesController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 67 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/Internal/StockNotifications/Enums/NotificationCancellationSource.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Internal/StockNotifications/Enums/NotificationStatus.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Internal/StockNotifications/Factory.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/FormHandlerService.php (other) CodeLength: not graded CyclomaticComplexity: 79 (C), based on 4 functions 50:18 [warning] complexity.function - FormHandlerService::handle_signup has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 53 code lines NamingConvention: 91 (A), based on 11 names 70:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 70:42 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended`) woocommerce/src/Internal/StockNotifications/Frontend/MyAccountEndpoint.php (other) CodeLength: not graded 297:18 [warning] length.function - MyAccountEndpoint::render_endpoint has 51 lines in its body, above 50 385:18 [warning] length.function - MyAccountEndpoint::get_current_user_notifications_page has 53 lines in its body, above 50 454:18 [warning] length.function - MyAccountEndpoint::maybe_handle_action has 53 lines in its body, above 50 22:7 [warning] length.class - MyAccountEndpoint has 559 lines, above 500 for a other CyclomaticComplexity: 95 (A), based on 20 functions 454:18 [warning] complexity.function - MyAccountEndpoint::maybe_handle_action has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 250 code lines NamingConvention: 93 (A), based on 61 names 148:41 [warning] naming.too_long - property `notification_management_service` is 31 characters (limit 30); very long names make code hard to read 176:61 [warning] naming.too_long - parameter `notification_management_service` is 31 characters (limit 30); very long names make code hard to read 357:18 [warning] naming.too_long - method `get_current_user_pending_notifications` is 38 characters (limit 30); very long names make code hard to read 385:18 [warning] naming.too_long - method `get_current_user_notifications_page` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/MyAccountView.php (other) CodeLength: not graded CyclomaticComplexity: 79 (C), based on 2 functions 59:19 [warning] complexity.function - MyAccountView::get_rows has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/NotificationManagementService.php (other) CodeLength: not graded 89:18 [warning] length.function - NotificationManagementService::maybe_process_resend_request has 63 lines in its body, above 50 CyclomaticComplexity: 81 (B), based on 5 functions 89:18 [warning] complexity.function - NotificationManagementService::maybe_process_resend_request has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 84 code lines NamingConvention: 96 (A), based on 24 names 75:18 [warning] naming.too_long - method `get_resend_verification_email_url` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/ProductPageIntegration.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 112 code lines NamingConvention: 96 (A), based on 23 names 125:19 [warning] naming.too_long - method `is_rendering_inside_add_to_cart_with_options` is 44 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/SignupRateLimiter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 87 code lines NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/SignupResult.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Internal/StockNotifications/Frontend/SignupService.php (other) CodeLength: not graded 114:18 [error] length.function - SignupService::signup has 116 lines in its body, above 100 506:18 [warning] length.function - SignupService::get_signup_user_message has 56 lines in its body, above 50 21:7 [warning] length.class - SignupService has 542 lines, above 500 for a other CyclomaticComplexity: 74 (C), based on 10 functions 114:18 [error] complexity.function - SignupService::signup has a cyclomatic complexity of 23, high risk (above 10): each of its 23 paths needs its own test, which makes it hard to follow and to change safely 506:18 [warning] complexity.function - SignupService::get_signup_user_message has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 300 code lines NamingConvention: 92 (A), based on 65 names 25:15 [warning] naming.too_long - constant `SIGNUP_ALREADY_JOINED_DOUBLE_OPT_IN` is 35 characters (limit 30); very long names make code hard to read 45:15 [warning] naming.too_long - constant `SIGNUP_SUCCESS_ACCOUNT_CREATED_DOUBLE_OPT_IN` is 44 characters (limit 30); very long names make code hard to read 65:41 [warning] naming.too_long - property `notification_management_service` is 31 characters (limit 30); very long names make code hard to read 92:34 [warning] naming.too_long - parameter `notification_management_service` is 31 characters (limit 30); very long names make code hard to read 360:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/StockNotifications/Notification.php (other) CodeLength: not graded 19:7 [warning] length.class - Notification has 515 lines, above 500 for a other CyclomaticComplexity: 100 (A), based on 33 functions and file level code Duplication: 100 (A), based on 229 code lines NamingConvention: 98 (A), based on 62 names 389:18 [warning] naming.too_long - method `get_product_formatted_variation_list` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/NotificationQuery.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 93 (A), based on 15 names 78:25 [warning] naming.too_long - method `product_has_active_notifications` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Privacy/PrivacyEraser.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/Internal/StockNotifications/StockNotifications.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 80 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/Internal/StockNotifications/StockSyncController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 90 code lines NamingConvention: 95 (A), based on 19 names 84:18 [warning] naming.too_long - method `handle_product_stock_status_change` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/StockNotifications/Telemetry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 37 code lines NamingConvention: 89 (B), based on 9 names 38:49 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/StockNotifications/Utilities/EligibilityService.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 72 code lines NamingConvention: 100 (A), based on 25 names Security: not graded woocommerce/src/Internal/StockNotifications/Utilities/EmailNormalizer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Internal/StockNotifications/Utilities/StockManagementHelper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 9 names Security: not graded 50:46 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$query_in`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `@codingStandardsIgnoreLine`) woocommerce/src/Internal/StockNotifications/Utilities/UtmHelper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Internal/Tax/TaxRateDataStore.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 23 code lines NamingConvention: 100 (A), based on 10 names Security: not graded 34:19 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$list`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/Internal/TermCount.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 52 code lines NamingConvention: 89 (B), based on 18 names 94:18 [warning] naming.too_long - method `handle_deleted_term_relationships` is 33 characters (limit 30); very long names make code hard to read 118:19 [warning] naming.too_long - method `get_count_affecting_visibility_term_taxonomy_ids` is 48 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Traits/AccessiblePrivateMethods.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 63 code lines NamingConvention: 82 (B), based on 17 names 20:18 [warning] naming.too_long - property `_accessible_static_private_methods` is 34 characters (limit 30); very long names make code hard to read 32:28 [warning] naming.too_long - method `process_callback_before_hooking` is 31 characters (limit 30); very long names make code hard to read 54:28 [warning] naming.too_long - method `mark_static_method_as_accessible` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Traits/OrderAttributionMeta.php (other) CodeLength: not graded 276:19 [warning] length.function - OrderAttributionMeta::get_origin_label has 95 lines in its body, above 50 CyclomaticComplexity: 88 (B), based on 12 functions 276:19 [warning] complexity.function - OrderAttributionMeta::get_origin_label has a cyclomatic complexity of 17, moderate risk (above 10): each of its 17 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 174 code lines NamingConvention: 100 (A), based on 34 names Security: not graded woocommerce/src/Internal/Traits/RestApiCache.php (other) CodeLength: not graded 788:19 [warning] length.function - RestApiCache::get_headers_to_cache has 87 lines in its body, above 50 1093:19 [warning] length.function - RestApiCache::generate_files_hash has 59 lines in its body, above 50 1337:19 [error] length.function - RestApiCache::get_cached_response has 115 lines in its body, above 100 1472:19 [warning] length.function - RestApiCache::store_cached_response has 58 lines in its body, above 50 124:7 [error] length.class - RestApiCache has 1425 lines, above 1000 for a other 1:1 [error] length.file - the file has 1548 lines, above 1200 for a other CyclomaticComplexity: 88 (B), based on 35 functions 330:19 [warning] complexity.function - RestApiCache::build_cache_config has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely 1337:19 [error] complexity.function - RestApiCache::get_cached_response has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely 1472:19 [warning] complexity.function - RestApiCache::store_cached_response has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 644 code lines 454:1 [warning] duplication.repeated_block - lines 454 to 458 repeat lines 401 to 406 (53 tokens); repeated code has to be fixed in every copy NamingConvention: 91 (A), based on 155 names 182:16 [warning] naming.too_long - property `rest_api_caching_feature_enabled` is 32 characters (limit 30); very long names make code hard to read 390:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 522:21 [warning] naming.too_long - method `get_default_response_entity_type` is 32 characters (limit 30); very long names make code hard to read 623:21 [warning] naming.too_long - method `get_files_relevant_to_response_caching` is 38 characters (limit 30); very long names make code hard to read 647:21 [warning] naming.too_long - method `get_version_strings_relevant_to_caching` is 39 characters (limit 30); very long names make code hard to read 662:21 [warning] naming.too_long - method `get_allowed_directories_for_file_based_response_caching` is 55 characters (limit 30); very long names make code hard to read 679:21 [warning] naming.too_long - method `get_file_check_interval_for_response_caching` is 44 characters (limit 30); very long names make code hard to read 701:21 [warning] naming.too_long - method `get_response_headers_to_include_in_caching` is 42 characters (limit 30); very long names make code hard to read 724:21 [warning] naming.too_long - method `get_response_headers_to_exclude_from_caching` is 44 characters (limit 30); very long names make code hard to read 745:21 [warning] naming.too_long - method `extract_entity_ids_from_response` is 32 characters (limit 30); very long names make code hard to read 843:4 [warning] naming.too_long - variable `filtered_header_names_lowercase` is 31 characters (limit 30); very long names make code hard to read 887:21 [warning] naming.too_long - method `get_key_info_for_cached_response` is 32 characters (limit 30); very long names make code hard to read 1052:19 [warning] naming.too_long - method `get_filtered_allowed_directories_for_response_caching` is 53 characters (limit 30); very long names make code hard to read 1540:18 [warning] naming.too_long - method `handle_rest_send_nocache_headers` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Traits/ScriptDebug.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/Internal/TransientFiles/TransientFilesEngine.php (other) CodeLength: not graded 304:18 [warning] length.function - TransientFilesEngine::delete_expired_files has 62 lines in its body, above 50 549:19 [warning] length.function - TransientFilesEngine::serve_file_contents has 56 lines in its body, above 50 36:7 [warning] length.class - TransientFilesEngine has 570 lines, above 500 for a other 1:1 [warning] length.file - the file has 605 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 21 functions Duplication: 100 (A), based on 284 code lines NamingConvention: 91 (A), based on 65 names 45:16 [warning] naming.too_long - constant `EXPIRATION_DATE_DIRECTORY_REGEX` is 31 characters (limit 30); very long names make code hard to read 95:4 [warning] naming.too_long - variable `default_transient_files_directory` is 33 characters (limit 30); very long names make code hard to read 110:4 [warning] naming.too_long - variable `resolved_transient_files_directory` is 34 characters (limit 30); very long names make code hard to read 372:18 [warning] naming.too_long - method `expired_files_cleanup_is_scheduled` is 34 characters (limit 30); very long names make code hard to read 388:18 [warning] naming.too_long - method `unschedule_expired_files_cleanup` is 32 characters (limit 30); very long names make code hard to read 409:18 [warning] naming.too_long - method `handle_expired_files_cleanup_action` is 35 characters (limit 30); very long names make code hard to read Security: not graded 526:28 [info] security.unsanitized_input - read of `$_GET['wc-transient-file-name']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security`) 585:5 [info] security.unescaped_output - echo of `fread( $file_handle, 1024 )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Internal/Utilities/ArrayUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 68 code lines NamingConvention: 80 (B), based on 20 names 22:47 [warning] naming.generic - parameter `arr` is a generic name; it says nothing about what it holds 33:28 [warning] naming.too_short - variable `v` is 1 character (at least 2); a one letter name hides its meaning 86:16 [warning] naming.too_short - parameter `a` is 1 character (at least 2); a one letter name hides its meaning 86:20 [warning] naming.too_short - parameter `b` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/src/Internal/Utilities/BlocksUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 50 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/Internal/Utilities/COTMigrationUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 89 code lines NamingConvention: 89 (B), based on 27 names 67:19 [warning] naming.too_long - method `custom_orders_table_usage_is_enabled` is 36 characters (limit 30); very long names make code hard to read 95:18 [warning] naming.too_long - method `custom_orders_table_data_sync_is_enabled` is 40 characters (limit 30); very long names make code hard to read 110:70 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/Utilities/DatabaseUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 19 functions Duplication: 100 (A), based on 206 code lines NamingConvention: 87 (B), based on 63 names 211:18 [warning] naming.too_long - method `generate_on_duplicate_statement_clause` is 38 characters (limit 30); very long names make code hard to read 235:64 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 356:18 [warning] naming.too_long - method `create_fts_index_order_address_table` is 36 characters (limit 30); very long names make code hard to read 370:18 [warning] naming.too_long - method `drop_fts_index_order_address_table` is 34 characters (limit 30); very long names make code hard to read 386:18 [warning] naming.too_long - method `sanitise_boolean_fts_search_term` is 32 characters (limit 30); very long names make code hard to read 410:18 [warning] naming.too_long - method `fts_index_on_order_address_table_exists` is 39 characters (limit 30); very long names make code hard to read 422:18 [warning] naming.too_long - method `create_fts_index_order_item_table` is 33 characters (limit 30); very long names make code hard to read 434:18 [warning] naming.too_long - method `fts_index_on_order_item_table_exists` is 36 characters (limit 30); very long names make code hard to read Security: not graded 78:17 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 96:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL`) 115:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL`) 134:41 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) 259:17 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$table_name`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- Values are escaped in $wpdb->prepare.) 311:19 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$primary_key_column`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare` -- $primary_key_column and $table_name are hardcoded. $conditions is being prepared.) 360:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$address_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $address_table is hardcoded.) 374:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$address_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $address_table is hardcoded.) 414:26 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$address_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $address_table is hardcoded.) 426:10 [info] security.sql_interpolated - query `$wpdb->query` builds its SQL from `$order_item_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $order_item_table is hardcoded.) 438:26 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `$order_item_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- $order_item_table is hardcoded.) woocommerce/src/Internal/Utilities/FilesystemUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 150 code lines NamingConvention: 95 (A), based on 39 names 123:25 [warning] naming.too_long - method `get_wp_filesystem_method_or_direct` is 34 characters (limit 30); very long names make code hard to read 152:25 [warning] naming.too_long - method `get_content_directory_relative_path` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Utilities/HtmlSanitizer.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 49 code lines NamingConvention: 92 (A), based on 12 names 12:15 [warning] naming.too_long - constant `LOW_HTML_BALANCED_TAGS_NO_LINKS` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Utilities/LegacyRestApiStub.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 80 code lines NamingConvention: 86 (B), based on 14 names 55:25 [warning] naming.too_long - method `add_rewrite_rules_for_legacy_rest_api_stub` is 42 characters (limit 30); very long names make code hard to read 70:25 [warning] naming.too_long - method `add_query_vars_for_legacy_rest_api_stub` is 39 characters (limit 30); very long names make code hard to read Security: not graded 100:40 [info] security.unsanitized_input - read of `$_GET['wc-api-version']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput`) 104:38 [info] security.unsanitized_input - read of `$_GET['wc-api-route']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput`) woocommerce/src/Internal/Utilities/OrderItemMetaUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions and file level code Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Internal/Utilities/PluginInstaller.php (other) CodeLength: not graded 106:19 [warning] length.function - PluginInstaller::install_plugin_core has 92 lines in its body, above 50 226:18 [warning] length.function - PluginInstaller::handle_plugin_list_rows has 54 lines in its body, above 50 CyclomaticComplexity: 75 (C), based on 6 functions 106:19 [warning] complexity.function - PluginInstaller::install_plugin_core has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 226:18 [warning] complexity.function - PluginInstaller::handle_plugin_list_rows has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 291:18 [warning] complexity.function - PluginInstaller::handle_upgrader_process_complete has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 166 code lines NamingConvention: 93 (A), based on 41 names 205:26 [warning] naming.too_long - method `woocommerce_is_active_in_current_site` is 37 characters (limit 30); very long names make code hard to read 291:18 [warning] naming.too_long - method `handle_upgrader_process_complete` is 32 characters (limit 30); very long names make code hard to read 308:4 [warning] naming.too_long - variable `updated_auto_installed_plugin_names` is 35 characters (limit 30); very long names make code hard to read Security: not graded 268:44 [info] security.unescaped_output - echo of `$is_active_class` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 268:90 [info] security.unescaped_output - echo of `$plugin_file` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 269:23 [info] security.unescaped_output - echo of `$columns_count` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 269:75 [info] security.unescaped_output - echo of `$is_active_td_style` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) 272:20 [info] security.unescaped_output - echo of `$message` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/src/Internal/Utilities/PostcodeValidation.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 92 (A), based on 13 names 34:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/Utilities/PriceSeparators.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 12 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/Internal/Utilities/ProductUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 92 code lines NamingConvention: 83 (B), based on 29 names 35:18 [warning] naming.too_long - method `delete_product_transients_for_products` is 38 characters (limit 30); very long names make code hard to read 78:18 [warning] naming.too_long - method `delete_product_specific_transients` is 34 characters (limit 30); very long names make code hard to read 89:18 [warning] naming.too_long - method `delete_product_specific_transients_for_products` is 47 characters (limit 30); very long names make code hard to read 114:4 [warning] naming.too_long - variable `product_specific_transient_names` is 32 characters (limit 30); very long names make code hard to read 156:18 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/Utilities/Types.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 26 code lines NamingConvention: 86 (B), based on 7 names 33:46 [warning] naming.generic - parameter `thing` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/Utilities/URL.php (other) CodeLength: not graded 141:19 [warning] length.function - URL::process_path has 61 lines in its body, above 50 254:18 [warning] length.function - URL::get_parent_url has 65 lines in its body, above 50 CyclomaticComplexity: 70 (C), based on 10 functions 141:19 [error] complexity.function - URL::process_path has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 254:18 [warning] complexity.function - URL::get_parent_url has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 329:18 [warning] complexity.function - URL::get_url has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 157 code lines NamingConvention: 100 (A), based on 44 names Security: not graded woocommerce/src/Internal/Utilities/URLException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/Internal/Utilities/Users.php (other) CodeLength: not graded 81:25 [warning] length.function - Users::should_user_verify_order_email has 72 lines in its body, above 50 CyclomaticComplexity: 83 (B), based on 6 functions 81:25 [warning] complexity.function - Users::should_user_verify_order_email has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 77 code lines NamingConvention: 100 (A), based on 33 names Security: not graded woocommerce/src/Internal/Utilities/WebhookUtil.php (other) CodeLength: not graded 55:18 [warning] length.function - WebhookUtil::maybe_render_user_with_webhooks_warning has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 72 code lines NamingConvention: 85 (B), based on 20 names 35:18 [warning] naming.too_long - method `reassign_webhooks_to_new_user_id` is 32 characters (limit 30); very long names make code hard to read 55:18 [warning] naming.too_long - method `maybe_render_user_with_webhooks_warning` is 39 characters (limit 30); very long names make code hard to read 58:4 [warning] naming.too_long - variable `at_least_one_user_with_webhooks` is 31 characters (limit 30); very long names make code hard to read Security: not graded 99:16 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( ',', $userids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WooCommerce.Commenting.CommentHooks, WordPress.DB.PreparedSQL.NotPrepared`) 101:22 [info] security.sql_interpolated - query `$wpdb->get_var` builds its SQL from `implode( ',', $userids )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WooCommerce.Commenting.CommentHooks, WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/src/Internal/VariationGallery/ClassicVariationGalleryAdmin.php (other) CodeLength: not graded 45:18 [warning] length.function - ClassicVariationGalleryAdmin::enqueue_assets has 52 lines in its body, above 50 106:18 [warning] length.function - ClassicVariationGalleryAdmin::render_variation_gallery_field has 72 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions and file level code Duplication: 100 (A), based on 183 code lines NamingConvention: 97 (A), based on 33 names 190:18 [warning] naming.too_long - method `persist_variation_gallery_field` is 31 characters (limit 30); very long names make code hard to read Security: not graded 196:48 [info] security.unsanitized_input - read of `$_POST['variable_gallery_image_ids']` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Missing`) woocommerce/src/Internal/VariationGallery/LegacyVariationGalleryCompatibility.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 40 code lines NamingConvention: 77 (C), based on 13 names 15:7 [warning] naming.too_long - class `LegacyVariationGalleryCompatibility` is 35 characters (limit 30); very long names make code hard to read 25:16 [warning] naming.too_long - constant `LEGACY_FALLBACK_DISABLED_META_KEY` is 33 characters (limit 30); very long names make code hard to read 91:18 [warning] naming.too_long - method `maybe_read_legacy_gallery_image_ids` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/VariationGallery/Migration.php (other) CodeLength: not graded 32:25 [warning] length.function - Migration::run has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Internal/VariationGallery/Package.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions and file level code Duplication: 100 (A), based on 54 code lines NamingConvention: 93 (A), based on 15 names 121:26 [warning] naming.too_long - method `has_pending_or_running_migration` is 32 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Internal/VariationGallery/Telemetry.php (other) CodeLength: not graded 51:25 [warning] length.function - Telemetry::collect_snapshot has 66 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions and file level code Duplication: 100 (A), based on 80 code lines NamingConvention: 92 (A), based on 26 names 22:15 [warning] naming.too_long - constant `EVENT_INHERITED_IMAGE_CLEANUP_COMPLETED` is 39 characters (limit 30); very long names make code hard to read 41:55 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/Internal/WCCom/ConnectionHelper.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function and file level code Duplication: 100 (A), based on 11 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/LayoutTemplates/LayoutTemplateRegistry.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/Packages.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 14 functions and file level code Duplication: 100 (A), based on 181 code lines NamingConvention: 95 (A), based on 39 names 262:25 [warning] naming.too_long - method `mark_merged_plugins_as_pending_update` is 37 characters (limit 30); very long names make code hard to read 281:25 [warning] naming.too_long - method `display_notice_for_merged_plugins` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Proxies/ActionsProxy.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/Proxies/LegacyProxy.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 93 (A), based on 15 names 71:19 [warning] naming.too_long - method `get_instance_of_wc_queue_interface` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Authentication.php (other) CodeLength: not graded CyclomaticComplexity: 95 (A), based on 17 functions 346:28 [warning] complexity.function - Authentication::get_ip_address has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 197 code lines NamingConvention: 95 (A), based on 39 names 50:18 [warning] naming.too_long - method `maybe_use_store_api_session_handler` is 35 characters (limit 30); very long names make code hard to read 124:21 [warning] naming.too_long - method `has_store_api_route_as_get_parameter` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Exceptions/InvalidCartException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Exceptions/InvalidStockLevelsInCartException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 90 (A), based on 10 names 11:7 [warning] naming.too_long - class `InvalidStockLevelsInCartException` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Exceptions/NotPurchasableException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Exceptions/OutOfStockException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Exceptions/PartialOutOfStockException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Exceptions/RouteException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Exceptions/StockAvailabilityException.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 21 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Exceptions/TooManyInCartException.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Formatters.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/StoreApi/Formatters/CurrencyFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Formatters/DefaultFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 6 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/StoreApi/Formatters/FormatterInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 4 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/StoreApi/Formatters/HtmlFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 9 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/StoreApi/Formatters/MoneyFormatter.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/StoreApi/Legacy.php (other) CodeLength: not graded 29:18 [warning] length.function - Legacy::process_legacy_payment has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 35 code lines NamingConvention: 100 (A), based on 10 names Security: not graded 35:16 [info] security.unsanitized_input - read of `$_POST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification`) woocommerce/src/StoreApi/Payments/PaymentContext.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 31 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/StoreApi/Payments/PaymentResult.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 36 code lines NamingConvention: 100 (A), based on 16 names Security: not graded woocommerce/src/StoreApi/Routes/RouteInterface.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/StoreApi/Routes/V1/AI/Middleware.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Routes/V1/AI/Products.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Routes/V1/AbstractCartRoute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 162 code lines NamingConvention: 97 (A), based on 32 names 114:21 [warning] naming.too_long - method `get_cart_session_error_response` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Routes/V1/AbstractRoute.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 18 functions Duplication: 85 (B), based on 132 code lines 182:1 [warning] duplication.repeated_block - lines 182 to 208 repeat lines 156 to 182 (66 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 48 names 150:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 234:21 [warning] naming.too_long - method `get_route_error_response_from_object` is 36 characters (limit 30); very long names make code hard to read 302:21 [warning] naming.too_long - method `prepare_response_for_collection` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Routes/V1/AbstractTermsRoute.php (other) CodeLength: not graded 23:18 [warning] length.function - AbstractTermsRoute::get_collection_params has 84 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 70 (C), based on 114 code lines 63:1 [warning] duplication.repeated_block - lines 63 to 72 repeat lines 53 to 62 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 20 names 140:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/Batch.php (other) CodeLength: not graded 50:18 [warning] length.function - Batch::get_args has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 82 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/StoreApi/Routes/V1/Cart.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartAddItem.php (other) CodeLength: not graded 95:21 [warning] length.function - CartAddItem::get_route_post_response has 55 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 83 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartApplyCoupon.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 39 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartCoupons.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 78 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartCouponsByCode.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 70 (C), based on 50 code lines 85:1 [warning] duplication.repeated_block - lines 85 to 98 repeat lines 70 to 83 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartExtensions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 39 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartItems.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 77 code lines NamingConvention: 95 (A), based on 19 names 85:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/CartItemsByKey.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 79 code lines NamingConvention: 94 (A), based on 17 names 93:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/CartRemoveCoupon.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartRemoveItem.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartSelectShippingRate.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 58 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartUpdateCustomer.php (other) CodeLength: not graded 130:21 [warning] length.function - CartUpdateCustomer::get_route_post_response has 90 lines in its body, above 50 CyclomaticComplexity: 69 (D), based on 7 functions 130:21 [error] complexity.function - CartUpdateCustomer::get_route_post_response has a cyclomatic complexity of 29, high risk (above 10): each of its 29 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 174 code lines 59:1 [warning] duplication.repeated_block - lines 59 to 64 repeat lines 52 to 57 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 27 names Security: not graded woocommerce/src/StoreApi/Routes/V1/CartUpdateItem.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 11 names Security: not graded woocommerce/src/StoreApi/Routes/V1/Checkout.php (other) CodeLength: not graded 75:18 [warning] length.function - Checkout::get_args has 72 lines in its body, above 50 243:18 [error] length.function - Checkout::validate_callback has 120 lines in its body, above 100 386:21 [warning] length.function - Checkout::get_route_update_response has 77 lines in its body, above 50 544:19 [error] length.function - Checkout::process_order has 182 lines in its body, above 100 790:19 [warning] length.function - Checkout::create_or_update_draft_order has 79 lines in its body, above 50 898:19 [warning] length.function - Checkout::update_customer_from_request has 60 lines in its body, above 50 15:7 [error] length.class - Checkout has 1138 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1152 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 23 functions 155:18 [warning] complexity.function - Checkout::get_response has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 243:18 [error] complexity.function - Checkout::validate_callback has a cyclomatic complexity of 21, high risk (above 10): each of its 21 paths needs its own test, which makes it hard to follow and to change safely 898:19 [warning] complexity.function - Checkout::update_customer_from_request has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 612 code lines 900:1 [warning] duplication.repeated_block - lines 900 to 915 repeat lines 244 to 259 (96 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 77 names 756:21 [warning] naming.too_long - method `get_route_error_response_from_object` is 36 characters (limit 30); very long names make code hard to read 773:54 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/CheckoutOrder.php (other) CodeLength: not graded 108:21 [warning] length.function - CheckoutOrder::get_route_post_response has 73 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 125 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/StoreApi/Routes/V1/Order.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 34 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/StoreApi/Routes/V1/Patterns.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 60 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductAttributeTerms.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 93 (A), based on 15 names 109:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductAttributes.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 33 code lines NamingConvention: 92 (A), based on 13 names 70:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductAttributesById.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 91 (A), based on 11 names 86:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductBrands.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductBrandsById.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 51 code lines NamingConvention: 90 (A), based on 10 names 96:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductCategories.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 26 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductCategoriesById.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 90 (A), based on 10 names 86:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductCollectionData.php (other) CodeLength: not graded 78:21 [error] length.function - ProductCollectionData::get_route_response has 149 lines in its body, above 100 233:18 [warning] length.function - ProductCollectionData::get_collection_params has 59 lines in its body, above 50 CyclomaticComplexity: 54 (F), based on 5 functions 78:21 [error] complexity.function - ProductCollectionData::get_route_response has a cyclomatic complexity of 22, high risk (above 10): each of its 22 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 187 code lines NamingConvention: 96 (A), based on 25 names 79:4 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductReviews.php (other) CodeLength: not graded 68:21 [warning] length.function - ProductReviews::get_route_response has 92 lines in its body, above 50 263:18 [warning] length.function - ProductReviews::get_collection_params has 69 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 217 code lines NamingConvention: 89 (B), based on 38 names 119:4 [warning] naming.too_long - variable `exclude_password_protected_reviews` is 34 characters (limit 30); very long names make code hard to read 151:5 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 171:19 [warning] naming.too_long - method `exclude_password_protected_product_reviews` is 42 characters (limit 30); very long names make code hard to read 196:19 [warning] naming.too_long - method `get_unlocked_password_protected_product_ids` is 43 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductTags.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Routes/V1/Products.php (other) CodeLength: not graded 107:18 [error] length.function - Products::get_collection_params has 343 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 70 (C), based on 352 code lines 183:1 [warning] duplication.repeated_block - lines 183 to 192 repeat lines 173 to 182 (51 tokens); repeated code has to be fixed in every copy 228:1 [warning] duplication.repeated_block - lines 228 to 237 repeat lines 173 to 182 (51 tokens); repeated code has to be fixed in every copy 293:1 [warning] duplication.repeated_block - lines 293 to 299 repeat lines 277 to 283 (59 tokens); repeated code has to be fixed in every copy 317:1 [warning] duplication.repeated_block - lines 317 to 323 repeat lines 277 to 283 (59 tokens); repeated code has to be fixed in every copy 335:1 [warning] duplication.repeated_block - lines 335 to 343 repeat lines 277 to 285 (62 tokens); repeated code has to be fixed in every copy NamingConvention: 95 (A), based on 19 names 84:6 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded 302:13 [info] security.unsanitized_input - read of `$_REQUEST` with no sanitizer around it; sanitize request input where you read it (suppressed by `phpcs:ignore WordPress.Security.NonceVerification.Recommended`) woocommerce/src/StoreApi/Routes/V1/ProductsById.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 43 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ProductsBySlug.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 65 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ShopperListItems.php (other) CodeLength: not graded 57:18 [warning] length.function - ShopperListItems::get_args has 63 lines in its body, above 50 CyclomaticComplexity: 92 (A), based on 7 functions 198:19 [warning] complexity.function - ShopperListItems::resolve_item_payload has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 40 (F), based on 148 code lines 72:1 [warning] duplication.repeated_block - lines 72 to 82 repeat lines 62 to 72 (51 tokens); repeated code has to be fixed in every copy 146:1 [warning] duplication.repeated_block - lines 146 to 165 repeat lines 118 to 136 (60 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 24 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ShopperListItemsByKey.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 45 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ShopperLists.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 33 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ShopperListsBySlug.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 39 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Routes/V1/ShopperListsNonceCheck.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/RoutesController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 0 (F), based on 96 code lines 47:1 [warning] duplication.repeated_block - lines 47 to 50 repeat lines 43 to 46 (64 tokens); repeated code has to be fixed in every copy 51:1 [warning] duplication.repeated_block - lines 51 to 58 repeat lines 43 to 50 (128 tokens); repeated code has to be fixed in every copy 59:1 [warning] duplication.repeated_block - lines 59 to 72 repeat lines 43 to 56 (224 tokens); repeated code has to be fixed in every copy 78:1 [warning] duplication.repeated_block - lines 78 to 83 repeat lines 42 to 46 (67 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/src/StoreApi/SchemaController.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 0 (F), based on 47 code lines 38:1 [warning] duplication.repeated_block - lines 38 to 41 repeat lines 34 to 37 (64 tokens); repeated code has to be fixed in every copy 42:1 [warning] duplication.repeated_block - lines 42 to 49 repeat lines 34 to 41 (128 tokens); repeated code has to be fixed in every copy 50:1 [warning] duplication.repeated_block - lines 50 to 61 repeat lines 34 to 45 (192 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Schemas/ExtendSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 170 code lines 243:1 [warning] duplication.repeated_block - lines 243 to 259 repeat lines 209 to 225 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 32 names 229:7 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Schemas/V1/AI/ProductsSchema.php (other) CodeLength: not graded CyclomaticComplexity: not graded Duplication: 100 (A), based on 2 code lines NamingConvention: 100 (A), based on 1 name Security: not graded woocommerce/src/StoreApi/Schemas/V1/AbstractAddressSchema.php (other) CodeLength: not graded 43:18 [warning] length.function - AbstractAddressSchema::get_properties has 67 lines in its body, above 50 170:18 [error] length.function - AbstractAddressSchema::validate_callback has 124 lines in its body, above 100 CyclomaticComplexity: 67 (D), based on 5 functions 170:18 [error] complexity.function - AbstractAddressSchema::validate_callback has a cyclomatic complexity of 28, high risk (above 10): each of its 28 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 220 code lines NamingConvention: 96 (A), based on 26 names 300:21 [warning] naming.too_long - method `get_additional_address_fields_schema` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Schemas/V1/AbstractSchema.php (other) CodeLength: not graded CyclomaticComplexity: 94 (A), based on 17 functions 160:21 [warning] complexity.function - AbstractSchema::get_recursive_validate_callback has a cyclomatic complexity of 13, moderate risk (above 10): each of its 13 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 213 code lines 368:1 [warning] duplication.repeated_block - lines 368 to 373 repeat lines 362 to 367 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 51 names 140:21 [warning] naming.too_long - method `get_recursive_schema_property_defaults` is 38 characters (limit 30); very long names make code hard to read 160:21 [warning] naming.too_long - method `get_recursive_validate_callback` is 31 characters (limit 30); very long names make code hard to read 212:21 [warning] naming.too_long - method `get_recursive_sanitize_callback` is 31 characters (limit 30); very long names make code hard to read 298:18 [warning] naming.too_long - method `get_endpoint_args_for_item_schema` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Schemas/V1/BatchSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 8 code lines NamingConvention: 100 (A), based on 4 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/BillingAddressSchema.php (other) CodeLength: not graded 94:18 [warning] length.function - BillingAddressSchema::get_item_response has 61 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 91 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartCouponSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 68 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartExtensionsSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 37 code lines NamingConvention: 100 (A), based on 12 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartFeeSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 56 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartItemSchema.php (other) CodeLength: not graded 33:18 [warning] length.function - CartItemSchema::get_item_response has 53 lines in its body, above 50 95:21 [warning] length.function - CartItemSchema::get_cart_images has 54 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 91 code lines NamingConvention: 95 (A), based on 22 names 176:28 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartSchema.php (other) CodeLength: not graded 108:18 [error] length.function - CartSchema::get_properties has 221 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 40 (F), based on 326 code lines 96:1 [warning] duplication.repeated_block - lines 96 to 100 repeat lines 92 to 96 (60 tokens); repeated code has to be fixed in every copy 121:1 [warning] duplication.repeated_block - lines 121 to 130 repeat lines 111 to 120 (70 tokens); repeated code has to be fixed in every copy 138:1 [warning] duplication.repeated_block - lines 138 to 144 repeat lines 131 to 137 (55 tokens); repeated code has to be fixed in every copy 145:1 [warning] duplication.repeated_block - lines 145 to 154 repeat lines 111 to 120 (70 tokens); repeated code has to be fixed in every copy 167:1 [warning] duplication.repeated_block - lines 167 to 176 repeat lines 111 to 120 (70 tokens); repeated code has to be fixed in every copy 195:1 [warning] duplication.repeated_block - lines 195 to 204 repeat lines 111 to 120 (70 tokens); repeated code has to be fixed in every copy 273:1 [warning] duplication.repeated_block - lines 273 to 279 repeat lines 111 to 117 (52 tokens); repeated code has to be fixed in every copy 305:1 [warning] duplication.repeated_block - lines 305 to 314 repeat lines 111 to 120 (70 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 35 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CartShippingRateSchema.php (other) CodeLength: not graded 29:18 [warning] length.function - CartShippingRateSchema::get_properties has 99 lines in its body, above 50 134:21 [warning] length.function - CartShippingRateSchema::get_rate_properties has 83 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 270 code lines 117:1 [warning] duplication.repeated_block - lines 117 to 123 repeat lines 88 to 94 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 92 (A), based on 26 names 240:21 [warning] naming.too_long - method `prepare_package_destination_response` is 36 characters (limit 30); very long names make code hard to read 279:21 [warning] naming.too_long - method `prepare_package_shipping_rates_response` is 39 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Schemas/V1/CheckoutOrderSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/CheckoutSchema.php (other) CodeLength: not graded 88:18 [error] length.function - CheckoutSchema::get_properties has 120 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 303 code lines 138:1 [warning] duplication.repeated_block - lines 138 to 145 repeat lines 127 to 134 (76 tokens); repeated code has to be fixed in every copy NamingConvention: 96 (A), based on 50 names 297:21 [warning] naming.too_long - method `prepare_payment_details_for_response` is 36 characters (limit 30); very long names make code hard to read 362:21 [warning] naming.too_long - method `generate_additional_fields_schema` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Schemas/V1/ErrorSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 27 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ImageAttachmentSchema.php (other) CodeLength: not graded 27:18 [warning] length.function - ImageAttachmentSchema::get_properties has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 77 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ItemSchema.php (other) CodeLength: not graded 16:18 [error] length.function - ItemSchema::get_properties has 316 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 70 (C), based on 317 code lines 142:1 [warning] duplication.repeated_block - lines 142 to 148 repeat lines 132 to 138 (52 tokens); repeated code has to be fixed in every copy 171:1 [warning] duplication.repeated_block - lines 171 to 177 repeat lines 132 to 138 (52 tokens); repeated code has to be fixed in every copy 263:1 [warning] duplication.repeated_block - lines 263 to 280 repeat lines 213 to 230 (150 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/OrderCouponSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 57 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/OrderFeeSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 59 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/OrderItemSchema.php (other) CodeLength: not graded 99:19 [warning] length.function - OrderItemSchema::get_item_data has 53 lines in its body, above 50 159:18 [warning] length.function - OrderItemSchema::get_item_response has 80 lines in its body, above 50 CyclomaticComplexity: 89 (B), based on 6 functions 99:19 [warning] complexity.function - OrderItemSchema::get_item_data has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 267:21 [warning] complexity.function - OrderItemSchema::get_variation_data_from_order_item has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 208 code lines NamingConvention: 97 (A), based on 31 names 267:21 [warning] naming.too_long - method `get_variation_data_from_order_item` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Schemas/V1/OrderSchema.php (other) CodeLength: not graded 113:18 [error] length.function - OrderSchema::get_properties has 189 lines in its body, above 100 339:21 [warning] length.function - OrderSchema::get_totals has 53 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 70 (C), based on 289 code lines 101:1 [warning] duplication.repeated_block - lines 101 to 105 repeat lines 97 to 101 (52 tokens); repeated code has to be fixed in every copy 243:1 [warning] duplication.repeated_block - lines 243 to 249 repeat lines 211 to 217 (52 tokens); repeated code has to be fixed in every copy 260:1 [warning] duplication.repeated_block - lines 260 to 266 repeat lines 253 to 259 (55 tokens); repeated code has to be fixed in every copy 279:1 [warning] duplication.repeated_block - lines 279 to 285 repeat lines 211 to 217 (52 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/PatternsSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 13 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductAttributeSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductAttributeTermSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 28 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductBrandSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductCategorySchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 62 code lines NamingConvention: 100 (A), based on 18 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductCollectionDataSchema.php (other) CodeLength: not graded 27:18 [error] length.function - ProductCollectionDataSchema::get_properties has 119 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 0 (F), based on 138 code lines 76:1 [warning] duplication.repeated_block - lines 76 to 83 repeat lines 53 to 60 (60 tokens); repeated code has to be fixed in every copy 84:1 [warning] duplication.repeated_block - lines 84 to 98 repeat lines 61 to 75 (94 tokens); repeated code has to be fixed in every copy 99:1 [warning] duplication.repeated_block - lines 99 to 106 repeat lines 53 to 60 (60 tokens); repeated code has to be fixed in every copy 108:1 [warning] duplication.repeated_block - lines 108 to 121 repeat lines 62 to 75 (81 tokens); repeated code has to be fixed in every copy 122:1 [warning] duplication.repeated_block - lines 122 to 143 repeat lines 53 to 74 (165 tokens); repeated code has to be fixed in every copy NamingConvention: 83 (B), based on 6 names 153:38 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductReviewSchema.php (other) CodeLength: not graded 48:18 [error] length.function - ProductReviewSchema::get_properties has 106 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 130 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ProductSchema.php (other) CodeLength: not graded 55:18 [error] length.function - ProductSchema::get_properties has 534 lines in its body, above 100 596:18 [warning] length.function - ProductSchema::get_item_response has 74 lines in its body, above 50 765:21 [warning] length.function - ProductSchema::get_variations has 94 lines in its body, above 50 17:7 [error] length.class - ProductSchema has 1063 lines, above 1000 for a other 1:1 [warning] length.file - the file has 1079 lines, above 600 for a other CyclomaticComplexity: 100 (A), based on 19 functions Duplication: 40 (F), based on 841 code lines 156:1 [warning] duplication.repeated_block - lines 156 to 161 repeat lines 150 to 155 (52 tokens); repeated code has to be fixed in every copy 195:1 [warning] duplication.repeated_block - lines 195 to 200 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 229:1 [warning] duplication.repeated_block - lines 229 to 234 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 236:1 [warning] duplication.repeated_block - lines 236 to 242 repeat lines 202 to 208 (53 tokens); repeated code has to be fixed in every copy 242:1 [warning] duplication.repeated_block - lines 242 to 248 repeat lines 208 to 214 (53 tokens); repeated code has to be fixed in every copy 248:1 [warning] duplication.repeated_block - lines 248 to 254 repeat lines 214 to 220 (53 tokens); repeated code has to be fixed in every copy 263:1 [warning] duplication.repeated_block - lines 263 to 268 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 270:1 [warning] duplication.repeated_block - lines 270 to 276 repeat lines 202 to 208 (53 tokens); repeated code has to be fixed in every copy 276:1 [warning] duplication.repeated_block - lines 276 to 282 repeat lines 208 to 214 (53 tokens); repeated code has to be fixed in every copy 282:1 [warning] duplication.repeated_block - lines 282 to 288 repeat lines 214 to 220 (53 tokens); repeated code has to be fixed in every copy 297:1 [warning] duplication.repeated_block - lines 297 to 302 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 304:1 [warning] duplication.repeated_block - lines 304 to 310 repeat lines 58 to 64 (53 tokens); repeated code has to be fixed in every copy 328:1 [warning] duplication.repeated_block - lines 328 to 333 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 335:1 [warning] duplication.repeated_block - lines 335 to 341 repeat lines 58 to 64 (53 tokens); repeated code has to be fixed in every copy 341:1 [warning] duplication.repeated_block - lines 341 to 347 repeat lines 208 to 214 (53 tokens); repeated code has to be fixed in every copy 365:1 [warning] duplication.repeated_block - lines 365 to 370 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 370:1 [warning] duplication.repeated_block - lines 370 to 377 repeat lines 302 to 309 (56 tokens); repeated code has to be fixed in every copy 378:1 [warning] duplication.repeated_block - lines 378 to 383 repeat lines 186 to 191 (50 tokens); repeated code has to be fixed in every copy 384:1 [warning] duplication.repeated_block - lines 384 to 390 repeat lines 309 to 315 (55 tokens); repeated code has to be fixed in every copy 530:1 [warning] duplication.repeated_block - lines 530 to 536 repeat lines 438 to 444 (56 tokens); repeated code has to be fixed in every copy NamingConvention: 94 (A), based on 70 names 827:25 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 925:21 [warning] naming.too_long - method `prepare_product_attribute_taxonomy_value` is 40 characters (limit 30); very long names make code hard to read 937:21 [warning] naming.too_long - method `prepare_product_attribute_value` is 31 characters (limit 30); very long names make code hard to read 991:21 [warning] naming.too_long - method `get_price_function_from_tax_display_mode` is 40 characters (limit 30); very long names make code hard to read Security: not graded 800:34 [info] security.sql_interpolated - query `$wpdb->get_results` builds its SQL from `implode( ',', array_map( 'esc_sql', $variation_ids ) )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/src/StoreApi/Schemas/V1/ShippingAddressSchema.php (other) CodeLength: not graded 35:18 [warning] length.function - ShippingAddressSchema::get_item_response has 58 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 13 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ShopperListItemSchema.php (other) CodeLength: not graded 64:18 [error] length.function - ShopperListItemSchema::get_properties has 146 lines in its body, above 100 CyclomaticComplexity: 100 (A), based on 7 functions Duplication: 100 (A), based on 227 code lines 132:1 [warning] duplication.repeated_block - lines 132 to 138 repeat lines 122 to 128 (54 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 26 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/ShopperListSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 73 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/StoreApi/Schemas/V1/TermSchema.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 55 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/src/StoreApi/SessionHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 12 functions and file level code Duplication: 100 (A), based on 87 code lines NamingConvention: 100 (A), based on 19 names Security: not graded 138:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$this->table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) 197:12 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$this->table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) woocommerce/src/StoreApi/StoreApi.php (other) CodeLength: not graded 82:25 [warning] length.function - StoreApi::container has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 99 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Utilities/ArrayUtils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Utilities/CartController.php (other) CodeLength: not graded 99:18 [error] length.function - CartController::add_to_cart has 129 lines in its body, above 100 269:18 [error] length.function - CartController::validate_add_to_cart has 114 lines in its body, above 100 410:19 [warning] length.function - CartController::get_error_message_for_stock_exception_type has 61 lines in its body, above 50 477:18 [warning] length.function - CartController::validate_cart has 66 lines in its body, above 50 684:18 [warning] length.function - CartController::validate_cart_item has 69 lines in its body, above 50 946:18 [error] length.function - CartController::apply_coupon has 114 lines in its body, above 100 1204:21 [warning] length.function - CartController::filter_request_data has 51 lines in its body, above 50 1264:21 [warning] length.function - CartController::parse_variation_data has 90 lines in its body, above 50 1412:21 [warning] length.function - CartController::sanitize_variation_data has 61 lines in its body, above 50 24:7 [error] length.class - CartController has 1474 lines, above 1000 for a other 1:1 [error] length.file - the file has 1497 lines, above 1200 for a other CyclomaticComplexity: 94 (A), based on 39 functions 684:18 [warning] complexity.function - CartController::validate_cart_item has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely 1264:21 [warning] complexity.function - CartController::parse_variation_data has a cyclomatic complexity of 14, moderate risk (above 10): each of its 14 paths needs its own test, which makes it hard to follow and to change safely 1412:21 [warning] complexity.function - CartController::sanitize_variation_data has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 817 code lines NamingConvention: 96 (A), based on 117 names 410:19 [warning] naming.too_long - method `get_error_message_for_stock_exception_type` is 42 characters (limit 30); very long names make code hard to read 1106:21 [warning] naming.too_long - method `get_remaining_stock_for_product` is 31 characters (limit 30); very long names make code hard to read 1178:21 [warning] naming.too_long - method `throw_default_product_exception` is 31 characters (limit 30); very long names make code hard to read 1364:21 [warning] naming.too_long - method `get_variation_id_from_variation_data` is 36 characters (limit 30); very long names make code hard to read 1482:21 [warning] naming.too_long - method `get_variable_product_attributes` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/CartTokenUtils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 10 names Security: not graded woocommerce/src/StoreApi/Utilities/CheckoutTrait.php (other) CodeLength: not graded 183:19 [warning] length.function - CheckoutTrait::update_order_from_request has 77 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 12 functions Duplication: 100 (A), based on 211 code lines NamingConvention: 82 (B), based on 34 names 163:43 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds 268:19 [warning] naming.too_long - method `get_request_payment_method_title` is 32 characters (limit 30); very long names make code hard to read 280:19 [warning] naming.too_long - method `persist_additional_fields_for_order` is 35 characters (limit 30); very long names make code hard to read 306:19 [warning] naming.too_long - method `persist_additional_fields_for_customer` is 38 characters (limit 30); very long names make code hard to read 329:19 [warning] naming.too_long - method `resolve_and_persist_additional_fields` is 37 characters (limit 30); very long names make code hard to read 366:18 [warning] naming.too_long - method `get_document_object_from_rest_request` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/DraftOrderTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 32 code lines NamingConvention: 100 (A), based on 9 names Security: not graded woocommerce/src/StoreApi/Utilities/JsonWebToken.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 92 code lines NamingConvention: 100 (A), based on 20 names Security: not graded woocommerce/src/StoreApi/Utilities/LocalPickupUtils.php (other) CodeLength: not graded 124:25 [warning] length.function - LocalPickupUtils::get_local_pickup_method_locations has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 5 functions Duplication: 100 (A), based on 96 code lines NamingConvention: 89 (B), based on 19 names 77:4 [warning] naming.too_long - variable `all_methods_supporting_local_pickup` is 35 characters (limit 30); very long names make code hard to read 124:25 [warning] naming.too_long - method `get_local_pickup_method_locations` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/NoticeHandler.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 25 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Utilities/OrderAuthorizationTrait.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 90 (A), based on 10 names 65:18 [warning] naming.too_long - method `validate_billing_email_matches_order` is 36 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/OrderController.php (other) CodeLength: not graded 238:21 [warning] length.function - OrderController::validate_coupons has 91 lines in its body, above 50 367:21 [warning] length.function - OrderController::validate_addresses has 83 lines in its body, above 50 469:21 [warning] length.function - OrderController::validate_address_fields has 52 lines in its body, above 50 743:18 [warning] length.function - OrderController::get_failed_order_stock_error has 79 lines in its body, above 50 19:7 [warning] length.class - OrderController has 888 lines, above 500 for a other 1:1 [warning] length.file - the file has 906 lines, above 600 for a other CyclomaticComplexity: 87 (B), based on 25 functions 238:21 [warning] complexity.function - OrderController::validate_coupons has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely 367:21 [warning] complexity.function - OrderController::validate_addresses has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely 469:21 [warning] complexity.function - OrderController::validate_address_fields has a cyclomatic complexity of 18, moderate risk (above 10): each of its 18 paths needs its own test, which makes it hard to follow and to change safely 743:18 [warning] complexity.function - OrderController::get_failed_order_stock_error has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 531 code lines NamingConvention: 94 (A), based on 112 names 166:18 [warning] naming.too_long - method `validate_existing_order_before_payment` is 38 characters (limit 30); very long names make code hard to read 185:18 [warning] naming.too_long - method `validate_existing_order_before_update` is 37 characters (limit 30); very long names make code hard to read 197:21 [warning] naming.too_long - method `perform_custom_order_validation` is 31 characters (limit 30); very long names make code hard to read 375:5 [warning] naming.too_long - variable `selected_shipping_rates_are_all_local_pickup` is 44 characters (limit 30); very long names make code hard to read 529:21 [warning] naming.too_long - method `validate_coupon_email_restriction` is 33 characters (limit 30); very long names make code hard to read 631:21 [warning] naming.too_long - method `validate_coupon_global_usage_limit` is 34 characters (limit 30); very long names make code hard to read 694:18 [warning] naming.too_long - method `validate_selected_shipping_methods` is 34 characters (limit 30); very long names make code hard to read Security: not graded 674:11 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$aliases_string`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared`) woocommerce/src/StoreApi/Utilities/Pagination.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 29 code lines NamingConvention: 100 (A), based on 14 names Security: not graded woocommerce/src/StoreApi/Utilities/PaymentUtils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions Duplication: 100 (A), based on 66 code lines NamingConvention: 94 (A), based on 18 names 22:25 [warning] naming.too_long - method `include_token_id_with_payment_methods` is 37 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/ProductItemTrait.php (other) CodeLength: not graded 41:21 [warning] length.function - ProductItemTrait::format_variation_data has 60 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 41 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/StoreApi/Utilities/ProductLinksTrait.php (other) CodeLength: not graded 21:21 [warning] length.function - ProductLinksTrait::prepare_links has 51 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 1 function Duplication: 40 (F), based on 49 code lines 50:1 [warning] duplication.repeated_block - lines 50 to 59 repeat lines 39 to 48 (51 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/StoreApi/Utilities/ProductQuery.php (other) CodeLength: not graded 28:18 [error] length.function - ProductQuery::prepare_objects_query has 258 lines in its body, above 100 419:18 [warning] length.function - ProductQuery::add_query_clauses has 58 lines in its body, above 50 20:7 [warning] length.class - ProductQuery has 610 lines, above 500 for a other 1:1 [warning] length.file - the file has 629 lines, above 600 for a other CyclomaticComplexity: 45 (F), based on 12 functions 28:18 [error] complexity.function - ProductQuery::prepare_objects_query has a cyclomatic complexity of 54, untestable risk (above 10): each of its 54 paths needs its own test, which makes it hard to follow and to change safely 419:18 [warning] complexity.function - ProductQuery::add_query_clauses has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 383 code lines NamingConvention: 94 (A), based on 78 names 293:18 [warning] naming.too_long - method `convert_tax_query_to_meta_query` is 31 characters (limit 30); very long names make code hard to read 522:21 [warning] naming.too_long - method `get_price_filter_query_for_displayed_taxes` is 42 characters (limit 30); very long names make code hard to read 563:21 [warning] naming.too_long - method `adjust_price_filters_for_displayed_taxes` is 40 characters (limit 30); very long names make code hard to read 589:21 [warning] naming.too_long - method `adjust_price_filter_for_tax_class` is 33 characters (limit 30); very long names make code hard to read 626:21 [warning] naming.too_long - method `append_product_sorting_table_join` is 33 characters (limit 30); very long names make code hard to read Security: not graded 545:17 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `implode( ' OR ', $or_queries )`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.PreparedSQL.NotPrepared`) woocommerce/src/StoreApi/Utilities/ProductQueryFilters.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 6 functions Duplication: 0 (F), based on 125 code lines 67:1 [warning] duplication.repeated_block - lines 67 to 77 repeat lines 29 to 39 (75 tokens); repeated code has to be fixed in every copy 170:1 [warning] duplication.repeated_block - lines 170 to 188 repeat lines 21 to 39 (125 tokens); repeated code has to be fixed in every copy 199:1 [warning] duplication.repeated_block - lines 199 to 218 repeat lines 111 to 130 (74 tokens); repeated code has to be fixed in every copy 221:1 [warning] duplication.repeated_block - lines 221 to 230 repeat lines 138 to 147 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 97 (A), based on 31 names 98:19 [warning] naming.too_long - method `generate_stock_status_count_query` is 33 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/StoreApi/Utilities/QuantityLimits.php (other) CodeLength: not graded 160:18 [warning] length.function - QuantityLimits::validate_cart_item_quantity has 56 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 10 functions Duplication: 100 (A), based on 122 code lines NamingConvention: 100 (A), based on 30 names Security: not graded woocommerce/src/StoreApi/Utilities/RateLimits.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 99 code lines NamingConvention: 100 (A), based on 23 names Security: not graded woocommerce/src/StoreApi/Utilities/SanitizationUtils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/src/StoreApi/Utilities/ValidationUtils.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/StoreApi/deprecated.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 0 (F), based on 63 code lines 20:1 [warning] duplication.repeated_block - lines 20 to 22 repeat lines 16 to 20 (56 tokens); repeated code has to be fixed in every copy 22:1 [warning] duplication.repeated_block - lines 22 to 26 repeat lines 16 to 22 (112 tokens); repeated code has to be fixed in every copy 26:1 [warning] duplication.repeated_block - lines 26 to 34 repeat lines 16 to 26 (224 tokens); repeated code has to be fixed in every copy 34:1 [warning] duplication.repeated_block - lines 34 to 52 repeat lines 16 to 34 (448 tokens); repeated code has to be fixed in every copy 52:1 [warning] duplication.repeated_block - lines 52 to 68 repeat lines 16 to 34 (460 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/src/StoreApi/functions.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 4 functions and file level code Duplication: 100 (A), based on 38 code lines NamingConvention: 43 (F), based on 7 names 21:11 [warning] naming.too_long - function `woocommerce_store_api_register_endpoint_data` is 44 characters (limit 30); very long names make code hard to read 42:11 [warning] naming.too_long - function `woocommerce_store_api_register_update_callback` is 46 characters (limit 30); very long names make code hard to read 63:11 [warning] naming.too_long - function `woocommerce_store_api_register_payment_requirements` is 51 characters (limit 30); very long names make code hard to read 84:11 [warning] naming.too_long - function `woocommerce_store_api_get_formatter` is 35 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/ArrayUtil.php (other) CodeLength: not graded CyclomaticComplexity: 94 (A), based on 14 functions 248:26 [warning] complexity.function - ArrayUtil::deep_compute_or_compare_array_diff has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 179 code lines NamingConvention: 96 (A), based on 49 names 119:4 [warning] naming.generic - variable `str` is a generic name; it says nothing about what it holds 248:26 [warning] naming.too_long - method `deep_compute_or_compare_array_diff` is 34 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/CallbackUtil.php (other) CodeLength: not graded CyclomaticComplexity: 89 (B), based on 4 functions 24:25 [warning] complexity.function - CallbackUtil::get_callback_signature has a cyclomatic complexity of 12, moderate risk (above 10): each of its 12 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 79 code lines NamingConvention: 100 (A), based on 21 names Security: not graded woocommerce/src/Utilities/DiscountsUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 18 code lines NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Utilities/FeaturesUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 8 functions Duplication: 100 (A), based on 44 code lines NamingConvention: 78 (C), based on 18 names 103:25 [warning] naming.too_long - method `get_compatible_features_for_plugin` is 34 characters (limit 30); very long names make code hard to read 113:25 [warning] naming.too_long - method `get_compatible_plugins_for_feature` is 34 characters (limit 30); very long names make code hard to read 121:25 [warning] naming.too_long - method `allow_enabling_features_with_incompatible_plugins` is 49 characters (limit 30); very long names make code hard to read 129:25 [warning] naming.too_long - method `allow_activating_plugins_with_incompatible_features` is 51 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/I18nUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 0 (F), based on 24 code lines 53:1 [warning] duplication.repeated_block - lines 53 to 60 repeat lines 29 to 36 (50 tokens); repeated code has to be fixed in every copy NamingConvention: 100 (A), based on 7 names Security: not graded woocommerce/src/Utilities/LoggingUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 30 code lines NamingConvention: 100 (A), based on 15 names Security: not graded woocommerce/src/Utilities/MetaDataUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 2 functions Duplication: 100 (A), based on 24 code lines NamingConvention: 100 (A), based on 8 names Security: not graded woocommerce/src/Utilities/NumberUtil.php (other) CodeLength: not graded 104:25 [warning] length.function - NumberUtil::sanitize_cost_in_current_locale has 89 lines in its body, above 50 CyclomaticComplexity: 77 (C), based on 6 functions 104:25 [warning] complexity.function - NumberUtil::sanitize_cost_in_current_locale has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 86 code lines NamingConvention: 86 (B), based on 21 names 54:33 [warning] naming.generic - parameter `val` is a generic name; it says nothing about what it holds 91:43 [warning] naming.generic - parameter `arr` is a generic name; it says nothing about what it holds 104:25 [warning] naming.too_long - method `sanitize_cost_in_current_locale` is 31 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/OrderUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 22 functions Duplication: 100 (A), based on 102 code lines NamingConvention: 87 (B), based on 38 names 39:25 [warning] naming.too_long - method `custom_orders_table_usage_is_enabled` is 36 characters (limit 30); very long names make code hard to read 48:25 [warning] naming.too_long - method `custom_orders_table_datastore_cache_enabled` is 43 characters (limit 30); very long names make code hard to read 81:25 [warning] naming.too_long - method `custom_orders_table_data_sync_is_enabled` is 40 characters (limit 30); very long names make code hard to read 96:77 [warning] naming.generic - parameter `data` is a generic name; it says nothing about what it holds 295:25 [warning] naming.too_long - method `unknown_orders_data_store_in_use` is 32 characters (limit 30); very long names make code hard to read Security: not graded 236:13 [info] security.sql_interpolated - query `$wpdb->prepare` builds its SQL from `$orders_table`; pass values through prepare with placeholders to prevent SQL injection (suppressed by `phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared` -- trusted table name.) woocommerce/src/Utilities/PluginUtil.php (other) CodeLength: not graded 219:18 [warning] length.function - PluginUtil::generate_incompatible_plugin_feature_warning has 75 lines in its body, above 50 CyclomaticComplexity: 100 (A), based on 11 functions Duplication: 100 (A), based on 158 code lines NamingConvention: 88 (B), based on 42 names 37:11 [warning] naming.too_long - property `woocommerce_aware_active_plugins` is 32 characters (limit 30); very long names make code hard to read 219:18 [warning] naming.too_long - method `generate_incompatible_plugin_feature_warning` is 44 characters (limit 30); very long names make code hard to read 226:5 [warning] naming.too_long - variable `legacy_api_and_hpos_incompatibility_warning_text` is 48 characters (limit 30); very long names make code hard to read 304:18 [warning] naming.too_long - method `get_items_considered_incompatible` is 33 characters (limit 30); very long names make code hard to read 321:18 [warning] naming.too_long - method `get_plugins_excluded_from_compatibility_ui` is 42 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/RestApiUtil.php (other) CodeLength: not graded CyclomaticComplexity: 82 (B), based on 3 functions 79:18 [warning] complexity.function - RestApiUtil::attach_lazy_loaded_namespace has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 47 code lines NamingConvention: 100 (A), based on 17 names Security: not graded woocommerce/src/Utilities/ShippingUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 1 function Duplication: 100 (A), based on 16 code lines NamingConvention: 86 (B), based on 7 names 20:25 [warning] naming.too_long - method `get_selected_shipping_rates_from_packages` is 41 characters (limit 30); very long names make code hard to read Security: not graded woocommerce/src/Utilities/StringUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 9 functions Duplication: 100 (A), based on 54 code lines NamingConvention: 100 (A), based on 22 names Security: not graded woocommerce/src/Utilities/TimeUtil.php (other) CodeLength: not graded CyclomaticComplexity: 100 (A), based on 3 functions Duplication: 100 (A), based on 14 code lines NamingConvention: 86 (B), based on 7 names 45:4 [warning] naming.too_short - variable `d` is 1 character (at least 2); a one letter name hides its meaning Security: not graded woocommerce/templates/archive-product.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 22 code lines NamingConvention: not graded Security: not graded woocommerce/templates/auth/footer.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 3 code lines NamingConvention: not graded Security: not graded woocommerce/templates/auth/form-grant-access.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 53:8 [warning] security.unescaped_output - echo of `get_avatar( $user->ID, 70 )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/templates/auth/form-login.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 12 code lines NamingConvention: not graded Security: not graded woocommerce/templates/auth/header.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: not graded Security: not graded woocommerce/templates/block-notices/error.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 17 code lines NamingConvention: 100 (A), based on 2 names Security: not graded 30:76 [info] security.unescaped_output - echo of `wc_get_notice_data_attr( $notices[0] )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 39:14 [info] security.unescaped_output - echo of `wc_get_notice_data_attr( $notice )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/templates/block-notices/notice.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 29:62 [info] security.unescaped_output - echo of `wc_get_notice_data_attr( $notice )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/templates/block-notices/success.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 10 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 29:65 [info] security.unescaped_output - echo of `wc_get_notice_data_attr( $notice )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/templates/brands/brand-description.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: 100 (A), based on 1 name Security: not graded 31:9 [warning] security.unescaped_output - echo of `do_shortcode( wpautop( wptexturize( term_description() ) ) )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/templates/brands/shortcodes/brands-a-z.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 22 code lines NamingConvention: 100 (A), based on 2 names Security: not graded woocommerce/templates/brands/shortcodes/single-brand.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: not graded Security: not graded woocommerce/templates/brands/taxonomy-product_brand.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 1 code line NamingConvention: not graded Security: not graded woocommerce/templates/brands/widgets/brand-description.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 5 code lines NamingConvention: not graded Security: not graded 24:2 [info] security.unescaped_output - echo of `wc_get_brand_thumbnail_image( $brand )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/templates/brands/widgets/brand-thumbnails-description.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 20 code lines NamingConvention: 100 (A), based on 6 names Security: not graded woocommerce/templates/brands/widgets/brand-thumbnails.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 16 code lines NamingConvention: 100 (A), based on 4 names Security: not graded 39:10 [info] security.unescaped_output - echo of `wc_get_brand_thumbnail_image( $brand )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput`) woocommerce/templates/cart/cart-empty.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 6 code lines NamingConvention: not graded Security: not graded woocommerce/templates/cart/cart-item-data.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 7 code lines NamingConvention: 0 (F), based on 1 name 22:33 [warning] naming.generic - variable `data` is a generic name; it says nothing about what it holds Security: not graded woocommerce/templates/cart/cart-shipping.php (view) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 20:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 49 code lines NamingConvention: 100 (A), based on 5 names Security: not graded woocommerce/templates/cart/cart-totals.php (view) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 18:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 15, moderate risk (above 10): each of its 15 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 46 code lines NamingConvention: 100 (A), based on 6 names Security: not graded 79:17 [info] security.unescaped_output - echo of `$estimated_text` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 87:16 [info] security.unescaped_output - echo of `$estimated_text` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) woocommerce/templates/cart/cart.php (view) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 18:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 16, moderate risk (above 10): each of its 16 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 87 code lines NamingConvention: 100 (A), based on 12 names Security: not graded 72:9 [info] security.unescaped_output - echo of `apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscap...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 105:8 [warning] security.unescaped_output - echo of `$thumbnail` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 129:7 [info] security.unescaped_output - echo of `wc_get_formatted_cart_item_data( $cart_item, false, $cart_item_name )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 140:9 [warning] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( ...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 166:7 [warning] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_ite...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) 172:9 [warning] security.unescaped_output - echo of `apply_filters( 'woocommerce_cart_item_subtotal', WC()->cart->get_product_subt...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) woocommerce/templates/cart/cross-sells.php (view) CodeLength: not graded CyclomaticComplexity: 100 (A), based on file level code Duplication: 100 (A), based on 15 code lines NamingConvention: 100 (A), based on 3 names Security: not graded woocommerce/templates/cart/mini-cart.php (view) CodeLength: not graded CyclomaticComplexity: 70 (C), based on file level code 20:1 [warning] complexity.file_code - file level code has a cyclomatic complexity of 11, moderate risk (above 10): each of its 11 paths needs its own test, which makes it hard to follow and to change safely Duplication: 100 (A), based on 48 code lines NamingConvention: 100 (A), based on 10 names Security: not graded 58:6 [info] security.unescaped_output - echo of `apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscap...` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 75:13 [info] security.unescaped_output - echo of `$thumbnail` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 78:14 [info] security.unescaped_output - echo of `$thumbnail` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 81:12 [info] security.unescaped_output - echo of `wc_get_formatted_cart_item_data( $cart_item, false, $cart_item_name )` is not escaped at output; escape where you print (esc_html, esc_attr, htmlspecialchars) (suppressed by `phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped`) 82:12 [info] security.unescaped_output - echo of `apply_filters( 'woocommerce_widget_cart_item_quantity', '