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', '