CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2024-03-08T04:07:50Zhttps://lab.civicrm.org/dev/core/-/issues/5071TypeError when trying to use checkboxes with default non-membership options i...2024-03-08T04:07:50ZFrancis (Agileware)TypeError when trying to use checkboxes with default non-membership options in the Membership section of Contribution PagesOverview
----------------------------------------
If you have a PriceSet with a checkboxes field, that has default options set that **don't** have a membership type associated with them, trying to use it on a Contribution Page causes th...Overview
----------------------------------------
If you have a PriceSet with a checkboxes field, that has default options set that **don't** have a membership type associated with them, trying to use it on a Contribution Page causes that page to crash.
Observed on PHP 8.0, may not be an issue on 7.4 -
Reproduction steps
----------------------------------------
1. Create a membership price set
2. Include in this price set a Checkboxes fields with a default option that does not select a membership type, e.g.
Membership Type
[ ] General - $100
[ ] Student - $50
Be awesome
[ X ] Donate $150 to save the Northern White Rhino
3. Use this price set in the membership context of a Contribution page
4. View the contribution page on the front-end
Current behaviour
----------------------------------------
Contribution page does not load, crashes with TypeError:
```
PHP Fatal error: Uncaught TypeError: strtolower(): Argument #1 ($string) must be of type string, array given in /.../public_html/ontarget/wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php:1419
```
Backtrace shows this is called from `CRM_Contribute_Form_Contribution_Main->setDefaultValues()`:
https://github.com/civicrm/civicrm-core/blob/4b75775/CRM/Contribute/Form/Contribution/Main.php#L270
(Ref 4b75775 is master at time of this report)
Expected behaviour
----------------------------------------
Contribution page should load, with defaults for all fields correctly applied
Environment information
----------------------------------------
* __CiviCRM:__ _Master, 5.70.2_
* __PHP:__ _8.0+_
Comments
----------------------------------------
I have a working patch for this, however I'm not sure the approach is entirely correct. The code in question appears to be trying to insinuate a Membership Type ID for, again an option (PriceFieldValue) which doesn't specify a membership type. Perhaps this line could... just be removed?5.72.0https://lab.civicrm.org/dev/core/-/issues/5051Setting a default membership type in a contribution page has no effect2024-03-05T19:37:44ZUpperholmeSetting a default membership type in a contribution page has no effectRunning 5.70.1 and setting up a new contribution page as a membership sign-up form. I want the membership type to be pre-selected for users viewing the form (I am only offering one membership type on this form), so I tick the desired mem...Running 5.70.1 and setting up a new contribution page as a membership sign-up form. I want the membership type to be pre-selected for users viewing the form (I am only offering one membership type on this form), so I tick the desired membership type and set it as the default option in the form configuration (as an aside it seems to be the case that once a default is set it can't be unset).
However, when viewing the resulting form the membership type is not selected. I've checked and confirmed this behaviour on the wpmaster demo site.5.71.0https://lab.civicrm.org/dev/core/-/issues/5040Events - Registration Confirmation and Receipt (on-line) template fails to co...2024-03-12T00:54:25ZspalmstromEvents - Registration Confirmation and Receipt (on-line) template fails to compileOverview
----------------------------------------
The default `Events - Registration Confirmation and Receipt (on-line)` fails to compile, giving this error:
`"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..."...Overview
----------------------------------------
The default `Events - Registration Confirmation and Receipt (on-line)` fails to compile, giving this error:
`"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..." on line 471 "{capture assign=selfservice_preposition}{if 0 && > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}" - Unexpected "> ""`
|----------------------------------------------------------|
Reproduction steps
----------------------------------------
1. Attempt to register for an event.
1. Enter details.
1. Click on Review.
1. Click on Register.
1. You get an error message.
Current behaviour
----------------------------------------
This error message is generated internally, but was only visible when debugging because of [Call to SmartyCompilerException fails in <drupal root>/vendor/civicrm/civicrm-packages/smarty3/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on template compiler error.
](https://lab.civicrm.org/dev/core/-/issues/5039)
```
"Syntax error in template "eval:{crmScope extensionKey=""}<!DOCTYPE html..." on line 471 "{capture assign=selfservice_preposition}{if 0 && > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}" - Unexpected "> ""
```
Expected behaviour
----------------------------------------
You get a registration confirmation page.
Environment information
----------------------------------------
* __Browser:__ _MS Edge_ but probably irrelevant
* __CiviCRM:__ _5.70.1_
* __PHP:__ _8.3.1__
* __CMS:__ _Drupal 10.2.3_
* __Database:__ _MySQL 8.0.36_ but probably irrelevant.
* __Web Server:__ _IIS_ but probably irrelevant.
Comments
----------------------------------------
The 'offending' code is somewhere here, I suspect (lines 461 - 471) but I haven't been able to discover it.
```
{if {event.allow_selfcancelxfer|boolean}}
<tr>
<td colspan="2" {$valueStyle}>
{capture assign=selfservice_preposition}{if {event.selfcancelxfer_time|boolean} && {event.selfcancelxfer_time} > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}
{ts 1="{event.selfcancelxfer_time}" 2="$selfservice_preposition"}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts}
{if {contribution.paid_amount|boolean}}{ts}Cancellations are not refundable.{/ts}{/if}<br/>
{capture assign=selfService}{crmURL p='civicrm/event/selfsvcupdate' q="reset=1&pid={participant.id}&{contact.checksum}" h=0 a=1 fe=1}{/capture}
<a href="{$selfService}">{ts}Click here to transfer or cancel your registration.{/ts}</a>
</td>
</tr>
{/if}
```5.71.0https://lab.civicrm.org/dev/core/-/issues/5035Editing an unpaid event registration to add a partial payment crashes2024-02-26T22:27:11ZDaveDEditing an unpaid event registration to add a partial payment crashesI think this is at least semi-recent since I know one site that uses this workflow regularly.
1. Create a backend event registration.
2. Uncheck the record payment checkbox.
3. Save.
4. Edit the registration.
5. Check the record payment...I think this is at least semi-recent since I know one site that uses this workflow regularly.
1. Create a backend event registration.
2. Uncheck the record payment checkbox.
3. Save.
4. Edit the registration.
5. Check the record payment checkbox and put in a partial payment.
6. Crash - Mandatory key(s) missing from params array: trxn_date. Note that on edit the Contribution Date field in the payment section is blank, as opposed to when first creating it. But note also that entering a full payment does not crash.
`civicrm_api3('Payment', 'create', Array) at /CRM/Event/Form/Participant.php:1095`5.71.0https://lab.civicrm.org/dev/core/-/issues/5033Fatal error visiting event registration page with a disabled pricefield2024-02-28T17:30:52Zmagnolia61Fatal error visiting event registration page with a disabled pricefieldOverview
----------------------------------------
Opening a registration page with a priceset with one of the pricefields disabled results in a fatal error.
TypeError: Argument 1 passed to CRM_Event_Form_Registration::getUsedSeatsCount(...Overview
----------------------------------------
Opening a registration page with a priceset with one of the pricefields disabled results in a fatal error.
TypeError: Argument 1 passed to CRM_Event_Form_Registration::getUsedSeatsCount() must be of the type int, null given, called in /var/www/vhosts/xyz/web/sites/all/modules/civicrm/CRM/Event/Form/Registration.php on line 956 in CRM_Event_Form_Registration->getUsedSeatsCount() (line 1040 of /var/www/vhosts/xyz/web/sites/all/modules/civicrm/CRM/Event/Form/Registration.php).
The problem for us is somewhere in the function isOptionFullID.
Something in our priceset does not resolve to valid value for $optId = $option['id'];
when from IsOptionFullID the function getUsedSeatsCount is called it results in an error because it expects an int value for priceFieldValueID
protected function getUsedSeatsCount(int $priceFieldValueID) : int {
Reproduction steps
----------------------------------------
1. An event has a priceset with one of the pricefields disabled
2. Opening the registration page results in a fatal error
Current behaviour
----------------------------------------
![image](/uploads/041bb8c19666fc3f99c3f5bec78606bb/image.png)
![image](/uploads/2ff1b9c96e300515694d0a6930409328/image.png)
Expected behaviour
----------------------------------------
The registration page would show, with the pricefield disabled
Environment information
----------------------------------------
Current master / sandbox
Comments
----------------------------------------
My limited detective and coding skills enable me to reach this far, I have no clue on where to search further and what piece of code is the root cause of this.5.71.0https://lab.civicrm.org/dev/core/-/issues/5032Disabled Event Name Badge Layouts Are Not Disabled2024-02-26T18:57:41ZLKuttnerDisabled Event Name Badge Layouts Are Not DisabledWhen an Event Name Badge Layout is disabled in Administer > CiviEvent > Event Name Badge Layouts, the event name badge layout is marked as Enabled: No.
However when you view the Make Name Badges > Name Badge Format select list, the disab...When an Event Name Badge Layout is disabled in Administer > CiviEvent > Event Name Badge Layouts, the event name badge layout is marked as Enabled: No.
However when you view the Make Name Badges > Name Badge Format select list, the disabled name badge layout still appears in the list and can still be used. This behavior exists in CiviCRM 5.69.5 and has been this way in previous versions for quite a while.5.72.0https://lab.civicrm.org/dev/core/-/issues/5030Columns are misaligned on find participants results2024-02-24T22:10:31ZDaveDColumns are misaligned on find participants resultsI'm not sure if this is recent but seems like something I would have noticed before.
Columns to the right of Amount appear shifted to the right by one.
![untitled3](/uploads/c5254fe4deade1cc45002272980f4a6f/untitled3.png)I'm not sure if this is recent but seems like something I would have noticed before.
Columns to the right of Amount appear shifted to the right by one.
![untitled3](/uploads/c5254fe4deade1cc45002272980f4a6f/untitled3.png)5.72.0https://lab.civicrm.org/dev/core/-/issues/5029sms form missing tokens dropdown and save template section at bottom not hidd...2024-03-08T04:06:42ZDaveDsms form missing tokens dropdown and save template section at bottom not hidden properlyIn a "normal" environment the form isn't borked, but in my environment it seems to come from this change: https://github.com/civicrm/civicrm-core/pull/29429/commits/16b1692e4aebf478f39387ddabc08f1a2c2defae#diff-9a9c24bfd65521aa26fbb9fde3...In a "normal" environment the form isn't borked, but in my environment it seems to come from this change: https://github.com/civicrm/civicrm-core/pull/29429/commits/16b1692e4aebf478f39387ddabc08f1a2c2defae#diff-9a9c24bfd65521aa26fbb9fde3fd54d7a31331abebcb5e8e2a23b1a615bb500eL66
It works again if I put that line back.
The actual error seems to be `Undefined array key "templateSelected" in templates_c\en_US\%%C1\C1C\C1C61753%%InsertTokens.tpl.php on line 34`
This is when you choose the Send Outbound SMS action from the actions dropdown on a contact summary (who has a mobile phone).5.72.0https://lab.civicrm.org/dev/core/-/issues/5026Price Sets: total calculation wrong it decimal separator is different than "."2024-02-26T20:12:20ZmasettoPrice Sets: total calculation wrong it decimal separator is different than "."If I use price sets, when the decimal separator is "," and not "." the calculation of the total does not consider decimals.
Tested on dmaster:
![image](/uploads/beefe52fdfaeb4ff4ec06729528cfd25/image.png)
![image](/uploads/72de7f9df4...If I use price sets, when the decimal separator is "," and not "." the calculation of the total does not consider decimals.
Tested on dmaster:
![image](/uploads/beefe52fdfaeb4ff4ec06729528cfd25/image.png)
![image](/uploads/72de7f9df42afb6097e0e287c817c496/image.png)5.72.0https://lab.civicrm.org/dev/core/-/issues/5025Membership Receipt, online and offline no longer display the "Receipt Message...2024-03-01T00:05:44Zjustinfreeman (Agileware)Membership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at allMembership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at all.
Looks like the ne...Membership Receipt, online and offline no longer display the "Receipt Message" which was previously $receipt_text) in the Message Template. The default Message Templates now use $userText which is not being set at all.
Looks like the new variable should be $userEnteredText and not $userText from this commit. See https://github.com/civicrm/civicrm-core/commit/40bce8be4f6e64d7b4a3a5c65c361180d5fe197b#diff-a1c8943f991b49e1c885133fad3edc222523542e1ce97b89d7fbba222197000fR1840
I think this problem impacts the following Message Templates:
- membership_offline_receipt_text.tpl
- contribution_invoice_receipt_html.tpl
- contribution_online_receipt_html.tpl
- event_offline_receipt_html.tpl
- membership_online_receipt_html.tpl
Agileware Ref: CIVICRM-2217
Affects CiviCRM 5.69.3 to CiviCRM 5.70.05.71.0https://lab.civicrm.org/dev/core/-/issues/5021Edit message templates permission not working as expected2024-03-15T20:38:58Za.valllloveraEdit message templates permission not working as expected## Overview
Users without the `CiviCRM: edit message templates` permision, can update Templates via the `Print/Merge Document`.
## Reproduction steps
1. Assign a role without the `CiviCRM: edit message templates` permision to an **Use...## Overview
Users without the `CiviCRM: edit message templates` permision, can update Templates via the `Print/Merge Document`.
## Reproduction steps
1. Assign a role without the `CiviCRM: edit message templates` permision to an **User**
2. Log in with that **User** and get to any **Contact**.
3. Create a **Print/Merge Document** Activity.
4. Use an already created **Template**.
5. Modify it in the Document Body
6. It will appear the Check box Update and if the User select it, it will **Update** the Template
![image.png](/uploads/4c57e46478fd7ad9df9de98cd3b4104b/image.png)
## Expected behaviour
The checkbox that let you Update a Template shouldn't appear if the User doesn't have the `CiviCRM: edit message templates` permision.
## Environment information
* **CiviCRM:** _5.69.1_
* **CMS:** _Drupal 10_5.73.0https://lab.civicrm.org/dev/core/-/issues/5018Something messed up with ufgroup.name in 5.71 (aka can't create new contacts ...2024-02-21T04:27:44ZDaveDSomething messed up with ufgroup.name in 5.71 (aka can't create new contacts on the fly in entityref widgets)* For one, there's now two definitions of the name column in the schema xml.
* For two, I think what's happening is when you upgrade it borks the name of reserved groups if they didn't have a frontend_title (which seems likely if your in...* For one, there's now two definitions of the name column in the schema xml.
* For two, I think what's happening is when you upgrade it borks the name of reserved groups if they didn't have a frontend_title (which seems likely if your install is from around 5.63(?) or earlier), and at least one consequence of this is entityref widgets no longer allow creating new contacts on the fly.5.71.0https://lab.civicrm.org/dev/core/-/issues/5014Disabling premiums doesn't disable premiums2024-02-18T22:06:03ZJonGoldDisabling premiums doesn't disable premiumsIf you uncheck the **Premiums Section Enabled** checkbox on a contribution page, the premiums don't go away.
Replication steps and a fix available at https://github.com/civicrm/civicrm-core/pull/29420.If you uncheck the **Premiums Section Enabled** checkbox on a contribution page, the premiums don't go away.
Replication steps and a fix available at https://github.com/civicrm/civicrm-core/pull/29420.5.70.1JonGoldJonGoldhttps://lab.civicrm.org/dev/core/-/issues/5012Php 8.3 Calling get_parent_class() without arguments is deprecated2024-02-23T21:33:57ZsadashivPhp 8.3 Calling get_parent_class() without arguments is deprecatedOverview
----------------------------------------
Using civicrm 5.69.3, php 8.3, smarty 3 (using civicrm.settings.php)
Reproduction steps
----------------------------------------
1. Created a code snippet to send a simple simple email u...Overview
----------------------------------------
Using civicrm 5.69.3, php 8.3, smarty 3 (using civicrm.settings.php)
Reproduction steps
----------------------------------------
1. Created a code snippet to send a simple simple email using CRM_Utils_Mail::Send()
2. The html should have some tokens
3. In the received email I see above error
Current behaviour
----------------------------------------
Email has text as
Deprecated: Calling get_parent_class() without arguments is deprecated in /var/www/html/my_site/vendor/civicrm/civicrm-core/CRM/Core/SmartyCompatibility.php on line 148
Expected behaviour
----------------------------------------
No error should be reported in the email sendout.
Environment information
----------------------------------------
* __CiviCRM:__ 5.69.3
* __PHP:__ 8.3
* __CMS:__ Drupal 10.2.2
* __Database:__ _MySQL 8
* __Web Server:__ _Apache 2.45.70.1https://lab.civicrm.org/dev/core/-/issues/5010Add fields to mailing details report2024-02-15T16:19:18ZyashodhaAdd fields to mailing details reportExpose time stamp fields to mailing details report to show when the mailing was delivered.Expose time stamp fields to mailing details report to show when the mailing was delivered.5.72.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/5008[Enhancement] ContributionRecur edit activity should include more details2024-03-05T15:29:46ZElliott Eggleston[Enhancement] ContributionRecur edit activity should include more detailsOverview
----------------------------------------
When one edits a recurring contribution an activity is saved saying which user edited it. If the amount or the number of installments has been changed, that is included in the activity de...Overview
----------------------------------------
When one edits a recurring contribution an activity is saved saying which user edited it. If the amount or the number of installments has been changed, that is included in the activity details. However, no other changes are included (and the ContributionRecur row changes from log_contribution_recur are not in the contact change log), so it's impossible to tell in the UI if someone changed e.g. the next scheduled contribution date or the cycle day.
Example use-case
----------------------------------------
1. Edit a ContributionRecur
2. Look at the activity tab, and see all the changes you made
Current behaviour
----------------------------------------
Only changes to number of installments and amount are listed in the activity details
Proposed behaviour
----------------------------------------
Changes to other subscription properties are also listed in the activity details5.72.0https://lab.civicrm.org/dev/core/-/issues/5007Membership renewal page not selecting current membership level, but selecting...2024-02-23T21:33:32ZcomposerjkMembership renewal page not selecting current membership level, but selecting default insteadOverview
----------------------------------------
The membership contribution page for a renewal seems to select the default contribution membership level instead of the existing level for the user.
Mattermost [mention](https://chat.civ...Overview
----------------------------------------
The membership contribution page for a renewal seems to select the default contribution membership level instead of the existing level for the user.
Mattermost [mention](https://chat.civicrm.org/civicrm/pl/hinxqhmjofn3id6bu6cygj7dia) (but only that it happened).
Reproduction steps
----------------------------------------
1. Go to a join/renew Membership Contribution page link for an existing membership that has a level different than the default.
2. See that the default is selected even when the existing membership is at a different level.
Current behaviour
----------------------------------------
Here's an example on our site with a current `Full Membership` but seeing that `Contributing Membership` is selected (the current default when joining without a membership).
![civi-5.70.0-renewal-not-selecting-current-membership](/uploads/cbb84f3652f7ca430cbf4f0da97475eb/civi-5.70.0-renewal-not-selecting-current-membership.png)
Expected behaviour
----------------------------------------
The `Full Membership` radio button (in this case, button) should be selected, as that's the sample user's existing membership level.
Environment information
----------------------------------------
* __CiviCRM:__ 5.70.0 (but may have also started earlier)
* __PHP:__ 8.1.27
* __CMS:__ WordPress 6.4.3
* __Database:__ MariaDB 10.6.x5.70.1https://lab.civicrm.org/dev/core/-/issues/5006Regression - Events - Registration Confirmation and Receipt (on-line)2024-02-28T20:30:07ZsamuelsovRegression - Events - Registration Confirmation and Receipt (on-line)When doing an event receipt, we have this fatal error :
```
Message was not parsed due to invalid smarty syntax : Smarty error: [in evaluated template line 467]: syntax error: invalid attribute name: '=' (Smarty_Compiler.class.php, line ...When doing an event receipt, we have this fatal error :
```
Message was not parsed due to invalid smarty syntax : Smarty error: [in evaluated template line 467]: syntax error: invalid attribute name: '=' (Smarty_Compiler.class.php, line 1549)
```
I was able to track down this piece of template :
```
{if {event.allow_selfcancelxfer|boolean}}
<tr>
<td colspan="2" {$valueStyle}>
{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br/>
{capture assign=selfservice_preposition}{if {event.selfcancelxfer_time} > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}
{ts 1={event.selfcancelxfer_time} 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts}
{if {contribution.paid_amount|boolean}}{ts}Cancellations are not refundable.{/ts}{/if}<br/>
```
Recursive `{` is not working, at least on our instances so those are faulty :
- `{if {event.allow_selfcancelxfer|boolean}}`
- `{if {event.selfcancelxfer_time} > 0}`
- `{ts 1={event.selfcancelxfer_time} 2=$selfservice_preposition}`
Problem introduced in https://github.com/civicrm/civicrm-core/pull/276855.70.1https://lab.civicrm.org/dev/core/-/issues/4997Anonymous visitors cannot access a contribution page with financial type by A...2024-02-12T21:08:46ZandyburnsAnonymous visitors cannot access a contribution page with financial type by ACL enabledOn a vanilla WP 6.4.3 and CiviCRM 5.70 dummy site, enabling `Enable Access Control by Financial Type` results in the contribution page being inaccessible and redirects back to the home page.
The goal of using this feature is for back-e...On a vanilla WP 6.4.3 and CiviCRM 5.70 dummy site, enabling `Enable Access Control by Financial Type` results in the contribution page being inaccessible and redirects back to the home page.
The goal of using this feature is for back-end contribution access for different types of users.
![image.png](/uploads/bea2e67bd300271650dbef7de9267ba7/image.png)
* `add_contributions_of_type_donation` and `view_contributions_of_type_donation` permissions are given to the `anonymous_user` role.
* I've [hit this before](https://chat.civicrm.org/civicrm/pl/5wzfkebnebfutbi1o8orkxsh8c) but that was when these permissions were missing and I updated the [docs to reflect this requirement](https://docs.civicrm.org/user/en/latest/initial-set-up/permissions-and-access-control/#financial-type-permissions).
* Event Registration pages work without issue when the financial types are properly granted to the anonymous_user `add_contributions_of_type_event_fee` and `view_contributions_of_type_event_fee`
* I've reproduced this issue back to at least Civi 5.68. Last worked on 5.65.1. I'm sure others use this feature so odd I'm reporting but there you go.
## Anonymous User Permissions
* access_all_custom_data
* access_civimail_subscribe_unsubscribe_pages
* access_uploaded_files
* add_contributions_of_type_donation
* add_contributions_of_type_event_fee
* add_contributions_of_type_member_dues
* make_online_contributions
* profile_create
* profile_edit
* profile_view
* register_for_events
* sign_civicrm_petition
* view_contributions_of_type_donation
* view_contributions_of_type_event_fee
* view_contributions_of_type_member_dues
* view_event_info
* view_my_invoices
* view_public_civimail_content
## Backtrace error:
```plaintext
2024-02-09 19:16:28+0000 [debug] $API Request Authorization failed = #0 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(151): CRM_Core_Error::backtrace("API Request Authorization failed", TRUE)
#1 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/AbstractAction.php(256): Civi\API\Kernel->runRequest(Object(Civi\Api4\Generic\DAOGetAction))
#2 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/FinancialType.php(181): Civi\Api4\Generic\AbstractAction->execute()
#3 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Contribute/BAO/ContributionPage.php(822): CRM_Financial_BAO_FinancialType::getIncomeFinancialType(TRUE)
#4 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Utils/FormattingUtil.php(306): CRM_Contribute_BAO_ContributionPage::buildOptions("financial_type_id", "validate", (Array:2))
#5 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Utils/FormattingUtil.php(257): Civi\Api4\Utils\FormattingUtil::getPseudoconstantList((Array:37), "financial_type_id:name", (Array:2), "get")
#6 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Query/Api4SelectQuery.php(108): Civi\Api4\Utils\FormattingUtil::formatOutputValues((Array:2), (Array:48), "get", (Array:2))
#7 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/DAOGetAction.php(107): Civi\Api4\Query\Api4SelectQuery->run()
#8 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/DAOGetAction.php(94): Civi\Api4\Generic\DAOGetAction->getObjects(Object(Civi\Api4\Generic\Result))
#9 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Provider/ActionObjectProvider.php(72): Civi\Api4\Generic\DAOGetAction->_run(Object(Civi\Api4\Generic\Result))
#10 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(156): Civi\Api4\Provider\ActionObjectProvider->invoke(Object(Civi\Api4\Generic\DAOGetAction))
#11 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Api4/Generic/AbstractAction.php(256): Civi\API\Kernel->runRequest(Object(Civi\Api4\Generic\DAOGetAction))
#12 /home/user/example.org/wp-content/plugins/civicrm/civicrm/api/api.php(91): Civi\Api4\Generic\AbstractAction->execute()
#13 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/API/EntityLookupTrait.php(111): civicrm_api4("ContributionPage", "get", (Array:3))
#14 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Contribute/Form/ContributeFormTrait.php(81): CRM_Contribute_Form_ContributionBase->lookup("ContributionPage", "financial_type_id:name")
#15 /home/user/example.org/wp-content/plugins/civicrm/civicrm/ext/financialacls/financialacls.php(431): CRM_Contribute_Form_ContributionBase->getContributionPageValue("financial_type_id:name")
#16 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(276): financialacls_civicrm_preProcess("CRM_Contribute_Form_Contribution_Main", Object(CRM_Contribute_Form_Contribution_Main))
#17 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook/WordPress.php(136): CRM_Utils_Hook->runHooks((Array:16), "civicrm_preProcess", 2, "CRM_Contribute_Form_Contribution_Main", Object(CRM_Contribute_Form_Contribution_Main), NULL, NULL, NULL, NULL)
#18 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php(314): CRM_Utils_Hook_WordPress->invokeViaUF(2, "CRM_Contribute_Form_Contribution_Main", Object(CRM_Contribute_Form_Contribution_Main), NULL, NULL, NULL, NULL, "civicrm_preProcess")
#19 /home/user/example.org/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(251): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_preProcess", Object(Civi\Core\UnoptimizedEventDispatcher))
#20 /home/user/example.org/wp-content/plugins/civicrm/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners((Array:1), "hook_civicrm_preProcess", Object(Civi\Core\Event\GenericHookEvent))
#21 /home/user/example.org/wp-content/plugins/civicrm/civicrm/Civi/Core/CiviEventDispatcher.php(263): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_preProcess")
#22 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(168): Civi\Core\CiviEventDispatcher->dispatch("hook_civicrm_preProcess", Object(Civi\Core\Event\GenericHookEvent))
#23 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Utils/Hook.php(476): CRM_Utils_Hook->invoke((Array:2), "CRM_Contribute_Form_Contribution_Main", Object(CRM_Contribute_Form_Contribution_Main), NULL, NULL, NULL, NULL, "civicrm_preProcess")
#24 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(733): CRM_Utils_Hook::preProcess("CRM_Contribute_Form_Contribution_Main", Object(CRM_Contribute_Form_Contribution_Main))
#25 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php(76): CRM_Core_Form->buildForm()
#26 /home/user/example.org/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Contribute_Form_Contribution_Main), "display")
#27 /home/user/example.org/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_Contribution_Main), "display")
#28 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle("display")
#29 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(322): CRM_Core_Controller->run((Array:3), NULL)
#30 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:18))
#31 /home/user/example.org/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#32 /home/user/example.org/wp-content/plugins/civicrm/civicrm.php(1231): CRM_Core_Invoke::invoke((Array:3))
#33 /home/user/example.org/wp-content/plugins/civicrm/includes/civicrm.shortcodes.php(433): CiviCRM_For_WordPress->invoke()
#34 /home/user/example.org/wp-includes/shortcodes.php(433): CiviCRM_For_WordPress_Shortcodes->render_single((Array:5), "", "civicrm")
#35 [internal function](): do_shortcode_tag((Array:7))
#36 /home/user/example.org/wp-includes/shortcodes.php(273): preg_replace_callback("/\[(\[?)(civicrm)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\...", "do_shortcode_tag", "[civicrm component=\"contribution\" id=\"1\" action=\"transact\" mode=\"live\...")
#37 /home/user/example.org/wp-content/plugins/civicrm/includes/civicrm.shortcodes.php(232): do_shortcode("[civicrm component=\"contribution\" id=\"1\" action=\"transact\" mode=\"live\...")
#38 /home/user/example.org/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress_Shortcodes->prerender(Object(WP))
#39 /home/user/example.org/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, (Array:1))
#40 /home/user/example.org/wp-includes/plugin.php(565): WP_Hook->do_action((Array:1))
#41 /home/user/example.org/wp-includes/class-wp.php(830): do_action_ref_array("wp", (Array:1))
#42 /home/user/example.org/wp-includes/functions.php(1336): WP->main("")
#43 /home/user/example.org/wp-blog-header.php(16): wp()
#44 /home/user/example.org/index.php(17): require("/home/user/example.org/wp-blog-header.php")
#45 {main}
```
## System Info
PHP version 8.0.30
**Extensions**
* AuthX: Version 5.70.0
* CiviCampaign: Version 5.70.0
* CiviContribute: Version 5.70.0
* CiviEvent: Version 5.70.0
* CiviMail: Version 5.70.0
* CiviMember: Version 5.70.0
* CiviReport: Version 5.70.0
* CKEditor4: Version 5.70.0
* Financial ACLs: Version 5.70.0
* FlexMailer: Version 5.70.0
* Form Core: Version 5.70.0
* reCAPTCHA: Version 5.70.0
* SearchKit: Version 5.70.0
* Sequential credit notes: Version 5.70.0
* Theme: Greenwich: Version 5.70.0
Thoughts? Is there a missing setting or is this an actual bug?5.71.0https://lab.civicrm.org/dev/core/-/issues/49895.69.4>5 regression - Multiple currency issues in contribution page workflow2024-02-13T19:58:40ZJKingsnorth5.69.4>5 regression - Multiple currency issues in contribution page workflowTesting latest master we have multiple issues when setting a contribution page to a non-default currency.
In all the following examples I changed the currency of the contribution page to JPY.
---
1 - 'Confirm' and 'Thank You' pages sh...Testing latest master we have multiple issues when setting a contribution page to a non-default currency.
In all the following examples I changed the currency of the contribution page to JPY.
---
1 - 'Confirm' and 'Thank You' pages show default instead of contribution page set currency
![image](/uploads/cfd5a92065599d8c937b806e1289e508/image.png)
---
2 - 'currency' variable is not being set correctly in ContributionBase, which could be affecting client side payment processors?
![image](/uploads/bb16b6e00884f747dbf18f0f6aaa22eb/image.png)
'currencyID' uses the form _values, 'currency' is using the default site currency.5.70.1