eileen [Fri, 21 Jun 2019 22:26:35 +0000 (18:26 -0400)]
Reduce deadlocks on inserting custom data by only using 'ON DUPLICATE' when it is not a new row
ON Duplicate is used in the customData.create function so that a row can be inserted and if it exists
mysql adapts and updates the existing row. This is more expensive and more prone to deadlocks than a straight
'INSERT' but is probably better than figuring it out at the php layer when you don't know if it could be
an update rather than an insert.
However, in many of the cases we already know this information - ie. if we are creating a new contribution
the custom data is created afterwards so we can use this information from Contribution.create to opt for the
cheaper & less deadlocky version.
We deployed this fix before our main fundraiser due to handful of daily deadlocks on this under peak load
and this form of deadlock did not bother us again during our main fundraiser when we were processing large volumes.
The patch has been in production around 6 months at this point.
Note that the reason deadlocks are encountered is that the 'next row' index is locked when inserting, and
it's either locked for longer or more aggressively when it;'s also checking for a deadlock at the same time (not
sure which)
Eileen McNaughton [Sat, 22 Jun 2019 21:49:52 +0000 (09:49 +1200)]
Merge pull request #14600 from seamuslee001/util_function_for_resetting_ACL_System_cache
[REF] Add in utility function for resetting ACL and System Level Caches
Eileen McNaughton [Sat, 22 Jun 2019 21:47:01 +0000 (09:47 +1200)]
Merge pull request #14603 from mattwire/event_comments
NFC Cleanup comments on BAO event
Matthew Wire (MJW Consulting) [Sat, 22 Jun 2019 12:03:42 +0000 (13:03 +0100)]
Cleanup comments
Monish Deb [Sat, 22 Jun 2019 04:18:58 +0000 (09:48 +0530)]
Merge pull request #14599 from eileenmcnaughton/record_partial_1
Decommission recordPartialPayment function
Seamus Lee [Sat, 22 Jun 2019 03:46:10 +0000 (13:46 +1000)]
Add in utility function for resetting ACL and System Level Caches
Seamus Lee [Sat, 22 Jun 2019 04:02:30 +0000 (14:02 +1000)]
Merge pull request #14598 from eileenmcnaughton/amp
[REF] do not pass by reference to store & create functions
Eileen McNaughton [Sat, 22 Jun 2019 03:28:10 +0000 (20:28 -0700)]
Merge pull request #14584 from seamuslee001/contact_group_cache_backend_convert
Convert Contact Groups cache group to standard cache definition
eileen [Fri, 21 Jun 2019 22:19:21 +0000 (18:19 -0400)]
[REF] do not pass by reference to store & create functions
After checking the code these are unchanged & not using pass-by-reference unecessarily is better practice
Seamus Lee [Fri, 21 Jun 2019 22:23:29 +0000 (08:23 +1000)]
Merge pull request #14595 from colemanw/setup
Fix setup.sh crash when using the -a flag
eileen [Fri, 21 Jun 2019 21:50:40 +0000 (17:50 -0400)]
Decommission recordPartialPayment function
While I would normally say extracting is good sometimes if feels like things are being broken down in the
wrong places. In this case I think the function name is misleading and having this in the body of Payment.create
makes the path to cleaning up that function clearer
Seamus Lee [Fri, 21 Jun 2019 20:24:56 +0000 (06:24 +1000)]
Merge pull request #14593 from eileenmcnaughton/seamus
Towards Convert receive_date to use datepicker in search
Coleman Watts [Fri, 21 Jun 2019 19:02:45 +0000 (15:02 -0400)]
Fix setup.sh crash when using the -a flag
Seamus Lee [Fri, 14 Jun 2019 21:33:15 +0000 (07:33 +1000)]
Fix Batch searching on receive date follwoing conversion and handle receive_date param for the moment as not properly namespaced
Eileen McNaughton [Fri, 21 Jun 2019 12:42:42 +0000 (08:42 -0400)]
Merge pull request #14590 from colemanw/i18nApi
Support api3 & 4 language syntax & improve test
Eileen McNaughton [Fri, 21 Jun 2019 12:10:14 +0000 (08:10 -0400)]
Merge pull request #14592 from civicrm/5.15
5.15 to master
Eileen McNaughton [Fri, 21 Jun 2019 12:09:31 +0000 (08:09 -0400)]
Merge pull request #14572 from seamuslee001/dev_core_1052
Fix dev/core#1052 Activities causing a fatal error if target_contact is not accessable to logged in user
Coleman Watts [Fri, 21 Jun 2019 02:18:00 +0000 (22:18 -0400)]
Support api3 & 4 language syntax & test
colemanw [Fri, 21 Jun 2019 01:26:27 +0000 (21:26 -0400)]
Merge pull request #14460 from eileenmcnaughton/ajax_test
Add default receive_date for contributions at BAO level
colemanw [Fri, 21 Jun 2019 01:21:51 +0000 (21:21 -0400)]
Merge pull request #14480 from JMAConsulting/core-553
dev/core#553: Creating new event takes value from default value not from saved template for custom fields
Seamus Lee [Tue, 18 Jun 2019 02:14:58 +0000 (12:14 +1000)]
dev/core#1052 fix fatal error when first target contact is not visible to the logged in user and update test appropriately
Seamus Lee [Tue, 18 Jun 2019 01:52:34 +0000 (11:52 +1000)]
Add in unit test demonstrating the fatal error generated
Mathieu Lu [Thu, 20 Jun 2019 19:23:20 +0000 (15:23 -0400)]
Merge pull request #14578 from colemanw/i18n
i18n - Improve multilingual popup for text and wysiwyg fields
Seamus Lee [Thu, 20 Jun 2019 06:16:43 +0000 (16:16 +1000)]
Merge pull request #14519 from colemanw/submitOnce
dev/core#914 rewrite submitOnce function
Yashodha Chaku [Wed, 19 Jun 2019 14:28:45 +0000 (19:58 +0530)]
Merge pull request #14585 from seamuslee001/primary_mebership_label_chagne
Update Owner Membership ID label in reports to be Primary Membership …
Eileen McNaughton [Wed, 19 Jun 2019 11:42:23 +0000 (07:42 -0400)]
Merge pull request #14586 from colemanw/Utils_JS
Utils_JS - add fn to get props of js object without parsing them
Seamus Lee [Tue, 18 Jun 2019 23:25:11 +0000 (09:25 +1000)]
Update Owner Membership ID label in reports to be Primary Membership to be more consistant with rest of system
Re-order owner_membership_id field options so that primary members only and non-primary-members-only filters are at the top
Coleman Watts [Wed, 19 Jun 2019 00:37:37 +0000 (20:37 -0400)]
Utils_JS - add fn to get props of js object without parsing them
Seamus Lee [Tue, 18 Jun 2019 23:00:47 +0000 (09:00 +1000)]
Merge pull request #14579 from civicrm/5.15
5.15
Seamus Lee [Tue, 18 Jun 2019 22:53:18 +0000 (08:53 +1000)]
Convert Contact Groups cache group to standard cache defition
Seamus Lee [Tue, 18 Jun 2019 21:42:38 +0000 (07:42 +1000)]
Merge pull request #14568 from greenpeace-cee/fix-schemahandler-cache
Fix use of cached schema information in SchemaHandler
Eileen McNaughton [Tue, 18 Jun 2019 21:33:45 +0000 (17:33 -0400)]
Merge pull request #14575 from seamuslee001/5_14_1_release_notes
Add release-notes for 5.14.1
Coleman Watts [Tue, 18 Jun 2019 17:48:38 +0000 (13:48 -0400)]
i18n - Improve multilingual popup for text and wysiwyg fields
Tim Otten [Tue, 18 Jun 2019 03:55:00 +0000 (20:55 -0700)]
Add release-notes/5.14.1.md
Seamus Lee [Tue, 18 Jun 2019 06:45:47 +0000 (16:45 +1000)]
Merge pull request #14573 from seamuslee001/5.15
Update http_timeout setting version to match the fact it is being bac…
Seamus Lee [Tue, 18 Jun 2019 04:16:00 +0000 (14:16 +1000)]
Merge pull request #14562 from agileware/CIVICRM-1244
dev/core#1049: Use FrontEndPaymentFormTrait to assign line items…
Seamus Lee [Tue, 18 Jun 2019 03:53:58 +0000 (13:53 +1000)]
Update http_timeout setting version to match the fact it is being backported to 5.14
Seamus Lee [Mon, 17 Jun 2019 23:45:48 +0000 (09:45 +1000)]
Merge pull request #14569 from pradpnayak/HardCodes
Removed hardcoded value for registered participant status
Pradeep Nayak [Mon, 17 Jun 2019 22:01:54 +0000 (23:01 +0100)]
Removed hardcoded value for registered participant statu
Patrick Figel [Mon, 17 Jun 2019 21:44:58 +0000 (23:44 +0200)]
Fix use of cached schema information in SchemaHandler
This fixes an issue where CRM_Core_BAO_SchemaHandler uses outdated
schema/column information from cache when rebuilding triggers. In
certain scenarios, for example when multiple custom fields are deleted
during a single script execution, this could cause generated SQL to
reference deleted columns, throwing an error.
Eileen McNaughton [Mon, 17 Jun 2019 14:56:24 +0000 (10:56 -0400)]
Merge pull request #14543 from eileenmcnaughton/wtf_null
[TEST] add assert to ensure nullArray & nullObject are not contaminated
Eileen McNaughton [Mon, 17 Jun 2019 14:32:25 +0000 (10:32 -0400)]
Merge pull request #14566 from civicrm/5.15
5.15 to master
Eileen McNaughton [Mon, 17 Jun 2019 14:30:52 +0000 (10:30 -0400)]
Merge pull request #14565 from vingle/patch-6
Resolve a conflict with Wordpress CSS
Eileen McNaughton [Mon, 17 Jun 2019 13:30:05 +0000 (09:30 -0400)]
Merge pull request #14564 from seamuslee001/less_null_array
Remove more uses of CRM_Core_DAO::$_nullArray that are unncessary
Nicol [Mon, 17 Jun 2019 12:20:57 +0000 (13:20 +0100)]
Resolve a conflict with Wordpress CSS
Issue was affecting menu item wrap/overflow, described here: https://github.com/veda-consulting/uk.co.vedaconsulting.gdpr/issues/192.
Seamus Lee [Mon, 17 Jun 2019 09:38:56 +0000 (19:38 +1000)]
Remove a few more uses
Seamus Lee [Mon, 17 Jun 2019 09:06:40 +0000 (19:06 +1000)]
Remove more uses of CRM_Core_DAO:: that are unncessary
Eileen McNaughton [Mon, 17 Jun 2019 08:06:34 +0000 (04:06 -0400)]
Merge pull request #14560 from seamuslee001/null_array_profile
Remove unncessary $_nullArray usage when calling createProfileContact function
Eileen McNaughton [Mon, 17 Jun 2019 08:06:18 +0000 (04:06 -0400)]
Merge pull request #14561 from seamuslee001/null_array_execute_query
Remove unneeded use of CRM_Core_DAO::$_nullArray in executeQuery or s…
Seamus Lee [Mon, 17 Jun 2019 04:55:11 +0000 (14:55 +1000)]
Remove unneeded use of CRM_Core_DAO::$_nullArray in executeQuery or similar calls
Seamus Lee [Mon, 17 Jun 2019 04:32:49 +0000 (14:32 +1000)]
Remove unncessary usage of CRM_Core_DAO::$_nullArray when calling createProfileContact function
And annother instance
Francis Whittle [Mon, 17 Jun 2019 04:19:34 +0000 (14:19 +1000)]
CIVICRM-1244: Use FrontEndPaymentFormTrait to assign line items on Event Registration Confirm and ThankYou "forms"
Eileen McNaughton [Mon, 17 Jun 2019 00:05:47 +0000 (20:05 -0400)]
Merge pull request #14558 from seamuslee001/price_bao_null
[REF] Remove more instances of _nullArray
Eileen McNaughton [Mon, 17 Jun 2019 00:04:01 +0000 (20:04 -0400)]
Merge pull request #14559 from seamuslee001/entity_setting_legacy_cache
Alter PSR16 code to take into account of new entitysetting release wi…
Seamus Lee [Sun, 16 Jun 2019 22:31:28 +0000 (08:31 +1000)]
Alter PSR16 code to take into account of new entitysetting release with upgraded caching
Seamus Lee [Sun, 16 Jun 2019 22:19:50 +0000 (08:19 +1000)]
Remove more instances of _nullArray
Seamus Lee [Sun, 16 Jun 2019 22:08:58 +0000 (08:08 +1000)]
Merge pull request #14136 from mattwire/buttonpopups
Support button elements in ajax popups
Seamus Lee [Sun, 16 Jun 2019 20:45:28 +0000 (06:45 +1000)]
Merge pull request #14509 from mattwire/buttons_settings_cleanupcache_standard
Add buttons to 'Cleanup caches and update paths' in standard way
Matthew Wire (MJW Consulting) [Thu, 13 Jun 2019 14:34:19 +0000 (15:34 +0100)]
Add buttons to 'Cleanup caches and update paths' in standard way
Matthew Wire (MJW Consulting) [Fri, 26 Apr 2019 13:29:40 +0000 (14:29 +0100)]
Support button elements in ajax popups
Coleman Watts [Sun, 16 Jun 2019 14:58:56 +0000 (10:58 -0400)]
SubmitOnce - play nice with jQuery validate
Coleman Watts [Thu, 13 Jun 2019 20:26:02 +0000 (16:26 -0400)]
Rewrite submitOnce function, deprecate old one
New function works on a per-form basis, not per button.
It changes the button icon instead of the button text.
Eileen McNaughton [Sun, 16 Jun 2019 13:55:07 +0000 (09:55 -0400)]
Merge pull request #14557 from civicrm/5.15
5.15 to master
Eileen McNaughton [Sun, 16 Jun 2019 13:53:57 +0000 (09:53 -0400)]
Merge pull request #14545 from demeritcowboy/temp-remove-submit-once
Temporarily remove activity submit once pending PR 14519
eileen [Sun, 16 Jun 2019 01:32:07 +0000 (21:32 -0400)]
Standardise exception use in test suite
Using less different types of exceptions is cleaner- our own exception is pretty much our go-to
so using here
eileen [Fri, 14 Jun 2019 21:00:31 +0000 (17:00 -0400)]
[TEST] add assert to ensure nullArray & nullObject are not contaminated
Seamus Lee [Sun, 16 Jun 2019 08:37:53 +0000 (18:37 +1000)]
Merge pull request #14556 from eileenmcnaughton/null_another
dev/core#1047 Fix instance of null contamination
Seamus Lee [Sun, 16 Jun 2019 08:37:15 +0000 (18:37 +1000)]
Merge pull request #14555 from eileenmcnaughton/null
dev/core#1047 Fix instance of null contamination
eileen [Sun, 16 Jun 2019 01:36:34 +0000 (21:36 -0400)]
dev/core#1047 Fix instance of null contamination
Eileen McNaughton [Sun, 16 Jun 2019 01:29:52 +0000 (21:29 -0400)]
Merge pull request #14552 from eileenmcnaughton/tear
[test] Call parent tearDown more consistently
eileen [Sat, 15 Jun 2019 11:55:53 +0000 (07:55 -0400)]
dev/core#1047 Fix instance of null contamination
eileen [Sat, 15 Jun 2019 15:25:44 +0000 (11:25 -0400)]
[test] Call parent tearDown more consistently
Primarliy consistentcy - also supports checking nullArray is cleared per
https://github.com/civicrm/civicrm-core/pull/14550
Seamus Lee [Sat, 15 Jun 2019 21:52:42 +0000 (07:52 +1000)]
Merge pull request #14550 from eileenmcnaughton/null_fix
dev/core#1047 Fix instance of NULL contamination
Eileen McNaughton [Sat, 15 Jun 2019 15:13:48 +0000 (11:13 -0400)]
Merge pull request #14551 from totten/master-theme-cleanup
CRM-18792, dev/core#378 - Catch-up on settings metadata
Tim Otten [Sat, 15 Jun 2019 15:09:47 +0000 (11:09 -0400)]
CRM-18792, dev/core#378 - Catch-up on settings metadata
This is a follow-up to #12929. In the interim between the writing and
merging of the PR, the version numbers changed.
eileen [Sat, 15 Jun 2019 09:43:47 +0000 (05:43 -0400)]
Fix instance of NULL contamination
Matthew Wire [Sat, 15 Jun 2019 10:45:02 +0000 (11:45 +0100)]
Merge pull request #14443 from eileenmcnaughton/export
Fix duplicate households on 'Merge same household' exports
Eileen McNaughton [Sat, 15 Jun 2019 01:49:04 +0000 (21:49 -0400)]
Merge pull request #14549 from seamuslee001/master
5.15
Seamus Lee [Sat, 15 Jun 2019 01:45:51 +0000 (11:45 +1000)]
Merge in 5.15
Seamus Lee [Sat, 15 Jun 2019 01:44:25 +0000 (11:44 +1000)]
Merge pull request #14525 from seamuslee001/feature_timeout_setting
dev/core#1035 Add in new setting http_timeout to set how long in seco…
Seamus Lee [Sat, 15 Jun 2019 01:33:26 +0000 (11:33 +1000)]
Merge pull request #12929 from totten/master-theming-rb
CRM-18792, dev/core#378 - Create CSS theming subsystem
Seamus Lee [Sat, 15 Jun 2019 00:56:49 +0000 (10:56 +1000)]
Merge pull request #14542 from eileenmcnaughton/tests
[TEST] Fix intermittent test fail on NULL array getting contaminated
Seamus Lee [Fri, 14 Jun 2019 02:31:14 +0000 (12:31 +1000)]
dev/core#1035 Add in new setting http_timeout to set how long in seconds should HTTP requests last for to fix dev/core#1035
Handle situations where a 0 timeout is passed in
Remove from form
Update variable name as per EIleen
Seamus Lee [Sat, 15 Jun 2019 00:20:54 +0000 (10:20 +1000)]
Merge pull request #14548 from seamuslee001/nfc_declaration_fix
[NFC] Fix Test function delcaration to match change in CiviUnitTestCa…
Tim Otten [Tue, 7 Jun 2016 00:23:27 +0000 (18:23 -0600)]
CRM-18792 - CRM_Core_Theme - Add helper for loading CSS files from themes
CRM-18792 - CRM_Core_Resources - Load civicrm.css through theme system
CRM-18792 - Rename `CRM_Core_Theme` to `\Civi\Core\Theme`
CRM-18792 - Civi\Core\Theme - Remove statics
WIP
CRM_Core_Resources::addCoreStyles - Revert change
CRM-18792 - addStyleFile - Always pass through to theme. Support fallback.
Rename `Civi\Core\Theme` to `Civi\Core\Themes`
The class manages a list of themes -- not just a single theme.
CRM-18792 - Add org.civicrm.demotheme
CRM-18792 - Add uncommitted test files (`Civi\Core\Themes`)
CRM-18792 - Fix regression in CRM_Core_ResourceTest
CRM-18792 - Theme naming - Use prefix '_' for hidden themes
This cleans up a few things:
* Previously, there was a special case for using FALLBACK in `search_order`.
* If you're creating a multitheme extension, you may want to define a base theme
(which is extended by the others). Previously, you were required to show this
base theme as a user-selectable option. Now, it can be hidden.
* There was a bug where `resolveUrl()` would sometimes call the wrong callback.
(It used resolver for `$active` instead of `$themeKey`.)
CRM-18792 - Themes - File overrides and excludes should use same naming
Previously, when using `addStyleFile($cssExt,$css$file)`, the file overrides
and exlcudes would combine them differently e.g.
* For `addStyleFile('civicrm','css/bootstrap.css')`
* Override `css/bootstrap.css`
* Exclude `civicrm:css/bootstrap.css`
* For `('org.foo.bar','css/bang.css')`
* Override `org.foo.bar-css/bang.css`
* Exclude `org.foo.bar:css/bang.css`
Now, they use the same notation:
* For `addStyleFile('civicrm','css/bootstrap.css')`
* Override `css/bootstrap.css`
* Exclude `css/bootstrap.css`
* For `('org.foo.bar','css/bang.css')`
* Override `org.foo.bar-css/bang.css`
* Exclude `org.foo.bar-css/bang.css`
"Display Preferences" - Add the `theme_backend` and `theme_frontend` settings
hook_civicrm_activeTheme - Allow extensions and CMS modules to choose active theme
CRM_Utils_Hook::themes() - Tweak docblock
Civi\Core\Themes - Move cache from `short` to `long`
Remove tools/extensions/org.civicrm.demotheme
Fix merge ahem errors
Eileen McNaughton [Fri, 14 Jun 2019 23:59:54 +0000 (19:59 -0400)]
Merge pull request #14547 from civicrm/5.15
5.15 to master
eileen [Fri, 14 Jun 2019 20:58:05 +0000 (16:58 -0400)]
Fix intermittent test fail on NULL array getting contaminated & causing later tests to pass the wrong thing
Seamus Lee [Fri, 14 Jun 2019 22:57:01 +0000 (08:57 +1000)]
[NFC] Fix Test function delcaration to match change in CiviUnitTestCase class
Seamus Lee [Fri, 14 Jun 2019 22:32:23 +0000 (08:32 +1000)]
Merge pull request #14544 from totten/5.15-JPG
(dev/core#1044) Extension/MIME matching should be case insensitive
Seamus Lee [Fri, 14 Jun 2019 21:40:30 +0000 (07:40 +1000)]
Merge pull request #14540 from eileenmcnaughton/anettest
Fix A.net to resolve time when using default
Seamus Lee [Fri, 14 Jun 2019 21:33:37 +0000 (07:33 +1000)]
Merge pull request #14533 from eileenmcnaughton/deprecate
Deprecate contribution_date as a parameter
Eileen McNaughton [Fri, 14 Jun 2019 21:18:19 +0000 (17:18 -0400)]
Merge pull request #14537 from colemanw/jsDecode
Add CRM_Utils_JS::decode function for decoding js objects
DemeritCowboy [Fri, 14 Jun 2019 21:10:17 +0000 (17:10 -0400)]
temporarily remove activity submit once pending PR 14519
Tim Otten [Fri, 14 Jun 2019 20:57:55 +0000 (16:57 -0400)]
(dev/core#1044) Extension/MIME matching should be case insensitive
Overview
--------
For CIVI-SA-2019-15, the delivery of file attachments was tightened to
ensure that the file-extension and mime-type were in agreement. However,
the check yields a false-negative in the common case where the filename has
been capitalized. It should treat `foo.jpg`, `foo.JPG`, and `FOO.JPG` as
equally valid.
Before
------
* When viewing a contact profile image ending with `.JPG`, there is an error
message, `Supplied mime-type does not match file extension`.
After
-----
* When viewing a contact profile image ending with `.JPG`, the image is
delivered.
Comments
--------
See also:
* https://civicrm.org/advisory/civi-sa-2019-15-xss-via-forged-mime-type
* https://lab.civicrm.org/dev/core/issues/1044
Tim Otten [Fri, 14 Jun 2019 20:40:58 +0000 (16:40 -0400)]
Merge pull request #14524 from eileenmcnaughton/csv
Add csv reader package
Tim Otten [Fri, 14 Jun 2019 20:13:02 +0000 (16:13 -0400)]
Merge pull request #14538 from civicrm/eileenmcnaughton-patch-2
[test] truncate pledge block when cleaning up financial entities
Eileen McNaughton [Fri, 14 Jun 2019 20:11:20 +0000 (16:11 -0400)]
Merge pull request #14535 from colemanw/addressCustom
Address BAO - Handle standard 'custom' param as well as individual fields
Eileen McNaughton [Fri, 14 Jun 2019 20:08:18 +0000 (16:08 -0400)]
Merge pull request #14541 from civicrm/5.15
5.15 to master
Eileen McNaughton [Fri, 14 Jun 2019 20:07:53 +0000 (16:07 -0400)]
Merge pull request #14539 from totten/5.15-tap-yaml
Civi/Test/TAP - Replace Symfony YAML dependency
Tim Otten [Fri, 14 Jun 2019 18:23:37 +0000 (14:23 -0400)]
Civi/Test/TAP - Replace Symfony YAML dependency
This allows two paths:
1. If you have the YAML PECL extension, then that will be used.
To get the best output, you can install it.
2. If you don't, then it'll output JSON. JSON is considered valid YAML.
It's not clear that everyone reading the document will handle
the full range YAML (incl JSON), but... we don't actually have any
listeners that care to parse the TAP output...