XoopsModules25x/xoopsinfo

View on GitHub
phpsysinfo/includes/mb/class.ipmiutil.inc.php

Summary

Maintainability
F
1 wk
Test Coverage

Function _fans has a Cognitive Complexity of 32 (exceeds 5 allowed). Consider refactoring.
Open

    private function _fans()
    {
        foreach ($this->_lines as $line) {
            $buffer = preg_split("/\s*\|\s*/", $line);
            if (isset($buffer[2]) && $buffer[2] == "Fan"
Severity: Minor
Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 4 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _voltage has a Cognitive Complexity of 30 (exceeds 5 allowed). Consider refactoring.
Open

    private function _voltage()
    {
        foreach ($this->_lines as $line) {
            $buffer = preg_split("/\s*\|\s*/", $line);
            if (isset($buffer[2]) && $buffer[2] == "Voltage"
Severity: Minor
Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 4 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Function _current has a Cognitive Complexity of 30 (exceeds 5 allowed). Consider refactoring.
Open

    private function _current()
    {
        foreach ($this->_lines as $line) {
            $buffer = preg_split("/\s*\|\s*/", $line);
            if (isset($buffer[2]) && $buffer[2] == "Current"
Severity: Minor
Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 4 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Consider simplifying this complex logical expression.
Open

                    if ((isset($buffer[8]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[8], $limits))
                        ||(isset($buffer[9]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[9], $limits))
                        ||(isset($buffer[10]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[10], $limits))
                        ||(isset($buffer[11]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                        $dev->setMin($limits[1]);
Severity: Critical
Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 3 hrs to fix

    The class IPMIutil has an overall complexity of 137 which is very high. The configured complexity threshold is 50.
    Open

    class IPMIutil extends Sensors
    {
        /**
         * content to parse
         *

    Function _temperature has a Cognitive Complexity of 21 (exceeds 5 allowed). Consider refactoring.
    Open

        private function _temperature()
        {
            foreach ($this->_lines as $line) {
                $buffer = preg_split("/\s*\|\s*/", $line);
                if (isset($buffer[2]) && $buffer[2] == "Temperature"
    Severity: Minor
    Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function _power has a Cognitive Complexity of 20 (exceeds 5 allowed). Consider refactoring.
    Open

        private function _power()
        {
            foreach ($this->_lines as $line) {
                $buffer = preg_split("/\s*\|\s*/", $line);
                if (isset($buffer[2]) && $buffer[2] == "Current"
    Severity: Minor
    Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function _other has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
    Open

        private function _other()
        {
            foreach ($this->_lines as $line) {
                $buffer = preg_split("/\s*\|\s*/", $line);
                if (isset($buffer[1]) && $buffer[1] == "Compact"
    Severity: Minor
    Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Consider simplifying this complex logical expression.
    Open

                        if ((isset($buffer[8]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[8], $limits))
                            ||(isset($buffer[9]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[9], $limits))
                            ||(isset($buffer[10]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[10], $limits))
                            ||(isset($buffer[11]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                            $dev->setMax($limits[1]);
    Severity: Critical
    Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

      Consider simplifying this complex logical expression.
      Open

                          if ((isset($buffer[8]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[8], $limits))
                              ||(isset($buffer[9]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[9], $limits))
                              ||(isset($buffer[10]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[10], $limits))
                              ||(isset($buffer[11]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                              $dev->setMin($limits[1]);
      Severity: Critical
      Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

        Consider simplifying this complex logical expression.
        Open

                            if ((isset($buffer[8]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[8], $limits))
                                ||(isset($buffer[9]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[9], $limits))
                                ||(isset($buffer[10]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[10], $limits))
                                ||(isset($buffer[11]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                                $dev->setMax($limits[1]);
        Severity: Critical
        Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

          Consider simplifying this complex logical expression.
          Open

                              if ((isset($buffer[8]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[8], $limits))
                                  ||(isset($buffer[9]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[9], $limits))
                                  ||(isset($buffer[10]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[10], $limits))
                                  ||(isset($buffer[11]) && preg_match("/^lo-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                                  $dev->setMin($limits[1]);
          Severity: Critical
          Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

            Consider simplifying this complex logical expression.
            Open

                                if ((isset($buffer[8]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[8], $limits))
                                    ||(isset($buffer[9]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[9], $limits))
                                    ||(isset($buffer[10]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[10], $limits))
                                    ||(isset($buffer[11]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                                    $dev->setMax($limits[1]);
            Severity: Critical
            Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

              Consider simplifying this complex logical expression.
              Open

                                  if ((isset($buffer[8]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[8], $limits))
                                      ||(isset($buffer[9]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[9], $limits))
                                      ||(isset($buffer[10]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[10], $limits))
                                      ||(isset($buffer[11]) && preg_match("/^hi-crit\s(\S+)\s*$/", $buffer[11], $limits))) {
                                      $dev->setMax($limits[1]);
              Severity: Critical
              Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

                Method _fans has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    private function _fans()
                    {
                        foreach ($this->_lines as $line) {
                            $buffer = preg_split("/\s*\|\s*/", $line);
                            if (isset($buffer[2]) && $buffer[2] == "Fan"
                Severity: Minor
                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

                  Method _voltage has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      private function _voltage()
                      {
                          foreach ($this->_lines as $line) {
                              $buffer = preg_split("/\s*\|\s*/", $line);
                              if (isset($buffer[2]) && $buffer[2] == "Voltage"
                  Severity: Minor
                  Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

                    Method _current has 26 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        private function _current()
                        {
                            foreach ($this->_lines as $line) {
                                $buffer = preg_split("/\s*\|\s*/", $line);
                                if (isset($buffer[2]) && $buffer[2] == "Current"
                    Severity: Minor
                    Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 1 hr to fix

                      Consider simplifying this complex logical expression.
                      Open

                                  if (isset($buffer[2]) && $buffer[2] == "Current"
                                     && $buffer[1] == "Full"
                                     && isset($buffer[6]) && preg_match("/^(\S+)\sW$/", $buffer[6], $value)
                                     && $buffer[5] !== "Init") {
                                      $dev = new SensorDevice();
                      Severity: Major
                      Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 40 mins to fix

                        Consider simplifying this complex logical expression.
                        Open

                                    if (isset($buffer[2]) && $buffer[2] == "Temperature"
                                       && $buffer[1] == "Full"
                                       && isset($buffer[6]) && preg_match("/^(\S+)\sC$/", $buffer[6], $value)
                                       && $buffer[5] !== "Init") {
                                        $dev = new SensorDevice();
                        Severity: Major
                        Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 40 mins to fix

                          Consider simplifying this complex logical expression.
                          Open

                                      if (isset($buffer[2]) && $buffer[2] == "Current"
                                         && $buffer[1] == "Full"
                                         && isset($buffer[6]) && preg_match("/^(\S+)\sA$/", $buffer[6], $value)
                                         && $buffer[5] !== "Init") {
                                          $dev = new SensorDevice();
                          Severity: Major
                          Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 40 mins to fix

                            Consider simplifying this complex logical expression.
                            Open

                                        if (isset($buffer[2]) && $buffer[2] == "Voltage"
                                           && $buffer[1] == "Full"
                                           && isset($buffer[6]) && preg_match("/^(\S+)\sV$/", $buffer[6], $value)
                                           && $buffer[5] !== "Init") {
                                            $dev = new SensorDevice();
                            Severity: Major
                            Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 40 mins to fix

                              Consider simplifying this complex logical expression.
                              Open

                                          if (isset($buffer[2]) && $buffer[2] == "Fan"
                                             && $buffer[1] == "Full"
                                             && isset($buffer[6]) && preg_match("/^(\S+)\sRPM$/", $buffer[6], $value)
                                             && $buffer[5] !== "Init") {
                                              $dev = new SensorDevice();
                              Severity: Major
                              Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php - About 40 mins to fix

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

                                    private function _other()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[1]) && $buffer[1] == "Compact"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

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

                                    private function _power()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

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

                                    private function _fans()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Fan"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

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

                                    private function _voltage()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Voltage"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

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

                                    private function _current()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

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

                                    private function _temperature()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Temperature"

                                CyclomaticComplexity

                                Since: 0.1

                                Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

                                Example

                                // Cyclomatic Complexity = 11
                                class Foo {
                                1   public function example() {
                                2       if ($a == $b) {
                                3           if ($a1 == $b1) {
                                                fiddle();
                                4           } elseif ($a2 == $b2) {
                                                fiddle();
                                            } else {
                                                fiddle();
                                            }
                                5       } elseif ($c == $d) {
                                6           while ($c == $d) {
                                                fiddle();
                                            }
                                7        } elseif ($e == $f) {
                                8           for ($n = 0; $n < $h; $n++) {
                                                fiddle();
                                            }
                                        } else {
                                            switch ($z) {
                                9               case 1:
                                                    fiddle();
                                                    break;
                                10              case 2:
                                                    fiddle();
                                                    break;
                                11              case 3:
                                                    fiddle();
                                                    break;
                                                default:
                                                    fiddle();
                                                    break;
                                            }
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

                                Avoid using undefined variables such as '$lines' which will lead to PHP notices.
                                Open

                                                $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);

                                UndefinedVariable

                                Since: 2.8.0

                                Detects when a variable is used that has not been defined before.

                                Example

                                class Foo
                                {
                                    private function bar()
                                    {
                                        // $message is undefined
                                        echo $message;
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#undefinedvariable

                                Avoid using undefined variables such as '$lines' which will lead to PHP notices.
                                Open

                                            if (CommonFunctions::rfts(PSI_APP_ROOT.'/data/ipmiutil.txt', $lines)) {

                                UndefinedVariable

                                Since: 2.8.0

                                Detects when a variable is used that has not been defined before.

                                Example

                                class Foo
                                {
                                    private function bar()
                                    {
                                        // $message is undefined
                                        echo $message;
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#undefinedvariable

                                Avoid using undefined variables such as '$lines' which will lead to PHP notices.
                                Open

                                            $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);

                                UndefinedVariable

                                Since: 2.8.0

                                Detects when a variable is used that has not been defined before.

                                Example

                                class Foo
                                {
                                    private function bar()
                                    {
                                        // $message is undefined
                                        echo $message;
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#undefinedvariable

                                Avoid using undefined variables such as '$lines' which will lead to PHP notices.
                                Open

                                            CommonFunctions::executeProgram('ipmiutil', 'sensor -stw', $lines);

                                UndefinedVariable

                                Since: 2.8.0

                                Detects when a variable is used that has not been defined before.

                                Example

                                class Foo
                                {
                                    private function bar()
                                    {
                                        // $message is undefined
                                        echo $message;
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#undefinedvariable

                                Missing class import via use statement (line '192', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

                                Missing class import via use statement (line '125', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

                                Missing class import via use statement (line '228', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

                                Missing class import via use statement (line '162', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

                                Missing class import via use statement (line '59', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

                                Missing class import via use statement (line '89', column '28').
                                Open

                                                $dev = new SensorDevice();

                                MissingImport

                                Since: 2.7.0

                                Importing all external classes in a file through use statements makes them clearly visible.

                                Example

                                function make() {
                                    return new \stdClass();
                                }

                                Source http://phpmd.org/rules/cleancode.html#MissingImport

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

                                                } else {
                                                    $dev->setValue($buffer5);
                                                }

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#elseexpression

                                Avoid using static access to class 'CommonFunctions' in method '__construct'.
                                Open

                                            CommonFunctions::executeProgram('ipmiutil', 'sensor -stw', $lines);

                                StaticAccess

                                Since: 1.4.0

                                Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                                Example

                                class Foo
                                {
                                    public function bar()
                                    {
                                        Bar::baz();
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#staticaccess

                                Avoid using static access to class 'CommonFunctions' in method '__construct'.
                                Open

                                            if (CommonFunctions::rfts(PSI_APP_ROOT.'/data/ipmiutil.txt', $lines)) {

                                StaticAccess

                                Since: 1.4.0

                                Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                                Example

                                class Foo
                                {
                                    public function bar()
                                    {
                                        Bar::baz();
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#staticaccess

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

                                                    } else {
                                                        $dev->setValue($buffer5);
                                                    }

                                ElseExpression

                                Since: 1.4.0

                                An if expression with an else branch is basically not necessary. You can rewrite the conditions in a way that the else clause is not necessary and the code becomes simpler to read. To achieve this, use early return statements, though you may need to split the code it several smaller methods. For very simple assignments you could also use the ternary operations.

                                Example

                                class Foo
                                {
                                    public function bar($flag)
                                    {
                                        if ($flag) {
                                            // one branch
                                        } else {
                                            // another branch
                                        }
                                    }
                                }

                                Source https://phpmd.org/rules/cleancode.html#elseexpression

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    private function _current()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"
                                Severity: Major
                                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php and 1 other location - About 2 days to fix
                                phpsysinfo/includes/mb/class.ipmiutil.inc.php on lines 81..110

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 480.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    private function _voltage()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Voltage"
                                Severity: Major
                                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php and 1 other location - About 2 days to fix
                                phpsysinfo/includes/mb/class.ipmiutil.inc.php on lines 184..213

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 480.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    private function _power()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"
                                Severity: Major
                                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php and 1 other location - About 1 day to fix
                                phpsysinfo/includes/mb/class.ipmiutil.inc.php on lines 51..74

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 342.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    private function _temperature()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Temperature"
                                Severity: Major
                                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php and 1 other location - About 1 day to fix
                                phpsysinfo/includes/mb/class.ipmiutil.inc.php on lines 154..177

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 342.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    public function __construct()
                                    {
                                        parent::__construct();
                                        switch (defined('PSI_SENSOR_IPMIUTIL_ACCESS')?strtolower(PSI_SENSOR_IPMIUTIL_ACCESS):'command') {
                                        case 'command':
                                Severity: Major
                                Found in phpsysinfo/includes/mb/class.ipmiutil.inc.php and 1 other location - About 4 hrs to fix
                                phpsysinfo/includes/mb/class.freeipmi.inc.php on lines 27..44

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 163.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Each class must be in a namespace of at least one level (a top-level vendor name)
                                Open

                                class IPMIutil extends Sensors

                                The property $_lines is not named in camelCase.
                                Open

                                class IPMIutil extends Sensors
                                {
                                    /**
                                     * content to parse
                                     *

                                CamelCasePropertyName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name attributes.

                                Example

                                class ClassName {
                                    protected $property_name;
                                }

                                Source

                                Method name "_temperature" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _temperature()

                                Method name "_current" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _current()

                                Method name "_power" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _power()

                                Terminating statement must be indented to the same level as the CASE body
                                Open

                                            break;

                                Terminating statement must be indented to the same level as the CASE body
                                Open

                                            break;

                                Method name "_other" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _other()

                                Method name "_fans" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _fans()

                                Property name "$_lines" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private $_lines = array();

                                Terminating statement must be indented to the same level as the CASE body
                                Open

                                            break;

                                Method name "_voltage" should not be prefixed with an underscore to indicate visibility
                                Open

                                    private function _voltage()

                                Inline control structures are not allowed
                                Open

                                                if ($buffer[5] != "OK") $dev->setEvent($buffer[5]);

                                Line exceeds 120 characters; contains 132 characters
                                Open

                                 * @license   http://opensource.org/licenses/gpl-2.0.php GNU General Public License version 2, or (at your option) any later version

                                Inline control structures are not allowed
                                Open

                                                if ($buffer[5] != "OK") $dev->setEvent($buffer[5]);

                                Inline control structures are not allowed
                                Open

                                                if ($buffer[5] != "OK") $dev->setEvent($buffer[5]);

                                Inline control structures are not allowed
                                Open

                                                if ($buffer[5] != "OK") $dev->setEvent($buffer[5]);

                                Inline control structures are not allowed
                                Open

                                                if ($buffer[5] != "OK") $dev->setEvent($buffer[5]);

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

                                            $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);

                                Line indented incorrectly; expected 12 spaces, found 8
                                Open

                                        case 'data':

                                Line indented incorrectly; expected 16 spaces, found 12
                                Open

                                            }

                                Line indented incorrectly; expected 16 spaces, found 12
                                Open

                                            if (CommonFunctions::rfts(PSI_APP_ROOT.'/data/ipmiutil.txt', $lines)) {

                                Line indented incorrectly; expected 12 spaces, found 8
                                Open

                                        default:

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

                                            CommonFunctions::executeProgram('ipmiutil', 'sensor -stw', $lines);

                                Line indented incorrectly; expected 12 spaces, found 8
                                Open

                                        case 'command':

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

                                                $this->_lines = preg_split("/\r?\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);

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

                                            $this->error->addConfigError('__construct()', '[sensor_ipmiutil] ACCESS');

                                The method _temperature is not named in camelCase.
                                Open

                                    private function _temperature()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Temperature"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                The method _voltage is not named in camelCase.
                                Open

                                    private function _voltage()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Voltage"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                The method _current is not named in camelCase.
                                Open

                                    private function _current()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                The method _fans is not named in camelCase.
                                Open

                                    private function _fans()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Fan"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                The method _other is not named in camelCase.
                                Open

                                    private function _other()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[1]) && $buffer[1] == "Compact"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                The method _power is not named in camelCase.
                                Open

                                    private function _power()
                                    {
                                        foreach ($this->_lines as $line) {
                                            $buffer = preg_split("/\s*\|\s*/", $line);
                                            if (isset($buffer[2]) && $buffer[2] == "Current"

                                CamelCaseMethodName

                                Since: 0.2

                                It is considered best practice to use the camelCase notation to name methods.

                                Example

                                class ClassName {
                                    public function get_name() {
                                    }
                                }

                                Source

                                There are no issues that match your filters.

                                Category
                                Status