vindi/vindi-woocommerce

View on GitHub
src/controllers/ProductController.php

Summary

Maintainability
B
4 hrs
Test Coverage

Showing 71 of 71 total issues

Method create has 35 lines of code (exceeds 25 allowed). Consider refactoring.
Open

function create($post_id, $post, $update, $recreated = false)
{
// Check if the post is a draft
if (strpos(get_post_status($post_id), 'draft') !== false) {
return;
Severity: Minor
Found in src/controllers/ProductController.php - About 1 hr to fix

    Method update has 28 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function update($post_id)
    {
    $product = wc_get_product($post_id);
     
    // Check if the post is NOT of the subscription type
    Severity: Minor
    Found in src/controllers/ProductController.php - About 1 hr to fix

      Function create has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      function create($post_id, $post, $update, $recreated = false)
      {
      // Check if the post is a draft
      if (strpos(get_post_status($post_id), 'draft') !== false) {
      return;
      Severity: Minor
      Found in src/controllers/ProductController.php - About 1 hr to fix

      Avoid too many return statements within this method.
      Open

      return $createdProduct;
      Severity: Major
      Found in src/controllers/ProductController.php - About 30 mins to fix

        The method create() has an NPath complexity of 768. The configured NPath complexity threshold is 200.
        Open

        function create($post_id, $post, $update, $recreated = false)
        {
        // Check if the post is a draft
        if (strpos(get_post_status($post_id), 'draft') !== false) {
        return;
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        The method create() has a Cyclomatic Complexity of 12. The configured cyclomatic complexity threshold is 10.
        Open

        function create($post_id, $post, $update, $recreated = false)
        {
        // Check if the post is a draft
        if (strpos(get_post_status($post_id), 'draft') !== false) {
        return;
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        The method create has a boolean flag argument $recreated, which is a certain sign of a Single Responsibility Principle violation.
        Open

        function create($post_id, $post, $update, $recreated = false)
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        The method update uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
        Open

        } else {
        set_transient('vindi_product_message', 'error', 60);
        }
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        The method create uses an else expression. Else clauses are basically not necessary and you can simplify the code by not using them.
        Open

        } else {
        set_transient('vindi_product_message', 'error', 60);
        }
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        Avoid unused private fields such as '$types'.
        Open

        private $types;
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        Avoid unused parameters such as '$update'.
        Open

        function create($post_id, $post, $update, $recreated = false)
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        Avoid unused parameters such as '$post'.
        Open

        function create($post_id, $post, $update, $recreated = false)
        Severity: Minor
        Found in src/controllers/ProductController.php by phpmd

        Visibility must be declared on method "trash"
        Open

        function trash($post_id)

        Blank line found at start of control structure
        Open

        if(empty($vindi_product_id)) {

        Visibility must be declared on method "update"
        Open

        function update($post_id)

        Visibility must be declared on method "create"
        Open

        function create($post_id, $post, $update, $recreated = false)

        Visibility must be declared on method "untrash"
        Open

        function untrash($post_id)

        Visibility must be declared on method "__construct"
        Open

        function __construct(VindiSettings $vindi_settings)

        Line exceeds 120 characters; contains 128 characters
        Open

        if(!$recreated && get_post_status($post_id) != 'publish' || !empty(get_post_meta($post_id, 'vindi_product_id', true))) {

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected 12 spaces, found 10
        Open

        }

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        }

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return $this->update($post_id);

        Line indented incorrectly; expected at least 14 spaces, found 12
        Open

        set_transient('vindi_product_message', 'created', 60);

        Multi-line function call not indented correctly; expected 12 spaces but found 10
        Open

        array(

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        function trash($post_id)

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        }

        Line indented incorrectly; expected at least 10 spaces, found 8
        Open

        );

        Line indented incorrectly; expected at least 10 spaces, found 8
        Open

        return $activatedProduct;

        Expected 1 space after IF keyword; 0 found
        Open

        if($updatedProduct) {

        Line indented incorrectly; expected 12 spaces, found 8
        Open

        }

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        }

        Line indented incorrectly; expected 12 spaces, found 8
        Open

        } else {

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        function untrash($post_id)

        Line indented incorrectly; expected at least 4 spaces, found 2
        Open

        {

        Expected 0 spaces before closing bracket; 1 found
        Open

        update_post_meta( $post_id, 'vindi_product_id', $createdProduct['id'] );

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Expected 1 space after IF keyword; 0 found
        Open

        if(empty($vindi_product_id)) {

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Space after opening parenthesis of function call prohibited
        Open

        update_post_meta( $post_id, 'vindi_product_id', $createdProduct['id'] );

        Multi-line function call not indented correctly; expected 12 spaces but found 10
        Open

        $vindi_product_id,

        Multi-line function call not indented correctly; expected 12 spaces but found 10
        Open

        )

        Line indented incorrectly; expected 10 spaces, found 8
        Open

        if($updatedProduct) {

        Line indented incorrectly; expected at least 4 spaces, found 2
        Open

        {

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return $this->create($post_id, '', '', true);

        Line indented incorrectly; expected at least 10 spaces, found 8
        Open

        return $inactivatedProduct;

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        function __construct(VindiSettings $vindi_settings)

        Line indented incorrectly; expected at least 4 spaces, found 2
        Open

        {

        Line indented incorrectly; expected at least 12 spaces, found 8
        Open

        return $createdProduct;

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        }

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        }

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected at least 14 spaces, found 10
        Open

        set_transient('vindi_product_message', 'updated', 60);

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        Line indented incorrectly; expected at least 4 spaces, found 2
        Open

        {

        Expected 1 space after IF keyword; 0 found
        Open

        if(!$recreated && get_post_status($post_id) != 'publish' || !empty(get_post_meta($post_id, 'vindi_product_id', true))) {

        Line indented incorrectly; expected 12 spaces, found 10
        Open

        } else {

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        function update($post_id)

        Line indented incorrectly; expected at least 4 spaces, found 2
        Open

        {

        Expected 1 space after IF keyword; 0 found
        Open

        if(empty($vindi_product_id)) {

        Line indented incorrectly; expected 4 spaces, found 2
        Open

        function create($post_id, $post, $update, $recreated = false)

        Line indented incorrectly; expected at least 16 spaces, found 12
        Open

        set_transient('vindi_product_message', 'error', 60);

        Line indented incorrectly; expected at least 12 spaces, found 8
        Open

        return $updatedProduct;

        Expected 1 space after IF keyword; 0 found
        Open

        if(empty($vindi_product_id)) {

        Line indented incorrectly; expected at least 14 spaces, found 12
        Open

        update_post_meta( $post_id, 'vindi_product_id', $createdProduct['id'] );

        Line indented incorrectly; expected at least 16 spaces, found 10
        Open

        set_transient('vindi_product_message', 'error', 60);

        Line indented incorrectly; expected at least 12 spaces, found 10
        Open

        return;

        There are no issues that match your filters.

        Category
        Status