Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-07-04T21:43:41Zhttps://lab.civicrm.org/dev/core/-/issues/4405SearchKit: prevent Smarty parsing content in 'rewrite text'2023-07-04T21:43:41Zaydunsaidan.saunders@squiffle.ukSearchKit: prevent Smarty parsing content in 'rewrite text'Overview
----------------------------------------
The 'Rewrite Text' option in SearchKit tables allows use of Smarty, but Smarty attempts to parse the content of the tokens sometimes resulting in Smarty errors and no results being shown....Overview
----------------------------------------
The 'Rewrite Text' option in SearchKit tables allows use of Smarty, but Smarty attempts to parse the content of the tokens sometimes resulting in Smarty errors and no results being shown.
Reproduction steps
----------------------------------------
1. Create a SearchKit for Job Logs
1. Add `Description` and `Extended data`
1. Add a table with default fields
Check you have data!
1. Enable 'Rewrite Text' on `Description` or `Extended Data` - leave the tokens as provided.
Current behaviour
----------------------------------------
Depending on your job log content there may be no results showing.
My data included a description of `Finished execution of Civirules cron with result: Success (a:0:{}) `
The webserver log shows:
```
[Tue Jul 04 17:14:10.938281 2023] [php7:error] [pid 1081743] [client 127.0.0.1:42138] PHP Fatal error: Smarty error: [in string:Finished execution of Civirules cron with result: Success (a:0:{}) line 1]: syntax error: unrecognized tag: (Smarty_Compiler.class.php, line 440) in /opt/buildkit/build/adminui/web/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php on line 1100, referer: http://adminui.localhost/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsearch
```
Expected behaviour
----------------------------------------
The tokens should be displayed without Smarty attempting to parse the content.
And relatedly, if using 'Rewrite Text' to combine multiple fields, you may want to enable HTML (eg to add bold or line breaks) without having the token content itself rendered as HTML.
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __CiviCRM:__ _Master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
Comments
----------------------------------------https://lab.civicrm.org/dev/joomla/-/issues/51Undefined variable $store in Joomla.php on line 56 - CRM_Core_Permission_Joom...2023-11-02T16:39:03ZfatihatesUndefined variable $store in Joomla.php on line 56 - CRM_Core_Permission_Joomla errorI am experiencing an issue with Joomla integration while using CiviCRM. I am getting the following error on line 56 of the "Joomla.php" file:
PHP Warning: Undefined variable $store in /home/userxxx/public_html/administrator/components/c...I am experiencing an issue with Joomla integration while using CiviCRM. I am getting the following error on line 56 of the "Joomla.php" file:
PHP Warning: Undefined variable $store in /home/userxxx/public_html/administrator/components/com_civicrm/civicrm/CRM/Core/Permission/Joomla.php on line 56
![2023-07-01_-000893](/uploads/7f9d3143be6369d0e661fcd7cf91488b/2023-07-01_-000893.jpg)
This error indicates that the variable $store is not defined when trying to set the $api_key variable. However, I have noticed that I haven't previously defined the $store variable.
Relevant code snippet:
`$api_key = CRM_Utils_Request::retrieve('api_key', 'String', $store, FALSE, NULL, 'REQUEST');`
![2023-07-01_-000892](/uploads/deb142af3b7747f685ba3922c0b37347/2023-07-01_-000892.jpg)
I am seeking assistance with resolving this issue. How should I properly define the $store variable?
Any help with this would be greatly appreciated. Thank you in advance.
https://civicrm.stackexchange.com/questions/45184/undefined-variable-store-in-joomla-php-on-line-56-crm-core-permission-joomla
Best regards,https://lab.civicrm.org/dev/core/-/issues/4404Possibility to reuse the list of languages available for "Preferred language"2023-07-06T06:36:35ZquimgilPossibility to reuse the list of languages available for "Preferred language"Overview
----------------------------------------
Out of the box, CiviCRM comes with a full list of languages used for the field "Preferred language". Right now, there is no way to reuse this list in custom fields. Admins must create the...Overview
----------------------------------------
Out of the box, CiviCRM comes with a full list of languages used for the field "Preferred language". Right now, there is no way to reuse this list in custom fields. Admins must create their own list of languages manually or use different unsupported approaches to reuse the one CiviCRM already has.
Example use-case
----------------------------------------
An international organization working with volunteers wants to know in which languages they have basic, advanced, and native/professional fluency, in separate questions.
Current behaviour
----------------------------------------
The list of languages available in CiviCRM's database cannot be reused for custom fields.
Proposed behaviour
----------------------------------------
Make the "Preferred language" list of languages available to custom fields, just like you can create any list that is then available to other custom fields.
Comments
----------------------------------------
See examples of ad hoc solutions admins are recurring to on https://civicrm.stackexchange.com/questions/6604/how-to-reuse-preferred-language-selecthttps://lab.civicrm.org/dev/core/-/issues/4403SK / API 4 Explorer: event_queue_id, job id, bounce id, etc autocompletes don...2023-07-05T04:30:05ZlarsssandergreenSK / API 4 Explorer: event_queue_id, job id, bounce id, etc autocompletes don't workEdited as this issue is more general than I thought. Fairly minor issue, but:
In SK or API 4 Explorer, for mailing event id fields (event queue id, job id, bounce id, etc), the autocomplete fields don't work. No matter what you input, i...Edited as this issue is more general than I thought. Fairly minor issue, but:
In SK or API 4 Explorer, for mailing event id fields (event queue id, job id, bounce id, etc), the autocomplete fields don't work. No matter what you input, it shows `Loading failed` and you can't make a selection.
To replicate: Choose MailingEventBounce or similar, Where event_queue_id and =.https://lab.civicrm.org/dev/core/-/issues/4402Change unsupervised Household dedupe rule to email only2023-07-06T23:20:28ZlarsssandergreenChange unsupervised Household dedupe rule to email onlyAs @DaveD [pointed out](https://github.com/civicrm/civicrm-core/pull/26673#issuecomment-1613302861), the default unsupervised Household dedupe rule that matches on name or email doesn't make a lot of sense. Presumably, you could easily h...As @DaveD [pointed out](https://github.com/civicrm/civicrm-core/pull/26673#issuecomment-1613302861), the default unsupervised Household dedupe rule that matches on name or email doesn't make a lot of sense. Presumably, you could easily have multiple households with the name "Jones family" or similar in whatever format you choose for household names. You wouldn't want these to be merged automatically.
I think the easiest and clearest solution is only to merge households with the same email, but then that won't help those without emails. We could do something like threshold 20, email 20, name 10, street address 10, phone 10, but I'm not sure we gain much from that. We can keep name or email as the supervised rule.https://lab.civicrm.org/dev/core/-/issues/4401SearchKit - Report replacement - as a standard user without edit searchkit pe...2023-07-06T06:37:04ZsamuelsovSearchKit - Report replacement - as a standard user without edit searchkit permission, add a way to show/hide columns in table displayThere is already an [extension](https://lab.civicrm.org/extensions/search_kit_reports) that recreate the queries of core reports into SearchKit so admin/super user can customize and use them instead of report.
However, as a standard use...There is already an [extension](https://lab.civicrm.org/extensions/search_kit_reports) that recreate the queries of core reports into SearchKit so admin/super user can customize and use them instead of report.
However, as a standard user, edit a Searchkit is too complicated and reports is still the better option if we need to provide a lot of flexibility to users.
Currently, in Reports, standard user have access to customize :
- Columns - no way to do this in SK without editing the SK - hence the proposal
- Sorting - already there by clicking on the columns of the SK table
- Filters - already there by configuring them with FormBuilder
- Title and Format - don't think it is required
- Email delivery - missing, already documented in https://lab.civicrm.org/dev/core/-/issues/3478
So I think the main undocumented missing feature if we want to replace the reports is to have a way for a standard user to choose which columns to show/hide in a table display. It needs to apply to the screen and to the Download action.
As an example, I like the way new reports in Quickbooks works with the ability to switch each column on/off and as a bonus allow to change columns order :
![Rapport](/uploads/550ef9e7d7ffd1f19849b4034faa7765/Rapport.png)
As a first step, I don't think we need to save the user preferences but we will probably want to be able to do that / reset to default eventually.https://lab.civicrm.org/dev/core/-/issues/4400Export of contacts when filtering on custom field exports all contacts in dat...2023-07-06T06:37:41ZtjhellmannExport of contacts when filtering on custom field exports all contacts in databaseOverview
----------------------------------------
When I filter contacts from Advanced Search and select a custom field to filter on, in the next screen, the correct list and number of records comes up. From there if I select All [number...Overview
----------------------------------------
When I filter contacts from Advanced Search and select a custom field to filter on, in the next screen, the correct list and number of records comes up. From there if I select All [number of records] records and select Export contacts, the next screen also shows the correct number of contacts from the previous screen. But when I click 'continue' to export the records, the export contains all the records in the database. This does not happen when the list is filtered for non custom fields.
Reproduction steps
----------------------------------------
1. Visit Advanced Search
1. Select a custom field value as search criteria and click search
1. See expected search results. Now click All Records and Export Contacts.
2. On the next screen see that the expected number of contacts say they will be in the export. Click continue and all the contacts in the database are in the exported file.
Environment information
----------------------------------------
* __CiviCRM:__ 5.62.1
* __PHP:__ 8.0.29
* __CMS:__ Drupal 9.5.9
* __Database:__ MySQL 5.7.39https://lab.civicrm.org/dev/core/-/issues/4399Unable to merge incomplete memberships due to missing end_date2023-07-06T06:38:24Zfreeform.stephUnable to merge incomplete memberships due to missing end_dateWhen a contribution fails when purchasing a membership, a membership remains (as either pending or cancelled) that does not have an end date. When merging contacts any memberships are expected to have an end date.
`"UPDATE civicrm_membe...When a contribution fails when purchasing a membership, a membership remains (as either pending or cancelled) that does not have an end date. When merging contacts any memberships are expected to have an end date.
`"UPDATE civicrm_membership SET end_date = '' WHERE id=ID [nativecode=1292 ** Incorrect date value: '' for column `civicrm`.`civicrm_membership`.`end_date` at row 1]"`https://lab.civicrm.org/dev/core/-/issues/4398Mailing never starts2023-08-03T12:41:03ZphilmckMailing never startsOverview
----------------------------------------
_Please describe your problem or bug in detail._
Group emails from one of my CiviCRM installations are not being delivered (ever), which has caused some embarrassment. Messages can be com...Overview
----------------------------------------
_Please describe your problem or bug in detail._
Group emails from one of my CiviCRM installations are not being delivered (ever), which has caused some embarrassment. Messages can be composed as usual, but are never scheduled and there's no "runner" display. Pausing and restarting the mailing results in the status changing from "Scheduled" to "Running" and clicking "Report" shows the expected number of intended recipients but the "Successful Deliveries" count is always zero. In case it's relevant, I did notice that the option to send "immediately" is not selected by default (which I think it always is on sites that work), but it can be selected manually.
Obviously, I have enabled the "Send Scheduled Mailings" job and tried triggering that both manually and from a cron job. The log shows success but with a count of zero.
I have also tried obvious things like disabling all extensions, resetting caches and paths, comparing all settings with other installations that do work, searching the forums, bug reports and so on. I've checked that outgoing mail is configured correctly and I can send test emails. There's nothing in the error logs. Nothing makes any difference, it seems to be a bug.
The problem is reproducible in the sense that it's not intermittent, but I haven't been able to reproduce it on a clean installation.
I'd be prepared to move everything to a new installation to work around this but it's a heavily used instance with lots of contacts, invoices and so on and I know of no way to export all those and reimport them later to a working instance. Everything else seems to be working as usual.
Reproduction steps
----------------------------------------
1. Create a group containing some test contacts.
2. Go to **Mailing > New Mailing** and compose a test message, with the group from the previous step selected as Recipients.
3. Click **Send test** and check that a test message is correctly delivered.
4. Click **Next** then select **Immediately** or a date and time 5 minutes in the future.
5. Click **Submit Mailing**.
6. Wait for cron to run or go to **System Settings > Scheduled Jobs** and trigger **Send Scheduled Mailings**. Check that the result is success.
7. Check that the message is now in **Mailing > Scheduled and Sent Mailings**. Click **Report**. Observe that **Intended recipients** is not zero but **Successful deliveries** is always zero.
Current behaviour
----------------------------------------
_What happens currently. Please provide error messages, screenshots or gifs ([LICEcap](http://www.cockos.com/licecap/), [SilentCast](https://github.com/colinkeenan/silentcast)) where appropriate._
Nothing happens. No messages delivered, nothing in error logs.
Expected behaviour
----------------------------------------
_What should happen._
Messages are sent once the scheduled job is triggered, perhaps with a batch limit. Eventually the whole job completes and the status changes to "Completed".
Environment information
----------------------------------------
<!-- Some of the items below may not be relevant for every bug - if in doubt please include more information than you think is neccessary. -->
* __Browser:__ _Chrome 114.0.5735.135_
* __CiviCRM:__ _Master/5.62.1_
* __PHP:__ _8.1_
* __CMS:__ _WordPress 6.2.2 running on Ubuntu 22.04_
* __Database:__ _MariaDB 10.6.12_
* __Web Server:__ _OpenLiteSpeed 1.7.17_https://lab.civicrm.org/dev/core/-/issues/4397What should the Name and Address reserved general Individual dedupe rule do?2023-06-30T00:14:21ZlarsssandergreenWhat should the Name and Address reserved general Individual dedupe rule do?We have a reserved dedupe rule on new installs for Individuals called Name and Address.
What it actually does is matches contacts who have the same first name, last name and street address. What it claims to do is the following:
![image]...We have a reserved dedupe rule on new installs for Individuals called Name and Address.
What it actually does is matches contacts who have the same first name, last name and street address. What it claims to do is the following:
![image](/uploads/d427acb2b1c3ce07c994b68a2371ac62/image.png)
[This rule](https://github.com/civicrm/civicrm-core/blob/master/sql/civicrm_data/civicrm_dedupe_rule/IndividualGeneral.sqldata.php) also includes suffix_id and middle_name with weights of 1, which cannot influence the matches (threshold 15, all other items have weight 5), so these don't do anything.
There is a [hard-coded query](https://github.com/civicrm/civicrm-core/blob/master/CRM/Dedupe/BAO/QueryBuilder/IndividualGeneral.php) for this rule that should match up with the above (right now we are querying middle_name, suffix and birthdate for no reason, which is kind of ironic since this query claims to be optimized).
None of this has changed in at least ten years.
Personally, I don't think matching on first, last and street address is useful (as street addresses are often written slightly differently so are not that likely to match). Maybe we should just eliminate this reserved dedupe rule, since I can't see that it is used for anything. If not, maybe we should make it more useful by making it just first and last name. Or maybe there is some reason this is useful as is and we should simply make this all consistent so it just matches on first, last and address and nothing more.https://lab.civicrm.org/dev/core/-/issues/4396AdminUI: Allow searching by "LastName, FirstName" in Find Contacts2023-06-30T00:31:42ZlarsssandergreenAdminUI: Allow searching by "LastName, FirstName" in Find ContactsIt's great that we can now search by display name (FirstName LastName) in Find Contacts in AdminUI, however, it would be great if we could search by "LastName, FirstName" as well, since this is the standard that's used in CiviCRM (Find C...It's great that we can now search by display name (FirstName LastName) in Find Contacts in AdminUI, however, it would be great if we could search by "LastName, FirstName" as well, since this is the standard that's used in CiviCRM (Find Contacts, Quick Search, Advanced Search), so it's what users are used to. I know I've trained myself (and have trained our staff) to always use "LastName, FirstName".https://lab.civicrm.org/dev/core/-/issues/4395Token support to allow us to migrate sort_name, display_name, address formats...2023-06-28T07:10:08ZeileenToken support to allow us to migrate sort_name, display_name, address formats to tokensWe have a goal to get sort_name, display_name and address formats to resolve using the standard token system, at the same time as the greetings are resolved.
Unfortunately there are some things they support at the moment that our tokens...We have a goal to get sort_name, display_name and address formats to resolve using the standard token system, at the same time as the greetings are resolved.
Unfortunately there are some things they support at the moment that our tokens don't. Our tokens DO support the default filter
`{contact.first_name|default:"donor"}`
and they support the magic space - ie
`{contact.first_name}{ }{contact.last_name}`
which resolves a space in the above, but not if there is no last name.
However, in sort name there is a variant on the magic space we don't currently support in tokens - - ie
`{contact.last_name}{, }{contact.first_name}`
The regex that supports that actually removes the whole `{}` contents if the following tag is empty or renders the contents otherwise.
This is pretty hard to make compatible with smarty :-(, which is a requirement to standardise. So ideally we would
1) make the magic syntax support know usages (within reason) which so far are the magic space, the magic comma and this variant
`{contact.first_name}{ ~ }{contact.nick_name}{ ~ }{contact.last_name}`
2) add a system-check to highlight notify using variations of the magic syntax other than the 3 on our radar that they may not work in future upgrades if we don't add support & direct them to this ticket to comment & explain the use case
3) depending on the variations that come out of 2 add 'micro-conditional support'
Note micro-conditionals was an idea @totten came up with when we were spit-balling this - I've pasted his thoughts below
---------------------------------------------------------------------------------------------------------------------
micro-conditionals: special tokens that conditionally display a handful of symbols
```
---------
{contact.first_name} {contact.last_name} { ~ } {contact.nick_name}
{contact.last_name}{ }{contact.first_name}
{contact.last_name}{, }{contact.first_name}
{contact.first_name}{ (}{contact.nick_name}{) }{contact.last_name}
Dear {contact.first_name}{?friend},
----------
{contact.first_name contact.last_name " ~ " contact.nick_name}
{contact.last_name " " contact.first_name}
{contact.last_name ", " contact.first_name}
{contact.first_name " (" contact.nick_name ") " contact.last_name}
Dear {contact.first_name ?friend},
----------
{{{contact.first_name contact.last_name ~ contact.nick_name}}}
{{{contact.last_name contact.first_name}}}
{{{contact.last_name, contact.first_name}}}
{{{contact.first_name (contact.nick_name) contact.last_name}}}
Dear {{{contact.first_name??"friend"}}},
-------------
```
Also note - first draft of appropriate test https://github.com/civicrm/civicrm-core/pull/26637/files#diff-a5d237ba4e392d0e8ad764a535315f0b1101cc5ca61c39b4e572de42f5c6b4bchttps://lab.civicrm.org/dev/drupal/-/issues/188drupal 9: Event registration with drupal user creation crashes if using first...2023-06-28T07:09:49ZDaveDdrupal 9: Event registration with drupal user creation crashes if using first+last+email dedupe ruleThis is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as...This is pulled out from https://lab.civicrm.org/dev/drupal/-/issues/186 since it's not recent and while touching a similar code area it's not exactly the same.
Part of the problem here is it only sends on the email to createUser, but as in the other ticket it already has the contact id so it shouldn't need to do dedupe rules, it's just how to get that contact id to get passed on to synchronizeUFMatch: https://github.com/civicrm/civicrm-core/blob/c0a3d0e01a7d8df34786a1510d8a4661dffee82b/CRM/Event/Form/Registration.php#L807. Using $_POST is not great, but it needs to be something that gets passed on from the _drupal_ insert hook. And it would be nice to re-use whatever mechanism for the contact user add task too.https://lab.civicrm.org/dev/core/-/issues/4394CiviEvent: Could not find valid value for id2023-06-30T13:49:11ZguitarmanCiviEvent: Could not find valid value for idOverview
----------------------------------------
Event Participant registration stopped working.
After completing no matter which registration form and pressing the "register"-button, an error shows up.
Reproduction steps
------------...Overview
----------------------------------------
Event Participant registration stopped working.
After completing no matter which registration form and pressing the "register"-button, an error shows up.
Reproduction steps
----------------------------------------
1. Chose an event, click on "register"
2. Fill out the registration form and click on the "register"-button
3. Results in an error 500 / Could not find valid value for id.
Current behaviour
----------------------------------------
Registration doesn't work and results in the following error:
```
CRM_Core_Exception: Could not find valid value for id. in [DOMAIN]/administrator/components/com_civicrm/civicrm/CRM/Event/StateMachine/Registration.php on line 27
```
Expected behaviour
----------------------------------------
Registration should complete and the respective confirmation should be displaying.
Environment information
----------------------------------------
Joomla 3.10.11, PHP 7.4.33, CiviCRM 5.62.1
![exception-trace](/uploads/2cd7d5b63823aa2c70111a6bfa8ecaf9/exception-trace.jpg)
This is probably related to:
https://civicrm.stackexchange.com/questions/44719/could-not-find-valid-value-for-id
https://civicrm.stackexchange.com/questions/41578/could-not-find-valid-value-for-id-after-event-registration-on-wordpress-5-9-1
and most probably to https://lab.civicrm.org/dev/wordpress/-/issues/140https://lab.civicrm.org/dev/core/-/issues/4393Mailing and Outbound Mailings no longer available in SearchKit2023-06-26T21:41:48ZlarsssandergreenMailing and Outbound Mailings no longer available in SearchKitOn 5.62, you can select Mailings and Outbound Mailings in SearchKit. On dmaster, you no longer can.On 5.62, you can select Mailings and Outbound Mailings in SearchKit. On dmaster, you no longer can.https://lab.civicrm.org/dev/core/-/issues/4392tarballs not working in 5.63+2023-07-05T23:49:06ZDaveDtarballs not working in 5.63+There's a new sql/civicrm_data folder that isn't getting included, so the UI installer doesn't work.
@totten
Also the use of `{php}` may not work in all environments. I'd have to double check but it didn't used to work in a normal for...There's a new sql/civicrm_data folder that isn't getting included, so the UI installer doesn't work.
@totten
Also the use of `{php}` may not work in all environments. I'd have to double check but it didn't used to work in a normal form tpl, but this might be a different context.5.63.0https://lab.civicrm.org/dev/core/-/issues/4391Installing a core extension results in an error2023-08-08T22:21:49ZlarsssandergreenInstalling a core extension results in an errorIf you uninstall a core extension (e.g. CiviMail), when you re-install it, you get an error. It seems to still work, but not sure on the details. Not sure if this is technically a regression or not, but tagged as regression as this certa...If you uninstall a core extension (e.g. CiviMail), when you re-install it, you get an error. It seems to still work, but not sure on the details. Not sure if this is technically a regression or not, but tagged as regression as this certainly should work. On dmaster.
```
CRM_Core_Exception: DB Error: already exists in /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Admin/Form/Extensions.php on line 187
Exception trace
# Function Location
0 civicrm_api3('Extension', 'install', Array) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Admin/Form/Extensions.php:187
1 CRM_Admin_Form_Extensions->postProcess() /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Form.php:617
2 CRM_Core_Form->mainProcess() /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/StateMachine.php:144
3 CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), 'next', 'Next') /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Next.php:43
4 CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), 'next') /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php:203
5 HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), 'next') /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php:103
6 HTML_QuickForm_Page->handle('next') /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Controller.php:355
7 CRM_Core_Controller->run() /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Page/Basic.php:364
8 CRM_Core_Page_Basic->edit(1, null) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Page/Basic.php:170
9 CRM_Core_Page_Basic->run() /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Admin/Page/Extensions.php:105
10 CRM_Admin_Page_Extensions->run(Array, null) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Invoke.php:319
11 CRM_Core_Invoke::runItem(Array) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Invoke.php:69
12 CRM_Core_Invoke::_invoke(Array) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/CRM/Core/Invoke.php:36
13 CRM_Core_Invoke::invoke(Array) /Users/larssander-green/buildkit/build/drupaltest/web/sites/all/modules/civicrm/drupal/civicrm.module:471
14 civicrm_invoke('admin', 'extensions') /Users/larssander-green/buildkit/build/drupaltest/web/includes/menu.inc:527
15 menu_execute_active_handler() /Users/larssander-green/buildkit/build/drupaltest/web/index.php:21
16 {main}
```https://lab.civicrm.org/dev/core/-/issues/4390Multiple Participant Event Registration Issue2024-02-12T09:17:09ZChiplehMultiple Participant Event Registration Issue1. We can successfully submit a multi-participant event registration with custom data in the profiles with the dummy processor.
2. We cannot do so either with core Paypal Website Payments Pro or Stripe.
3. Removing any custom fields f...1. We can successfully submit a multi-participant event registration with custom data in the profiles with the dummy processor.
2. We cannot do so either with core Paypal Website Payments Pro or Stripe.
3. Removing any custom fields from the profiles allowed us to successfully submit a payment for the event with Stripe.
4. We can confirm the registration was charged correctly.
5. Something with payment processing (core Paypal Website Payments Pro and Stripe extension) is not working properly when custom fields have been added to the CiviEvent registration form.
6. This happens both in WordPress and Drupal 7. In WordPress, this occurs whether the registration form is accessed directly or embedded in a page via shortcode.
Details (site 1):
WordPress 6.2.1
CiviCRM ESR 5.57.4
Stripe Extension: 6.7.14
https://lab.civicrm.org/extensions/stripe
Firewall Extension: 1.5.7
https://lab.civicrm.org/extensions/firewall
Paypal Website Payments Pro (core integration)
PHP 8.0
Details (site 2):
Drupal 7.98
CiviCRM ESR 5.57.4
Paypal Website Payments Pro (core integration)
PHP 8.0
To replicate:
1. Add a custom field group to the event registration form.
2. Go to /civicrm/event/register/?reset=1&action=preview&id=[event_id] and test with multiple participants (2 or more), dummy card # appropriate for the payment processor, any CVV, any date in future
2. Critical error after submitting at the end.
WordPress error from log:
[debug] $backTrace = #0 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(441): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(CRM_Core_Exception))
#2 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke((Array:3))
#3 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/includes/civicrm.basepage.php(380): CiviCRM_For_WordPress->invoke()
#4 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))
#5 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, (Array:1))
#6 /home/XXXXXXXXXXX/www/www/wp-includes/plugin.php(565): WP_Hook->do_action((Array:1))
#7 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp.php(797): do_action_ref_array("wp", (Array:1))
#8 /home/XXXXXXXXXXX/www/www/wp-includes/functions.php(1334): WP->main("")
#9 /home/XXXXXXXXXXX/www/www/wp-blog-header.php(16): wp()
#10 /home/XXXXXXXXXXX/www/www/index.php(17): require("/home/XXXXXXXXXXX/www/www/wp-blog-header.php")
#11 {main}
Could this be an issue with PHP 8?
After reviewing the error log, we see:
Warning: Array to string conversion in /wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php on line 655
Fatal error: Uncaught TypeError: preg_match(): Argument #2 ($subject) must be of type string, array given in /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php:692 Stack trace: #0 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php(692): preg_match('/^custom_(\\d+)_...', Array, Array) #1 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php(655): CRM_Core_BAO_CustomField::getKeyID(Array) #2 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php(559): CRM_Contact_BAO_Query->buildParamsLookup() #3 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Contact/BAO/Query.php(524): CRM_Contact_BAO_Query->initialize(NULL) #4 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/BAO/Event.php(1696): CRM_Contact_BAO_Query->__construct(Array, Array, Array) #5 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Registration/Confirm.php(1178): CRM_Event_BAO_Event::displayProfile(Array, '263', Array, Array, Array) #6 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Event/Form/Registration/Confirm.php(273): CRM_Event_Form_Registration_Confirm::assignProfiles(Object(CRM_Event_Form_Registration_Confirm)) #7 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(689): CRM_Event_Form_Registration_Confirm->buildQuickForm() #8 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(120): CRM_Core_Form->buildForm() #9 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(43): CRM_Core_StateMachine->perform(Object(CRM_Event_Form_Registration_Confirm), 'next', 'Next') #10 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Event_Form_Registration_Confirm), 'next') #11 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_Registration_Confirm), 'next') #12 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle('next') #13 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(319): CRM_Core_Controller->run(Array, NULL) #14 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem(Array) #15 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke(Array) #16 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke(Array) #17 /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/includes/civicrm.basepage.php(380): CiviCRM_For_WordPress->invoke() #18 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP)) #19 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters(NULL, Array) #20 /home/XXXXXXXXXXX/www/www/wp-includes/plugin.php(565): WP_Hook->do_action(Array) #21 /home/XXXXXXXXXXX/www/www/wp-includes/class-wp.php(797): do_action_ref_array('wp', Array) #22 /home/XXXXXXXXXXX/www/www/wp-includes/functions.php(1334): WP->main('') #23 /home/XXXXXXXXXXX/www/www/wp-blog-header.php(16): wp() #24 /home/XXXXXXXXXXX/www/www/index.php(17): require('/home/harrisbur...') #25 {main} thrown in /home/XXXXXXXXXXX/www/www/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/CustomField.php on line 692
There has been a critical error on this website.5.71.0https://lab.civicrm.org/dev/core/-/issues/4389Can't import using contact id2023-08-03T12:40:09Zaydunsaidan.saunders@squiffle.ukCan't import using contact idOverview
----------------------------------------
`Contact id` cannot be selected as a field to match on when importing.
(I'm fairly certain this used to work, but don't know when it stopped.)
Reproduction steps
-----------------------...Overview
----------------------------------------
`Contact id` cannot be selected as a field to match on when importing.
(I'm fairly certain this used to work, but don't know when it stopped.)
Reproduction steps
----------------------------------------
1. Click on **Contacts -> Import Contacts**.
1. Upload a CSV with a 'contact id' column
1. Note that there is no option to select 'Contact ID' in the field mapping options.
Current behaviour
----------------------------------------
Can't match to existing contact using contact id.
Expected behaviour
----------------------------------------
Can match to existing contact using contact id.
Environment information
----------------------------------------
* __CiviCRM:__ master_ <!-- If this problem relates to an upgrade, then specify both old and new versions -->
Comments
----------------------------------------https://lab.civicrm.org/dev/core/-/issues/4388Order of constructor params for QuickForms2023-07-11T16:25:57Zluke.stewartOrder of constructor params for QuickFormsThere is a bit of chaos in param order here as encounted on related issue - is this something that we should be concerned about in this point of the lifecycle using Quickforms? Maybe if it's not broken we shouldn't fix?
Below list is a...There is a bit of chaos in param order here as encounted on related issue - is this something that we should be concerned about in this point of the lifecycle using Quickforms? Maybe if it's not broken we shouldn't fix?
Below list is a result of grep and then manual copy and paste and spacing to try and match up like orderings.
```
xbutton.php: function __construct($elementName = null, $elementContent = null, $attributes = null)
advmultiselect.php: function __construct($elementName = null, $elementLabel = null,
element.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
file.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
input.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
password.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
textarea.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
text.php: function __construct($elementName=null, $elementLabel=null, $attributes=null)
hiddenselect.php:function __construct($elementName=null, $elementLabel=null, $options=null, $attributes=null)
select.php: function __construct($elementName=null, $elementLabel=null, $options=null, $attributes=null)
autocomplete.php:function __construct($elementName=null, $elementLabel=null, $options=null, $attributes=null)
date.php: function __construct($elementName=null, $elementLabel=null, $options=array(), $attributes=null)
hierselect.php: function __construct($elementName=null, $elementLabel=null, $attributes=null, $separator=null)
static.php: function __construct($elementName=null, $elementLabel=null, $text=null)
checkbox.php: function __construct($elementName=null, $elementLabel=null, $text='', $attributes=null)
advcheckbox.php: function __construct($elementName=null, $elementLabel=null, $text=null, $attributes=null, $values=null)
radio.php: function __construct($elementName=null, $elementLabel=null, $text=null, $value=null, $attributes=null)
button.php: function __construct($elementName=null, $value=null, $attributes=null)
reset.php: function __construct($elementName=null, $value=null, $attributes=null)
submit.php: function __construct($elementName=null, $value=null, $attributes=null)
link.php: function __construct($elementName=null, $elementLabel=null, $href=null, $text=null, $attributes=null)
group.php: function __construct($elementName=null, $elementLabel=null, $elements=null, $separator=null, $appendName = true, $attributes = null)
image.php: function __construct($elementName=null, $src='', $attributes=null)
header.php: function __construct($elementName=null, $text = null)
hidden.php: function __construct($elementName=null, $value='', $attributes=null)
Page.php: function __construct($formName, $method = 'post', $target = '', $attributes = null)
Controller.php: function __construct($name, $modal = true)
html.php: function __construct($text = null)
```