Tim Otten [Wed, 6 Jul 2022 21:01:29 +0000 (14:01 -0700)]
Merge pull request #23947 from totten/master-php81-global
dev/core#3181 - Resolver - Compatibility fix for GLOBALS in PHP 8.1
Yashodha Chaku [Wed, 6 Jul 2022 15:22:19 +0000 (20:52 +0530)]
Merge pull request #23945 from eileenmcnaughton/map
Enotice fix
Matthew Wire [Wed, 6 Jul 2022 08:58:31 +0000 (09:58 +0100)]
Merge pull request #23346 from mattwire/totaltaxamount
Fix calculation and assignment of taxAmount on contribution page confirmation
Eileen McNaughton [Wed, 6 Jul 2022 07:42:24 +0000 (19:42 +1200)]
Merge pull request #23951 from civicrm/5.51
5.51 to master
Eileen McNaughton [Wed, 6 Jul 2022 07:23:24 +0000 (19:23 +1200)]
Merge pull request #23949 from alifrumin/rn5.51
[NFC] 5.51 Release Notes - first pass
Alice Frumin [Sat, 2 Jul 2022 00:20:39 +0000 (20:20 -0400)]
[NFC] 5.51 release notes
Tim Otten [Tue, 5 Jul 2022 23:33:17 +0000 (16:33 -0700)]
dev/core#3181 - Resolver - Compatibility fix for GLOBALS in PHP 8.1
Tim Otten [Tue, 5 Jul 2022 23:23:36 +0000 (16:23 -0700)]
CRM_Utils_Array - All `pathGet()`-like methods will accept empty-path
These two are equivalent:
(A) $data['sub1']['sub2']['sub3']
(B) CRM_Utils_Array::pathGet($data, ['sub1', 'sub2', 'sub3'])
But what if the list of subpaths is empty -- ie you're accessing the top-level item?
(A) $data
(B) CRM_Utils_Array::pathGet($data, [])
It worked correctly on `pathGet()`, but accessing the top-level using a
related methods (eg `pathSet()`) would generate a PHP error.
This commit ensures that related methods can be used to check/update the
top-level item (ie path===[]).
Note that there is some decent test-coverage already for the regular
scenarios (eg `testGetSetPathParts()`).
Eileen McNaughton [Tue, 5 Jul 2022 20:46:05 +0000 (08:46 +1200)]
Enotice fix
Eileen McNaughton [Tue, 5 Jul 2022 20:44:00 +0000 (08:44 +1200)]
Merge pull request #23942 from tschuettler/3717-sort-mapping-page
dev/core#3717 - Fix sorting by mapping type
Matthew Wire [Tue, 5 Jul 2022 19:29:00 +0000 (20:29 +0100)]
Merge pull request #23931 from eileenmcnaughton/repeat_pledge
RepeatTransaction - separate out repeat pledge handling from completeOrder
demeritcowboy [Tue, 5 Jul 2022 18:03:25 +0000 (14:03 -0400)]
Merge pull request #23943 from civicrm/5.51
5.51
demeritcowboy [Tue, 5 Jul 2022 15:32:17 +0000 (11:32 -0400)]
Merge pull request #23927 from eileenmcnaughton/url
dev/core#3707 Fix wordpress issue of page not refreshing after import
demeritcowboy [Tue, 5 Jul 2022 15:15:36 +0000 (11:15 -0400)]
Merge pull request #23935 from seamuslee001/fix_more_null
[REF][PHP8.1] Another set of fixes for passing in NULL values to php …
Matthew Wire [Tue, 5 Jul 2022 13:30:14 +0000 (14:30 +0100)]
Merge pull request #23928 from artfulrobot/artfulrobot-cleanup-repeattransaction
Cleanup repeattransaction
Rich Lott / Artful Robot [Tue, 5 Jul 2022 09:00:23 +0000 (10:00 +0100)]
Minor tidyup of api3 completetransaction; plus comments
Rich Lott / Artful Robot [Tue, 5 Jul 2022 08:42:59 +0000 (09:42 +0100)]
Add docblock comments to explain $input param in CRM_Contribute_BAO::repeatTransaction
Thomas Schüttler [Tue, 5 Jul 2022 08:33:09 +0000 (10:33 +0200)]
Fix sorting by mapping type
Eileen McNaughton [Tue, 5 Jul 2022 03:59:10 +0000 (15:59 +1200)]
Merge pull request #23939 from civicrm/5.51
5.51
Eileen McNaughton [Tue, 5 Jul 2022 03:55:22 +0000 (15:55 +1200)]
Merge pull request #23938 from seamuslee001/brick_math_update
[REF][PHP8.1] Update Brick/Math to a version that works with php8.1
Seamus Lee [Tue, 5 Jul 2022 00:53:48 +0000 (10:53 +1000)]
Merge pull request #23904 from eileenmcnaughton/grant
dev/core#3503, dev/core#3492 Fix grant exports and relative dates
Seamus Lee [Tue, 5 Jul 2022 00:42:46 +0000 (10:42 +1000)]
[REF][PHP8.1] Update Brick/Math to a version that works with php8.1
Seamus Lee [Sun, 3 Jul 2022 07:15:25 +0000 (17:15 +1000)]
[REF][PHP8.1] Another set of fixes for passing in NULL values to php string or preg replace functions
Update to Dave's suggestion for default value
Rich Lott / Artful Robot [Mon, 4 Jul 2022 14:01:01 +0000 (15:01 +0100)]
Fix broken tests highlighted by but not caused by pull 23928
demeritcowboy [Mon, 4 Jul 2022 12:47:35 +0000 (08:47 -0400)]
Merge pull request #23913 from seamuslee001/symfony_upgrade
[REF][PHP8.1] Upgrade Symfony to 4.x for WP, Drupal7, Backdrop, Joomla
Yashodha Chaku [Mon, 4 Jul 2022 12:45:04 +0000 (18:15 +0530)]
Merge pull request #23912 from mlutfy/reportVars
CRM_Report_Form: set _from and _where as public for the alterReportVar hook
demeritcowboy [Mon, 4 Jul 2022 12:19:59 +0000 (08:19 -0400)]
Merge pull request #23919 from colemanw/afformIcon
Afform - Allow picking icon for tab, add CrmUiIconPicker widget
Seamus Lee [Mon, 4 Jul 2022 04:51:45 +0000 (14:51 +1000)]
Merge pull request #23922 from seamuslee001/str_func_null_1
[REF][PHP8.1] Stop Passing NULL values into mb_strlen in DAO nad strp…
Seamus Lee [Fri, 1 Jul 2022 01:08:51 +0000 (11:08 +1000)]
[REF][PHP8.1] Stop Passing NULL values into mb_strlen in DAO nad strpos in API validate string function
Matthew Wire [Sun, 3 Jul 2022 14:40:07 +0000 (15:40 +0100)]
Merge pull request #23808 from agileware/CIVICRM-1861
issues/2887 Enhancements to improve the iCal, Outlook and Google Calendar integration
Eileen McNaughton [Sat, 2 Jul 2022 00:42:02 +0000 (12:42 +1200)]
RepeatTransaction - separate out repeat pledge handling from complete
Eileen McNaughton [Sat, 2 Jul 2022 05:00:10 +0000 (17:00 +1200)]
Merge pull request #23930 from demeritcowboy/trigger-comment
[NFC] Add code comment about triggerinfo "variables"
demeritcowboy [Sat, 2 Jul 2022 00:50:38 +0000 (20:50 -0400)]
add comment
demeritcowboy [Sat, 2 Jul 2022 00:44:48 +0000 (20:44 -0400)]
Merge pull request #23926 from seamuslee001/fix_default_value_php81
[REF][PHP8.1] Fix default values which triggeres deprecation notices …
Seamus Lee [Fri, 1 Jul 2022 02:33:29 +0000 (12:33 +1000)]
[REF][PHP8.1] Fix default values which triggeres deprecation notices in php8.1
Switch to non array::value format
Seamus Lee [Wed, 29 Jun 2022 23:14:25 +0000 (09:14 +1000)]
[REF][PHP8.1] Upgrade Symfony to 4.x for WP, Drupal7, Backdrop, Joomla
demeritcowboy [Fri, 1 Jul 2022 19:42:37 +0000 (15:42 -0400)]
Merge pull request #23923 from seamuslee001/upgrade_mail_mime
[REF][PHP8.1] Upgrade Pear/mail_mime package to support php8.1
Rich Lott / Artful Robot [Fri, 1 Jul 2022 15:51:28 +0000 (16:51 +0100)]
Initial go at cleaning up repeattransaction
Eileen McNaughton [Fri, 1 Jul 2022 04:56:50 +0000 (16:56 +1200)]
dev/core#3707 Fix wordpress issue of page not refreshing after import
Seamus Lee [Fri, 1 Jul 2022 02:19:04 +0000 (12:19 +1000)]
[REF][PHP8.1] Upgrade Pear/mail_mime package to support php8.1
Seamus Lee [Fri, 1 Jul 2022 01:10:30 +0000 (11:10 +1000)]
Merge pull request #23921 from civicrm/5.51
5.51 to master
Eileen McNaughton [Thu, 30 Jun 2022 22:02:11 +0000 (10:02 +1200)]
Merge pull request #23920 from MegaphoneJon/url-validation-regression
fixes #3706 URL validation regression
Jon Goldberg [Thu, 30 Jun 2022 19:45:14 +0000 (15:45 -0400)]
fixes #3706 URL validation regression
Coleman Watts [Thu, 30 Jun 2022 18:50:56 +0000 (14:50 -0400)]
Afform - Allow picking icon
Allows afforms placed as a contact summary tab to specify an icon.
It also switches Afforms's hook_civicrm_tabset to use the API, which ensures virtual forms get picked up.
Adds the new icon for CiviGrant as an example.
Coleman Watts [Thu, 30 Jun 2022 18:50:34 +0000 (14:50 -0400)]
CrmUi - Add crmUiIconPicker Angular widget
demeritcowboy [Thu, 30 Jun 2022 15:31:09 +0000 (11:31 -0400)]
Merge pull request #23914 from seamuslee001/file_substr_null
[REF][PHP8.1] Ensure that NULL is not passed to substr in CRM_Utils_F…
Eileen McNaughton [Thu, 30 Jun 2022 08:32:39 +0000 (20:32 +1200)]
Merge pull request #23916 from totten/master-wfmsg-data-boot
WorkflowMessageTest - Fix weird inconsistency in resolving `@dataProvider`
Tim Otten [Thu, 30 Jun 2022 03:54:19 +0000 (20:54 -0700)]
WorkflowMessageTest - Fix weird inconsistency in resolving `@dataProvider`
We see a failure scenario where:
* The first execution of WorkflowMessageTest runs fine.
* The second execution of WorkflowMessageTest fails to boot (while evaluating `@dataProvider`)
* If you reset the DB, then it works again - but only once.
Francis Whittle [Thu, 30 Jun 2022 00:02:43 +0000 (10:02 +1000)]
CIVICRM-1861 Embed timezone output for iCal
CIVICRM-1988 Add HTML alternate description to iCAL
CIVICRM-1987 Add to Google Calendar Link
Seamus Lee [Wed, 29 Jun 2022 23:43:57 +0000 (09:43 +1000)]
[REF][PHP8.1] Ensure that NULL is not passed to substr in CRM_Utils_File::addTrailingSlash
colemanw [Wed, 29 Jun 2022 20:14:36 +0000 (16:14 -0400)]
Merge pull request #23899 from MegaphoneJon/civigrant-afform
Grants appear in afform
Mathieu Lutfy [Wed, 29 Jun 2022 18:54:48 +0000 (14:54 -0400)]
CRM_Report_Form: set _from and _where as public for the alterReportVar hook
Eileen McNaughton [Wed, 29 Jun 2022 15:16:41 +0000 (03:16 +1200)]
Merge pull request #23871 from agileware/CIVICRM-2004
Personal Campaign Pages (PCP) incorrectly displays "Don't list my contribution in the honour roll"
Eileen McNaughton [Wed, 29 Jun 2022 13:03:55 +0000 (01:03 +1200)]
Merge pull request #23909 from civicrm/5.51
5.51 to master
Eileen McNaughton [Wed, 29 Jun 2022 13:03:20 +0000 (01:03 +1200)]
Merge pull request #23893 from eileenmcnaughton/user_two
dev/core#3514 Add interface to allow extensions that deal with imports to cope with 5.51
Eileen McNaughton [Wed, 29 Jun 2022 10:12:50 +0000 (22:12 +1200)]
Merge pull request #23907 from eileenmcnaughton/up
5.51 to master
Eileen McNaughton [Wed, 29 Jun 2022 10:11:54 +0000 (22:11 +1200)]
Merge branch '5.51' of github.com:civicrm/civicrm-core into up
Eileen McNaughton [Tue, 28 Jun 2022 10:42:47 +0000 (22:42 +1200)]
Fix Parser classes to use ClassScanner
Eileen McNaughton [Wed, 29 Jun 2022 10:02:47 +0000 (22:02 +1200)]
Merge pull request #23888 from eileenmcnaughton/user_import
Convert the type on the UserJob entity to be a string
Tim Otten [Wed, 29 Jun 2022 08:07:41 +0000 (01:07 -0700)]
Import Summary - Update to match final schema ('UserJob.job_type')
eg When running "Import Activities", the page-title for the summary is incorrect.
Eileen McNaughton [Wed, 29 Jun 2022 07:40:00 +0000 (19:40 +1200)]
Merge pull request #23903 from eileenmcnaughton/551
Allow tests to pick up hook too
Eileen McNaughton [Wed, 29 Jun 2022 07:22:42 +0000 (19:22 +1200)]
Merge pull request #23902 from civicrm/5.51
5.51 to master
Eileen McNaughton [Wed, 29 Jun 2022 06:41:31 +0000 (18:41 +1200)]
dev/core#3503, dev/core#3492 Fix grant exports and relative dates
This both stem from the wrong fix for https://lab.civicrm.org/dev/core/-/issues/3069
Refer to the gitlab for some famous last words....
Eileen McNaughton [Wed, 29 Jun 2022 06:04:38 +0000 (18:04 +1200)]
Merge pull request #23889 from eileenmcnaughton/offline_cur
Add second currency example
Eileen McNaughton [Wed, 29 Jun 2022 05:41:22 +0000 (17:41 +1200)]
Merge pull request #23901 from totten/nfc-install-docblock
(NFC) Expand docblocks for hook_install and hook_postInstall
Eileen McNaughton [Wed, 29 Jun 2022 05:40:21 +0000 (17:40 +1200)]
Allow tests to pick up hook too
Eileen McNaughton [Wed, 29 Jun 2022 05:09:35 +0000 (17:09 +1200)]
Merge pull request #23900 from totten/5.51-sticky-classloader
(dev/core#3660) CRM_Extension_ClassLoader - Defend against redundant refreshes
Tim Otten [Wed, 29 Jun 2022 03:58:40 +0000 (20:58 -0700)]
Merge pull request #23894 from eileenmcnaughton/off_it
Minor test cleanup
Tim Otten [Wed, 29 Jun 2022 03:30:42 +0000 (20:30 -0700)]
Examples - Title should differentiate EUR/CAD examples
Tim Otten [Wed, 29 Jun 2022 03:24:17 +0000 (20:24 -0700)]
Merge pull request #23891 from eileenmcnaughton/smarty
Reset smarty-security after an exception
Tim Otten [Wed, 29 Jun 2022 02:37:03 +0000 (19:37 -0700)]
(NFC) Expand docblocks for hook_install and hook_postInstall
Eileen McNaughton [Tue, 28 Jun 2022 05:35:33 +0000 (17:35 +1200)]
Add second currency example
Jon Goldberg [Wed, 29 Jun 2022 01:59:44 +0000 (21:59 -0400)]
Grants appear in afform
Tim Otten [Wed, 29 Jun 2022 01:27:01 +0000 (18:27 -0700)]
(dev/core#3660) CRM_Extension_ClassLoader - Defend against redundant refreshes
Overview
--------
This is a follow-up to #23824 (
c24dd7db7e1e91120fd7daeb7e151f856d6b78c3) which addresses a
regressive edge-case.
Steps to Reproduce
------------------
* Write an extension like `wmf-civicrm` which (a) calls `System.flush` (`rebuildMenuAndCaches()`)
during `hook_install` -- and then (b) loads some class from the same extension.
```php
function foo_civicrm_install() {
civicrm_api3('System', 'flush', []);
CRM_Foo_Helper::doStuff();
}
```
* Try to install the extension.
Before
------
Crashes on loading the class `CRM_Foo_Helper`
After
-----
Loads the class `CRM_Foo_Helper`.
Comments
--------
(1) To see what's happening, consider `CRM_Extension_Manager_Module::onPreInstall()`.
This registers the new classloader and then fires `hook_install` which eventually
fires `rebuildMenuAndCaches()`. With
c24dd7db, this resets the classloader again.
But the extension isn't fully installed yet - so it forgets about the new extension.
(2) Is it safe to have some (temporarily) sticky items? Ish. You might
say: "Ah, but what if we need to remove an extension? Won't this static
variable retain stale things?" Doesn't matter. In PHP, classloading is a
one-way-street. (You cannot unload.) So you'll still have old classes in
memory, regardless of whether the `ClassLoader` has some old metadata
about where to find classes.
(3) I'm on the fence about whether this patch is a good idea. Calling
`System.flush` explicitly in this context seems like an invitation to
trouble. OTOH, it worked before #23824, so it can be called a regression.
Eileen McNaughton [Tue, 28 Jun 2022 23:46:38 +0000 (11:46 +1200)]
Merge pull request #23898 from civicrm/5.51
5.51 to master
Eileen McNaughton [Tue, 28 Jun 2022 23:00:17 +0000 (11:00 +1200)]
Merge pull request #23897 from agh1/5.51.0-releasenotes-initial
5.51.0 release notes initial run
Tim Otten [Tue, 28 Jun 2022 22:41:33 +0000 (15:41 -0700)]
Set version to 5.51.beta2. Retargeg FiveFiftyOne::updateUserJobTable to beta2.
Andie Hunt [Tue, 28 Jun 2022 20:23:55 +0000 (16:23 -0400)]
5.51.0 release notes: added boilerplate
Eileen McNaughton [Tue, 28 Jun 2022 04:23:56 +0000 (16:23 +1200)]
Convert the type on the UserJob entity to be a string
Currently we are storing a numeric ID - however if we
permit non-core classes to register types we find numeric ids
quickly become hard to manage as uninstalling an extension could
change the id. This switches to using a string type
Eileen McNaughton [Tue, 28 Jun 2022 11:26:48 +0000 (23:26 +1200)]
Minor test cleanup
Eileen McNaughton [Tue, 28 Jun 2022 10:49:32 +0000 (22:49 +1200)]
Merge pull request #23852 from IProSoft/master
New domain token base_url
Eileen McNaughton [Tue, 28 Jun 2022 08:49:15 +0000 (20:49 +1200)]
Merge pull request #23892 from eileenmcnaughton/order
Ensure apiv3 params are converted at the line item level
iprosoft [Tue, 21 Jun 2022 08:41:11 +0000 (10:41 +0200)]
New domain token base_url
Change url retrival method for base_url token
Change base url token title. Fix test error
PHPUnit TokenConsCRM_Utils_TokenConsistencyTest update
Eileen McNaughton [Tue, 28 Jun 2022 05:45:59 +0000 (17:45 +1200)]
Ensure apiv3 params are converted at the line item level
We switched to using apiv4 but at least one test seems to be passing in a string
at the line item level which is a bit weird but we should handle it
Eileen McNaughton [Tue, 28 Jun 2022 05:43:52 +0000 (17:43 +1200)]
Reset smarty-security after an exception
This stops tests from getting befuddled
Eileen McNaughton [Tue, 28 Jun 2022 03:22:12 +0000 (15:22 +1200)]
Merge pull request #23887 from civicrm/5.51
5.51 to master
Eileen McNaughton [Tue, 28 Jun 2022 03:21:41 +0000 (15:21 +1200)]
Merge pull request #23854 from totten/master-mixin-wfmsg
Scan for classes based on the PHP interface (WorkflowMessageInterface, ExampleDataInterface)
Eileen McNaughton [Tue, 28 Jun 2022 03:16:39 +0000 (15:16 +1200)]
Merge pull request #23886 from totten/master-act-dao
Activity - Regenerate DAO with current description
Seamus Lee [Tue, 28 Jun 2022 01:47:27 +0000 (11:47 +1000)]
Merge pull request #23885 from totten/master-wfmsgtest
WorkflowMessageTest - Re-enable skipped test
Tim Otten [Tue, 28 Jun 2022 01:41:14 +0000 (18:41 -0700)]
Activity - Regenerate DAO with current description
Tim Otten [Mon, 27 Jun 2022 23:40:10 +0000 (16:40 -0700)]
ExampleDataInterface - Switch to ClassScanner (part 3, swap scanner)
Tim Otten [Thu, 23 Jun 2022 05:25:54 +0000 (22:25 -0700)]
ExampleDataInterface - Switch to ClassScanner (part 2, use new names)
Tim Otten [Tue, 21 Jun 2022 11:12:00 +0000 (04:12 -0700)]
ExampleDataInterface - Switch to ClassScanner (part 1, rename *.ex.php => *.php)
Tim Otten [Tue, 21 Jun 2022 09:12:23 +0000 (02:12 -0700)]
WorkflowMessage - Switch to `ClassScanner` (was: bespoke `include_path` search)
Tim Otten [Tue, 21 Jun 2022 09:39:53 +0000 (02:39 -0700)]
mixin/scan-classes@1 - Allow extensions to opt-in to class scanning
Tim Otten [Tue, 21 Jun 2022 09:11:44 +0000 (02:11 -0700)]
ClassScanner - Add utility for scanning classes based on PHP interfaces
Tim Otten [Tue, 21 Jun 2022 10:33:42 +0000 (03:33 -0700)]
CRM_Utils_System::flushCache - More consistent behavior. Prepare for interface-php test.
* The interface-php test registers an instance of WorkflowMessageInterface.
* The list of WorkflowMessageInterface's is stored in the 'long' cache.
* When you enable/disable an extension, it should clear WorkflowMessage list (and other things).
* Before this patch, interface-php's `LifecycleTest` is inconsistent: it passes with
`testLifecycleWithSubprocesses()` and fails with `testLifecycleWithLocalFunctions()`.
* After this patch, interface-php's `LifecycleTest` is consistent: it passes with both
`testLifecycleWithSubprocesses()` and `testLifecycleWithLocalFunctions()`.
* The problem - while executing `testLifecycleWithLocalFunctions()`, it evidentally uses
`Arraycache` as the backend -- and thus skips the flushes. However, I cannot fathom why
one would want to clear-caches for SQL+memcache+redis but keep them for Arraycache.
Tim Otten [Mon, 27 Jun 2022 23:55:02 +0000 (16:55 -0700)]
WorkflowMessageTest - Re-enable skipped test.
This is a follow-up to #23811 (
409b1e0c30d28179f6244c1f180838a473d7582c). The prior commit
changed the way it found examples - and caused it to skip some examples.
This re-enables the example and adds an assertion to ensure that it actually
finds some examples.
demeritcowboy [Mon, 27 Jun 2022 13:19:23 +0000 (09:19 -0400)]
Merge pull request #23879 from mattwire/wpnotify
Enable the 'notify' parameter for WordPress user creation
Eileen McNaughton [Sun, 26 Jun 2022 01:39:08 +0000 (13:39 +1200)]
Merge pull request #23881 from civicrm/5.51
5.51