zengenuity / civicrm_groupprice

CiviCRM extension that allows you to limit the display of individual prices in price sets to specific groups. This can be used to implement members-only pricing for events, as well as other use cases.
Other
3 stars 9 forks source link

buildAmount Fatal Error #17

Open rbaugh opened 7 months ago

rbaugh commented 7 months ago

It seems that during the load of a contribution, we were getting an error for passing in a null to the groupprice_getAcls function and then trying to use it as an int. This was breaking the contribution form as for a priceOption, that was being passed into the buildAmount hook callback within the price set options, was missing the id key.

$Fatal Error Details = array:3 [
  "message" => "One of parameters  (value: NULL) is not of the type Integer"
  "code" => null
  "exception" => CRM_Core_Exception {#26336
    #message: "One of parameters  (value: NULL) is not of the type Integer"
    #code: 0
    #file: "/home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Type.php"
    #line: 474
    #cause: null
    -_trace: null
    -errorData: array:1 [
      "error_code" => 0
    ]
    trace: {
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Type.php:474 {
        CRM_Utils_Type::validate($data, $type, $abort = true, $name = '…18')
        ›   $data = htmlentities($data ?? 'NULL');
        ›   throw new CRM_Core_Exception("$name (value: $data) is not of the type $type");
        › }
      }
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php:1756 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php:1636 { …}
      /home/www/wp-content/uploads/civicrm/ext/com.zengenuity.groupprice/groupprice.php:236 { …}
      /home/www/wp-content/uploads/civicrm/ext/com.zengenuity.groupprice/groupprice.php:112 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php:280 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook/WordPress.php:135 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php:318 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php:251 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php:73 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php:263 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php:168 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php:891 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/Order.php:704 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/Order.php:720 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/Order.php:641 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Contribute/Form/ContributionBase.php:699 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Contribute/Form/ContributionBase.php:1482 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Contribute/Form/ContributionBase.php:383 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Contribute/Form/Contribution/Main.php:96 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php:719 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php:76 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php:203 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php:103 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php:355 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:322 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69 { …}
      /home/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36 { …}
      /home/www/wp-content/plugins/civicrm/civicrm.php:1231 { …}
      /home/www/wp-content/plugins/civicrm/includes/civicrm.shortcodes.php:433 { …}
      /home/www/wp-includes/shortcodes.php:433 { …}
      do_shortcode_tag() {}
      /home/www/wp-includes/shortcodes.php:273 { …}
      /home/www/wp-content/plugins/cns-modules/src/class-membership.php:857 { …}
      /home/www/wp-includes/shortcodes.php:433 { …}
      do_shortcode_tag() {}
      /home/www/wp-includes/shortcodes.php:273 { …}
      /home/www/wp-includes/class-wp-hook.php:310 { …}
      /home/www/wp-includes/plugin.php:205 { …}
      /home/www/wp-includes/post-template.php:256 { …}
      /home/www/wp-content/themes/wp-foundation-six/template-parts/content-page.php:16 { …}
      /home/www/wp-includes/template.php:787 { …}
      /home/www/wp-includes/template.php:720 { …}
      /home/www/wp-includes/general-template.php:206 { …}
      /home/www/wp-content/themes/wp-foundation-six/page.php:39 { …}
      /home/www/wp-includes/template-loader.php:106 { …}
      /home/www/wp-blog-header.php:19 { …}
      /home/www/index.php:17 { …}
    }
  }
]
PHP Warning:  Undefined array key "id" in /home/www/wp-content/uploads/civicrm/ext/com.zengenuity.groupprice/groupprice.php on line 112