wikimedia/mediawiki-extensions-DonationInterface

View on GitHub

Showing 275 of 311 total issues

Function setLocaleAndTranslations has 57 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    function setLocaleAndTranslations( config, localeFromServer ) {
        // Adyen supports the locales listed below, according to
        // https://docs.adyen.com/online-payments/classic-integrations/checkout-sdks/web-sdk/customization/localization/
        var adyenSupportedLocale = [
            'zh-CN', 'zh-TW', 'hr-HR', 'cs-CZ',
Severity: Major
Found in adyen_gateway/forms/adyen.js - About 2 hrs to fix

    Method filter has 57 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        private function filter() {
            $user_ip = $this->gateway_adapter->getData_Unstaged_Escaped( 'user_ip' );
    
            // Determine IP status before doing anything complex
            $wl = DataValidator::ip_is_listed( $user_ip, $this->gateway_adapter->getGlobal( 'IPAllowList' ) );
    Severity: Major
    Found in extras/session_velocity/session_velocity.body.php - About 2 hrs to fix

      Method chooseGatewayByPriority has 56 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function chooseGatewayByPriority( $supportedGateways, $params ) {
              $rules = $this->getConfig()->get( 'DonationInterfaceGatewayPriorityRules' );
      
              foreach ( $rules as $rule ) {
                  // Do our $params match all the conditions for this rule?
      Severity: Major
      Found in special/GatewayChooser.php - About 2 hrs to fix

        Method getQueueDonationMessage has 56 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            protected function getQueueDonationMessage(): array {
                $gatewayTxnId = $this->getData_Unstaged_Escaped( 'gateway_txn_id' );
                if ( $gatewayTxnId === null ) {
                    $gatewayTxnId = false;
                }
        Severity: Major
        Found in gateway_common/gateway.adapter.php - About 2 hrs to fix

          File GatewayChooser.php has 258 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          <?php
          
          /**
           * GatewayChooser acts as a gateway-agnostic landing page.
           * When passed a country, currency, and payment method combination, it determines the
          Severity: Minor
          Found in special/GatewayChooser.php - About 2 hrs to fix

            Method tuneForPaymentMethod has 54 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                protected function tuneForPaymentMethod() {
                    switch ( $this->getPaymentMethod() ) {
                        case 'dd':
                            $this->transactions['authorize']['request'] =
                                array_merge( $this->transactions['authorize']['request'], [
            Severity: Major
            Found in adyen_gateway/adyen_checkout.adapter.php - About 2 hrs to fix

              Method fallbackToDefaultCurrency has 54 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  protected function fallbackToDefaultCurrency() {
                      $defaultCurrency = null;
                      if ( $this->getGlobal( 'FallbackCurrencyByCountry' ) ) {
                          $country = $this->dataObj->getVal( 'country' );
                          if ( $country !== null ) {
              Severity: Major
              Found in gateway_common/gateway.adapter.php - About 2 hrs to fix

                Method doRecurringConversion has 54 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    public function doRecurringConversion(): PaymentResult {
                        $sessionData = $this->session_getData( 'Donor' );
                        if (
                            empty( $sessionData['recurring_payment_token'] ) ||
                            empty( $sessionData['gateway_txn_id'] )
                Severity: Major
                Found in gateway_common/RecurringConversionTrait.php - About 2 hrs to fix

                  Method getTemplateParams has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      protected function getTemplateParams() {
                          global $wgDonationInterfaceEmailFormHelpEmail, $wgDonationInterfaceRecurringDonateURL;
                  
                          $paramList = [
                              'campaign',
                  Severity: Major
                  Found in email_forms/EmailForm.php - About 2 hrs to fix

                    Method addFormFields has 53 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        protected function addFormFields( &$data ) {
                            // If any of these are required, show the address block
                            $address_fields = [
                                'city',
                                'state_province',
                    Severity: Major
                    Found in gateway_forms/Mustache.php - About 2 hrs to fix

                      Function getLocalizedValidationErrorResult has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
                      Open

                          protected function getLocalizedValidationErrorResult( array $validationErrors ): PaymentResult {
                              $localizedErrors = [];
                              foreach ( $validationErrors as $error ) {
                                  $field = $error->getField();
                                  $debugMessage = $error->getDebugMessage();
                      Severity: Minor
                      Found in braintree_gateway/braintree.adapter.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

                      Method addSubmethods has 51 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                          protected function addSubmethods( &$data ) {
                              if ( !$this->gatewayPage->showSubmethodButtons() ) {
                                  $data['show_submethods'] = false;
                                  return;
                              }
                      Severity: Major
                      Found in gateway_forms/Mustache.php - About 2 hrs to fix

                        Method getCleanTrackingData has 51 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                            public function getCleanTrackingData( $unset = false ) {
                                // define valid tracking fields
                                $tracking_fields = [
                                    'amount',
                                    'appeal',
                        Severity: Major
                        Found in gateway_common/DonationData.php - About 2 hrs to fix

                          Method displayResultsForDebug has 51 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                              protected function displayResultsForDebug( ?PaymentTransactionResponse $results = null ) {
                                  $results = !$results ? $this->adapter->getTransactionResponse() : $results;
                          
                                  if ( $this->adapter->getGlobal( 'DisplayDebug' ) !== true ) {
                                      return;
                          Severity: Major
                          Found in gateway_common/GatewayPage.php - About 2 hrs to fix

                            File adyen_submit_payment.api.php has 251 lines of code (exceeds 250 allowed). Consider refactoring.
                            Open

                            <?php
                            use SmashPig\Core\DataStores\QueueWrapper;
                            use SmashPig\Core\SequenceGenerators;
                            use SmashPig\Core\UtcDate;
                            use SmashPig\PaymentData\FinalStatus;
                            Severity: Minor
                            Found in adyen_gateway/adyen_submit_payment.api.php - About 2 hrs to fix

                              Method execute has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                  public function execute( $subpage ) {
                                      $this->setHeaders();
                                      $this->outputHeader();
                                      $out = $this->getOutput();
                              
                              
                              Severity: Minor
                              Found in special/EmailPreferences.php - About 2 hrs to fix

                                Method getSupportedGateways has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                    private function getSupportedGateways(
                                        string $country,
                                        ?string $currency,
                                        string $paymentMethod,
                                        ?string $paymentSubmethod,
                                Severity: Minor
                                Found in special/GatewayChooser.php - About 2 hrs to fix

                                  Method getLocalizedValidationErrorResult has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                      protected function getLocalizedValidationErrorResult( array $validationErrors ): PaymentResult {
                                          $localizedErrors = [];
                                          foreach ( $validationErrors as $error ) {
                                              $field = $error->getField();
                                              $debugMessage = $error->getDebugMessage();
                                  Severity: Minor
                                  Found in dlocal_gateway/dlocal.adapter.php - About 2 hrs to fix

                                    Method getLocalizedValidationErrorResult has 50 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                        protected function getLocalizedValidationErrorResult( array $validationErrors ): PaymentResult {
                                            $localizedErrors = [];
                                            foreach ( $validationErrors as $error ) {
                                                $field = $error->getField();
                                                $debugMessage = $error->getDebugMessage();
                                    Severity: Minor
                                    Found in gravy_gateway/gravy.adapter.php - About 2 hrs to fix

                                      Function validateAmount has 48 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                      window.validateAmount = function () {
                                          var error = true,
                                              amount = $( 'input[name="amount"]' ).val(), // get the amount
                                              currency = '',
                                              rates = mw.config.get( 'wgDonationInterfaceCurrencyRates' ),
                                      Severity: Minor
                                      Found in modules/validate_input.js - About 1 hr to fix
                                        Severity
                                        Category
                                        Status
                                        Source
                                        Language