GemsTracker/gemstracker-library

View on GitHub
classes/Gems/Default/OpenrosaAction.php

Summary

Maintainability
D
1 day
Test Coverage
F
0%

imageAction accesses the super-global variable $_SERVER.
Open

    public function imageAction() {
        $request = $this->getRequest();
        $formId      = $request->getParam('id');
        $formVersion = $request->getParam('version');
        $resp        = $request->getParam('resp');

Superglobals

Since: 0.2

Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.

Example

class Foo {
    public function bar() {
        $name = $_POST['foo'];
    }
}

Source

imageAction accesses the super-global variable $_SERVER.
Open

    public function imageAction() {
        $request = $this->getRequest();
        $formId      = $request->getParam('id');
        $formVersion = $request->getParam('version');
        $resp        = $request->getParam('resp');

Superglobals

Since: 0.2

Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.

Example

class Foo {
    public function bar() {
        $name = $_POST['foo'];
    }
}

Source

imageAction accesses the super-global variable $_SERVER.
Open

    public function imageAction() {
        $request = $this->getRequest();
        $formId      = $request->getParam('id');
        $formVersion = $request->getParam('version');
        $resp        = $request->getParam('resp');

Superglobals

Since: 0.2

Accessing a super-global variable directly is considered a bad practice. These variables should be encapsulated in objects that are provided by a framework, for instance.

Example

class Foo {
    public function bar() {
        $name = $_POST['foo'];
    }
}

Source

Function submissionAction has a Cognitive Complexity of 35 (exceeds 5 allowed). Consider refactoring.
Open

    public function submissionAction()
    {
        $this->makeRosaResponse();

        if ($this->getRequest()->isHead()) {
Severity: Minor
Found in classes/Gems/Default/OpenrosaAction.php - About 5 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

File OpenrosaAction.php has 268 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php

/**
 *
 * @package    Gems
Severity: Minor
Found in classes/Gems/Default/OpenrosaAction.php - About 2 hrs to fix

    Method submissionAction has 41 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        public function submissionAction()
        {
            $this->makeRosaResponse();
    
            if ($this->getRequest()->isHead()) {
    Severity: Minor
    Found in classes/Gems/Default/OpenrosaAction.php - About 1 hr to fix

      Method imageAction has 36 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function imageAction() {
              $request = $this->getRequest();
              $formId      = $request->getParam('id');
              $formVersion = $request->getParam('version');
              $resp        = $request->getParam('resp');
      Severity: Minor
      Found in classes/Gems/Default/OpenrosaAction.php - About 1 hr to fix

        Function imageAction has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
        Open

            public function imageAction() {
                $request = $this->getRequest();
                $formId      = $request->getParam('id');
                $formVersion = $request->getParam('version');
                $resp        = $request->getParam('resp');
        Severity: Minor
        Found in classes/Gems/Default/OpenrosaAction.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

        Function scanresponsesAction has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
        Open

            public function scanresponsesAction()
            {
                $model = $this->getModel();
        
                //Perform a scan of the form directory, to update the database of forms
        Severity: Minor
        Found in classes/Gems/Default/OpenrosaAction.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

        Method preDispatch has 29 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public function preDispatch()
            {
                parent::preDispatch();
        
                $action = strtolower($this->getRequest()->getActionName());
        Severity: Minor
        Found in classes/Gems/Default/OpenrosaAction.php - About 1 hr to fix

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

              public function scanresponsesAction()
              {
                  $model = $this->getModel();
          
                  //Perform a scan of the form directory, to update the database of forms
          Severity: Minor
          Found in classes/Gems/Default/OpenrosaAction.php - About 1 hr to fix

            Function preDispatch has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                public function preDispatch()
                {
                    parent::preDispatch();
            
                    $action = strtolower($this->getRequest()->getActionName());
            Severity: Minor
            Found in classes/Gems/Default/OpenrosaAction.php - About 25 mins 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

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

                public function submissionAction()
                {
                    $this->makeRosaResponse();
            
                    if ($this->getRequest()->isHead()) {

            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 class Gems_Default_OpenrosaAction has a coupling between objects value of 17. Consider to reduce the number of dependencies under 13.
            Open

            class Gems_Default_OpenrosaAction extends \Gems_Controller_ModelSnippetActionAbstract
            {
                /**
                 * This holds the path to the location where the form definitions will be stored.
                 * Will be set on init to: GEMS_ROOT_DIR . '/var/uploads/openrosa/forms/';

            CouplingBetweenObjects

            Since: 1.1.0

            A class with too many dependencies has negative impacts on several quality aspects of a class. This includes quality criteria like stability, maintainability and understandability

            Example

            class Foo {
                /**
                 * @var \foo\bar\X
                 */
                private $x = null;
            
                /**
                 * @var \foo\bar\Y
                 */
                private $y = null;
            
                /**
                 * @var \foo\bar\Z
                 */
                private $z = null;
            
                public function setFoo(\Foo $foo) {}
                public function setBar(\Bar $bar) {}
                public function setBaz(\Baz $baz) {}
            
                /**
                 * @return \SplObjectStorage
                 * @throws \OutOfRangeException
                 * @throws \InvalidArgumentException
                 * @throws \ErrorException
                 */
                public function process(\Iterator $it) {}
            
                // ...
            }

            Source https://phpmd.org/rules/design.html#couplingbetweenobjects

            Avoid unused local variables such as '$xml'.
            Open

                                foreach ($xml->children() as $child) {

            UnusedLocalVariable

            Since: 0.2

            Detects when a local variable is declared and/or assigned, but not used.

            Example

            class Foo {
                public function doSomething()
                {
                    $i = 5; // Unused
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

            Avoid unused local variables such as '$log'.
            Open

                    $log     = \Gems_Log::getLogger();

            UnusedLocalVariable

            Since: 0.2

            Detects when a local variable is declared and/or assigned, but not used.

            Example

            class Foo {
                public function doSomething()
                {
                    $i = 5; // Unused
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

            Avoid unused local variables such as '$log'.
            Open

                                    $log->log($child->getName() . ' -> ' . $child, \Zend_Log::ERR);

            UnusedLocalVariable

            Since: 0.2

            Detects when a local variable is declared and/or assigned, but not used.

            Example

            class Foo {
                public function doSomething()
                {
                    $i = 5; // Unused
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

            Avoid unused parameters such as '$action'.
            Open

                protected function createModel($detailed, $action)

            UnusedFormalParameter

            Since: 0.2

            Avoid passing parameters to methods or constructors and then not using those parameters.

            Example

            class Foo
            {
                private function bar($howdy)
                {
                    // $howdy is not used
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

            Avoid unused parameters such as '$detailed'.
            Open

                protected function createModel($detailed, $action)

            UnusedFormalParameter

            Since: 0.2

            Avoid passing parameters to methods or constructors and then not using those parameters.

            Example

            class Foo
            {
                private function bar($howdy)
                {
                    // $howdy is not used
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

            The method imageAction() contains an exit expression.
            Open

                        exit;

            ExitExpression

            Since: 0.2

            An exit-expression within regular code is untestable and therefore it should be avoided. Consider to move the exit-expression into some kind of startup script where an error/exception code is returned to the calling environment.

            Example

            class Foo {
                public function bar($param)  {
                    if ($param === 42) {
                        exit(23);
                    }
                }
            }

            Source https://phpmd.org/rules/design.html#exitexpression

            The method imageAction() contains an exit expression.
            Open

                                    exit;

            ExitExpression

            Since: 0.2

            An exit-expression within regular code is untestable and therefore it should be avoided. Consider to move the exit-expression into some kind of startup script where an error/exception code is returned to the calling environment.

            Example

            class Foo {
                public function bar($param)  {
                    if ($param === 42) {
                        exit(23);
                    }
                }
            }

            Source https://phpmd.org/rules/design.html#exitexpression

            Avoid unused parameters such as '$count'.
            Open

                public function getTopic($count = 1)

            UnusedFormalParameter

            Since: 0.2

            Avoid passing parameters to methods or constructors and then not using those parameters.

            Example

            class Foo
            {
                private function bar($howdy)
                {
                    // $howdy is not used
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

            The method preDispatch() contains an exit expression.
            Open

                                exit;

            ExitExpression

            Since: 0.2

            An exit-expression within regular code is untestable and therefore it should be avoided. Consider to move the exit-expression into some kind of startup script where an error/exception code is returned to the calling environment.

            Example

            class Foo {
                public function bar($param)  {
                    if ($param === 42) {
                        exit(23);
                    }
                }
            }

            Source https://phpmd.org/rules/design.html#exitexpression

            Avoid unused local variables such as '$model'.
            Open

                    $model = $this->getModel();

            UnusedLocalVariable

            Since: 0.2

            Detects when a local variable is declared and/or assigned, but not used.

            Example

            class Foo {
                public function doSomething()
                {
                    $i = 5; // Unused
                }
            }

            Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

            The method imageAction() contains an exit expression.
            Open

                                exit;

            ExitExpression

            Since: 0.2

            An exit-expression within regular code is untestable and therefore it should be avoided. Consider to move the exit-expression into some kind of startup script where an error/exception code is returned to the calling environment.

            Example

            class Foo {
                public function bar($param)  {
                    if ($param === 42) {
                        exit(23);
                    }
                }
            }

            Source https://phpmd.org/rules/design.html#exitexpression

            The method downloadAction() contains an exit expression.
            Open

                        exit;

            ExitExpression

            Since: 0.2

            An exit-expression within regular code is untestable and therefore it should be avoided. Consider to move the exit-expression into some kind of startup script where an error/exception code is returned to the calling environment.

            Example

            class Foo {
                public function bar($param)  {
                    if ($param === 42) {
                        exit(23);
                    }
                }
            }

            Source https://phpmd.org/rules/design.html#exitexpression

            TODO found
            Open

                                        //@@TODO: move to form subdir, for better separation

            TODO found
            Open

                            //@@TODO: move to a better db stored authentication system

            Avoid variables with short names like $fp. Configured minimum length is 3.
            Open

                            $fp = fopen($file, 'rb');

            ShortVariable

            Since: 0.2

            Detects when a field, local, or parameter has a very short name.

            Example

            class Something {
                private $q = 15; // VIOLATION - Field
                public static function main( array $as ) { // VIOLATION - Formal
                    $r = 20 + $this->q; // VIOLATION - Local
                    for (int $i = 0; $i < 10; $i++) { // Not a Violation (inside FOR)
                        $r += $this->q;
                    }
                }
            }

            Source https://phpmd.org/rules/naming.html#shortvariable

            There are no issues that match your filters.

            Category
            Status