CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2018-08-01T19:25:15Zhttps://lab.civicrm.org/dev/core/-/issues/284Aggressive cache clearing significantly increases test time2018-08-01T19:25:15ZtottenAggressive cache clearing significantly increases test timeThe test suites are significantly slower in Civi 5.4.beta1/5.5.alpha1 than in 5.3. (*Ballpark: +1hr*.) One might speculate that this stems from high contention for CI resources, additional tests, and/or generic changes in the framework/p...The test suites are significantly slower in Civi 5.4.beta1/5.5.alpha1 than in 5.3. (*Ballpark: +1hr*.) One might speculate that this stems from high contention for CI resources, additional tests, and/or generic changes in the framework/process. While the first two may also be factors, I've [run the test suites in isolation](https://github.com/totten/civi-test-bench-18) and found a clear [across-the-board slowdown (Jul 24 dataset)](https://docs.google.com/spreadsheets/d/1ktf5cd3LMrk_Keg4kgDIEr4-rL3ZIbDDzGHCI09-mOA/edit?usp=sharing) causing many test runtimes to grow by double (or more). For example, when running `api_v3_SyntaxConformanceTest` on an isolated system (no CPU/RAM contention), the time increased from 251s (v5.3) to 936s (v5.4.beta1) even while the #test-functions and #entities remained flat.
Focusing on one specific example (`api_v3_UtilsTest`; increased from ~1s to ~7s), I used `git bisect` to track the cause to 5aac553c8b88be9d7fb8ab568a923a3301fea4b2 from [12331](https://github.com/civicrm/civicrm-core/pull/12331) and dev/core#174 -- in particular, the biggest impact comes from adding `CRM_Extension_System::singleton()->getCache()->flush()` (+~5s), although there's also observable impact from `Civi::cache('settings')->flush();` (+~1s).
In discussing 12331, one of the major concerns was "How do we make `CRM_Utils_System::flushCache()` behave the same as before?" 5aac553 tried to do this, but it actually was a bit more aggressive. To see this, it helps to fully describe the behavior -- in each configuration, what's the impact on each cache?
* __(OLD) Behavior circa 5.3.x__ -- `CRM_Utils_System::flushCache()` calls `CRM_Utils_Cache::singleton()->flush()` which has a cascading effect on other caches.
* __(DEFAULT) Default configuration using ArrayCache+SQL table__
* `CRM_Utils_Cache` - Destroys the general `ArrayCache`, which is used as the front-cache for several others.
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `js_strings`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `community_messages`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `CRM_Extension_System::$cache`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL cache.)
* `CiviCxnHttp`: Same as `CRM_Core_BAO_Cache`. (Flush ArrayCache at front, but keep underlying SQL.)
* __(MEM) Alternative Memcache/Redis configuration__
* `CRM_Utils_Cache` - Flushes *everything* in memory-backed cache.
* `CRM_Core_BAO_Cache`: Destroys the memory-backed front-cache but preserves the underlying SQL cache.
* `settings`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `js_strings`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `community_messages`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to `CRM_Utils_Cache` flush.)
* `CiviCxnHttp`: Same as `CRM_Core_BAO_Cache`. (Flush memory-backed front-cache, but keep underlying SQL cache.)
* __(NEW) Behavior circa 5.4.beta1/5.5.alpha1__ -- `CRM_Utils_System::flushCache()` calls several individual flush functions
* __(DEFAULT) Default configuration using ArrayCache+SQL table__
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Completely flushed. (Due to explicit call.)
* `js_strings`: Completely flushed. (Due to explicit call.)
* `community_messages`: Completely flushed. (Due to explicit call.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to explicit call.)
* `CiviCxnHttp`: Completely flushed. (Due to explicit call.)
* __(MEM) Alternative Memcache/Redis configuration__
* `CRM_Core_BAO_Cache`: Due to `CRM_Utils_Cache` flush, the front-caches are flushed, but the underlying SQL caches are preserved.
* `settings`: Completely flushed. (Due to explicit call.)
* `js_strings`: Completely flushed. (Due to explicit call.)
* `community_messages`: Completely flushed. (Due to explicit call.)
* `CRM_Extension_System::$cache`: Completely flushed. (Due to explicit call.)
* `CiviCxnHttp`: Completely flushed. (Due to explicit call.)
With that data, how we would describe both the original intent of 5aac553 ... and it's unintended consequence in this issue?
* During the development of 5.4.alpha1, we looked at the behavior of OLD-MEM and intended to keep the behavior the same. Thus, we have NEW-MEM which is basically the same as OLD-MEM.
* NEW-DEFAULT, NEW-MEM, and OLD-MEM are basically the same. But NEW-DEFAULT and OLD-DEFAULT are different.
* In running unit-tests, one flushes the caches frequently. The behavior of OLD-DEFAULT (where it *only* flushes front-caches... but generally preserves underlying caches) performs better for unit-tests. The behavior of NEW-DEFAULT/NEW-MEM/OLD-MEM does not perform as well.https://lab.civicrm.org/dev/core/-/issues/285Scheduled Reminders for Membership not being sent2019-07-12T03:35:58ZMickCScheduled Reminders for Membership not being sentMembership reminders are not being sent - 2 probable causes found:
1. civicrm_action_log records for the same reminder 1 year ago
2. Status Override is checked
When either of the above conditions exist, the reminder is not sent.
Whe...Membership reminders are not being sent - 2 probable causes found:
1. civicrm_action_log records for the same reminder 1 year ago
2. Status Override is checked
When either of the above conditions exist, the reminder is not sent.
When neither of the above conditions exist, the reminder is sent.
When corrective action is taken to remove past civicrm_action_log records and remove any override, the reminder is sent.
Environment:
* CiviCRM 4.7.29
* Extension 'Transactional Email' is installed5.17.0https://lab.civicrm.org/dev/core/-/issues/2518Upgrade issues - [shipped-with-core] extensions not upgrading2023-11-12T05:03:26ZeileenUpgrade issues - [shipped-with-core] extensions not upgradingI just upgraded a wordpress site to 5.37 & hit an issue where the upgrade script didn't run the extension upgrade and I didn't seem to be able to run the page to run the extension upgrade due to it not having run. I assume this was a sea...I just upgraded a wordpress site to 5.37 & hit an issue where the upgrade script didn't run the extension upgrade and I didn't seem to be able to run the page to run the extension upgrade due to it not having run. I assume this was a search-kit or afform change causing the issue.
I wound up running the upgrade through api explorer 3 - but it might impact others? Perhaps @kcristiano can test
Part of the problem was that recaptcha was missing from the tarball but that has a MOP PR now
@totten @colemanw @seamusleehttps://lab.civicrm.org/dev/core/-/issues/286Custom field of type checkbox or Multi-select not rendered properly on reports2018-11-05T03:39:31ZPradeep Nayakpradpnayak@gmail.comCustom field of type checkbox or Multi-select not rendered properly on reports![CustomField-Before](/uploads/039620294ed8447242c8edf742c86602/CustomField-Before.gif)
CiviCRM Version - 4.6.38
Fix Version - 4.6.39
PR - https://github.com/civicrm/civicrm-core/pull/12581![CustomField-Before](/uploads/039620294ed8447242c8edf742c86602/CustomField-Before.gif)
CiviCRM Version - 4.6.38
Fix Version - 4.6.39
PR - https://github.com/civicrm/civicrm-core/pull/12581https://lab.civicrm.org/dev/core/-/issues/287Child groups with all parents disabled shows in group list2018-11-09T00:32:42ZmadhaviChild groups with all parents disabled shows in group listI'am currently using Civicrm version 5.3.1 with drupal 7.59.
Steps to replicate:
1. Create one group, parent A.
2. Create a one group, child A and assign parent A group created above as parent.
3. Disable parent A group.
4. Go to conta...I'am currently using Civicrm version 5.3.1 with drupal 7.59.
Steps to replicate:
1. Create one group, parent A.
2. Create a one group, child A and assign parent A group created above as parent.
3. Disable parent A group.
4. Go to contacts->manage groups. You are unable to see both parent and child groups.
5. Click on any search criteria. Unclick it. You can see the child A group with title as Child A Child of: With null value for parent
![grp](/uploads/68ad5d2a88e11fda53e63b1512868e13/grp.png)
**How it works currently:** If a child group has multiple parent groups and one of them is disabled, the child group should to show up on group selector lists. This has been fixed here https://issues.civicrm.org/jira/browse/CRM-20934.
If all parent group(s) are disabled the child group still shows up in search mode.
**How it should work:** If a child group has multiple or single parent group and all of them are disabled, should the child group be removed from the selector lists.
For more insights please see the discussion on stack exchange here https://civicrm.stackexchange.com/questions/25855/child-groups-with-all-parents-disabled-shows-in-group-list5.8https://lab.civicrm.org/dev/core/-/issues/288Use the correct membership date for the notification that appear after comple...2019-04-01T21:27:31Zomar_compucorpUse the correct membership date for the notification that appear after completing the membership payment in case pre hook is usedSuppose you have an extension that implements **hook_civicrm_pre** on membership entity that add 1 year (or whatever amount of time) to the membership new end date whenever someone completed a pending payment for the membership, Based on...Suppose you have an extension that implements **hook_civicrm_pre** on membership entity that add 1 year (or whatever amount of time) to the membership new end date whenever someone completed a pending payment for the membership, Based on this assume the following example :
1- You created a pending membership starts today (27/7/2018) and ends in 1 year (26/7/2019).
2- You changed this membership payment (contribution) from "pending" to "completed".
Now without the hook implementation as explained above, the following message will appear :
```
the contribution record has been saved.
Membership for "CONTACT NAME" has been updated. The membership End Date is July 26th, 2019.
```
and the membership status will be change from Pending to New, And the end date of the membership will be similar to the one shown in the notification message which is 26/7/2019 which is all good.
But when you have the pre hook implemented as suggest above, the membership end date will be 26/7/2020 (since the hook add one year to the end date) but the notification message will still indicate the old end date which is 26/7/2019. This is wrong and the notification message should show the correct end date that reflects the membership actual end date.5.13.0https://lab.civicrm.org/dev/core/-/issues/289CiviCase Dashboard link to edit an activity status broken2018-11-09T20:25:39ZGMCVO DatabasesCiviCase Dashboard link to edit an activity status brokenThere is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=1There is a bug with the CiviCase dashboard
When you click to edit the case activity pencil it crashes with 'required params missing'
Also replicated on the demo site https://dmaster.demo.civicrm.org/civicrm/case?reset=15.5.0https://lab.civicrm.org/dev/core/-/issues/290If locationType name/label are different, for non-billing locations, the cont...2022-09-10T05:03:24ZbgmIf locationType name/label are different, for non-billing locations, the contribution form will not pre-populate known fieldsHow to reproduce:
* Login on https://dmaster.demo.civicrm.org
* Go to the contact record of the demo user, and enter a "Home" address
* https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203
* Configure this contrib for...How to reproduce:
* Login on https://dmaster.demo.civicrm.org
* Go to the contact record of the demo user, and enter a "Home" address
* https://dmaster.demo.civicrm.org/civicrm/contact/view?reset=1&cid=203
* Configure this contrib form, in Profiles, select the "Name and Address" profile (it includes the 'Home' address):
* https://dmaster.demo.civicrm.org/civicrm/admin/contribute/custom?reset=1&action=update&id=1
* Witness how it will correctly pre-populate the Home address on the contrib form:
* https://dmaster.demo.civicrm.org/civicrm/contribute/transact?reset=1&id=1
![Capture_d_écran_de_2018-07-27_17-50-57](/uploads/aa17899d9a177a0f4b1e482d2308d8fc/Capture_d_écran_de_2018-07-27_17-50-57.png)
That works because the name = label. Let's change the label of the Location Type:
* Change the Location Type label of "Home" to "Home2"
* https://dmaster.demo.civicrm.org/civicrm/admin/locationType?reset=1
* Go back to the contribution form and witness how it does not show the address anymore :-)
![civi-location-types](/uploads/8faf552cccd52706f6c782f72fd60ae8/civi-location-types.png)
![Capture_d_écran_de_2018-07-27_17-52-23](/uploads/97e1f638b9a92c80c06aa63526a58140/Capture_d_écran_de_2018-07-27_17-52-23.png)
:tada: :grimacing:https://lab.civicrm.org/dev/core/-/issues/291Allow password field sizes to be set in props a la text fields2018-07-30T00:43:07ZseamusleeAllow password field sizes to be set in props a la text fieldshttps://lab.civicrm.org/dev/core/-/issues/292Search builder stops working after 5.3.1 (due accents on custom set fields ti...2019-02-05T22:12:59ZfrancescbassasSearch builder stops working after 5.3.1 (due accents on custom set fields titles)After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm...After 5.3.1 upgrade Search Builder jQuery interaction stops working. I could find the reason, seems that custom set title with accents break the Search Builder form.
How to test?
On dmaster go to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group?reset=1 and edit a custom set title for example with "Cancelación Suscripción" and save it. Then go to https://dmaster.demo.civicrm.org/civicrm/contact/search/builder?reset=1 and select some -record type- you will notice that no type of operator related to the selected type is suggested.
On the browser console appears this error:
![search-builder-break](/uploads/705047a221ee4fce997ade35a44e645d/search-builder-break.png)5.5.0https://lab.civicrm.org/dev/core/-/issues/293Error log is filled with geocoding configuration errors when no provider is set2018-07-30T19:55:41ZtschuettlerError log is filled with geocoding configuration errors when no provider is setIf no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```If no geocoding provider is configured, the civicrm log file is flooded with error messages:
```
[error] Configured geocoder is invalid, must provide a format method
Array
(
[geocode_class] =>
)
```5.5.0https://lab.civicrm.org/dev/core/-/issues/294Bulk updated primary memberships don't updated related memberhips.2022-09-03T05:03:49ZtommyboboBulk updated primary memberships don't updated related memberhips.When bulk updating from advanced search a set of primary memberships the update of those memberships does trigger the related memberships to update.
To test.
1. Set up a small number of related memberships.
2. Create a profile to upd...When bulk updating from advanced search a set of primary memberships the update of those memberships does trigger the related memberships to update.
To test.
1. Set up a small number of related memberships.
2. Create a profile to update their end date.
3. Search for the primary memberships.
4. Use the profile to add 1 year to each membership.
5. Look up related memberships, they will not have been updated.
Strangely the related membership will have the correct status for the primary membership, but the wrong date.https://lab.civicrm.org/dev/core/-/issues/295Default 'from' mail address is not the default one showing in 'send email'2018-08-27T11:18:09ZjitendraDefault 'from' mail address is not the default one showing in 'send email'SE Post - https://civicrm.stackexchange.com/questions/25562/why-does-the-default-from-email-address-not-show-as-the-first-option-when-usin
If I add a second email address to the list of "from" emails at /civicrm/admin/options/from_email...SE Post - https://civicrm.stackexchange.com/questions/25562/why-does-the-default-from-email-address-not-show-as-the-first-option-when-usin
If I add a second email address to the list of "from" emails at /civicrm/admin/options/from_email_address?reset=1 and set it to default, i expect it to be selected as the first option when using "Send an Email' but it continues to be the second in the list.
If i change the Order of the From emails so my default is first, it continues to show as the second when using "Send an Email' (though perhaps a clear of caches would fix it, but fundamentally something seems wrong here.jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/296api - CustomValue::get - return multiple fields fails via api explorer2018-08-02T09:25:10Ztschuettlerapi - CustomValue::get - return multiple fields fails via api explorerThe API call fails with error message when using the api explorer:
![image](/uploads/142b60a1551c11bf34f32b47bd9ae42e/image.png)
```
{
"is_error": 1,
"error_message": "'name' specified in OR group but not added to params"
}
```...The API call fails with error message when using the api explorer:
![image](/uploads/142b60a1551c11bf34f32b47bd9ae42e/image.png)
```
{
"is_error": 1,
"error_message": "'name' specified in OR group but not added to params"
}
```
The generated PHP-Code however does produces the expected results.https://lab.civicrm.org/dev/core/-/issues/297permission "access my cases and activities" is broken by CRM-214612018-08-28T01:29:10ZDaveDpermission "access my cases and activities" is broken by CRM-21461See https://civicrm.stackexchange.com/questions/25950/problem-with-civicase. CRM_Case_BAO_Case::getCases() used to return a list keyed on case_id. Now it returns a sequentially keyed list. I'm not sure if anything new is depending on the...See https://civicrm.stackexchange.com/questions/25950/problem-with-civicase. CRM_Case_BAO_Case::getCases() used to return a list keyed on case_id. Now it returns a sequentially keyed list. I'm not sure if anything new is depending on the new keys, but since that seems unlikely, replacing "$key" with "$case['case_id']" around line 680 and later instances would fix this?https://lab.civicrm.org/dev/core/-/issues/298API Explorer shows incorrect syntax for arrays via drush/cv2023-06-24T05:03:19ZJonGoldAPI Explorer shows incorrect syntax for arrays via drush/cvThe problem I'm seeing is displayed in the attached screenshot. When you create an API call with API Explorer that requires the use of an array, API Explorer adds the array, JSON-encoded, to the argument list. However, neither drush no...The problem I'm seeing is displayed in the attached screenshot. When you create an API call with API Explorer that requires the use of an array, API Explorer adds the array, JSON-encoded, to the argument list. However, neither drush nor cv (and I assume wp-cli) will parse the argument as an array. This has tripped up multiple folks on Stack Exchange ([1](https://civicrm.stackexchange.com/questions/10887/can-i-chain-api-calls-through-drush), [2](https://civicrm.stackexchange.com/questions/16423/passing-json-objects-to-drush-cvapi)).
As answers to those SE questions point out, it IS possible to use drush/cv and encode arrays. Instead of:
```
cv api Contact.create contact_type="Individual" first_name="Jon" options={"match":"first_name"}
```
We could do:
```
echo '{"contact_type":"Individual","first_name":"Jon","options":{"match":"first_name"}}' | cv api Contact.create --in=json
```
There are three solutions of increasing effort, depending on how important folks think this is. I'm willing to do the first one, and someone else can do 2 or 3 if they feel it's important.
1) Patch API Explorer so drush/cv/wp always show the (more complex) `echo foo | cv api bar.baz --in=json` syntax.
2) Patch API Explorer so drush/cv/wp show the more complex syntax when an array is present (I can do this if it's simple, I'd have to look).
3) Patch drush/wp/cv to match API Explorer.
![Selection_544](/uploads/1335415c85a5e6aaf9f185c023ce4c25/Selection_544.png)https://lab.civicrm.org/dev/core/-/issues/299Decimal point error.2018-08-28T21:41:11ZmarcineqDecimal point error.When I try to register a payment for contribute "pending", automatically in the "amount" field instead of the set decimal point "," "." Appears.
The problem hinders the work, because I have to manually correct it with "," although it app...When I try to register a payment for contribute "pending", automatically in the "amount" field instead of the set decimal point "," "." Appears.
The problem hinders the work, because I have to manually correct it with "," although it appears correctly next to it.
The error also appears when I want to edit the "completed" payment - by changing the payment method - the problem with writing, because the wrong separator.
I tried to change to "." but then it does not pass "," written from habit in Poland.
I noticed the error on Drupal 7.59, CiviCRM 5.3.1 on two independent versions.
I also played it right after installing "fresh" and changing the decimal separator in the location settings.
Please forgive me for passing with Polish translation, but my English is not very good, I prefer to use CiviCRM in my language.
![1](/uploads/2b98e3a599901c060afac3eaf17203fa/1.png)
![2](/uploads/da7181c616936e0bc1bd34f278b548ed/2.png)
Second issue with decimal pointer.
![b2_1](/uploads/c0e6a8688af063e5b14b8c520d639682/b2_1.png)
![b2_2](/uploads/cbb75f1a1ca00fa9f4aedbf2da9c4721/b2_2.png)
![b2_3](/uploads/d15d726313e38e75097ebed1f902a04c/b2_3.png)
![b2_4](/uploads/06257bd92c0577065ffcf01bdf0b78d6/b2_4.png)5.6https://lab.civicrm.org/dev/core/-/issues/300Proposal - Attach cross-cms "page identifier" class to <body>2022-11-30T05:03:31ZAkA84Proposal - Attach cross-cms "page identifier" class to <body>## Problem
Currently there is no consistent way in Civi to tell which page you are on by querying the DOM. Usually this is done by having a class attached to the `<body>` tag that identifies the current page. Unfortunately each CMS use d...## Problem
Currently there is no consistent way in Civi to tell which page you are on by querying the DOM. Usually this is done by having a class attached to the `<body>` tag that identifies the current page. Unfortunately each CMS use different naming conventions, or attaches no class at all.
For example: this is the Contact Summary page's `<body>` tag on each CMS
```html
<!-- Drupal: .page-civicrm-contact-view -->
<body class="html not-front ... page-civicrm page-civicrm-contact page-civicrm-contact-view">
<!-- Joomla: .task-civicrmcontactview -->
<body class="admin com_civicrm ... task-civicrmcontactview">
<!-- Wordpress: none :( -->
<body class="wp-admin wp-core-ui ... customize-support svg”>
```
## Proposed solution
Civi should attach "proprietary" classes to `<body>`, independent from the underlying cms, so we would have something like
```html
<!-- Drupal -->
<body class="html not-front ... page-civicrm page-civicrm-contact page-civicrm-contact-view civi-page-contact-view">
<!-- Joomla -->
<body class="admin com_civicrm ... task-civicrmcontactview civi-page-contact-view">
<!-- Wordpress -->
<body class="wp-admin wp-core-ui ... customize-support svg civi-page-contact-view”>
```
## Why
It would open new cross-cms customization avenues for devs: styles applied only a specific page, JS plugins that use the body class to bootstrap itself or perform an action only on certain pages, etc.
Of course currently one can already inject a css/js file on specific pages by using `hook_civicrm_pageRun()`, but this approach lacks the flexibility that the proposed solution would instead provide.
## Technical challenges
I figured that there would be at least two:
1. Find a way in all 3 cms to alter the list of classes attached to `<body>` that _doesn't_ involve using a theme hook, given that this solution should be both cms and theme agnostic (you don't want those classes to disappear the moment an admin decides to change the administration theme)
2. Figure out how to programmatically generate the class name for each individual civi page
---
Before opening the issue I asked in the dev channel if there was already a way to identify a page that I wasn't aware of (https://chat.civicrm.org/civicrm/pl/of6xsr17sidujmm1tuasr8bupy), but apparently there isn't, at least not the in the way I'm proposing herehttps://lab.civicrm.org/dev/core/-/issues/302End of life plans for 5.x php versions & planning for 7.0 EOL2020-01-30T02:01:26ZeileenEnd of life plans for 5.x php versions & planning for 7.0 EOLWe have had some discussion about EOL on php 5.x versions. The text below is a proposed blog post:
**End of life plans for 5.x php versions & planning for 7.0 EOL **
This blog serves as advance notice of our intention to stop supportin...We have had some discussion about EOL on php 5.x versions. The text below is a proposed blog post:
**End of life plans for 5.x php versions & planning for 7.0 EOL **
This blog serves as advance notice of our intention to stop supporting php versions 5.5, 5.6 and our ongoing evaluation of 7.0.
For php 5.5 we intend to end support in January 2019. This is already unsupported by php and we strongly recommend you upgrade off it as soon as possible. The release in February 2019 will be the first release that does not support php 5.5
For php 5.6 our TARGET is to end support in September 2019 (Oct release would support php 7.0+). 5.6 and 7.0 will unsupported by php from the end of this year. Usage of these versions is still pretty high amongst CiviCRM users http://stats.civicrm.org/?tab=sites so we will review this target in the first quarter of next year & extend it if we feel it will cause undue pain. Supporting 5.6 has downsides in that it restricts the external packages and versions of those packages we can use. As time goes on the risk of it leaving us without a secure option increases, as well as reducing opportunities to use more modern packages and to improve our code and product.
For php 7.0 our TARGET is the end of 2019. We will be reviewing this in March as well to see how reasonable that is. There is less to gain from dropping 7.0 than 5.6 so we will take that into account.
**What version of php should you be using?**
In general you should aim to be on php 7.1 or 7.2. For drupal 7 users you may find that there are extensions that you rely on that do not yet support php 7.1 - although this will be less and less likely over time. See https://www.drupal.org/docs/7/system-requirements/drupal-7-php-requirements#php_required for more information.
Note that as of writing there are only a small number of sites on 7.2 http://stats.civicrm.org/?tab=technology so you may wish to check php 7.2 adoption stats before choosing php 7.1 over php 7.2 in case there are any remaining issues.https://lab.civicrm.org/dev/core/-/issues/303Print/Merge Document to HTML uses PHPWord to process the HTML - is this meant...2022-08-28T05:03:34ZAndrew WestPrint/Merge Document to HTML uses PHPWord to process the HTML - is this meant to happen?In 'Print/Merge Document' you can select to output to HTML. In practice, this processes the HTML via PHPWord. This seems to mangle it quite badly: div tags get converted into text (it literally says 'div'), styling gets removed, etc. I'm...In 'Print/Merge Document' you can select to output to HTML. In practice, this processes the HTML via PHPWord. This seems to mangle it quite badly: div tags get converted into text (it literally says 'div'), styling gets removed, etc. I'm not sure whether this is deliberate or not, but there's an easy alternative that seems to work well.
The conversion starts in CRM_Contact_Form_Task_PDFLetterCommon. If we want to export anything other than a PDF it's sent to CRM_Utils_PDF_Document::html2doc(), which uses PHPWord. But I'm wondering if it makes more sense to actually use the PDF route for HTML - this goes via CRM_Utils_PDF_Utils::html2pdf().
html2PDF works by generating HTML pages for the PDF processor. So it produces an elegant HTML document by itself anyway. It does some basic processing like removing header tags, applying the appropriate margins, and applying print.css. But other than that the HTML is untouched. It's very easy just to output the HTML before the final step of converting to PDF.
I have this working here, and I can make it into an extension easily enough (though it'd need to override core files). But as the HTML output functionality doesn't really seem to work like I'd expect, I thought I'd flag it here. I can put the changes into a PR if that'd help.https://lab.civicrm.org/dev/core/-/issues/304Upgrade from 4.7.27 to 5.4.0 failed on activity_default_assignee (also 5.3.2 ...2018-08-22T13:29:57ZdavejUpgrade from 4.7.27 to 5.4.0 failed on activity_default_assignee (also 5.3.2 failed on Monmouthshire)Trying to upgrade a test site from 4.7.27 using drush cvupdb. D7, PHP 5.6.36, MySQL 5.5.60 . Cleared templates_c/en_* before upgrading.
4.7.27 to 5.4.0 fails with:
```
CiviCRM_API3_Exception: "'activity_default_assignee' is not a valid ...Trying to upgrade a test site from 4.7.27 using drush cvupdb. D7, PHP 5.6.36, MySQL 5.5.60 . Cleared templates_c/en_* before upgrading.
4.7.27 to 5.4.0 fails with:
```
CiviCRM_API3_Exception: "'activity_default_assignee' is not a valid option for field option_group_id"
#0 .../sites/all/modules/civicrm/CRM/Core/BAO/OptionValue.php(560): civicrm_api3("OptionValue", "get", (Array:4))
#1 .../sites/all/modules/civicrm/CRM/Upgrade/Incremental/php/FiveFour.php(108): CRM_Core_BAO_OptionValue::ensureOptionValueExists((Array:5))
#2 [internal function](): CRM_Upgrade_Incremental_php_FiveFour::addActivityDefaultAssigneeOptions(Object(CRM_Queue_TaskContext))
#3 .../sites/all/modules/civicrm/CRM/Queue/Task.php(88): call_user_func_array((Array:2), (Array:1))
1:31 PM
```
version in civicrm_domain at this point is 5.4.alpha1.upgrade . I re-tried, dropping db & restoring from pre-upgrade dump, same result.
Also a less serious issue, as presumed due to someone manually adding Monmouthshire to db in the past...
4.7.27 to 5.3.2 fails with:
```
PEAR_Exception: "DB Error: already exists"
* ERROR TYPE: DB_Error
* ERROR CODE: -5
* ERROR MESSAGE: DB Error: already exists
* ERROR MODE: 16
* ERROR USERINFO: INSERT INTO civicrm_state_province (country_id, abbreviation, name)
VALUES (@UKCountryId, 'MON', 'Monmouthshire') [nativecode=1062 ** Duplicate entry 'Monmouthshire-1226' for key 'UI_name_country_id']
* ERROR DEBUGINFO: INSERT INTO civicrm_state_province (country_id, abbreviation, name)
VALUES (@UKCountryId, 'MON', 'Monmouthshire') [nativecode=1062 ** Duplicate entry 'Monmouthshire-1226' for key 'UI_name_country_id']
#0 [internal function](): CRM_Core_Error::exceptionHandler(Object(DB_Error))
#1 .../sites/all/modules/civicrm/packages/PEAR.php(921): call_user_func((Array:2), Object(DB_Error))
#2 .../sites/all/modules/civicrm/packages/DB.php(985): PEAR_Error->__construct("DB Error: already exists", -5, 16, (Array:2), "INSERT INTO civicrm_state_province (country_id, abbreviation, name)\nVALUES (...")
```
version in civicrm_domain is 5.3.0.upgrade at this point.
I suspect Monmouthshire had previously been added manually. Resolved by manually removing it, setting the existing address records using it to state_province_id NULL, then to the new id.
Then tried 5.3.2 to 5.4.0 and it worked.https://lab.civicrm.org/dev/core/-/issues/305Event contribution cancellation should cancel all guest participants' registr...2018-08-07T10:14:06Zrita_compucorpEvent contribution cancellation should cancel all guest participants' registration recordWhen you register multiple participants for an event and then you cancel the contribution, you would expect all related guest participants' event registration record to be cancelled, not only the main contact's registration since you hav...When you register multiple participants for an event and then you cancel the contribution, you would expect all related guest participants' event registration record to be cancelled, not only the main contact's registration since you have cancelled the whole payment.
Steps:
- create an event with a fee
- enable the multiple participant registration for the event
- then as anonymous person go and register multiple people for the event (participant 1 - main contact, participant 2 - guest contact)
- then go to the main contact (who has paid for the event) and Cancel the contribution
- ![multi_event_reg](/uploads/5e5d2c41f8e9699c58fd9ef27e0bb013/multi_event_reg.gif)after this the main contact's event registration record gets cancelled automatically
--> you would expect to get all related participants' registration get cancelled (both (participant 1 - main contact, participant 2 - guest contact 1 should get cancelled)https://lab.civicrm.org/dev/core/-/issues/306Main payment method is not getting updated after modifying it in payment details2023-01-22T05:03:42Zrita_compucorpMain payment method is not getting updated after modifying it in payment detailsWhen you create a contribution with payment method A and then go and change the payment method to B, on the main contribution it will still show the payment method A instead of B.
Steps:
- create a new contribution with Payment Method:...When you create a contribution with payment method A and then go and change the payment method to B, on the main contribution it will still show the payment method A instead of B.
Steps:
- create a new contribution with Payment Method: Check http://nimb.ws/3HN4qv
- then go and edit the contribution, change the payment method using the Pen icon on the payment detail
- change the payment method to Cash
- save it, and save the contribution too
- then open to View the contribution and you can see the changed payment details, but the main contribution's payment method is still Check and not Cash http://nimb.ws/FOUCj9
--> the main Payment Method field should reflect the modified payment method, not the original onehttps://lab.civicrm.org/dev/core/-/issues/308A/B mailing report very slow for databases with many mailings2022-08-21T05:03:42ZromainA/B mailing report very slow for databases with many mailingsThe report of A/B mailings have become unusable for us, due to how long it takes to load.
When opening the page, a `n/a` is displayed instead of each figure while waiting for an AJAX call to retrieve all the open/click/etc rates. In our ...The report of A/B mailings have become unusable for us, due to how long it takes to load.
When opening the page, a `n/a` is displayed instead of each figure while waiting for an AJAX call to retrieve all the open/click/etc rates. In our set-up this call takes close to 5 minutes to complete.
I pinned it down to what seems (to me) to be a bug in the query optimizer of MySQL. For example, the query generated by civi to count the number of opens of a mailing looks like this:
```
SELECT COUNT(civicrm_mailing_event_opened.id) as opened
FROM civicrm_mailing_event_opened
INNER JOIN civicrm_mailing_event_queue
ON civicrm_mailing_event_opened.event_queue_id = civicrm_mailing_event_queue.id
INNER JOIN civicrm_mailing_job
ON civicrm_mailing_event_queue.job_id = civicrm_mailing_job.id
AND civicrm_mailing_job.is_test = 0
WHERE civicrm_mailing_job.mailing_id = 16574 AND civicrm_mailing_event_opened.time_stamp <= 20180807115642
```
MySQL 5.7.22 executes it with this query plan (I removed some columns for better readability):
```
+-------------+------------------------------+--------+-----------------------------------+---------------------------------------------+----------+
| select_type | table | type | key | ref | rows |
+-------------+------------------------------+--------+-----------------------------------+---------------------------------------------+----------+
| SIMPLE | civicrm_mailing | const | PRIMARY | const | 1 |
| SIMPLE | civicrm_mailing_job | ref | FK_civicrm_mailing_job_mailing_id | const | 10 |
| SIMPLE | civicrm_mailing_event_opened | ALL | NULL | NULL | 43351509 |
| SIMPLE | civicrm_mailing_event_queue | eq_ref | PRIMARY | civicrm_mailing_event_opened.event_queue_id | 1 |
+-------------+------------------------------+--------+-----------------------------------+---------------------------------------------+----------+
```
As you can see, it performs a full table scan of the `opened` table before joining on the `queue` table, which does make a lot of sense. For some reason MySQL seems to be put off by the check on the timestamp: if I remove it from the where clause I get a much more sensible query plan:
```
+----+-------------+------------------------------+-------+------------------------------------------------+--------------------------------+----------+
| id | select_type | table | type | key | ref | rows |
+----+-------------+------------------------------+-------+------------------------------------------------+--------------------------------+----------+
| 1 | SIMPLE | civicrm_mailing | const | PRIMARY | const | 1 |
| 1 | SIMPLE | civicrm_mailing_job | ref | FK_civicrm_mailing_job_mailing_id | const | 10 |
| 1 | SIMPLE | civicrm_mailing_event_queue | ref | FK_civicrm_mailing_event_queue_job_id | civicrm_mailing_job.id | 11450265 |
| 1 | SIMPLE | civicrm_mailing_event_opened | ref | FK_civicrm_mailing_event_opened_event_queue_id | civicrm_mailing_event_queue.id | 2 |
+----+-------------+------------------------------+-------+------------------------------------------------+--------------------------------+----------+
```
Another interesting fact is that Percona server 5.7.22 is not affected by this issue, it produces the optimum query plan in both cases.
I don't have any other version of MySQL to test, if anyone has I'd be curious to see.
One solution I can see is to replace the `INNER JOIN`s by `STRAIGHT_JOIN` and reorder the table names. I tried it on our set-up by applying on the queries for open, click and bounce events: it seems to produce correct results and brought the report computation time from about 270 seconds down to 2.7 (2 orders of magnitude less!).
Is it acceptable to have such query optimizations in CiviCRM's code? I don't see any reason against it for that particular one, because even if new column / indexes were to be added in the future, the join order `mailing -> job -> queue -> event` would still be the optimal one and so it makes sense to force it. By the way, the mailing table could be removed from the query, it is not used at all.https://lab.civicrm.org/dev/core/-/issues/309when we doing change selection and then record payment it is creating two com...2018-08-08T13:43:45Zeileenwhen we doing change selection and then record payment it is creating two completed financial transactions. which is affecting the Accounting Batch.per https://github.com/civicrm/civicrm-core/pull/11380#issuecomment-411033527per https://github.com/civicrm/civicrm-core/pull/11380#issuecomment-411033527https://lab.civicrm.org/dev/core/-/issues/310Incorrect allocation of payment on an edited multi-line item event registration2018-10-23T15:30:07ZJoeMurrayIncorrect allocation of payment on an edited multi-line item event registrationOn default data set on dmaster, create new Financial Type Event Fees 2. At Administer > Financial Accounts, navigate to the Financial Account this creates also called Event Fees 2 and enter 4301 as the Accounting Code.
1. Create event ...On default data set on dmaster, create new Financial Type Event Fees 2. At Administer > Financial Accounts, navigate to the Financial Account this creates also called Event Fees 2 and enter 4301 as the Accounting Code.
1. Create event with priceset with two fields, first with financial Type Event fees, second with FT of Event Fees 2.
2. Register in event with payment of say $25 for first ticket (Event Fees) and $10 for second ticket (Event fees 2), total $35.
3. Edit Event registration. Click Change selections. Change quantity for second field from 1 to 5, line item total of $50, contribution total of $75, total paid $35. Save. Balance is $40.
4. Click Record Payment.
To review the database records that would be sent to accounting applications, you can:
5. Navigation to Contributions > Accounting Batches > New Batch, create a batch, assign the relevant transactions of $35 (original payment), $40 (edit with implied purchase with pay later) and $40 (payment of outstanding balance) to the new batch and export to csv.
6. At Contributions > Accounting Batches > Open Batches, select the batch just created and export as csv, open and view the resulting transactions:
[Financial_Transactions_3_20180807210702.csv](/uploads/cd4c2989ca42cff4e7f6bba22b8ddfa1/Financial_Transactions_3_20180807210702.csv)
The initial purchase (first two lines) and the edit of the order to increase the number of event fees from $10 to $50 are (the third line) are all correct. However, the payment of the outstanding balance is incorrect. Instead of a single line with a $40 payment (Debit Bank Account 1150, Credit Accounts Receivable 1200), there are two lines:
Debit Bank Account 1150, Credit Accounts Receivable 1200: $16.67, Item description: Member
Debit Bank Account 1150, Credit Accounts Receivable 1200: $23.33, Item description: Guest
It seems the payment is being equally allocated to the two line items in proportion to their current line item total. If there had been a simple partial payment, this would be correct. The algorithm for determining the allocation should not be based on the line item totals (or more accurately, their corresponding financial_item.amount), but on the amount of each financial item that has been paid so far (entity_financial_trxn.amount for the entries linking financial_trxn records to these financial_item records.
We should first verify that the entity_financial_trxn.amount fields are being properly recorded. Then it will be apparent that sum(entity_financial_trxn.amount) pointing to first financial_item is $25, the same as its financial_item.amount, while sum(entity_financial_trxn.amount) pointing to second financial_item is $10, which is $40 less than the financial_item.amount. So all of the second payment would be allocated to a single new entity_financial_trxn.amount of $40 pointing to the second financial_item.
This is not a high priority since the two entries add up to the same as the proposed single entry from an accounting perspective. Having two general journal entries is confusing, and the item description of one is inaccurate, so a fix would be good.Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/311Upgrading multilingual site causes DB Error2018-10-22T19:13:55ZDon WijesooriyaUpgrading multilingual site causes DB ErrorUpgrading from CiviCRM 4.4.7 to 5.4.0 (Drupal), cause a DB error. Upgrade process works fine but when loading any civi page, JavaScript error is displayed on the language file (backtrace displayed after enabling).
![javascript](/upload...Upgrading from CiviCRM 4.4.7 to 5.4.0 (Drupal), cause a DB error. Upgrade process works fine but when loading any civi page, JavaScript error is displayed on the language file (backtrace displayed after enabling).
![javascript](/uploads/cc865f9f1870d12a4b79309623de8147/javascript.PNG)
Checking the error log, few fields relating to uf_group are not getting created during the upgrade.
![errorlog](/uploads/8424555a1c8f657bbab2d6f05d5f4c08/errorlog.PNG)
Further investigation showed that in CRM/Core/I18n, there have been schema changes between the latest SchemaStructure.php and SchemaStructure_4_7_alpha1.php thus we had to copy and rename the file as SchemaStructure_5_4_alpha1.php as mentioned [here.](https://docs.civicrm.org/dev/en/latest/translation/database/#localised-fields-schema-changes)
![schemastructure](/uploads/c05dd2b1213cad872366dc0b5f9a43be/schemastructure.PNG)5.6https://lab.civicrm.org/dev/core/-/issues/312Reassigning a case to another contact_id works when using the API Case update...2022-08-22T05:04:03ZErikHommelReassigning a case to another contact_id works when using the API Case update but not on case_create with idI am trying to re-assign case 123 from contact 456 to contact 789. This works like a charm when I use the Case update API with params case_id 123 and contact_id 789, but if I try to use the Case create with case_id 123 and contact_id 78...I am trying to re-assign case 123 from contact 456 to contact 789. This works like a charm when I use the Case update API with params case_id 123 and contact_id 789, but if I try to use the Case create with case_id 123 and contact_id 789 I get a DB error "already exists"https://lab.civicrm.org/dev/core/-/issues/313Accounting batch "payment instrument" filter has no effect2019-05-27T04:53:34ZAllenShawAccounting batch "payment instrument" filter has no effectThis looks like at least a partial regression of https://issues.civicrm.org/jira/browse/CRM-17090
The following happens on https://dmaster.demo.civicrm.org/:
1. Go to Contributions > Accounting Batches > New Batch
1. Set Payment Inst...This looks like at least a partial regression of https://issues.civicrm.org/jira/browse/CRM-17090
The following happens on https://dmaster.demo.civicrm.org/:
1. Go to Contributions > Accounting Batches > New Batch
1. Set Payment Instrument to Credit Card and hit Save
1. See that there are a bunch of transactions with other payment instruments.
1. Edit search criteria to set Payment Method to Credit Card and hit Search
1. See that nothing changes.
Looking at the code, there appears to be a conflation between the names 'payment_instrument_id' and 'contribution_payment_instrument_id' in places like CRM_Financial_Page_AJAX::getFinancialTransactionsList(), CRM_Batch_BAO_Batch::getBatchFinancialItems(), CRM_Contribute_BAO_Query::buildSearchForm(), and templates/CRM/Contribute/Form/Search/Common.tpl.https://lab.civicrm.org/dev/core/-/issues/314Transfer picks up the deleted contact ID basically transferring to the wrong ...2019-03-23T20:47:10ZaniesshsethhTransfer picks up the deleted contact ID basically transferring to the wrong contactTransfer picks up the deleted contact ID basically transferring to the wrong contact. We should be checking if the contact related to that email is deleted or notTransfer picks up the deleted contact ID basically transferring to the wrong contact. We should be checking if the contact related to that email is deleted or not5.13.0https://lab.civicrm.org/dev/core/-/issues/315Cancelling or going back on step 3 of importing memberships stills shows a wa...2020-12-04T01:40:53ZlolcodeCancelling or going back on step 3 of importing memberships stills shows a warning to backup the DBHitting either the cancel button or the previous page button stills shows a warning to backup the DB which looks like it is going to import the memberships. If I hit cancel on this dialog then it just disappears. If I hit OK it appears t...Hitting either the cancel button or the previous page button stills shows a warning to backup the DB which looks like it is going to import the memberships. If I hit cancel on this dialog then it just disappears. If I hit OK it appears to attempt to import and shows a progress bar but in my testing nothing was imported. There is no safe way to exit this screen except to close the browser.
I also notice that on this demo site (5.3.1) that was set to use French that the dialog message is in English.
![import_page_cancel](/uploads/3780d947ab561fdbd459be0a0148a1ff/import_page_cancel.jpg)https://lab.civicrm.org/dev/core/-/issues/316Use cache keys which are compatible with supported backends (CiviCRM 5.4 vs M...2018-08-17T00:40:54ZxurizaemonUse cache keys which are compatible with supported backends (CiviCRM 5.4 vs Memcache)[Reported by @haystack in ~dev channel](https://chat.civicrm.org/civicrm/pl/yo7drhis3pgg3cemfzuctd6ixr), suggested that it's a result of #174 changes.
After upgrading to CiviCRM 5.4 when using Memcache:
> Memcached::get(/CiviCRM Sessio...[Reported by @haystack in ~dev channel](https://chat.civicrm.org/civicrm/pl/yo7drhis3pgg3cemfzuctd6ixr), suggested that it's a result of #174 changes.
After upgrading to CiviCRM 5.4 when using Memcache:
> Memcached::get(/CiviCRM Session//_CRM_Activity_Form_ActivityFilter_851ce9ce57b6137a76ba5239cc2b6a6d_3667_container) failed: A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE
> Memcached set (/CiviCRM Session//_CRM_Event_Form_Search_023fbd690622b4991938e06757805c3e_6468_container) failed
[memcached/doc/protocol.txt](https://github.com/memcached/memcached/blob/master/doc/protocol.txt) has,
> the key must not include control characters or whitespace.
[Also noted on Stack Exchange](https://stackoverflow.com/questions/5826768/can-memcached-keys-contain-spaces).https://lab.civicrm.org/dev/core/-/issues/317Fixed membership type - start date incorrect2022-08-22T05:04:04Zsarah.farrellgrahamFixed membership type - start date incorrectI have found an issue in (CiviCRM 4.6.38 and the dmaster 5.6.alpha) when a membership type is 'Fixed' the start date is incorrectly populated.
For example- Your membership runs from 1st September 2018 to 31st August 2019- the fixed per...I have found an issue in (CiviCRM 4.6.38 and the dmaster 5.6.alpha) when a membership type is 'Fixed' the start date is incorrectly populated.
For example- Your membership runs from 1st September 2018 to 31st August 2019- the fixed period start date is the 1st of September, the fixed period roll over date is 1st August- If I added a new membership today I would expect the start date to be 1st September 2018 (and finish on 31st August 2019) with join date being today's date- but it is setting the start date as 1st September 2017.
The end date of the membership is still being populated correctly as 31st August 2019 (for a 1 year membership).
thanks,
Sarahhttps://lab.civicrm.org/dev/core/-/issues/318opting out of bulk emails also opts you out of SMS messages2022-08-23T05:03:34Zjamieopting out of bulk emails also opts you out of SMS messagesNow, if you opt out of bulk email messages, you won't receive any SMS messages either.
The field name is is_opt_out (which seems pretty general) but the user interface clearly says: "NO BULK EMAILS (User Opt Out)" And the description re...Now, if you opt out of bulk email messages, you won't receive any SMS messages either.
The field name is is_opt_out (which seems pretty general) but the user interface clearly says: "NO BULK EMAILS (User Opt Out)" And the description re-enforces the notion that this is a user-set variable for not receiving email messages.
Most people use mass email and SMS in very different ways, especially given the limitations on the number of SMS messages can be sent (which makes them more targeted).
As a result, it's reasonable for someone to opt out of bulk email but expect to get SMS messages.
My preference would be to eliminate this check so that SMS messages ignore this field. My second choice would be to change the language in the UI.
Thoughts?https://lab.civicrm.org/dev/core/-/issues/320Current Employer only allows you to filter by static groups, not all groups2022-08-30T15:42:55ZjamieCurrent Employer only allows you to filter by static groups, not all groupsI suspect this is just old code that has not been updated to use the _groupFilter property.I suspect this is just old code that has not been updated to use the _groupFilter property.https://lab.civicrm.org/dev/core/-/issues/321Prevent duplicate entries in civicrm_entity_file2018-11-17T02:41:11ZMonish DebPrevent duplicate entries in civicrm_entity_fileSteps to replicate:
1. Enable CiviCase
2. Create a new Case.
3. Edit any Case Activity >> add an attachment >> Save
4. Reopen the Edit Activity form and simply save.
DB result: There will duplicate entries in civicrm_entity_fileSteps to replicate:
1. Enable CiviCase
2. Create a new Case.
3. Edit any Case Activity >> add an attachment >> Save
4. Reopen the Edit Activity form and simply save.
DB result: There will duplicate entries in civicrm_entity_file5.9Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/322Contribution page, completing this form on behalf of someone else: JavaScript...2018-08-19T22:47:31ZdavejContribution page, completing this form on behalf of someone else: JavaScript error for checkbox fieldOn a contribution page, when "completing this form on behalf of someone else", a JavaScript syntax error occurs when the page includes a profile with a checkbox field and the contact has this field checked.
Steps to replicate:
1. Creat...On a contribution page, when "completing this form on behalf of someone else", a JavaScript syntax error occurs when the page includes a profile with a checkbox field and the contact has this field checked.
Steps to replicate:
1. Create a custom field, Test Checkbox: Alphanumeric, CheckBox with 1 option:
label "I agree", value 1.
2. Create a profile including this field.
3. Include this profile on a contribution page.
4. Edit Contact A and check the "I agree" checkbox.
5. On the contribution page, click "Not demo test, or want to do this for a different person?"
6. Choose Contact A.
Expected result:
Form populates with Contact A's data.
Actual result:
JavaScript error: "Syntax error, unrecognized expression: [name=custom_13[1]]".
Form does not populate with Contact A's data.
I have a fix for this, will create a PR & link to this issue.5.6https://lab.civicrm.org/dev/core/-/issues/323Delete contact image does not remove the file2023-03-18T01:48:44ZJKingsnorthDelete contact image does not remove the fileSummary:
Contact images are not deleted from the server when they are 'deleted' through the front end.
Steps to recreate:
* Edit a contact and upload a contact image, save
* Look in the site directory for contact images - the file is t...Summary:
Contact images are not deleted from the server when they are 'deleted' through the front end.
Steps to recreate:
* Edit a contact and upload a contact image, save
* Look in the site directory for contact images - the file is there
* Edit the contact and choose 'Delete contact image'
* Refresh the directory, the file is still there (and still accessible over the web - even to anonymous users)
Technical:
The function that deletes the contact image only removes the database reference: https://github.com/civicrm/civicrm-core/blob/7432a41c4cccb22ab035aea2c5ed4780617f3676/CRM/Contact/BAO/Contact.php#L1066-L1077
What should happen:
Recognisable portraits are special personal information according to GDPR legislation. Deleting a portrait, whether at a user's request or to remove it, or if it's done by a user through a profile, should also remove that file from the server.
How to make it happen:
Make the deleteContactImage function also remove the file from the server.
How to make it happen retrospectively:
It would be feasible to create an extension(?) that would scrape through the user image directory and delete all files that aren't referenced in in the image_url of the civicrm_contact table, or the civicrm_file table? This has previously been suggested in this StackExchange response: https://civicrm.stackexchange.com/a/24206/124https://lab.civicrm.org/dev/core/-/issues/324System status page doesn't detect new version of CiviCRM, nor does it print a...2022-08-24T05:03:35ZsudomanSystem status page doesn't detect new version of CiviCRM, nor does it print an error.When I visit the system status page at `https://example.com/civicrm/a/#/status`, I am not notified of a new version of CiviCRM. This may be due to our outbound firewall, but we are also not notified of an error in trying to fetch the upd...When I visit the system status page at `https://example.com/civicrm/a/#/status`, I am not notified of a new version of CiviCRM. This may be due to our outbound firewall, but we are also not notified of an error in trying to fetch the update information.
We are using CiviCRM 5.3.1.https://lab.civicrm.org/dev/core/-/issues/325Fatal error 'DB Error: no such field' on Contribution detail report2018-08-28T21:55:40ZPradeep Nayakpradpnayak@gmail.comFatal error 'DB Error: no such field' on Contribution detail report![before-patch](/uploads/a1f168c003724bf724eb8e4c0998e54c/before-patch.gif)
PR: https://github.com/civicrm/civicrm-core/pull/12660![before-patch](/uploads/a1f168c003724bf724eb8e4c0998e54c/before-patch.gif)
PR: https://github.com/civicrm/civicrm-core/pull/126605.6https://lab.civicrm.org/dev/core/-/issues/319Advanced search export: when location types' display names are different from...2018-08-27T01:41:01ZnoahAdvanced search export: when location types' display names are different from their machine names, empty columns are exportedEDITED to be more accurate following further investigation into the symptoms.
This is a regression in the last couple versions of Civi (I see it on 5.3.1 and 5.4.0, as well as 5.5-rc and master).
**Summary:** When exporting from advanc...EDITED to be more accurate following further investigation into the symptoms.
This is a regression in the last couple versions of Civi (I see it on 5.3.1 and 5.4.0, as well as 5.5-rc and master).
**Summary:** When exporting from advanced search, if you select email/phone/address fields to export _where the location type's display name is different from its machine name_, the headers for those columns will be included in the export, but the cells in those columns will be blank.
**To reproduce:**
1. Create a location type called "Field Office" with machine name "FieldOffice" or "FO"
1. Create a contact with a "Field Office" email.
1. Find that contact using advanced search and select the "export" task.
1. Select "Individual - Email - Field Office" as a field to export.
1. In the resulting CSV, there's a blank cell where the email address should be.
**Notes:** I also notice:
* the columns in the export are not in the same order as on the export column selection screen.
* exporting from Search Builder has a similar-but-different problem: if two location types are selected for export, only one of the columns will successfully be exported.
I see that quite a bit of work has gone into the Export code in recent releases and I suspect this regression happened as a result.
I'm interested in creating tests for this but I'd need someone to hold my hand through the process, as I have no recent experience doing that.5.5.0https://lab.civicrm.org/dev/core/-/issues/326Fatal error 'DB Error: no such field' on Contribution detail report when sect...2018-11-09T22:11:38ZPradeep Nayakpradpnayak@gmail.comFatal error 'DB Error: no such field' on Contribution detail report when section header enabledError code : Database Error Code: Unknown column 'civicrm_contribution_total_amount' in 'field list', 1054
![Peek_2018-08-14_16-19](/uploads/519bfa9483886f0ef2df276e76d1eb80/Peek_2018-08-14_16-19.gif)
Issue filed on stackexchange : ht...Error code : Database Error Code: Unknown column 'civicrm_contribution_total_amount' in 'field list', 1054
![Peek_2018-08-14_16-19](/uploads/519bfa9483886f0ef2df276e76d1eb80/Peek_2018-08-14_16-19.gif)
Issue filed on stackexchange : https://civicrm.stackexchange.com/questions/26124/db-error-missing-field-in-contribution-reports-after-upgrade-to-5-4-0-drupal/261265.5.0https://lab.civicrm.org/dev/core/-/issues/327PHP Fatal error: Call to undefined method - Contribution Details report2018-08-15T02:17:06ZPradeep Nayakpradpnayak@gmail.comPHP Fatal error: Call to undefined method - Contribution Details reportSOD when performed search using 'Gender' Column field ticked.
Found in php error log
[Tue Aug 14 16:33:42.2381734 2018] [:error] [pid 7686] [client 127.0.0.1:576004] PHP Fatal error: Call to undefined method CRM_Report_Form_Contrib...SOD when performed search using 'Gender' Column field ticked.
Found in php error log
[Tue Aug 14 16:33:42.2381734 2018] [:error] [pid 7686] [client 127.0.0.1:576004] PHP Fatal error: Call to undefined method CRM_Report_Form_Contribute_Detail::alterGenderID() in /var/www/html/drupal7/sites/all/modules/civicrm/CRM/Report/Form.php on line 2332, referer: http://localhost/drupal7/civicrm/report/instance/8
PR: https://github.com/civicrm/civicrm-core/pull/12661
Introduced in : https://github.com/civicrm/civicrm-core/commit/d7e34fc63https://lab.civicrm.org/dev/core/-/issues/328Reports: don't add query to developer tab if we are downloading the data2018-08-15T20:11:09ZjamieReports: don't add query to developer tab if we are downloading the dataWhen running a report, if you choose an output format of pdf, print or csv (others?) the developer tab is not displayed, so adding queries to this tab is wasted CPU cycles.
It would not be such a big deal except I discovered that in som...When running a report, if you choose an output format of pdf, print or csv (others?) the developer tab is not displayed, so adding queries to this tab is wasted CPU cycles.
It would not be such a big deal except I discovered that in some cases, it can cause CiviCRM to hang for a very long time. For example, if you run CRM_Report_Form_Contribute_Detail with more than 1,000 records and try to download as a CSV file, it will hang for more time than I have patience for.
The cause comes from https://github.com/civicrm/civicrm-core/pull/11898 (ping @eileen) - in which a few extra sql statements are helpfully added to the developers tab - but they are sql statements that are execute for each row in the results.
The addition of the sql statements to the developers tab is not a big deal under normal operations (since most reports limit to just 50 rows per page), however, when downloading via csv then all the rows are returned, so addToDeveloperTab gets called once for each row and that seems to gum up the works.
We could arguably remove any call to addToDevelopersTab that would operate on each row, but I think if we just add something like this to the addToDevelopersTab function it would be more flexible:
```
$ignored_output_modes = array('pdf', 'csv', 'print');
if (in_array($this->_outputMode, $ignored_output_modes)) {
return;
}
```
What do others think?5.6https://lab.civicrm.org/dev/core/-/issues/329'Api error: DB Error: already exists' on drush cc civicrm and any extension e...2019-11-07T03:36:26Zvarshith'Api error: DB Error: already exists' on drush cc civicrm and any extension enable/disableOverview
--------
'Api error: DB Error: already exists' on drush cc civicrm and any extension enable/disable on a fairly new site.
Technical Details
-----------------
On drush cc civicrm and any extension enable/disable.
CRM_Core_Manag...Overview
--------
'Api error: DB Error: already exists' on drush cc civicrm and any extension enable/disable on a fairly new site.
Technical Details
-----------------
On drush cc civicrm and any extension enable/disable.
CRM_Core_ManagedEntities::reconcile() is called and this method tries to re create a relationship-type that already exists.
On looking into more, it was an issue with core Case XMLProcessor.
Case ManagedEntities checks all Case types and their XML definition and then checks to see if all relationship types used within the case types needs to be created/updated.
Here on checking the relatoinship types between case type XML definition and all relationship types, there is a mismatch in the field used to compare them.
The "label_b_a" field is compared with "name_b_a" and so if these two are not the same (there is no need to be) it tries to re create it and results in this error.5.20.0https://lab.civicrm.org/dev/core/-/issues/330Mail -> Accounts -> Name Uniqueness Required2018-08-15T14:32:46ZgharrisMail -> Accounts -> Name Uniqueness RequiredIn toying around with Mail Accounts for Bounce Processing and Email-to-Activity, I've discovered an odd "feature" that has seemingly unintended consequences. If the Name field is not unique, the Process Inbound E-mails utilizes the sett...In toying around with Mail Accounts for Bounce Processing and Email-to-Activity, I've discovered an odd "feature" that has seemingly unintended consequences. If the Name field is not unique, the Process Inbound E-mails utilizes the setting from the first matching Name setup. An example will hopefully make this clearer.
In Mail Accounts:
1. Name: Civi, Address: bounce@example.com, Used For: Bounce Processing
2. Name: Civi, Address: email2activity@example.com, Used For: Email-to-Activity
When I run the Cron job for Process Inbound E-mails, it seems to successfully connect to the line 1 setup and run the Email-to-Activity off of that box.
If I simply rename the Name field, then I get the intended results.
1. Name: Civi Bounce, Address: bounce@example.com, Used For: Bounce Processing
2. Name: Civi Activity, Address: email2activity@example.com, Used For: Email-to-Activity
Running Process Inbound E-mails then grabs the e-mails from the Civi Activity account as expected.
As a side note, and perhaps a feature enhancement, the Cron logs don't show what folder or e-mail account is being looked at. This was more of a trial and error deduction. If I mess up the login, then the Cron log does show the account details.
P.S. Perhaps this should be in Mailing instead?https://lab.civicrm.org/dev/core/-/issues/331Export contributions - missing Field Mapping dropdown2018-08-15T20:00:54ZhfarooqExport contributions - missing Field Mapping dropdownCivicrm: 5 (tested on 5.31, 5.40)
Drupal: 7.59
I was able to reproduce on CIVICRM DEMO site: https://demo.circle-interactive.co.uk
Steps to reproduce:
1. Find contributions
2. Select a few of them
3. Select action 'Export contributions...Civicrm: 5 (tested on 5.31, 5.40)
Drupal: 7.59
I was able to reproduce on CIVICRM DEMO site: https://demo.circle-interactive.co.uk
Steps to reproduce:
1. Find contributions
2. Select a few of them
3. Select action 'Export contributions'
4. Select option 'Select fields for export'
A dropdown should display to let use select fields for mapping but in civicrm version 5 that div id '#map' do not have any content.https://lab.civicrm.org/dev/core/-/issues/332updateSubscriptionBillingInfo no longer includes the recurring id2023-01-13T05:03:35ZAlanDixonupdateSubscriptionBillingInfo no longer includes the recurring idPayment processor objects can implement the method updateSubscriptionBillingInfo to implement payment-processor specific code to update card-on-file type information with the payment processor service, for recurring payments.
That call'...Payment processor objects can implement the method updateSubscriptionBillingInfo to implement payment-processor specific code to update card-on-file type information with the payment processor service, for recurring payments.
That call's second parameter "processorParams" no longer includes the id of the recurring contribution, as of sometime between 4.7.27 and 5.3.1. Previously it was accessible as "crid", presumably being included implicitly from the url.
Note that this appear to only affect payment processor implementations that depend on this value - some don't (it seems that they might be using a payment processor specific field called "processor_id" in the recurring table which is send as subscriptionId to the update method).
I would propose that the recurring id be included in the parameters, but let's use the recur_id key, since that's how it is included in the _subscriptionDetails array.https://lab.civicrm.org/dev/core/-/issues/333testTargetAddressFields() in 5.5 fails half the time2018-08-16T05:58:55ZtottentestTargetAddressFields() in 5.5 fails half the timeThe test `CRM_Report_Form_ActivityTest::testTargetAddressFields()` was added in 5.5. 5.5 is the current RC, and test is failing frequently -- about half the time. ([Recent build history](https://test.civicrm.org/job/CiviCRM-Core-Matrix/C...The test `CRM_Report_Form_ActivityTest::testTargetAddressFields()` was added in 5.5. 5.5 is the current RC, and test is failing frequently -- about half the time. ([Recent build history](https://test.civicrm.org/job/CiviCRM-Core-Matrix/CIVIVER=5.5,label=ubuntu1204/))
I think the problem traces to [this line](https://github.com/civicrm/civicrm-core/pull/11660/files#diff-9b126bfd3563d59749fc7aac722e04ceR155). Evidently, the ordering must be non-deterministic -- i.e. both `India;United States` and `United States;India` come up in practice.
I don't know if that variation is acceptable or not. If it is acceptable, then the simplest change would be to make the assertion a logical `OR` (e.g. assert that `$rows[0]['civicrm_address_country_id']` is either `India;United States` or `United States;India`). If the variation is significant... then I guess that would require something else...?
@monish.deb, can you figure out a patch for 5.5?5.5.0https://lab.civicrm.org/dev/core/-/issues/334Public contribution form and Checksums: billing information not loaded if usi...2020-09-30T22:47:07ZbgmPublic contribution form and Checksums: billing information not loaded if using multiple processorsHow to reproduce:
* Create a Contribution Page
* Associate multiple payment processors
* Create a contact
* Fill in a billing address for the contact
* Generate a contribution page link that includes the checksum (cs) and cid.
What hap...How to reproduce:
* Create a Contribution Page
* Associate multiple payment processors
* Create a contact
* Fill in a billing address for the contact
* Generate a contribution page link that includes the checksum (cs) and cid.
What happens:
* The payment block does not pre-populate the Billing Address
* Note that this only happens when there are multiple processors, because of the ajax request that loads the payment block. This request does not happen when there is only one PP.5.6https://lab.civicrm.org/dev/core/-/issues/335Warning that $greetingToken is not always an array2021-09-12T21:51:54ZgharrisWarning that $greetingToken is not always an arrayWhen adding Activities to Scheduled Reminders, I came across a couple of warnings coming from core/CRM/Utils/Token.php. (https://lab.civicrm.org/dev/core/blob/master/CRM/Utils/Token.php)
```
Notice: Undefined index: contact in plugin...When adding Activities to Scheduled Reminders, I came across a couple of warnings coming from core/CRM/Utils/Token.php. (https://lab.civicrm.org/dev/core/blob/master/CRM/Utils/Token.php)
```
Notice: Undefined index: contact in plugins/civicrm/civicrm/CRM/Utils/Token.php on line 1457
Warning: array_diff(): Argument #1 is not an array in plugins/civicrm/civicrm/CRM/Utils/Token.php on line 1457
```
According to line 1376, $greetingTokens is not necessarily expected to be an array, but lines 1454 and 1457 do expect it to be an array. Line 1407 looks like it might create an array for $greetingTokens, if you get there. Wrapping if statements around 1454 and 1457 so they look like below does remove the warnings:
```
// Remove null contact fields from $greetingTokens
if (!empty($greetingTokens) && array_key_exists('contact', $greetingTokens)) {
$greetingTokens['contact'] = array_diff($greetingTokens['contact'], $nullFields);
}
// Also remove them from $tokenString
if (!empty($greetingTokens) && array_key_exists('contact', $greetingTokensOriginal)) {
$removedTokens = array_diff($greetingTokensOriginal['contact'], $greetingTokens['contact']);
}
```
However, I expect that's not the correct answer. It seems like $greetingTokens should be treated as an array throughout the file, and an "if" test should be done at the top, converting it to an array if the test is false. However, I'm afraid that's deeper than I can wade.
Originally found while also attempting to diagnose https://lab.civicrm.org/dev/core/issues/58https://lab.civicrm.org/dev/core/-/issues/336Cannot activate extension on Memcache+WP configuration2019-02-12T14:49:37ZtottenCannot activate extension on Memcache+WP configurationThis issue was originally reported by @haystack on Mattermost and described further in the comments for a PR for #316. It is similar to #316 in that both involve a Memcache configuration, but otherwise it appears different. (I have not p...This issue was originally reported by @haystack on Mattermost and described further in the comments for a PR for #316. It is similar to #316 in that both involve a Memcache configuration, but otherwise it appears different. (I have not personally been able to reproduce it yet, and the solution for #316 doesn't address this.) Below, I'm copying over the details from Christian's previous report.
## Excerpt 1
(*From Christian*)
One further issue I've run into is that Extensions cannot be installed while Memcached is being used:
```
$Fatal Error Details = array(3) {
["message"]=>
string(19) "Unknown extension: "
["code"]=>
NULL
["exception"]=>
object(CRM_Extension_Exception_MissingException)#6982 (10) {
["errorData":"CRM_Core_Exception":private]=>
array(1) {
["error_code"]=>
int(0)
}
... lots more debugging ...
```
As you can see, `$key` is empty in `CRM_Extension_Container_Collection::getContainer()` - I presume this is as a result of `CRM_Extension_Container_Collection::getKeysToContainer()` grabbing the containers with:
```
$k2c = $this->cache->get($this->cacheKey);
```
FWIW, turning Memcached _off_ allows me to install Extensions.
## Excerpt 2
(From Christian)
Apologies in advance if there's too much debugging info below - I've tried to debug the Install Extension process but I get lost in the intricacies of `HTML_QuickForm` so I thought dumping everything I can see might help. The problem in `CRM_Extension_Container_Collection::getContainer()` is that `$key` is not defined:
```
Array
(
[method] => CRM_Extension_Container_Collection::getContainer
[key] =>
[k2c] => Array
(
[com.iatspayments.civicrm] => civiroot
[org.civicrm.shoreditch] => default
)
[backtrace] => #0 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Extension/Container/Collection.php(111): CRM_Extension_Container_Collection->getContainer(NULL)
#1 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Extension/Mapper.php(185): CRM_Extension_Container_Collection->getPath(NULL)
#2 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Form/Extensions.php(85): CRM_Extension_Mapper->keyToInfo(NULL)
#3 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(585): CRM_Admin_Form_Extensions->preProcess()
#4 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(136): CRM_Core_Form->buildForm()
#5 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), 'next', 'Next')
#6 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), 'next')
#7 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), 'next')
#8 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle('next')
#9 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(398): CRM_Core_Controller->run()
#10 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(156): CRM_Core_Page_Basic->edit(1, NULL)
#11 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Extensions.php(121): CRM_Core_Page_Basic->run()
#12 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309): CRM_Admin_Page_Extensions->run(Array, NULL)
#13 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem(Array)
#14 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke(Array)
#15 /path/to/wp-content/plugins/civicrm/civicrm.php(1246): CRM_Core_Invoke::invoke(Array)
#16 [internal function]: CiviCRM_For_WordPress->invoke('')
#17 /path/to/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array)
#18 /path/to/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#19 /path/to/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#20 /path/to/wp-admin/admin.php(224): do_action('toplevel_page_C...')
#21 {main}
)
```
Debugging further up the line in `CRM_Admin_Form_Extensions::preProcess()` shows the context, though it still doesn't show me exactly why `$key` is undefined:
```
Array
(
[method] => CRM_Admin_Form_Extensions::preProcess
[key] =>
[id] =>
[GET] => Array
(
[page] => CiviCRM
[q] => civicrm/admin/extensions
[noheader] => 1
)
[POST] => Array
(
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[REQUEST] => Array
(
[page] => CiviCRM
[q] => civicrm/admin/extensions
[noheader] => 1
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[backtrace] => #0 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Form.php(585): CRM_Admin_Form_Extensions->preProcess()
#1 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/StateMachine.php(136): CRM_Core_Form->buildForm()
#2 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Next.php(61): CRM_Core_StateMachine->perform(Object(CRM_Admin_Form_Extensions), 'next', 'Next')
#3 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Next->perform(Object(CRM_Admin_Form_Extensions), 'next')
#4 /path/to/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Admin_Form_Extensions), 'next')
#5 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle('next')
#6 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(398): CRM_Core_Controller->run()
#7 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/Basic.php(156): CRM_Core_Page_Basic->edit(1, NULL)
#8 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Admin/Page/Extensions.php(121): CRM_Core_Page_Basic->run()
#9 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(309): CRM_Admin_Page_Extensions->run(Array, NULL)
#10 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem(Array)
#11 /path/to/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke(Array)
#12 /path/to/wp-content/plugins/civicrm/civicrm.php(1246): CRM_Core_Invoke::invoke(Array)
#13 [internal function]: CiviCRM_For_WordPress->invoke('')
#14 /path/to/wp-includes/class-wp-hook.php(286): call_user_func_array(Array, Array)
#15 /path/to/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#16 /path/to/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#17 /path/to/wp-admin/admin.php(224): do_action('toplevel_page_C...')
#18 {main}
)
```
Here's what `CRM_Admin_Form_Extensions` looks like at the above moment:
```
[this] => CRM_Admin_Form_Extensions Object
(
[_id:protected] =>
[_values:protected] => Array
(
)
[_BAOName:protected] => CRM_Core_BAO_Extension
[_state:protected] =>
[_name:protected] => Extensions
[_title:protected] =>
[_defaults] => Array
(
)
[_options] =>
[_action] => 1
[_paymentProcessors:protected] =>
[_paymentProcessorIDs] =>
[_paymentProcessorID:protected] =>
[_is_pay_later_enabled:protected] =>
[_renderer:protected] =>
[_dateFields:protected] => Array
(
)
[unsavedChangesWarn:protected] =>
[ajaxResponse] => Array
(
)
[urlPath] => Array
(
[0] => civicrm
[1] => admin
[2] => extensions
)
[context:protected] =>
[controller] => CRM_Core_Controller_Simple Object
(
[_title:protected] => CRM_Admin_Form_Extensions
[_key] => 926b1c386f5b9c64184e995104741f62_6496
[_scope:protected] => CRM_Admin_Form_Extensions_926b1c386f5b9c64184e995104741f62_6496
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
[_embedded:protected] => 1
[_skipRedirection:protected] =>
[_print] => 0
[_generateQFKey] => 1
[_QFResponseType] => html
[_parent:protected] =>
[_destination] =>
[_entryURL] =>
[_pages] => Array
(
[Extensions] => CRM_Admin_Form_Extensions Object
*RECURSION*
)
[_actions] => Array
(
[Extensions] => HTML_QuickForm_Action_Direct Object
(
)
[display] => CRM_Core_QuickForm_Action_Display Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[next] => CRM_Core_QuickForm_Action_Next Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[back] => CRM_Core_QuickForm_Action_Back Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[process] => CRM_Core_QuickForm_Action_Process Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[cancel] => CRM_Core_QuickForm_Action_Cancel Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[refresh] => CRM_Core_QuickForm_Action_Refresh Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[reload] => CRM_Core_QuickForm_Action_Reload Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[done] => CRM_Core_QuickForm_Action_Done Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[jump] => CRM_Core_QuickForm_Action_Jump Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[submit] => CRM_Core_QuickForm_Action_Submit Object
(
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
[upload] => CRM_Core_QuickForm_Action_Upload Object
(
[_uploadNames:protected] => Array
(
[0] => attachFile_1
[1] => attachFile_2
[2] => attachFile_3
[3] => uploadFile
)
[_uploadDir:protected] => /path/to/wp-content/plugins/files/civicrm/upload/
[_stateMachine:protected] => CRM_Core_StateMachine Object
(
[_controller:protected] => CRM_Core_Controller_Simple Object
*RECURSION*
[_states:protected] => Array
(
[Extensions] => CRM_Core_State Object
(
[_name:protected] => Extensions
[_type:protected] => 3
[_back:protected] =>
[_next:protected] =>
[_stateMachine:protected] => CRM_Core_StateMachine Object
*RECURSION*
)
)
[_pages:protected] => Array
(
[CRM_Admin_Form_Extensions] =>
)
[_pageNames:protected] => Array
(
[0] => Extensions
)
[_action:protected] => 0
[_name:protected] =>
)
)
)
[_name] => CRM_Admin_Form_Extensions_926b1c386f5b9c64184e995104741f62_6496
[_modal] => 1
[_actionName] => Array
(
[0] => Extensions
[1] => next
)
)
[_chainSelectFields:CRM_Core_Form:private] => Array
(
)
[_actions] => Array
(
)
[_formBuilt] => 1
[_elements] => Array
(
)
[_elementIndex] => Array
(
)
[_duplicateIndex] => Array
(
)
[_required] => Array
(
)
[_jsPrefix] => Invalid information entered.
[_jsPostfix] => Please correct these fields.
[_datasource] =>
[_defaultValues] => Array
(
)
[_constantValues] => Array
(
)
[_submitValues] => Array
(
[qfKey] => 926b1c386f5b9c64184e995104741f62_6496
[_qf_default] => Extensions:next
[_qf_Extensions_next] => Install
)
[_submitFiles] => Array
(
)
[_maxFileSize] => 41943040
[_freezeAll] =>
[_rules] => Array
(
)
[_formRules] => Array
(
)
[_errors] => Array
(
)
[_requiredNote] => <span style="font-size:80%; color:#ff0000;">*</span><span style="font-size:80%;"> denotes required field</span>
[_flagSubmitted] => 1
[_attributes] => Array
(
[action] => https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/extensions
[method] => post
[name] => Extensions
[id] => Extensions
[class] => CRM_Admin_Form_Extensions
)
[_tabOffset] => 0
[_tab] =>
[_lineEnd] =>
[_comment] =>
[_key] =>
)
```
So, somewhere at some point, the `_key` property is not being set.
@totten Can you suggest how I might be able to pinpoint what's going on?
## Excerpt 3
(*From Christian*)
@totten A little more info: when Memcached is *not* being used, the URL sequence is as follows:
* The "Install" page is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add&id=org.civicrm.shoreditch&key=org.civicrm.shoreditch
* The resulting location is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&reset=1&action=browse
When Memcached *is* being used:
* The "Install" page is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add&id=org.civicrm.shoreditch&key=org.civicrm.shoreditch
* The resulting location is: https://domain.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions
As I said, I'll happily test further given pointers as to where to keep digging.
------
## Excerpt 4
(*From totten via Mattermost*)
@haystack on a brief skim, it seems like the target extension-key should be passed through page arguments, but the pageflow there is a little tricky (so brief skim may be miselading). Maybe a quirk in session-mgmt could be the issue? (Ex: memcache prematurely purges session-state). Would be interesting to see:
1. With memcache active -- do the extensions install via CLI? (e.g. `wp civicrm-api extension.install key=org.civicrm.shoreditch` or `cv en shoreditch`)
2. With memcache active -- does the gui installer work when [if sessions are stored in sql - but otherwise the system uses memcache](https://gist.github.com/totten/1e90a48da78f518931f34c709df83c13) ?
If #2 works, I'd take that as a signal that memcache isn't reliably storing session state.
If #2 doesn't make a difference, then #1 might be interesting.5.5.0https://lab.civicrm.org/dev/core/-/issues/337QuickForm Error on Contact Search Form when using select custom field of type...2021-01-06T22:42:24ZPradeep Nayakpradpnayak@gmail.comQuickForm Error on Contact Search Form when using select custom field of type IntegerTo Replicate:
Create a 'Select' custom field of type Integer or Number with 'Is this Field Searchable?' checked.
The Advance search form throws fatal error
```
Aug 17 10:16:57 [info] $Fatal Error Details = Array
(
[callback] => Ar...To Replicate:
Create a 'Select' custom field of type Integer or Number with 'Is this Field Searchable?' checked.
The Advance search form throws fatal error
```
Aug 17 10:16:57 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -3
[message] => QuickForm Error: nonexistent html element
[mode] => 16
[debug_info] => Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()
[type] => HTML_QuickForm_Error
[user_info] => Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()
[to_string] => [html_quickform_error: message="nonexistent html element" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="QuickForm Error: " info="Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()"]
)
Aug 17 10:16:57 [info] $backTrace = #0 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Error.php(232): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 [internal function](): CRM_Core_Error::handle(Object(HTML_QuickForm_Error))
#2 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/PEAR.php(921): call_user_func((Array:2), Object(HTML_QuickForm_Error))
#3 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/HTML/QuickForm.php(2084): PEAR_Error->__construct("nonexistent html element", -3, 16, (Array:2), "Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()")
#4 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/PEAR.php(575): HTML_QuickForm_Error->__construct(-3, 16, (Array:2), "Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()")
#5 [internal function](): PEAR::_raiseError(NULL, NULL, -3, NULL, 512, "Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()", "HTML_QuickForm_Error", TRUE)
#6 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/PEAR.php(237): call_user_func_array((Array:2), (Array:8))
#7 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/HTML/QuickForm.php(1076): PEAR::__callStatic("raiseError", (Array:7))
#8 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/HTML/QuickForm.php(1076): PEAR::raiseError(NULL, -3, NULL, 512, "Element 'custom_8_from' does not exist in HTML_QuickForm::addRule()", "HTML_QuickForm_Error", TRUE)
#9 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/BAO/CustomField.php(1103): HTML_QuickForm->addRule("custom_8_from", "number-select From must be a number (with or without decimal point).", "numeric")
#10 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Contact/Form/Search/Criteria.php(567): CRM_Core_BAO_CustomField::addQuickFormElement(Object(CRM_Contact_Form_Search_Advanced), "custom_8", "8", FALSE, TRUE)
#11 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Contact/Form/Search/Advanced.php(150): CRM_Contact_Form_Search_Criteria::custom(Object(CRM_Contact_Form_Search_Advanced))
#12 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Form.php(606): CRM_Contact_Form_Search_Advanced->buildQuickForm()
#13 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(92): CRM_Core_Form->buildForm()
#14 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Contact_Form_Search_Advanced), "display")
#15 /var/www/html/civicrm-master/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contact_Form_Search_Advanced), "display")
#16 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("display")
#17 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Invoke.php(309): CRM_Core_Controller->run((Array:4), (Array:0))
#18 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:13))
#19 /var/www/html/civicrm-master/sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:4))
#20 /var/www/html/civicrm-master/sites/all/modules/civicrm/drupal/civicrm.module(445): CRM_Core_Invoke::invoke((Array:4))
#21 [internal function](): civicrm_invoke("contact", "search", "advanced")
#22 /var/www/html/civicrm-master/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#23 /var/www/html/civicrm-master/index.php(21): menu_execute_active_handler()
#24 {main}
```
When i checked the field through database i found that this field has 'is_search_range' set to TRUE which should be only incase of text or date field i believe.5.9https://lab.civicrm.org/dev/core/-/issues/338Batch update membership type2019-04-30T06:27:11Zsarah.farrellgrahamBatch update membership typeWhen wanting to batch up date a membership type, previously you could update the first row, click the copy button and this would copy downwards to the rest of the contacts you had pulled through- now it selects the top 'membership type' ...When wanting to batch up date a membership type, previously you could update the first row, click the copy button and this would copy downwards to the rest of the contacts you had pulled through- now it selects the top 'membership type' in the drop down and paste's this in all the contacts- even if a different option was select in the top row, this changes also.
This has been tested on D master (5.6 alpha) and on multiple 5.3.1 sites.https://lab.civicrm.org/dev/core/-/issues/340Pager on group when no groups present2022-08-25T05:03:27ZPradeep Nayakpradpnayak@gmail.comPager on group when no groups presentWhen there are no groups in the system the Manage group page shows pager
![No-Groups](/uploads/6ba8c87b6dfc7cda576ce5c1062d197c/No-Groups.png)When there are no groups in the system the Manage group page shows pager
![No-Groups](/uploads/6ba8c87b6dfc7cda576ce5c1062d197c/No-Groups.png)https://lab.civicrm.org/dev/core/-/issues/341"Contributions made in Year X and not Year Y" custom search ignores date field2018-08-19T22:11:13Zlcdweb"Contributions made in Year X and not Year Y" custom search ignores date fieldThe "Contributions made in Year X and not Year Y" custom search ignores date field parameters.The "Contributions made in Year X and not Year Y" custom search ignores date field parameters.5.6lcdweblcdwebhttps://lab.civicrm.org/dev/core/-/issues/342Activity Search does not show any results because the default option "With" i...2018-08-28T11:40:25Zjustinfreeman (Agileware)Activity Search does not show any results because the default option "With" is included in the search criteria despite no "Name or Email" being definedActivity Search does not show any results because the default option "With" is included in the search criteria despite no "Name or Email" being defined.
Applies to CiviCRM 5.4.0.
**Steps to reproduce**
1. Go to Find Activities
2. Selec...Activity Search does not show any results because the default option "With" is included in the search criteria despite no "Name or Email" being defined.
Applies to CiviCRM 5.4.0.
**Steps to reproduce**
1. Go to Find Activities
2. Select an Activity Type for which Activities exist
3. Click Search
4. No Activities are shown in the search results.
5. Scroll down and view the search criteria, you can see that "Activity targeted to ...AND..." has been added to the criteria
6. Click the X next to the "With" criteria
7. Click Search
8. Activities ARE shown in the search results.
**Fix required**
The "With" criteria should be unselected by default.
![Find_Activities_Default](/uploads/8432837978fe0b88a0ced521ca7ddc00/Find_Activities_Default.png)
Our reference SUP-5948https://lab.civicrm.org/dev/core/-/issues/343Long lines in contact name or address overflow mailing labels2018-08-30T12:07:06ZAndrew ThompsonLong lines in contact name or address overflow mailing labelsIf very long lines (long enough to wrap to next line) are present in the address or addressee, PDF mailing labels will overflow the right boundary of the label. This is due to the code not subtracting the left & right padding from the wi...If very long lines (long enough to wrap to next line) are present in the address or addressee, PDF mailing labels will overflow the right boundary of the label. This is due to the code not subtracting the left & right padding from the width.
PR coming soon.
Steps to reproduce:
1. Create a contact with a name and/or street address long enough to wrap to a new line
2. Create mailing labels. I used Avery L7163.
3. Compare to official Avery template, e.g. https://www.averyproducts.com.au/word-template-l7163. The right side of the label will overflow the label.https://lab.civicrm.org/dev/core/-/issues/344Tell a Friend mail does not include event title2018-08-30T09:19:36ZchriscantTell a Friend mail does not include event titleWhen using the Tell-a-Friend by mail option I found that the event title wasn't appearing in the mail subject.
This is configured in the System Workflow Message "Tell-a-Friend Email" as follows:
`{ts 1=$senderContactName 2=$title}%1 wa...When using the Tell-a-Friend by mail option I found that the event title wasn't appearing in the mail subject.
This is configured in the System Workflow Message "Tell-a-Friend Email" as follows:
`{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}`
I eventually found that the title was not set up in CRM_Friend_Form /CRM/Friend/Form.php.
Adding this line after line 97 should fix this:
`$this->_title = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_entityId, 'title');`
I have added this code in my live version 5.4.0 code in the equivalent place ie after line 91 and it works in a WordPress site.
I'll submit a PR with this change.5.6https://lab.civicrm.org/dev/core/-/issues/345Provide emptySeats count variable to event display2022-08-26T05:03:37ZchriscantProvide emptySeats count variable to event displayWhen showing an event I wanted to be able to show how many seats were left - in a custom template.
I was able to add a TPL variable emptySeats in CRM_Event_Page_EventInfo CRM/Event/Page/EventInfo.php after line 276 as follows:
```
...When showing an event I wanted to be able to show how many seats were left - in a custom template.
I was able to add a TPL variable emptySeats in CRM_Event_Page_EventInfo CRM/Event/Page/EventInfo.php after line 276 as follows:
```
$eventEmptySeats = CRM_Event_BAO_Participant::eventFull($this->_id,
TRUE,
$hasWaitingList
);
$this->assign('emptySeats', $eventEmptySeats);
```
The call to eventFull() has $returnEmptySeats set to TRUE. This returns an integer greater than zero or the event full text or FALSE if no max participant count set.
This variable can be referenced in {$emptySeats}.
I have tested this in 5.4.0 under WordPress. I have not run any other tests.
I have a fork/branch ready to submit as a PR if this would be useful.
I could not immediately find a place where to document this additional variable.https://lab.civicrm.org/dev/core/-/issues/346Online Pay Now error when used from dashboard checksum link2019-02-14T17:34:30Zmagnolia61Online Pay Now error when used from dashboard checksum linkIn 5.3.0 a checksum link to the user dashboard was introduced (https://github.com/civicrm/civicrm-core/pull/12254)<br>
In 5.4.0 a solution for anonymous Online Pay Now link usage was shipped (https://github.com/civicrm/civicrm-core/pull/...In 5.3.0 a checksum link to the user dashboard was introduced (https://github.com/civicrm/civicrm-core/pull/12254)<br>
In 5.4.0 a solution for anonymous Online Pay Now link usage was shipped (https://github.com/civicrm/civicrm-core/pull/11578/files)
Unfortunately I believe these two do not work together nicely.
1. We send our users a checksum link to their civicrm dashboard (yeah!)
2. A user visits his dashboard and clicks Pay Now for a pending contribution
3. The users gets the newly introduced error: "Returning since there is no contact attached to this contribution id".
The 5.4.0 fix was discussed in https://issues.civicrm.org/jira/browse/CRM-20697 and it's PR https://github.com/civicrm/civicrm-core/pull/11578 before. 5.6https://lab.civicrm.org/dev/core/-/issues/347Buttons inconsistencies2023-07-12T11:52:57ZAkA84Buttons inconsistencies# Problem
While working on Shoreditch I spent some time doing an inventory of the different variations, in terms of markup, of a button in civi (it's not fully comprehensive, for example i left out the "disabled" versions) and it looks t...# Problem
While working on Shoreditch I spent some time doing an inventory of the different variations, in terms of markup, of a button in civi (it's not fully comprehensive, for example i left out the "disabled" versions) and it looks to me that there are several inconsistencies that civi would benefit from addressing or at least mitigating
![buttons](/uploads/c2b53a6da6be011b62195255395dfc5c/buttons.png)
_(source: https://gist.github.com/AkA84/9cfcfa610971461493dee1e63c0e06fb)_
## 1. Too many ways of doing the same thing
Right now there are several ways to add a standard civi button to a page, and all of them with caveats:
1. Use the `.button` class, but only if you apply it to a `<a>` or a `[type="button"]`
2. Use the `.crm-button` class, but it won't work correctly if you apply it to a `<a>`
3. Use the `.crm-form-submit` class, but only if you apply it to a `input[type="button"]` or a `input[type="submit"]`
4. Use the plain tag without classes, but only if it's `[type="button"]`, as either `<button>` or `[type="submit"]` will not be styled
Ideally there should be only one class that provides the desired state (say, `.crm-button`). Just like it works in Bootstrap (http://getbootstrap.com/docs/3.3/css/#buttons)
## 2. There are differences to the style in each variation
The differences are mostly about padding, which in turn cause the height to vary
1. `a.button` has a padding of `2px 6px`, resulting in a height of 23px
2. `span.button` has a padding of `1px`, resulting in a height of 20px
3. `button.crm-button` has a padding of `3px 6px` resulting in a height of 24px
4. `input[type="button"]` and `input[type="submit"]` have the same padding of `a.button`, but probably because of how they are rendered by the browser they end up with a different height, 19px
5. `.crm-button input[type=button]` has a padding of `3px 5px 2px`, resulting in a height of 22px
6. `.crm-button .crm-form-submit` has a padding of `1px 8px 2px 4px`, resulting in a height of 21px
It gets pretty evident once you line them up
![heights](/uploads/4901d492dca87220731572f8dfa45583/heights.png)
## 3. Some variations are floated by default
`a.button` and `span.crm-button` are floated by default to the left, which is pretty confusing. Not sure why this layout decision was hardcoded on these variations, but it prevents one to use them without having to "counter" the floating each time
# Solution
I think issue no.2 is the one with the better chances of being fixed without introducing regression issues, as it's just about consolidating the padding and height of all the variations
Issues no.1 and no.3 instead I can imagine that if fixed would likely cause problems downstream. At the very least some documentation of what should be the correct/preferred way to add a button in a civi page should mitigate the confusion and eventually lead to an adoption of a single variation as the "right" one over the others, which over time would become legacy and could eventually be removed
Shoreditch of course should be able to correct most if not all of the above by simply overriding the original css, but I thought worth flagging the problem anyway as it might be worth considering addressing the problems in the original "theme" as wellhttps://lab.civicrm.org/dev/core/-/issues/348Custom Participant tokens not working in scheduled reminders2021-10-02T05:27:54Zmagnolia61Custom Participant tokens not working in scheduled remindersCustom Participant tokens do not work in scheduled reminders.<BR>
I believe the underlying code exists in CiviCRM but it is not possible to use participant tokens.
Work has been done to get these working in pdf creation though: https://...Custom Participant tokens do not work in scheduled reminders.<BR>
I believe the underlying code exists in CiviCRM but it is not possible to use participant tokens.
Work has been done to get these working in pdf creation though: https://issues.civicrm.org/jira/browse/CRM-16734
20200902 Coming back at this issue. I tested again and these are the results using CiviCRM 5.28.4<br>
Situation is an event registration and scheduled reminders being send based on that.
| Type of token | example | result |
| ------ | ------ | ------ |
| Only core event tokens | event.title | get correctly replaced |
| Custom event tokens | event.custom_123| Expected one Event but found 0 |
| Only core participant tokens | participant.role | No error, but do not get replaced |
| Custom participant tokens | participant.custom_123 | No error, but do not get replaced |5.43.0justinfreeman (Agileware)justinfreeman (Agileware)https://lab.civicrm.org/dev/core/-/issues/349Scheduled reminders list default sort does not work2018-08-28T11:11:10Zmagnolia61Scheduled reminders list default sort does not workThe Scheduled Reminder list default sort does not work because of a small typo.
This PR corrects that.The Scheduled Reminder list default sort does not work because of a small typo.
This PR corrects that.5.6https://lab.civicrm.org/dev/core/-/issues/350SMS immediate send not working in 5.4.02018-08-28T11:48:01ZAndy ClarkSMS immediate send not working in 5.4.0In 5.4.0 (Drupal) users couldn't send immediate SMS messages (using Twilio), with a message something like "recipients phone number invalid or they do not want to receive SMS delivery" BUT they could still send SMSs via batch. Similar pr...In 5.4.0 (Drupal) users couldn't send immediate SMS messages (using Twilio), with a message something like "recipients phone number invalid or they do not want to receive SMS delivery" BUT they could still send SMSs via batch. Similar problem was raised on Stackexchange at https://civicrm.stackexchange.com/questions/25478/clickatell-sms-recipient-phone-number-is-invalid-or-recipient-does-not-want-to but seems to be discussed as a Clickatell problem - but we're using Twilio. Problem is at line 1829 of activity.php where $doNotSms = TRUE; Changing this to $doNotSms = NULL; does temporarily fix the problem but ignores user preferences (I think). From discussions at https://github.com/veda-consulting/org.civicrm.sms.clickatell/issues/20 it also affects 5.3.0 and 5.3.15.5.0https://lab.civicrm.org/dev/core/-/issues/351ERROR: LoadForm Pop-up w/out Params in URL2018-08-28T21:41:11Zlee.goodingERROR: LoadForm Pop-up w/out Params in URLWhen the loadForm function is used to open a form in a pop-up it will throw an error if NO parameters are included in the URL. If I include a dummy parameter (such as dummy=1) then it will not give me the error.
The function should not...When the loadForm function is used to open a form in a pop-up it will throw an error if NO parameters are included in the URL. If I include a dummy parameter (such as dummy=1) then it will not give me the error.
The function should not require parameters in the URL.
Here is my full error:
`Uncaught TypeError: Cannot read property 'split' of undefined at $.(anonymous function).(anonymous function).isOriginalUrl (http://dev.civicrmdev/sites/all/modules/civicrm/js/crm.ajax.js?pd7a7l:167:34) at $.(anonymous function).(anonymous function).isOriginalUrl (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery-ui/jquery-ui.js?pd7a7l:144:25) at HTMLDivElement.<anonymous> (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery-ui/jquery-ui.js?pd7a7l:256:40) at Function.each (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery/dist/jquery.js?pd7a7l:370:19) at jQuery.fn.init.each (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery/dist/jquery.js?pd7a7l:137:17) at jQuery.fn.init.$.fn.(anonymous function) [as crmSnippet] (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery-ui/jquery-ui.js?pd7a7l:236:10) at HTMLDivElement.<anonymous> (http://dev.civicrmdev/sites/all/modules/civicrm/js/crm.ajax.js?pd7a7l:441:34) at HTMLDivElement.dispatch (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery/dist/jquery.js?pd7a7l:5226:27) at HTMLDivElement.elemData.handle (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery/dist/jquery.js?pd7a7l:4878:28) at Object.trigger (http://dev.civicrmdev/sites/all/modules/civicrm/bower_components/jquery/dist/jquery.js?pd7a7l:5130:12) isOriginalUrl @ crm.ajax.js?pd7a7l:167 (anonymous) @ jquery-ui.js?pd7a7l:144 (anonymous) @ jquery-ui.js?pd7a7l:256 each @ jquery.js?pd7a7l:370 each @ jquery.js?pd7a7l:137 $.fn.(anonymous function) @ jquery-ui.js?pd7a7l:236 (anonymous) @ crm.ajax.js?pd7a7l:441 dispatch @ jquery.js?pd7a7l:5226 elemData.handle @ jquery.js?pd7a7l:4878 trigger @ jquery.js?pd7a7l:5130 (anonymous) @ jquery.js?pd7a7l:5860 each @ jquery.js?pd7a7l:370 each @ jquery.js?pd7a7l:137 trigger @ jquery.js?pd7a7l:5859 (anonymous) @ crm.ajax.js?pd7a7l:262 fire @ jquery.js?pd7a7l:3232 fireWith @ jquery.js?pd7a7l:3362 done @ jquery.js?pd7a7l:9840 callback @ jquery.js?pd7a7l:10311 XMLHttpRequest.send (async) send @ jquery.js?pd7a7l:10254 ajax @ jquery.js?pd7a7l:9738 jQuery.(anonymous function) @ jquery.js?pd7a7l:9890 getJSON @ jquery.js?pd7a7l:9871 refresh @ crm.ajax.js?pd7a7l:242 (anonymous) @ jquery-ui.js?pd7a7l:144 (anonymous) @ jquery-ui.js?pd7a7l:256 each @ jquery.js?pd7a7l:370 each @ jquery.js?pd7a7l:137 $.fn.(anonymous function) @ jquery-ui.js?pd7a7l:236 CRM.loadPage @ crm.ajax.js?pd7a7l:330 CRM.loadForm @ crm.ajax.js?pd7a7l:355 (anonymous) @ sgt_sgDcGroupManage.js?r=RMsXR:66 dispatch @ jquery.js?pd7a7l:5226 elemData.handle @ jquery.js?pd7a7l:4878`5.6https://lab.civicrm.org/dev/core/-/issues/352Ensure that when adding recipients of previous mailings that contacts who are...2018-08-28T21:41:11ZseamusleeEnsure that when adding recipients of previous mailings that contacts who are being excluded are removedAt present in the mailing code base when adding in recipients or a previous mailing there is no checking to ensure that contacts that are to be excluded are properly excludedAt present in the mailing code base when adding in recipients or a previous mailing there is no checking to ensure that contacts that are to be excluded are properly excluded5.6seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/353As of 5.4.0, Activity Search gives an empty result set2018-09-03T01:56:12ZPradeep Nayakpradpnayak@gmail.comAs of 5.4.0, Activity Search gives an empty result setFrom SE: https://civicrm.stackexchange.com/questions/26208/as-of-5-4-0-activity-search-gives-an-empty-result-set-confirmation-anyone
Probably this might have caused regression https://github.com/civicrm/civicrm-core/commit/fd95406da80
...From SE: https://civicrm.stackexchange.com/questions/26208/as-of-5-4-0-activity-search-gives-an-empty-result-set-confirmation-anyone
Probably this might have caused regression https://github.com/civicrm/civicrm-core/commit/fd95406da80
PR: https://github.com/civicrm/civicrm-core/pull/127135.5.0https://lab.civicrm.org/dev/core/-/issues/354Price Field Options garbled upon edit with German money format2021-06-06T21:22:06ZBjörn EndresPrice Field Options garbled upon edit with German money formatIf you set (civicrm/admin/setting/localization) the thousands separator to '.' and the decimal to ',' as it's commonly used in Germany, editing price sets goes horribly wrong: If you have a price field with options, and you want to edit ...If you set (civicrm/admin/setting/localization) the thousands separator to '.' and the decimal to ',' as it's commonly used in Germany, editing price sets goes horribly wrong: If you have a price field with options, and you want to edit the options, the amount, let's say ``169.00``, is given as ``169.000000000``. If you save the form without changing the value, this gets interpreted as ["1.000.000.000,00"](http://weknowmemes.com/generator/uploads/generated/g1392854909775055094.jpg), which then gets even worse when you edit the field again.
The whole issue seems to go back to an unfortunate combination of the ``CRM_Utils_Money::format()`` function with German localisation, and the underlying DB field ``civicrm_price_field_value.amount`` having type ``decimal(18,9)`` - yes, *nine* decimals.
Observed on CiviCRM ``5.3.2``.https://lab.civicrm.org/dev/core/-/issues/355Style improvement of radio form elements2019-11-29T20:27:27ZcalbasiStyle improvement of radio form elementsHi,
Radio inputs are too close to their labels, I think a **simple** improvement would be:
```
input.crm-form-radio + label{
margin-left: 7px;
}
```
If you agree, I can do a pull request at github.
Ps: First time summiting an issue ...Hi,
Radio inputs are too close to their labels, I think a **simple** improvement would be:
```
input.crm-form-radio + label{
margin-left: 7px;
}
```
If you agree, I can do a pull request at github.
Ps: First time summiting an issue at "new" gitlab instance, please, I beg your perdon if I'm not using the correct project :-)5.8https://lab.civicrm.org/dev/core/-/issues/357Email signature stopped working since ??? 4.6 ??2019-06-24T20:27:12ZPradeep Nayakpradpnayak@gmail.comEmail signature stopped working since ??? 4.6 ??After upgrade from 4.6 to 5.3 email signature stopped working
To replicate:
![After](/uploads/d7ae5b98c59b8ce410fa3a396ddb9ce1/After.gif)
In 4.6
![Before](/uploads/f6c9ce58dd46f9228f3a41a99a32e227/Before.gif)
Related PR that might h...After upgrade from 4.6 to 5.3 email signature stopped working
To replicate:
![After](/uploads/d7ae5b98c59b8ce410fa3a396ddb9ce1/After.gif)
In 4.6
![Before](/uploads/f6c9ce58dd46f9228f3a41a99a32e227/Before.gif)
Related PR that might have caused regression: https://github.com/civicrm/civicrm-core/commit/669f45efe5f5.8https://lab.civicrm.org/dev/core/-/issues/358Case ordering options in Find Case search results2020-03-05T20:48:16ZalarmingcodCase ordering options in Find Case search resultsFollowing links in Civicase dashboard (4.6.38) normally takes you through to a set of search results in the Find Cases search.
Initially cases are displayed by client name, alphabetically.
There are options (sort arrows) to order by mo...Following links in Civicase dashboard (4.6.38) normally takes you through to a set of search results in the Find Cases search.
Initially cases are displayed by client name, alphabetically.
There are options (sort arrows) to order by most recent activity date, or next scheduled activity date. When used neither of these display as expected. Results list neither in activity type order, or by date order.
On closer inspection both sort the results in case id order.
Have checked and this behaviour is the same in dmaster.demohttps://lab.civicrm.org/dev/core/-/issues/359current month (labeled as mtd) is off by 1 on member dashboard2018-11-12T18:47:05ZIan Kellingcurrent month (labeled as mtd) is off by 1 on member dashboardMy own instance says the current month is september, this demo instance says it is july: https://demo.circle-interactive.co.uk/civicrm/member (login info here: https://demo.circle-interactive.co.uk/ ). The system clock is correct on my s...My own instance says the current month is september, this demo instance says it is july: https://demo.circle-interactive.co.uk/civicrm/member (login info here: https://demo.circle-interactive.co.uk/ ). The system clock is correct on my server. It should say august.https://lab.civicrm.org/dev/core/-/issues/360Can CIviCRM honor outbound proxies set site-wide for PHP applications?2022-08-24T05:03:36ZsudomanCan CIviCRM honor outbound proxies set site-wide for PHP applications?Is there a way to encourage CiviCRM to use an outbound proxy that is set system-wide for PHP applications? This is the format of our config in `/etc/php/set_proxy.php`:
```` php
<?php
$stream_default_opts = array(
'http'=>array(
'...Is there a way to encourage CiviCRM to use an outbound proxy that is set system-wide for PHP applications? This is the format of our config in `/etc/php/set_proxy.php`:
```` php
<?php
$stream_default_opts = array(
'http'=>array(
'proxy'=>"tcp://proxy.example.com:8118",
'request_fulluri' => true,
),
'https'=>array(
'proxy'=>"tcp://proxy.example.com:8118",
'request_fulluri' => true,
)
);
stream_context_set_default($stream_default_opts);
putenv('http_proxy=http://proxy.example.com:8118');
putenv('https_proxy=http://proxy.example.com:8118');
?>
````
However CiviCRM seems to ignore this setting at least some of the time: #324https://lab.civicrm.org/dev/core/-/issues/361Mistake in Case api spec description2018-08-25T21:02:02ZkainukMistake in Case api spec descriptionThe description for the `tag_id` parameter should be
"Find cases with specified tags."
instead of
"Find activities with specified tags."
![civiIssue](/uploads/ad4d069b1fbea34dda1917ab65d8646b/civiIssue.png)The description for the `tag_id` parameter should be
"Find cases with specified tags."
instead of
"Find activities with specified tags."
![civiIssue](/uploads/ad4d069b1fbea34dda1917ab65d8646b/civiIssue.png)https://lab.civicrm.org/dev/core/-/issues/362Contact Refence Fields don't allow search and select On Behalf Profiles2018-09-28T01:17:52ZtommyboboContact Refence Fields don't allow search and select On Behalf ProfilesWhen a Contact Reference field is added to an On Behalf of profile on a Donation/Membership page it is displayed but the search and select function never populates on the page. No error is generated.
First and Fourth fields on the imag...When a Contact Reference field is added to an On Behalf of profile on a Donation/Membership page it is displayed but the search and select function never populates on the page. No error is generated.
First and Fourth fields on the image are Contact Reference Fields.
![Screenshot_from_2018-08-24_10-10-59](/uploads/f23872c20baa9d2ed9b5e58b03d23c72/Screenshot_from_2018-08-24_10-10-59.png)5.7https://lab.civicrm.org/dev/core/-/issues/363Getting “DB Error: syntax error” When searching for Deleted cases2018-08-26T21:58:57ZPradeep Nayakpradpnayak@gmail.comGetting “DB Error: syntax error” When searching for Deleted caseshttps://civicrm.stackexchange.com/questions/26269/getting-db-error-syntax-error-when-searching-for-deleted-cases
Works fine on 4.6.x
Regression : https://github.com/civicrm/civicrm-core/pull/7592
Fixed PR : https://civicrm.stackexchange.com/questions/26269/getting-db-error-syntax-error-when-searching-for-deleted-cases
Works fine on 4.6.x
Regression : https://github.com/civicrm/civicrm-core/pull/7592
Fixed PR : https://lab.civicrm.org/dev/core/-/issues/364Activity details field longer than 64k crashes exports – temporary table colu...2020-09-17T22:56:40ZAgilewareActivity details field longer than 64k crashes exports – temporary table column is text when actual column is longtextTo reproduce, create an activity with a details field longer than the length limit of a text column (this came up in a ~95kchar long column for us), then try to export it.
I couldn't see off hand why this would be – suspect there's an e...To reproduce, create an activity with a details field longer than the length limit of a text column (this came up in a ~95kchar long column for us), then try to export it.
I couldn't see off hand why this would be – suspect there's an edge case CRM_Export_BAO_Export(Processor)->sqlColumnDefn that's being handled incorrectly.https://lab.civicrm.org/dev/core/-/issues/365Unwanted mail blast sent by Scheduled Reminders2021-06-10T07:04:39Zmagnolia61Unwanted mail blast sent by Scheduled Reminders**BUG 1:**<br>
I enabled a scheduled reminder which was configured to sent 12 week before the start date of an event.
The start date was a month ago on july 21st.
* Expected behavior: no mail is being sent.
* Actual behaviour: 500 famil...**BUG 1:**<br>
I enabled a scheduled reminder which was configured to sent 12 week before the start date of an event.
The start date was a month ago on july 21st.
* Expected behavior: no mail is being sent.
* Actual behaviour: 500 families got an email with the last details on the event (that already happened).
Over the last few years we have had more incidents like these and it really hurts our reputation, and within our organization it also hurts the reputation of CiviCRM.
The scheduled reminders should be way more clear in configuration and unintentional mail blast should really be prevented by good tests and more solid code.
For this particular issue I would suggest to NOT send a reminder that is configured BEFORE an event, AFTER the event. This could be configured in Civi/ActionSchedule/RecipientBuilder.php although I lack the skills to figure out how.
**BUG 2**<br>
Also what happened is that the reminder was configured for specific participant statuses and it ignored that and sent it anyway to participants with any status. Should be solved but also a test should be introduced for this.
**BUG 3**<br>
The limit to group function seems (sometimes) to be ignored when sending to participants (selected by event type). Should be solved but also a test should be introduced for this.
**CONCLUSION**<BR>
I will further test on clean install, but to me this seems to be critical bugs as they
1) have a reputation impact<br>
2) might impact spam ratings<br>
3) cause a lot of work to follow up (send rectifications, responding to responses by mail)...
....5.39.0https://lab.civicrm.org/dev/core/-/issues/366Showing Line Items for Contributions with Default Price Sets2022-08-28T05:03:35ZCamilo RodríguezShowing Line Items for Contributions with Default Price Sets## Overview
In scenarios like data migration, multiple membership lines might be added to a contribution via the default priceset. The current mechanism prevents these lines from being shown when looking at a contributions detail view (C...## Overview
In scenarios like data migration, multiple membership lines might be added to a contribution via the default priceset. The current mechanism prevents these lines from being shown when looking at a contributions detail view (CRM_Contribute_Form_ContributionView). It makes sense that quick config priceset do not show up in the priceset configuration pages but there are more cons than pros to not show the lines on the actual contributions.
## How it Works Currently
To decide if line items should be shown for the contribution, line items are fetched, ordered by their price field's weight. Then, the price set for the first line item is checked. If the price set's `quick_config` flag is set, then the line items are NOT shown. If the falg is NOT set, the list of line items is shown.
## How it Should Work
List of line items should always be shown, especially if there is more than one of them, even if they're added using the default price set. Not sure what the logic is behind having the list of line items depend on the price set, but it could be better to have the contribution say if it should be shown with line items or not, by adding a new flag, `show_line_items` to the Contribution entity.guanhuanguanhuanhttps://lab.civicrm.org/dev/core/-/issues/367Fatal error / SQL timeout in A-Z pager for advanced search by relationship wi...2018-08-29T14:26:22ZAllenShawFatal error / SQL timeout in A-Z pager for advanced search by relationship with target group for reciprocal relationship typesPull request: https://github.com/civicrm/civicrm-core/pull/12740
Similar issue but not directly related: https://issues.civicrm.org/jira/browse/CRM-21811
On many sites, this is not an issue, but the more "spouse" relationships a site h...Pull request: https://github.com/civicrm/civicrm-core/pull/12740
Similar issue but not directly related: https://issues.civicrm.org/jira/browse/CRM-21811
On many sites, this is not an issue, but the more "spouse" relationships a site has, the more likely it happens (and not just spouse; this applies for "partner of" and any other reciprocally named relationship type).
**Steps to reproduce:**
1. Start with a site having:
1. Several thousand active relationships of a reciprocal type (where the name for both related positions is the same – e.g., "spouse of" <=> "spouse of"; "sibling of" <=> "sibling of"; "partner of" <=> "partner of"). This recipe uses "Spouse of".
1. At least one group (smart group or static group).
1. Perform an Advanced Search with these criteria:
1. Relationships > Relationship Type: "Spouse of"
1. Relationships > Target Contact(s) in Group: [any one or more groups]
1. Submit the search form and observe a very long page load; depending on the number of relationships, server configuration, and server resources, this search may end in a WSOD, or take dozens of minutes to complete.
**Analysis:**
* When this actually times out, you get a fatal error from MySQL: "Query execution was interrupted (max_statement_time exceeded)"
* Backtrace indicates that the long-running query is the one used to generate the A-Z pager controls in search results; this query includes as join to a temporary table which is created without indices.
**Proposed solution:**
Add indices and column definitions to the temporary table, so that the join can use the indices and run in a timely manner.5.6https://lab.civicrm.org/dev/core/-/issues/368Scheduled Reminder edit form does not populate date criteria correctly when e...2018-09-03T00:42:54ZandrewcormickdockeryScheduled Reminder edit form does not populate date criteria correctly when editing old remindersWhen editing an old scheduled reminder as shown here (note, to be sent 30 days before membership end date):
![image](/uploads/186749b711bc60889055e8a84994584e/image.png)
the edit form populates incorrectly as shown:
![image](/uploads/24...When editing an old scheduled reminder as shown here (note, to be sent 30 days before membership end date):
![image](/uploads/186749b711bc60889055e8a84994584e/image.png)
the edit form populates incorrectly as shown:
![image](/uploads/24c30ad7f8b8004032b8de5f06aded6a/image.png)
This has caused our users to inadvertently render their reminder ineffective when editing unrelated items on the reminder (for example, the email text).
The log tables show what's happened here (extract from log_civicrm_action_schedule):
![image](/uploads/ae7d5c9d851d81bd7626317c87d1e908/image.png)
Apparently at some point, the coding for membership end date changed from "membership_end_date" to "end_date" but there was no accompanying database update performed to retrospectively change legacy reminders.
I should note that the reminders are actually still sent, but this bug with the edit form has caused grief for some users.5.5.0https://lab.civicrm.org/dev/core/-/issues/369Deletion of SMS provider caused all scheduled reminders to fail to be sent2019-11-23T21:18:11ZandrewcormickdockeryDeletion of SMS provider caused all scheduled reminders to fail to be sentA user recently deleted an SMS provider. Unfortunately there were live SMS scheduled reminders attached to that provider. This caused the cron call to job.send_reminder to fail with the message "Provider not known or not provided". Th...A user recently deleted an SMS provider. Unfortunately there were live SMS scheduled reminders attached to that provider. This caused the cron call to job.send_reminder to fail with the message "Provider not known or not provided". This is a "fatal" error, meaning that the cron job failed immediately, regardless of the fact that there were many perfectly valid reminders which needed processing.
I have a few points to make about this:
1. An SMS provider should not be able to be deleted with linked active SMS scheduled reminders, or at least a warning ought to be displayed and the affected reminders automatically disabled.
2. The following constraint on the civicrm_action_schedule table looks suspect (I can't see how it could ever lead to anything appropriate happening) - the "ON DELETE SET NULL" directly led to the problem described above: ``CONSTRAINT `FK_civicrm_action_schedule_sms_provider_id` FOREIGN KEY (`sms_provider_id`) REFERENCES `civicrm_sms_provider` (`id`) ON DELETE SET NULL``
3. The "Provider not known or not provided" error ought to be a warning, not a "fatal" error. There is no need for the code to stop proceeding if a provider cannot be found, only that that particular reminder cannot be invoked.5.15.0seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/370No new tasks and documents get added to workflow if all built-in ones are del...2018-09-21T01:46:12ZajesamsonNo new tasks and documents get added to workflow if all built-in ones are deletedIn civi case types, when all built-in tasks and documents are deleted from the Standard Timeline of a workflow, no new tasks and documents get saved to that workflow.
![case_type](/uploads/61dbf15272ad0c9d65312b10977c1e88/case_type.gif...In civi case types, when all built-in tasks and documents are deleted from the Standard Timeline of a workflow, no new tasks and documents get saved to that workflow.
![case_type](/uploads/61dbf15272ad0c9d65312b10977c1e88/case_type.gif)
The desired result would be ability to add new task(s) after existing tasks are deleted.5.7https://lab.civicrm.org/dev/core/-/issues/371Be environmentally friendly. Remove the sentence: "Please print this page for...2019-10-13T19:27:08Zjustinfreeman (Agileware)Be environmentally friendly. Remove the sentence: "Please print this page for your records." from the various CiviCRM tpls. We like trees!Be environmentally friendly. Remove the sentence: "Please print this page for your records." from the various CiviCRM tpls. We like trees!
A quick grep found this text in the following locations. There may be other similar on other tpls...Be environmentally friendly. Remove the sentence: "Please print this page for your records." from the various CiviCRM tpls. We like trees!
A quick grep found this text in the following locations. There may be other similar on other tpls/translations too.
templates/CRM/Contribute/Form/Contribution/ThankYou.tpl:66: <div>{ts 1=$paymentProcessor.name}Your contribution has been submitted to %1 for processing. Please print this page for your records.{/ts}</div>
templates/CRM/Contribute/Form/Contribution/ThankYou.tpl:77: <div>{ts}Your transaction has been processed successfully. Please print this page for your records.{/ts}</div>
templates/CRM/Event/Form/Registration/ThankYou.tpl:74: <p>{ts 1=$paymentProcessor.name}Your registration payment has been submitted to %1 for processing. Please print this page for your records.{/ts}</p>
templates/CRM/Event/Form/Registration/ThankYou.tpl:79: <p>{ts}Your registration has been processed successfully. Please print this page for your records.{/ts}</p>
ext/iatspayments/templates/CRM/iATS/ContributeThankYouExtra_UKDD.tpl:23: <p>Please print this page for your records.</p>
Binary file l10n/de_DE/LC_MESSAGES/civicrm.mo matches
Binary file l10n/uk_UA/LC_MESSAGES/civicrm.mo matches
Binary file l10n/fr_FR/LC_MESSAGES/civicrm.mo matches
Binary file l10n/ca_ES/LC_MESSAGES/civicrm.mo matches
Binary file l10n/es_MX/LC_MESSAGES/civicrm.mo matches
Binary file l10n/et_EE/LC_MESSAGES/civicrm.mo matches
Binary file l10n/pl_PL/LC_MESSAGES/civicrm.mo matches
Binary file l10n/zh_TW/LC_MESSAGES/civicrm.mo matches
Binary file l10n/cs_CZ/LC_MESSAGES/civicrm.mo matches
Binary file l10n/es_ES/LC_MESSAGES/civicrm.mo matches
Binary file l10n/nl_NL/LC_MESSAGES/civicrm.mo matches
Binary file l10n/hu_HU/LC_MESSAGES/civicrm.mo matches
Binary file l10n/ja_JP/LC_MESSAGES/civicrm.mo matches
Binary file l10n/en_AU/LC_MESSAGES/civicrm.mo matches
Binary file l10n/sl_SI/LC_MESSAGES/civicrm.mo matches
Binary file l10n/ru_RU/LC_MESSAGES/civicrm.mo matches
Binary file l10n/da_DK/LC_MESSAGES/civicrm.mo matches
Binary file l10n/el_GR/LC_MESSAGES/civicrm.mo matches
Binary file l10n/ar_EG/LC_MESSAGES/civicrm.mo matches
Binary file l10n/en_CA/LC_MESSAGES/civicrm.mo matches
Binary file l10n/de_CH/LC_MESSAGES/civicrm.mo matches
Binary file l10n/tr_TR/LC_MESSAGES/civicrm.mo matches
Binary file l10n/sv_SE/LC_MESSAGES/civicrm.mo matches
Binary file l10n/fr_CA/LC_MESSAGES/civicrm.mo matches
Binary file l10n/pt_BR/LC_MESSAGES/civicrm.mo matches
Binary file l10n/pt_PT/LC_MESSAGES/civicrm.mo matches
Binary file l10n/en_GB/LC_MESSAGES/civicrm.mo matches
Binary file l10n/zh_CN/LC_MESSAGES/civicrm.mo matches
Binary file l10n/nb_NO/LC_MESSAGES/civicrm.mo matches
Binary file l10n/hi_IN/LC_MESSAGES/civicrm.mo matches
Binary file l10n/lv_LV/LC_MESSAGES/civicrm.mo matches
Binary file l10n/it_IT/LC_MESSAGES/civicrm.mo matches
Agileware Reference: SUP-6032https://lab.civicrm.org/dev/core/-/issues/3725.6.alpha1 notice2018-11-11T20:41:11ZJoeMurray5.6.alpha1 noticeCreate simple Meeting activity with minimal options. View activity:
Notice: Undefined index: details in CRM_Activity_Form_Activity->preProcess() (line 526 of /home/git-civicrm/civicrm-core/CRM/Activity/Form/Activity.php).
http://cividemo...Create simple Meeting activity with minimal options. View activity:
Notice: Undefined index: details in CRM_Activity_Form_Activity->preProcess() (line 526 of /home/git-civicrm/civicrm-core/CRM/Activity/Form/Activity.php).
http://cividemo.jmaconsulting.biz/civicrm/activity/add?reset=1&atype=1&action=update&reset=1&id=720&cid=203&context=activity5.9Monish DebMonish Debhttps://lab.civicrm.org/dev/core/-/issues/373Custom field set behaving incorrectly in Contributions2022-09-16T05:03:38ZAndy ClarkCustom field set behaving incorrectly in ContributionsA custom field set that is flagged to appear only for 'Donations' correctly appears when a contribution is made. However if a field in that set isn't completed or is in error, an error message is correctly shown but the custom field set ...A custom field set that is flagged to appear only for 'Donations' correctly appears when a contribution is made. However if a field in that set isn't completed or is in error, an error message is correctly shown but the custom field set disappears and is replaced by 'Additional Details' which is opened up. To enter the custom field set you have to start again with the contribution. This only happens when the custom field set is **not ** set to 'Any'. The problem found in 5.4.1, and can be reproduced on the demo sites which today are at 5.6 alpha1. Problem is also present in 5.1.2 but not sure about 5.2 or 5.3.https://lab.civicrm.org/dev/core/-/issues/374Test Email function can create bogus new contacts in Civi2022-11-05T05:03:47ZandrewcormickdockeryTest Email function can create bogus new contacts in CiviIn CiviMail, the "send test email" function at the bottom of the New Mailing page can create new contacts even if erroneous information is placed in it. There appears to be some validation checking of this field, but there are invalid c...In CiviMail, the "send test email" function at the bottom of the New Mailing page can create new contacts even if erroneous information is placed in it. There appears to be some validation checking of this field, but there are invalid combinations which get past this.
For example, recently a user entered the following (equivalent) text: "example@example.com; foo@bar.com" (note the semicolon and space which appears to indicate the user intended this test to be sent to two different email addresses). No email was sent, but a new contact appeared with no name and the email address set to "example@example.com; foo@bar.com" (complete with space and semicolon).
Suggestion: more appropriate validation of this field required.https://lab.civicrm.org/dev/core/-/issues/375Incorrect event fee Balance & Total Paid in Participant Listing report2019-10-30T18:35:54Zmagnolia61Incorrect event fee Balance & Total Paid in Participant Listing reportScenario nr.1:
1. Event registration with Price Set
2. fee is 20 euro and is paid
3. Price set is changed. 30 euro more is required
4. The Contribution tab shows correct amounts for Amount and Balance Due
![Screenshot_from_2018-09-04_13-...Scenario nr.1:
1. Event registration with Price Set
2. fee is 20 euro and is paid
3. Price set is changed. 30 euro more is required
4. The Contribution tab shows correct amounts for Amount and Balance Due
![Screenshot_from_2018-09-04_13-48-10](/uploads/f1b5ba92e6facd678504ba1ac8e878dc/Screenshot_from_2018-09-04_13-48-10.png)
5. The Participant Listing report shows something different (Fee = 50 Total Paid = 50 Balance = 0)
![Screenshot_from_2018-09-04_13-41-10](/uploads/2df16a82cdd7439160eb542630d09d1b/Screenshot_from_2018-09-04_13-41-10.png)
Scenario nr.2
1. Event registration with Price Set
2. fee is 50 euro and is not paid
3. payment of 20 euro is recorded
4. Both the contribution tab and the Participant listing report show correct figures.
It seems to me there is a bug in the calculation of the Total Paid and Balance due in the Participant Report. Because at all other places in CiviCRM in scenario 1 the Balance is correct.5.20.0https://lab.civicrm.org/dev/core/-/issues/376Contact Detail report breaks when adding clause using selectWhereClause()2018-09-14T04:16:17ZPradeep Nayakpradpnayak@gmail.comContact Detail report breaks when adding clause using selectWhereClause()5.7https://lab.civicrm.org/dev/core/-/issues/377{Membership.Fee} appears on Membership Renewal Reminder emails with 9 decimal...2019-08-15T20:09:19Zpaulorokonui{Membership.Fee} appears on Membership Renewal Reminder emails with 9 decimal placesSimilar to the previously reported issue.....
https://github.com/civicrm/civicrm-core/pull/12186
Screenshots and comments can be found on above thread
civiCRM 5.4.0 on Drupal 7Similar to the previously reported issue.....
https://github.com/civicrm/civicrm-core/pull/12186
Screenshots and comments can be found on above thread
civiCRM 5.4.0 on Drupal 75.18.0https://lab.civicrm.org/dev/core/-/issues/378Add a configuration setting for when to load custom CSS2020-01-28T02:57:05ZjensschuppeAdd a configuration setting for when to load custom CSSWhen debugging a [Shoreditch issue](https://github.com/civicrm/org.civicrm.shoreditch/issues/136) with overridden fonts, we began to wonder why CiviCRM's core and custom styles are being added to every page (at least whenever `civicrm_in...When debugging a [Shoreditch issue](https://github.com/civicrm/org.civicrm.shoreditch/issues/136) with overridden fonts, we began to wonder why CiviCRM's core and custom styles are being added to every page (at least whenever `civicrm_initialize()` gets called), instead of only on CiviCRM pages. A generic switch for that turned out to be non-trivial, as sometimes we do want CiviCRM styles on non-CiviCRM pages (e.g. when using profiles), sometimes we want them on public CiviCRM pages, and sometimes we don't.
This led to a POC for a configuration setting for when to load CiviCRM's custom CSS (in that special case Shoreditch's CSS), allowing administrators to choose between
- "always" (current and default behavior)
- "all CiviCRM pages"
- "all CiviCRM pages except public CiviCRM pages".
Simply adding all styles on every page may be useless on sites with more functionality than just CiviCRM. With shoreditch, that behaviour is just prone to destroying your CMS theme styles.
Patch: [customCSSMode.patch](/uploads/e66373a42af4e7f8f529e0dd18ab63bd/customCSSMode.patch)
Any thoughts?https://lab.civicrm.org/dev/core/-/issues/379View Activity: extraneous newlines by nl2br on HTML content2018-09-14T04:15:46ZbgmView Activity: extraneous newlines by nl2br on HTML contentThis a regression that was caused a while back by #2 (for I take responsibility, since I mentored/reviewed). We added a nl2br that was a bit too bread in scope, but should have only affected Inbound HTML activities.
How to reproduce on ...This a regression that was caused a while back by #2 (for I take responsibility, since I mentored/reviewed). We added a nl2br that was a bit too bread in scope, but should have only affected Inbound HTML activities.
How to reproduce on http://dcase.demo.civicrm.org :
* Go to a contact record
* Create an activity
* In the details field, add 3 separate lines (by hitting 'enter' once, to create a new paragraph).
![44817615-028c1d00-abb4-11e8-9eba-07b9eb96c029](/uploads/ccb4d0f8a636c37869d0d93455629967/44817615-028c1d00-abb4-11e8-9eba-07b9eb96c029.png)
In the above, you can see that "Line 1" and "Line 2" have a lot of space between them. Inspecting the HTML, it shows that some extra 'br' tags were added between the paragraphs.
If we edit the activity again, the HTML looks OK:
![44817687-3109f800-abb4-11e8-88a4-dccb3b1b957e](/uploads/f69ce244868ea5f50384aa2861f75a7b/44817687-3109f800-abb4-11e8-88a4-dccb3b1b957e.png)
(the newlines in the above screenshot are what made me assume this is a nl2br bug)
PS: this issue was initially reported here: https://github.com/civicrm/org.civicrm.civicase/issues/116 -- but it is not specific to civicase v5.
cc @Detlev5.7bgmbgmhttps://lab.civicrm.org/dev/core/-/issues/380Exporting Results from Related Contact Search Gives "No Records to Export" Me...2022-12-04T05:03:21ZguyiacExporting Results from Related Contact Search Gives "No Records to Export" MessageOn civicrm.org, I was trying to export the employers of people who attended CiviCamp Hartford 2017. I used the Advanced Search, chose CiviCamp Hartford 2017 in the Event tab, and Related Contacts - Employer in the "Display Results As" dr...On civicrm.org, I was trying to export the employers of people who attended CiviCamp Hartford 2017. I used the Advanced Search, chose CiviCamp Hartford 2017 in the Event tab, and Related Contacts - Employer in the "Display Results As" dropdown. I get 82 results to display. However when I select all 82 records and try to export them, I get the "no records to export" message. Same result on the dmaster demo site.
![image](/uploads/adb4206a1de036dd2371400e72a7f13a/image.png)https://lab.civicrm.org/dev/core/-/issues/381civicrm/file/imagefile serving up wrong images2021-02-02T00:49:50Zmark-rodgers11markrodgers11@gmail.comcivicrm/file/imagefile serving up wrong imagesI'm getting a really strange bug in CiviCRM 5.3.1 (Drupal 7.59). I tried updating to 5.4.1 and have the same issue.
This is our upcoming events page. This is a Drupal Views page that is pulling in CiviEvents. We have a custom field on C...I'm getting a really strange bug in CiviCRM 5.3.1 (Drupal 7.59). I tried updating to 5.4.1 and have the same issue.
This is our upcoming events page. This is a Drupal Views page that is pulling in CiviEvents. We have a custom field on CiviEvents of type *file*. We use this field to upload an image associated with the event that gets pulled into the upcoming events page. It is an optional field, which if not used, Drupal will serve up a default image instead. The CiviCRM event's file field is served from */civicrm/file/imagefile?id=**X**&eid=**Y***
![screenshot01](/uploads/8abac702213ad9ddec788c9c0daa65b9/screenshot01.jpg)
If I go visit a contact view page then go back and refresh the event page, */civicrm/file/imagefile?id=**X**&eid=**Y*** is now serving up the last viewed contact's image instead of the image uploaded to the event's custom file field.
![screenshot02](/uploads/8c6dee6707892c2daa35e5fcfb0d8f29/screenshot02.jpg)
![screenshot03](/uploads/f7bdeaf02f1391c04ce2c266478cf70f/screenshot03.jpg)
I can keep refreshing this page indefinitely and it will keep showing the contact image instead of the image tied to the event. If I logout and log back in and view the event page, images are getting pulled correctly again.
This isn't directly related to visiting */civicrm/contact/view*. We have a public CiviCRM profile that allows users to update their contact information (including their contact image). I've noticed the same issue happens if I login and visit this profile (*/civicrm/profile/edit*) before visiting the Upcoming Events page.
![screenshot04](/uploads/0934e02071de33b486530962c0e0887c/screenshot04.jpg)
I was adviced in Mattermost to check apache request logs when the images are pulling correctly, as well as after visiting a contact view page (or the profile page mentioned above) to compare the requests.
**REQUEST1 (displaying event images correctly)**
```
192.0.0.199 - - [05/Sep/2018:13:52:33 -0700] "GET /civicrm/file/imagefile?id=817&eid=32 HTTP/1.1" 200 91252 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
192.0.0.199 - - [05/Sep/2018:13:52:33 -0700] "GET /civicrm/file/imagefile?id=816&eid=30 HTTP/1.1" 200 19962 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
192.0.0.199 - - [05/Sep/2018:13:52:33 -0700] "GET /civicrm/file/imagefile?id=814&eid=33 HTTP/1.1" 200 11621 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
```
**REQUEST2 (displaying contact images on events page, instead of the event images)**
```
192.0.0.199 - - [05/Sep/2018:13:53:29 -0700] "GET /civicrm/file/imagefile?id=817&eid=32 HTTP/1.1" 200 516963 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
192.0.0.199 - - [05/Sep/2018:13:53:29 -0700] "GET /civicrm/file/imagefile?id=816&eid=30 HTTP/1.1" 200 516963 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
192.0.0.199 - - [05/Sep/2018:13:53:29 -0700] "GET /civicrm/file/imagefile?id=814&eid=33 HTTP/1.1" 200 516963 "https://www.clinicaltmssociety.org/events" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
```
More details can be found in the Mattermost discussion below:
https://chat.civicrm.org/civicrm/pl/xrkg8rf95ffruyfmc9fko8zifwhttps://lab.civicrm.org/dev/core/-/issues/382DB Error generated when updating a group with an organisation record attached...2018-09-16T20:36:52ZseamusleeDB Error generated when updating a group with an organisation record attached where the id in the civicrm_group_organisation does not match the id in civicrm_groupIf the id of the group does not = the id of its civicrm_group_organisation record then a db error can be generated when trying to update the group.If the id of the group does not = the id of its civicrm_group_organisation record then a db error can be generated when trying to update the group.5.7seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/383Edit Form of custom field does not load2018-11-09T22:11:39ZjitendraEdit Form of custom field does not loadTo replicate - navigate to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group/field?reset=1&action=browse&gid=1 and edit on a custom field which is not linked to an option group. Eg Marriage date.To replicate - navigate to https://dmaster.demo.civicrm.org/civicrm/admin/custom/group/field?reset=1&action=browse&gid=1 and edit on a custom field which is not linked to an option group. Eg Marriage date.5.5.0jitendrajitendrahttps://lab.civicrm.org/dev/core/-/issues/384Mobile phone number selection issues with SMS2021-03-13T02:40:20ZandyburnsMobile phone number selection issues with SMSWhen the phone type is 'mobile' (value=2), the Outbound SMS action disappears on the contact summary screen. Outbound SMS only shows when phone type is 'phone' (value=1). This seems counter-intuitive and against what some people have don...When the phone type is 'mobile' (value=2), the Outbound SMS action disappears on the contact summary screen. Outbound SMS only shows when phone type is 'phone' (value=1). This seems counter-intuitive and against what some people have done in the past to get it to show:https://civicrm.stackexchange.com/questions/12175/when-sending-sms-messages-contacts-must-have-mobile-phone-set-as-primary.
It also behaves the same under Mass SMS (doesn't send to 'mobile' phone type.)5.8https://lab.civicrm.org/dev/core/-/issues/385Multiple installation issues when installing via civihydra on non-standard ports2022-08-26T05:03:38ZtottenMultiple installation issues when installing via civihydra on non-standard ports1. I do local development [with this environment](https://github.com/totten/bknix) that uses alternate ports.
2. The tool `civihydra` takes a CiviCRM archive (e.g. `civicrm-5.4.1-wordpress.zip`), creates a barebones CMS, and lets you go...1. I do local development [with this environment](https://github.com/totten/bknix) that uses alternate ports.
2. The tool `civihydra` takes a CiviCRM archive (e.g. `civicrm-5.4.1-wordpress.zip`), creates a barebones CMS, and lets you go through the web-based installer. This installer differs from the headless/CLI routines used for day-to-day git-based dev.
3. When I run civihydra with the D7 and WP builds (e.g. `civihydra create https://download.civicrm.org/civicrm-5.4.1-wordpress.zip`), I get problems -- but they are different problems.
For the moment, I just want to file *something* so this doesn't get permanently forgotten. We can split into separate issues if appropriate.
Observations:
* For D7 sites, the `civicrm.settings.php` always has a malformed value of `CIVICRM_UF_BASEURL`.
* This started sometime in 4.7.x but I haven't traced it.
* For WP sites, the `civicrm.settings.php` has a suitable value of `CIVICRM_UF_BASEURL`. However, the auto-detection of `[civicrm.files]` does not work correctly.
* The problem is visible on every 5.x that I checked in (incl 5.0, 5.2, 5.5), so it started somewhere during 4.7.x. However, going back further -- to 4.7.20 -- the `civihydra` command does work.https://lab.civicrm.org/dev/core/-/issues/386Contribution Detail Report shows no amount if set to Soft Credit Only.2018-10-03T17:06:50ZtommyboboContribution Detail Report shows no amount if set to Soft Credit Only.In 5.4.1 if a Contribution Detail Report is set to show only Soft Credits the Amount column is completely empty on the results page.In 5.4.1 if a Contribution Detail Report is set to show only Soft Credits the Amount column is completely empty on the results page.