attogram/attogram-user

View on GitHub
includes/AttogramUser.php

Summary

Maintainability
A
2 hrs
Test Coverage

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

isLoggedIn accesses the super-global variable $_SESSION.
Open

    public static function isLoggedIn()
    {
        if (isset($_SESSION['attogram_id'])
            && $_SESSION['attogram_id']
            && isset($_SESSION['AttogramUsername'])
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_SESSION.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_SESSION.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_SESSION.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

isLoggedIn accesses the super-global variable $_SESSION.
Open

    public static function isLoggedIn()
    {
        if (isset($_SESSION['attogram_id'])
            && $_SESSION['attogram_id']
            && isset($_SESSION['AttogramUsername'])
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

isLoggedIn accesses the super-global variable $_SESSION.
Open

    public static function isLoggedIn()
    {
        if (isset($_SESSION['attogram_id'])
            && $_SESSION['attogram_id']
            && isset($_SESSION['AttogramUsername'])
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_POST.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

isLoggedIn accesses the super-global variable $_SESSION.
Open

    public static function isLoggedIn()
    {
        if (isset($_SESSION['attogram_id'])
            && $_SESSION['attogram_id']
            && isset($_SESSION['AttogramUsername'])
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

login accesses the super-global variable $_SESSION.
Open

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php by phpmd

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

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

    public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
    {
        if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
            $log->error('LOGIN: missing username or password');
            return false;
Severity: Minor
Found in includes/AttogramUser.php - About 1 hr to fix

    Avoid too many return statements within this method.
    Open

            return true;
    Severity: Major
    Found in includes/AttogramUser.php - About 30 mins to fix

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

          public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
          {
              if (!isset($_POST['u']) || !isset($_POST['p']) || !$_POST['u'] || !$_POST['p']) {
                  $log->error('LOGIN: missing username or password');
                  return false;
      Severity: Minor
      Found in includes/AttogramUser.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

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

                  $bind
      Severity: Minor
      Found in includes/AttogramUser.php by phpmd

      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 '$bind' which will lead to PHP notices.
      Open

              $bind[':u'] = $_POST['u'];
      Severity: Minor
      Found in includes/AttogramUser.php by phpmd

      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 '$bind' which will lead to PHP notices.
      Open

              $bind[':p'] = $_POST['p'];
      Severity: Minor
      Found in includes/AttogramUser.php by phpmd

      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

      Call to method debug from undeclared class \Psr\Log\LoggerInterface
      Open

              $log->debug('LOGIN: User Logged in');
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Parameter $database has undeclared type \Attogram\AttogramDatabaseInterface
      Open

          public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database);
      Severity: Minor
      Found in includes/AttogramUser.php by phan

      Parameter $database has undeclared type \Attogram\AttogramDatabaseInterface
      Open

          public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
      Severity: Minor
      Found in includes/AttogramUser.php by phan

      Call to method error from undeclared class \Psr\Log\LoggerInterface
      Open

                  $log->error('LOGIN: Login system offline');
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Call to method error from undeclared class \Psr\Log\LoggerInterface
      Open

                  $log->error('LOGIN: missing username or password');
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Reference to instance property database from undeclared class \Attogram\AttogramDatabaseInterface
      Open

              if (!$database->database || $database->database->errorCode() != '00000') {
      Severity: Minor
      Found in includes/AttogramUser.php by phan

      Call to method error from undeclared class \Psr\Log\LoggerInterface
      Open

                  $log->error('LOGIN: Login system error');
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Parameter $log has undeclared type \Psr\Log\LoggerInterface
      Open

          public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database);
      Severity: Minor
      Found in includes/AttogramUser.php by phan

      Call to method error from undeclared class \Psr\Log\LoggerInterface
      Open

                  $log->error('LOGIN: Invalid login');
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Call to method query from undeclared class \Attogram\AttogramDatabaseInterface
      Open

              $user = $database->query(
      Severity: Critical
      Found in includes/AttogramUser.php by phan

      Parameter $log has undeclared type \Psr\Log\LoggerInterface
      Open

          public static function login(\Psr\Log\LoggerInterface $log, \Attogram\AttogramDatabaseInterface $database)
      Severity: Minor
      Found in includes/AttogramUser.php by phan

      Variable $bind was undeclared, but array fields are being added to it.
      Open

              $bind[':u'] = $_POST['u'];
      Severity: Info
      Found in includes/AttogramUser.php by phan

      Each interface must be in a file by itself
      Open

      class AttogramUser implements AttogramUserInterface
      Severity: Minor
      Found in includes/AttogramUser.php by phpcodesniffer

      There are no issues that match your filters.

      Category
      Status