Development issueshttps://lab.civicrm.org/groups/dev/-/issues2023-11-03T05:03:19Zhttps://lab.civicrm.org/dev/core/-/issues/3015Undefined Index2023-11-03T05:03:19ZJoeMurrayUndefined IndexOverview
----------------------------------------
_Update multiple participants caused undefined index error on dmaster._
Reproduction steps
----------------------------------------
1. Create custom alphanumeric field for participants,...Overview
----------------------------------------
_Update multiple participants caused undefined index error on dmaster._
Reproduction steps
----------------------------------------
1. Create custom alphanumeric field for participants, eg add Idea to Food Preference custom field set on dmaster.
1. Create profile with just this new field, eg test.
1. Find all participants, select a couple, then choose Update multiple participants search results action.
1. Select profile created above. Click continue.
1. See Notice: Undefined index: size in CRM_Event_Form_Task_Batch->buildQuickForm() (line 108 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Event/Form/Task/Batch.php).
1. Note that the Idea field has a column but there is no field provided to enter data.
Current behaviour
----------------------------------------
![2022-01-03_11-51-42](/uploads/3b007e3aa61eb2b3cc00bd3d10e36360/2022-01-03_11-51-42.png)
Expected behaviour
----------------------------------------
No error. Ability to enter / edit data in Idea field.
Environment information
----------------------------------------
dmaster on mac chrome.EdselopezEdselopez2022-01-05https://lab.civicrm.org/dev/core/-/issues/5085Incorrect fee level saved when editing event participant2024-03-18T19:23:47Zchrisgaraffachris@aghstrategies.comIncorrect fee level saved when editing event participantOverview
----------------------------------------
Editing an event participant changes the fee level and amount listed, seemingly at random.
Reproduction steps
----------------------------------------
- Register a contact for an event ...Overview
----------------------------------------
Editing an event participant changes the fee level and amount listed, seemingly at random.
Reproduction steps
----------------------------------------
- Register a contact for an event that uses a price set for fees (I'm using Summer Solstice Day Concert from dmaster in this example). Doesn't matter if they register online or an admin adds their registration
- Select Bass - $ 25.00
- Save the event registration
- Edit the event registration
- Change nothing
- Click Save
Current behaviour
----------------------------------------
The Fee level on the participant changes to something else - the specific value seems random on the first save, then doesn't seem to change.
Settings for adding the event registration:
![image](/uploads/04829e0ca7f423daf94a29b56883da07/image.png)
Display after creating the registration:
![image](/uploads/028cb9da80776075397f2df2541ee7a5/image.png)
Display after editing the registration, changing nothing, and saving:
![image](/uploads/5e63e0f24e9de983944a6c0e5873e577/image.png)
Expected behaviour
----------------------------------------
The fee level shouldn't change
Environment information
----------------------------------------
* __CiviCRM:__ Reproduced on 5.70.2, 5.71.0, dmaster (5.73.alpha1)https://lab.civicrm.org/dev/core/-/issues/5081Event Online Receipt can yield Smarty error2024-03-12T19:26:34ZJonGoldEvent Online Receipt can yield Smarty errorCurrently, the `selfcancelxfer_time` field in Civi can be `NULL`. But if it's set to `NULL` then submitting an online event registration crashes because you can't compare it to an integer in this template line in `event_reg_online`:
```...Currently, the `selfcancelxfer_time` field in Civi can be `NULL`. But if it's set to `NULL` then submitting an online event registration crashes because you can't compare it to an integer in this template line in `event_reg_online`:
```
{capture assign=selfservice_preposition}{if {event.selfcancelxfer_time|boolean} && {event.selfcancelxfer_time} > 0}{ts}before{/ts}{else}{ts}after{/ts}{/if}{/capture}
```https://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/4904"unreachable code price set is always set here"2024-02-07T18:46:09ZDaveD"unreachable code price set is always set here"I'm trying to review https://github.com/civicrm/civicrm-core/pull/28399 - event approval isn't a workflow I use anywhere. After doing the online reg, this comes up:
`unreachable code price set is always set here - passed as a hidden fie...I'm trying to review https://github.com/civicrm/civicrm-core/pull/28399 - event approval isn't a workflow I use anywhere. After doing the online reg, this comes up:
`unreachable code price set is always set here - passed as a hidden field although we could just load... Caller: CRM_Core_Form::mainProcess`
This is with the default rainforest event but with the extra participant statuses enabled and then approval turned on for the online registration.5.71.0eileeneileenhttps://lab.civicrm.org/dev/core/-/issues/4896Conflict between cividiscount and public registrations2024-01-10T00:01:31ZtottenConflict between cividiscount and public registrationsOverview
----------------------------------------
There appears to be some conflict between CiviCRM 5.70-rc and cividiscount 3.8.9. I have not examined sufficiently to determine which one should be updated.
Reproduction steps
---------...Overview
----------------------------------------
There appears to be some conflict between CiviCRM 5.70-rc and cividiscount 3.8.9. I have not examined sufficiently to determine which one should be updated.
Reproduction steps
----------------------------------------
1. Install CiviCRM 5.70 and cividiscount 3.8.9 (current master, via git)
1. Create a free event with online registration. (I disabled confirmation-web-page and enabled conformation-email, FWIW.)
1. In a new/private window:
1. Open the event info page (`civicrm/event/info?reset=1&id=7`)
1. Open the event registration page (`civicrm/event/register?id=7&reset=1`)
Current behaviour
----------------------------------------
`civicrm/event/info` works but `civicrm/event/register` raises an error:
```
ReflectionException: "Property CRM_Event_Form_Registration_Register::$_contactID does not exist"
#0 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Form.php(2114): ReflectionProperty->__construct(Object(CRM_Event_Form_Registration_Register), "_contactID")
#1 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/tools/extensions/cividiscount/cividiscount.php(453): CRM_Core_Form->getVar("_contactID")
#2 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/tools/extensions/cividiscount/cividiscount.php(95): _cividiscount_get_form_contact_id(Object(CRM_Event_Form_Registration_Register))
#3 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(276): cividiscount_civicrm_buildForm("CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register))
#4 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook/DrupalBase.php(73): CRM_Utils_Hook->runHooks((Array:60), "civicrm_buildForm", 2, "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL)
#5 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(314): CRM_Utils_Hook_DrupalBase->invokeViaUF(2, "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL, "civicrm_buildForm")
#6 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(251): Civi\Core\CiviEventDispatcher::delegateToUF(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_buildForm", Object(Civi\Core\UnoptimizedEventDispatcher))
#7 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/symfony/event-dispatcher/EventDispatcher.php(73): Symfony\Component\EventDispatcher\EventDispatcher->callListeners((Array:1), "hook_civicrm_buildForm", Object(Civi\Core\Event\GenericHookEvent))
#8 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/Civi/Core/CiviEventDispatcher.php(263): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Civi\Core\Event\GenericHookEvent), "hook_civicrm_buildForm")
#9 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(168): Civi\Core\CiviEventDispatcher->dispatch("hook_civicrm_buildForm", Object(Civi\Core\Event\GenericHookEvent))
#10 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(495): CRM_Utils_Hook->invoke((Array:2), "CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register), NULL, NULL, NULL, NULL, "civicrm_buildForm")
#11 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Form.php(766): CRM_Utils_Hook::buildForm("CRM_Event_Form_Registration_Register", Object(CRM_Event_Form_Registration_Register))
#12 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(76): CRM_Core_Form->buildForm()
#13 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Event_Form_Registration_Register), "display")
#14 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_Registration_Register), "display")
#15 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle("display")
#16 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(322): CRM_Core_Controller->run((Array:3), NULL)
#17 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem((Array:18))
#18 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:3))
#19 /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/drupal/civicrm.module(472): CRM_Core_Invoke::invoke((Array:3))
#20 /Users/totten/bknix/build/dmaster/web/includes/menu.inc(527): civicrm_invoke("event", "register")
#21 /Users/totten/bknix/build/dmaster/web/index.php(24): menu_execute_active_handler()
#22 {main}
```
Expected behaviour
----------------------------------------
Show registration screen
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:__ Firefox
* __CiviCRM:__ 5.70-rc
* __PHP:__ 8.1
* __CMS:__ D7
* __Database:__ MySQL 5.7
* __Web Server:__ Apachehttps://lab.civicrm.org/dev/core/-/issues/4860VTIMEZONE block in ICS file publishes DSTART in wrong timezone2024-01-17T23:01:42ZjamieVTIMEZONE block in ICS file publishes DSTART in wrong timezoneA lot of great work went into fixing our ICS timezone support in #2887!
But, I _think_ there is still one small problem with timezone support.
I'm testing with the ICS file generated by the Montreal Developer Training on February 26th ...A lot of great work went into fixing our ICS timezone support in #2887!
But, I _think_ there is still one small problem with timezone support.
I'm testing with the ICS file generated by the Montreal Developer Training on February 26th (https://civicrm.org/civicrm/event/ical?reset=1&id=1745). The event is supposed to start at 9:00 AM America/New_York time.
I'm using Thunderbird. I have my Thunderbird timezone set to America/Los_Angeles. It's important to set your calendar timezone to a timezone that does not match the event time zone to replicate the problem.
When I import the ICS file, my calendar shows it as starting at 1:00 am America/Los_Angeles time, which would be 4:00 am America/New_York time. The reason it's off is because Thunderbird percieves the correct time to be 9:00 am UTC rather than 9:00 am America/New_York.
Here are the relevant parts of the ICS file.
First, the timezone is defined:
```
BEGIN:VTIMEZONE
TZID:America/New_York
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0500
TZNAME:EST
DTSTART:20240226T140000
END:STANDARD
END:VTIMEZONE
```
Then, the event date start is defined:
```
TSTAMP;TZID=America/New_York:20240226T090000
DTSTART;TZID=America/New_York:20240226T090000
DTEND;TZID=America/New_York:20240227T170000
```
The problem is with the timezone definition, specifically:
`DTSTART:20240226T140000`
This represents the start time in UTC. But, the [standards](https://www.rfc-editor.org/rfc/rfc5545#section-3.6.5) says:
> The mandatory "DTSTART" property gives the effective onset date
and local time for the time zone sub-component definition.
"DTSTART" in this usage MUST be specified as a date with a local
time value.
In other words, it should be the local time, not UTC. In this case: `DTSTART:20240226T090000`.
Making that adjustment causes it to import properly in Thunderbird.
I'm happy to work on this, but would love some feedback to make sure I'm not offbase on anything. I know @justinfreeman did a lot of work on this in #2887 so maybe has some thoughts.5.71.0https://lab.civicrm.org/dev/core/-/issues/4789Custom entity reference field on event can't be edited post creation2024-02-09T01:48:11Ztoby-fzCustom entity reference field on event can't be edited post creationOverview
----------------------------------------
I was trying to create an event with a custom field of type entity reference on CiviCRM 5.67.beta1 and after I set that when I went back to view it, the field was empty again (but still s...Overview
----------------------------------------
I was trying to create an event with a custom field of type entity reference on CiviCRM 5.67.beta1 and after I set that when I went back to view it, the field was empty again (but still set in the database). When I went to test on dmaster I could view the field fine after setting it initially but if I tried to change it I would get an infinite loading screen. See the steps below.
I'm not sure if this issue and my original issue are related or not.
Reproduction steps
----------------------------------------
Create a new custom field of type entity reference, for events.
Create a new event
Edit that event and try to change the contact in the entity reference field
It loads infinitely.
Current behaviour
----------------------------------------
Trying to change the contact in the entity reference and it won't stop loading
![image](/uploads/33344d5c1c6b518da67ca2e3fe663072/image.png)
I tried to add the logviewer ext to see the logs on dmaster but it didn't seem to be able to access them5.71.0https://lab.civicrm.org/dev/core/-/issues/4735Event Registration Error on Wordpress 6.3.1 Civi 5.63.4 "Could not find valid...2023-12-06T16:06:38Zdarren.woodsEvent Registration Error on Wordpress 6.3.1 Civi 5.63.4 "Could not find valid value for id"Overview
----------------------------------------
When registering for an event, users do not see the configured thank you messge, but instead are shown the error: "Could not find valid value for id"
https://civicrm.stackexchange.com/qu...Overview
----------------------------------------
When registering for an event, users do not see the configured thank you messge, but instead are shown the error: "Could not find valid value for id"
https://civicrm.stackexchange.com/questions/45729/event-registration-error-on-wordpress-6-3-1-civi-5-63-4-could-not-find-valid-va
Reproduction steps
----------------------------------------
1. Configure an event with free online registration and a thankyou message.
2. Register for the event from the event info page.
Current behaviour
----------------------------------------
Users are shown an error: "Could not find valid value for id"
Expected behaviour
----------------------------------------
Thank you message configured in the event should be shown.
Environment information
----------------------------------------
* __Browser: Browser independent.
* __CiviCRM: 5.63.4
* __PHP: 8.1
* __CMS: WordPress 6.3.1
* __Database: MariaDB
* __Web Server: Nginx
Comments
----------------------------------------
This only happens with registering for events using the Civi event info page. If you embed a shortcode for the specific event in a WordPress page then the error is not shown.https://lab.civicrm.org/dev/core/-/issues/4551Single quote in "public" event page title throws smarty error on receipt2023-09-19T14:02:11ZelilisseckSingle quote in "public" event page title throws smarty error on receiptOverview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross m...Overview
----------------------------------------
Reproduced on a blank 5.64.2 buildkit site. If a contribution page has a single quote in the title, is set to "is_share", and has receipts on, a user registering will receive this gross message during the registration process:
![image](/uploads/e105ff57ae8d9ea64bf4d30b81f08b35/image.png)
Reproduction steps
----------------------------------------
1. On 5.64.0+ add (or edit) an event page to have a single quote in the page title such as `What's a quote doing here`
2. Check off "is_share" and turn on receipt emails.
3. Run through a registration on the front-end to observe the issue.
Comments
----------------------------------------
It looks like maybe this commit introduced this but it's hard to follow: https://github.com/civicrm/civicrm-core/commit/e90b263a9ccd7c8106c98f5f7f82d4b267820f43#diff-2652c5ed241e0c2a68dc79d97ce2b6056ad2bc8ce37aee9bce8dd69678a160a8L167
Either way the issue is coming from this line in the workflow message template `{include file="CRM/common/SocialNetwork.tpl" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}` where the event title needs to have single quotes escaped or something of that nature to make it through smarty.5.65.0https://lab.civicrm.org/dev/core/-/issues/4545Events - Self service and change options after initial registration2023-09-06T13:20:42ZtreseroEvents - Self service and change options after initial registrationThis is a common scenario, and I'm not sure why CiviEvents doesn't support it.
Scenario 1: Joe signs up for a multi-day event and pays for the registration. A month later, the event organizers add a golf tournament fundraiser option, Jo...This is a common scenario, and I'm not sure why CiviEvents doesn't support it.
Scenario 1: Joe signs up for a multi-day event and pays for the registration. A month later, the event organizers add a golf tournament fundraiser option, Joe wants to add this to his registration.
Scenario 2: Joe now realizes that he wants to add his wife.
Scenario 3: Joe's friend Jeff wants to go, and also play golf.
You get the idea.
As Events is now, there is no way to adjust your registration and it has to be done manually. That is not an option for 700 - 800 registrations run by all volunteers (i.e. we don't have any paid staff). Another issue is we can't make the payment required as it would have to be paid when there is a "new" change. Making it optional, well, you can see the problem.
My thinking would be to look up email, or something and populate the form etc. We already require them to create a wordpress account so that could also be used. It's just not there.
Also, we have 25,000+ constituents that were imported from a legacy system. They don't have any accounts, but it would be nice if there were a way to match emails (where possible, I know not all have updated/current emails), but this is a less important scenario.
I have coding skills, but as we are all volunteers, I don't have much time. There is some money to budget for a developer. All code will be added back to the public.
![image.png](/uploads/9e7d2100f9b61ee6b871d0467d58338d/image.png)
As you can see, this is an example. Of course, none is not an option. but if we added other additions, or they want to add another person, it has to be manually done.https://lab.civicrm.org/dev/core/-/issues/4541Membership renewal on Feb 29 of a leap year is calculated incorrectly2023-08-29T19:23:09ZlarsssandergreenMembership renewal on Feb 29 of a leap year is calculated incorrectlyOr it doesn't match what the test expects, anyways.
Basically, the [membership renewal here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/CRM/Member/BAO/MembershipType.php#L524) in CRM_Member_BAO...Or it doesn't match what the test expects, anyways.
Basically, the [membership renewal here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/CRM/Member/BAO/MembershipType.php#L524) in CRM_Member_BAO_MembershipType::getRenewalDatesForMembershipType() will renew a membership that expires on Feb 29 for one year and set the new expiry date to Feb 28. But the [test here](https://github.com/civicrm/civicrm-core/blob/bb49a5de4a1630e57e91e3618c370bc075a793b5/tests/phpunit/CRM/Member/BAO/MembershipTest.php#L518) in CRM_Member_BAO_MembershipTest::testRenewMembership() thinks the membership should expire on Mar 1, which is actually more reasonable.
The problem is the kind of funky add one day and then subtract it later after adding a membership period logic, which doesn't make sense in this case as Feb 29 exists one year, but not the next.https://lab.civicrm.org/dev/core/-/issues/4456Saving event with custom file field gives fatal error2024-02-07T19:47:09ZwouterhSaving event with custom file field gives fatal error1. Create a file field for event(s).
1. Go to an existing event containing this custom file field – Press save.
1. Red alert box "network error" and the custom fields don't display.
`TypeError: Cannot access offset of type string on st...1. Create a file field for event(s).
1. Go to an existing event containing this custom file field – Press save.
1. Red alert box "network error" and the custom fields don't display.
`TypeError: Cannot access offset of type string on string in include() (regel 59 van /var/www/html/web/sites/default/files/civicrm/templates_c/nl_NL/%%1D/1DB/1DB03A28%%CustomField.tpl.php).`
Using CiviCRM 5.62.0 & PHP 8. Doesn't happen in PHP 7.5.71.0https://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/4377Don't allow scheduled reminders for events to also include groups2023-09-02T05:11:52ZlarsssandergreenDon't allow scheduled reminders for events to also include groupsEdit: See discussion below, this doesn't actually work anyways.
If a user is able to edit events and has access to a particular group, they can add that group to a scheduled reminder for an event with Also include. It doesn't seem like ...Edit: See discussion below, this doesn't actually work anyways.
If a user is able to edit events and has access to a particular group, they can add that group to a scheduled reminder for an event with Also include. It doesn't seem like a good idea to let users scheduled a reminder to potentially a very large number of contacts via an event scheduled reminder, which is intended to email participants for an event.
I can see the case for also including manually selected contacts, but also including groups seems dangerous and an invitation for mistakes. If a user needs to send a scheduled reminder to a group, they would probably be better off using a mailing or a separate scheduled reminder.
Proposal: Disable the Also include > Select Group option in scheduled reminders for events.https://lab.civicrm.org/dev/core/-/issues/4326Notice errors on backoffice event registration2023-06-09T23:38:52ZJoeMurrayNotice errors on backoffice event registrationOverview
----------------------------------------
_Register a participant in backoffice. See notice errors._
Reproduction steps
----------------------------------------
1. On dmaster, click on **Events -> Register Event Participant**.
1...Overview
----------------------------------------
_Register a participant in backoffice. See notice errors._
Reproduction steps
----------------------------------------
1. On dmaster, click on **Events -> Register Event Participant**.
1. Select a contact, event fall fundraiser dinner, click **Save**.
1. Get three copies for different line numbers of "Notice: Trying to get property '_id' of non-object in CRM_Event_Form_Participant::formRule()".
Current behaviour
----------------------------------------
![2023-05-31_12-59-37](/uploads/b2ec1cad1728b29ecc09742cd557d759/2023-05-31_12-59-37.png)
```
Notice: Trying to get property '_id' of non-object in CRM_Event_Form_Participant::formRule() (line 825 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Event/Form/Participant.php).
Notice: Trying to get property '_id' of non-object in CRM_Event_Form_Participant::formRule() (line 828 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Event/Form/Participant.php).
Notice: Trying to get property '_action' of non-object in CRM_Event_Form_Participant::formRule() (line 836 of /srv/buildkit/build/dmaster/web/sites/all/modules/civicrm/CRM/Event/Form/Participant.php).
```
Note: happens when recording payment and when not recording payment.
Expected behaviour
----------------------------------------
_No notice errors_
Environment information
----------------------------------------
dmaster
Comments
----------------------------------------
_Anything else you would like the reviewer to note._5.63.0Monish DebMonish Debhttps://lab.civicrm.org/dev/wordpress/-/issues/140Event registration confirmation page no longer shown. Error: Could not find v...2023-12-07T09:30:02Zdarren.woodsEvent registration confirmation page no longer shown. Error: Could not find valid value for id.WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The ...WordPress 6.2, Civi ESR 5.57.5.
The confirmation page after event registration is no longer shown (for both Test and Live links). Instead, the attached error is shown:-
![image](/uploads/602b80ebba49507af86158d362c9b164/image.png)
The workaround is to embed the event registration page as a shortcode. However the confirmation page and confirmation emails show a link to the event info page, which then has the "Register" button taking people to the wrong page.
I'm wondering if this can be fixed, or if we need to override the confirmation and event info pages somehow to redirect users to the WordPress page (perhaps using a naming convention).
Thanks!https://lab.civicrm.org/dev/core/-/issues/4260CiviEvent: Submit button has wrong label in online registrations with multipl...2023-07-05T23:48:38ZAndreasandreas.howiller@civiservice.deCiviEvent: Submit button has wrong label in online registrations with multiple participants (on free events without confirmation screen)Overview
----------------------------------------
On a registration page for an event that allows multiple attendees, the submit button is labelled "Review" instead of "Register" though confirmation screen is disabled and event has no f...Overview
----------------------------------------
On a registration page for an event that allows multiple attendees, the submit button is labelled "Review" instead of "Register" though confirmation screen is disabled and event has no fees:
![grafik](/uploads/212957e4dfcbd9d321ff468009e9fce7/grafik.png)
Reproduction steps
----------------------------------------
1. Create a event free of charge with online registration
1. Enable checkbox "Register multiple participants?"
1. Try out registration page
Current behaviour
----------------------------------------
1. Button is labelled "Review" when option for multiple participants is enabled and drop down option is "1".
2. For dropdown "2" the label is "Continue" in the first step of the form. The last step then shows "Continue" again.
Expected behaviour
----------------------------------------
The "final submission button" should here always have the label "register" as it is the case when disabling "Register multiple participants".
Environment information
----------------------------------------
Reproduced on:
* __CiviCRM:__ _5.61.alpha1/5.60.0/5.58.1_
* __PHP:__ _8.1/7.4_https://lab.civicrm.org/dev/core/-/issues/4176Allow to search on participant id2023-03-24T17:21:16ZyashodhaAllow to search on participant idOverview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.Overview
---------
Allow to search on participant id.
The participant search doesn't have an option to quickly search on ID, this should fix that.
This is already available for contribution and membership search.5.61.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/4142Add Activity Target consistently2023-04-24T19:25:30ZSandor SemseyAdd Activity Target consistentlyOverview
----------------------------------------
When creating related activities for other entities (e.g. Contribution, Participant (event registration), Membership) source and target contact IDs holds different contacts and have diffe...Overview
----------------------------------------
When creating related activities for other entities (e.g. Contribution, Participant (event registration), Membership) source and target contact IDs holds different contacts and have different meanings if a logged-in user added the entity or an anonymous user (through an online form).
This creates inconsistency and makes any downstream processing harder: searching, creating extensions & automations based on these activities.
Example use-case
----------------------------------------
If a contact get registered for an event by a logged-in user (someone showed interest in email and a backoffice user adding the registration to Civi) "Event Registration" activity's source (Added by) would be the CRM user and target (With) is the contact who wants to attend the event. This makes sense and the roles match the label: registration was *added by* the user and the *target* is the contact. Also works well as audit trails.
However, if the contact is using the online registration form source will be the contact and target will be empty.
Proposed behaviour
----------------------------------------
In my opinion best case would be: if there's no logged in user then source is the system user and target is the contact. This presents exactly what happened: a contact has registered and registration was added by the system, not by a real user manually.
If that's too much of a change or system user determination is hard across all CMS then just add contact to target (in this case source and target would be the same contact_id). This way also has the benefits of the same results for consumers.
In the latter case the downside is there would be redundancy in `civicrm_activity_contact` table (https://lab.civicrm.org/dev/core/-/issues/2450#note_55527). Regarding this, I argue that consistency worths more than disk space.
Comments
----------------------------------------
I've found some issues that mention this, but not as the main topic (https://lab.civicrm.org/dev/core/-/issues/2450) or hasn't any progress (https://lab.civicrm.org/dev/core/-/issues/2669). As it would be nice to change this through all of Civi.
PR at https://github.com/civicrm/civicrm-core/pull/256505.60.0