owncloud/core

View on GitHub
lib/private/Files/Stream/Encryption.php

Summary

Maintainability
C
1 day
Test Coverage

File Encryption.php has 303 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php
/**
 * @author Björn Schießle <bjoern@schiessle.org>
 * @author jknockaert <jasper@knockaert.nl>
 * @author Lukas Reschke <lukas@statuscode.ch>
Severity: Minor
Found in lib/private/Files/Stream/Encryption.php - About 3 hrs to fix

    Method wrap has 17 arguments (exceeds 4 allowed). Consider refactoring.
    Open

            $source,
            $internalPath,
            $fullPath,
            array $header,
            $uid,
    Severity: Major
    Found in lib/private/Files/Stream/Encryption.php - About 2 hrs to fix

      Method stream_open has 37 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function stream_open($path, $mode, $options, &$opened_path) {
              $context = $this->loadContext('ocencryption');
      
              $this->position = 0;
              $this->cache = '';
      Severity: Minor
      Found in lib/private/Files/Stream/Encryption.php - About 1 hr to fix

        Method stream_write has 30 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public function stream_write($data) {
                $length = 0;
                // loop over $data to fit it in 6126 sized unencrypted blocks
                while (isset($data[0])) {
                    $remainingLength = \strlen($data);
        Severity: Minor
        Found in lib/private/Files/Stream/Encryption.php - About 1 hr to fix

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

              public function stream_seek($offset, $whence = SEEK_SET) {
                  $return = false;
          
                  switch ($whence) {
                      case SEEK_SET:
          Severity: Minor
          Found in lib/private/Files/Stream/Encryption.php - About 1 hr to fix

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

                public function stream_write($data) {
                    $length = 0;
                    // loop over $data to fit it in 6126 sized unencrypted blocks
                    while (isset($data[0])) {
                        $remainingLength = \strlen($data);
            Severity: Minor
            Found in lib/private/Files/Stream/Encryption.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 (
                        $mode === 'w'
                        || $mode === 'w+'
                        || $mode === 'wb'
                        || $mode === 'wb+'
            Severity: Major
            Found in lib/private/Files/Stream/Encryption.php - About 40 mins to fix

              Method wrapSource has 5 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  protected static function wrapSource($source, $context = [], $protocol = null, $class = null, $mode = 'r+') {
              Severity: Minor
              Found in lib/private/Files/Stream/Encryption.php - About 35 mins to fix

                Function stream_open has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function stream_open($path, $mode, $options, &$opened_path) {
                        $context = $this->loadContext('ocencryption');
                
                        $this->position = 0;
                        $this->cache = '';
                Severity: Minor
                Found in lib/private/Files/Stream/Encryption.php - About 35 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

                Function stream_seek has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function stream_seek($offset, $whence = SEEK_SET) {
                        $return = false;
                
                        switch ($whence) {
                            case SEEK_SET:
                Severity: Minor
                Found in lib/private/Files/Stream/Encryption.php - About 35 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

                There are no issues that match your filters.

                Category
                Status