Eileen McNaughton [Thu, 6 May 2021 04:27:48 +0000 (16:27 +1200)]
Merge pull request #20237 from eileenmcnaughton/nfc
[NFC] code cleanups in test class
Seamus Lee [Thu, 6 May 2021 02:47:17 +0000 (12:47 +1000)]
Merge pull request #20233 from eileenmcnaughton/order_tax
Extract sales tax test config to a trait
eileen [Thu, 6 May 2021 00:29:58 +0000 (12:29 +1200)]
[NFC] code cleanups
Seamus Lee [Thu, 6 May 2021 01:58:00 +0000 (11:58 +1000)]
Merge pull request #20125 from colemanw/searchContactRef
SearchKit - Fix updating Entity Ref fields
Seamus Lee [Thu, 6 May 2021 01:36:10 +0000 (11:36 +1000)]
Merge pull request #20235 from seamuslee001/master
(5.37 merge into master) dev/core#2586 fix failure to null thank you
eileen [Wed, 5 May 2021 06:43:00 +0000 (18:43 +1200)]
dev/core#2586 fix failure to null thank you
5.35 regression from this
https://github.com/civicrm/civicrm-core/commit/
aa9e580fd8ce5824d627bdaf797a3ccd6732f1a0
eileen [Wed, 5 May 2021 23:57:06 +0000 (11:57 +1200)]
Extract sales tax config to a trait
Seamus Lee [Wed, 5 May 2021 22:32:28 +0000 (08:32 +1000)]
Merge pull request #20232 from totten/merge-master-5.37
Merge forward (5.37 => master)
Eileen McNaughton [Wed, 5 May 2021 21:07:43 +0000 (09:07 +1200)]
Merge pull request #20228 from colemanw/afformBlockDefault
Afform - Set default position for contact layout editor
Tim Otten [Wed, 5 May 2021 19:50:04 +0000 (09:50 -1000)]
5.37.0.md - Add 20222 and 20227
Tim Otten [Wed, 5 May 2021 19:38:03 +0000 (09:38 -1000)]
5.37.0.md - Minor copy-edits
Andrew Hunt [Wed, 5 May 2021 18:19:47 +0000 (14:19 -0400)]
5.37.0 release notes: added late changes
demeritcowboy [Wed, 5 May 2021 11:09:46 +0000 (07:09 -0400)]
failing test for PR 20222
demeritcowboy [Wed, 5 May 2021 04:20:47 +0000 (00:20 -0400)]
fix what happens on 3rd iteration
Tim Otten [Wed, 5 May 2021 19:24:51 +0000 (12:24 -0700)]
Merge pull request #20221 from totten/master-subscribers
Api4 Services - Lazy-load subscriber-objects
Coleman Watts [Wed, 5 May 2021 13:20:18 +0000 (09:20 -0400)]
Afform - Set default position for contact layout editor
This makes afform blocks appear in their default positions on the
system default layout in contactlayout 2.0+
It's backward-compatible with earlier versions of the extension
Matthew Wire [Wed, 5 May 2021 09:27:38 +0000 (10:27 +0100)]
Merge pull request #20199 from kartik1000/altering_recaptcha_form
dev/core#2571: Add form function of utils/Recaptcha has been altered to avoid checking variable "isCaptcha"
Seamus Lee [Wed, 5 May 2021 09:21:25 +0000 (19:21 +1000)]
Merge pull request #20219 from colemanw/campaignComponent
APIv4 - Don't show campaign_id in getFields if campaign component disabled
Matthew Wire [Wed, 5 May 2021 09:15:31 +0000 (10:15 +0100)]
Merge pull request #20224 from agileware/CIVICRM-1729
Set the smarty variables for mem_status and mem_join_date for back-end membership renewals
Seamus Lee [Wed, 5 May 2021 09:00:31 +0000 (19:00 +1000)]
Merge pull request #20226 from civicrm/5.37
5.37
Seamus Lee [Wed, 5 May 2021 09:00:17 +0000 (19:00 +1000)]
Merge pull request #20223 from JMAConsulting/backoffice-xfer
allow event transfer on backend when self-service transfer is disabled
Justin Freeman [Wed, 5 May 2021 06:16:42 +0000 (16:16 +1000)]
CIVICRM-1729 Set the smarty variables for mem_status and mem_join_date for back-end membership renewals
Jon Goldberg [Mon, 26 Apr 2021 19:09:34 +0000 (15:09 -0400)]
allow event transfer on backend when self-service transfer is disabled
Coleman Watts [Wed, 5 May 2021 01:13:09 +0000 (21:13 -0400)]
APIv4 - Don't show campaign_id in getFields if campaign component disabled
Monish Deb [Wed, 5 May 2021 03:17:49 +0000 (08:47 +0530)]
Merge pull request #20150 from MegaphoneJon/backoffice-xfer
allow event transfer on backend when self-service transfer is disabled
Seamus Lee [Wed, 5 May 2021 02:20:53 +0000 (12:20 +1000)]
Merge pull request #20218 from seamuslee001/pear_log_drupal9_fix
REF Update Pear/log to fix issues with install CiviCRM on Drupal 9.2
Seamus Lee [Wed, 5 May 2021 01:56:40 +0000 (11:56 +1000)]
Merge pull request #20146 from eileenmcnaughton/log
Fix enotice when Log service is swapped out
Tim Otten [Tue, 4 May 2021 20:36:48 +0000 (13:36 -0700)]
Api4 Services - Lazy-load subscriber-objects
This refines the way in which `Civi/Api4/Event/Subscriber/**.php` are loaded.
This makes it safer (from a performance POV) to continue adding more
subscribers/listeners without worrying that it will impact the quantity of
files/classes/opcodes/SLOC loaded in a typical page-view.
A good way to visualize this change is to skim `getDispatcherService()`
(`[civicrm.compile]/CachedCiviContainer.*.php`) before and after the patch.
(Examples included below.)
Before
------
During every page-load, you need to register event-listeners. For
subscriber-objects (like `Civi/Api4/Event/Subscriber/**.php`), you get the list
of subscriptions by calling `getSubscribedEvents()`. Therefore, on every
page-load, you must load/process the subscriber (regardless of whether it will
actually be used) on the chance it that may be needed.
In `CachedCiviContainer.*.php`, you will see snippets like:
```php
protected function getDispatcherService()
{
...
$instance->addSubscriber(${($_ = isset($this->services['Civi_Api4_Event_Subscriber_ActivityPreCreationSubscriber']) ? $this->services['Civi_Api4_Event_Subscriber_ActivityPreCreationSubscriber'] : ($this->services['Civi_Api4_Event_Subscriber_ActivityPreCreationSubscriber'] = new \Civi\Api4\Event\Subscriber\ActivityPreCreationSubscriber())) && false ?: '_'});
$instance->addSubscriber(${($_ = isset($this->services['Civi_Api4_Event_Subscriber_ActivitySchemaMapSubscriber']) ? $this->services['Civi_Api4_Event_Subscriber_ActivitySchemaMapSubscriber'] : ($this->services['Civi_Api4_Event_Subscriber_ActivitySchemaMapSubscriber'] = new \Civi\Api4\Event\Subscriber\ActivitySchemaMapSubscriber())) && false ?: '_'});
...
```
Observe that it instantiates `ActivitySchemaMapSubscriber` then passes the instance to `addSubscriber()`.
After
-----
You only need to instantiate service-objects if (a) you are building a fresh container or (b) actually running an event.
This works by calling `getSubscribedEvents()` when building the container. The
list of events is cached in the container.
In `CachedCiviContainer.*.php`, you will see snippets like:
```php
protected function getDispatcherService()
{
...
$instance->addSubscriberServiceMap('Civi_Api4_Event_Subscriber_ActivityPreCreationSubscriber', ['civi.api.prepare' => 'onApiPrepare']);
$instance->addSubscriberServiceMap('Civi_Api4_Event_Subscriber_ActivitySchemaMapSubscriber', ['api.schema_map.build' => 'onSchemaBuild']);
...
```
Observe that it alludes to `ActivityPreCreationSubscriber` symbolically but
does not need an actual instance.
Comments
-----------------
1. To see that this is equivalent, I used `cv debug:event-dispatcher` before
and after the patch. This requires an updated version of `cv`, and the
formatting is a little a different, but it does show the same list of
listeners.
2. There could be some concern like, "What happens if you're upgrading and
have a cached list of subscription events?" Well, note that
`CRM_Api4_Services::hook_container` already puts a cached list of subscribers
in the container. It also registers the `FileResource`. Thus, if a file
`Civi/Api4/Event/Subscriber/**.php` changes, it already makes the decision to
recompile based on `filemtime()`.
3. There should already be a lot of test-coverage which hits code-paths for these listeners.
(If this were generally non-functional, you'd see massive failures.)
4. For `r-run`, I picked an arbitary subscriber (`ActivitySchemaMapSubscriber`), then:
* At the start of the file, add a statement to log whenever the file is read.
```php
file_put_contents('/tmp/parselog.txt', sprintf("%s: %s: %s\n\n",date('Y-m-d H:i:s'), __FILE__, \CRM_Core_Error::formatBacktrace(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 15))), FILE_APPEND);
```
* In a separate window, do a `tail -f /tmp/parselog.txt`.
* Edit the file to add/remove listeners (like `hook_civicrm_alterContent`)
* Request some Civi page (`curl 'http://dmaster.127.0.0.1.nip.io:8001/civicrm/admin?reset=1'`). It's not important that it actually runs the full page...
just that we boot up Civi to look for the page.
* Alternately repeat the past few steps. Observe thta it only parses the file if there has been a change or if the relevant event(s) actually fire.
Tim Otten [Tue, 4 May 2021 20:31:51 +0000 (13:31 -0700)]
(REF) CiviEventDispatcher - Move service-listener stub to standalone class
This change makes it easier for reflective tools (e.g. `cv
debug:event-dispatcher`) to recognize service-based listeners.
Before: `addListenerServce()` creates a stub for the target service+method.
The stub is an anonymous `function`.
After: `addListenerService()` creates a staub for the target service+method.
The stub is based on invokable class.
Seamus Lee [Wed, 5 May 2021 01:03:26 +0000 (11:03 +1000)]
REF Update Pear/log to fix issues with install CiviCRM on Drupal 9.2
Eileen McNaughton [Wed, 5 May 2021 00:41:14 +0000 (12:41 +1200)]
Merge pull request #20191 from colemanw/apiSettingsFixes
APIv4 - Setting api misc fixes & tests
eileen [Mon, 26 Apr 2021 05:23:13 +0000 (17:23 +1200)]
Fix enotice when Log service is swapped out
This function is calling a property on the psr_log service that may not exist. If the
service is swapped out there is no reason the replacement should have this property.
Eileen McNaughton [Tue, 4 May 2021 22:24:20 +0000 (10:24 +1200)]
Merge pull request #20215 from colemanw/campaignRef
Set html type of campaign fields
Coleman Watts [Mon, 3 May 2021 14:06:32 +0000 (10:06 -0400)]
APIv4 - Add `readonly` property to settings getFields
Coleman Watts [Thu, 29 Apr 2021 15:32:39 +0000 (11:32 -0400)]
APIv4 - Setting api misc fixes & tests
Fixes the setting api to correctly handle pseudoconstants & field suffixes
Coleman Watts [Tue, 4 May 2021 13:25:49 +0000 (09:25 -0400)]
Set html type of campaign fields
Afform needs to know that these are fields of type EntityRef.
Otherwise, this metadata is currently unused.
Eileen McNaughton [Mon, 3 May 2021 21:33:22 +0000 (09:33 +1200)]
Merge pull request #20063 from christianwach/lab-wp-93
Fix PayPal IPN URL and WordPress URLs when Permalinks are set to "Plain"
Eileen McNaughton [Mon, 3 May 2021 19:44:11 +0000 (07:44 +1200)]
Merge pull request #20123 from jaapjansma/dev_2505
Fixed dev/core#2505 fix formatting of numbers in civireport
demeritcowboy [Mon, 3 May 2021 17:29:33 +0000 (13:29 -0400)]
Merge pull request #20188 from eileenmcnaughton/contto
dev/core#2568 Enotice fix + test
Jaap Jansma [Thu, 22 Apr 2021 13:05:39 +0000 (15:05 +0200)]
Fixed dev/core#2505
Fixed failing test
Fixed issue with wrong parameters in comment section
Improved settings of NumberFormatter
removed unused function
Seamus Lee [Mon, 3 May 2021 09:09:33 +0000 (19:09 +1000)]
Merge pull request #20156 from colemanw/searchKitExcludeSerializedFromAutoJoins
SearchKit - Exclude serialized fields from implicit join selection
Eileen McNaughton [Mon, 3 May 2021 08:29:33 +0000 (20:29 +1200)]
Merge pull request #20213 from civicrm/5.37
5.37 to master
Eileen McNaughton [Mon, 3 May 2021 08:29:04 +0000 (20:29 +1200)]
Merge pull request #20212 from jitendrapurohit/dev-2583-537
dev/core#2583 - Fix fatal error on membership renewal
Jitendra Purohit [Mon, 3 May 2021 06:33:20 +0000 (12:03 +0530)]
fix fatal error on membership renewal
Seamus Lee [Mon, 3 May 2021 06:32:25 +0000 (16:32 +1000)]
Merge pull request #20153 from eileenmcnaughton/mem
[REF] Cleanup interaction with membership & membership id
Eileen McNaughton [Mon, 3 May 2021 06:26:24 +0000 (18:26 +1200)]
Merge pull request #20203 from seamuslee001/dev_core_2582
dev/core#2582 Fix PCP and Pledge template urls in message templates t…
Seamus Lee [Mon, 3 May 2021 03:23:10 +0000 (13:23 +1000)]
Merge pull request #20207 from seamuslee001/5372
5.37
Seamus Lee [Mon, 3 May 2021 03:21:38 +0000 (13:21 +1000)]
Merge remote-tracking branch 'origin/5.37' into 5372
Seamus Lee [Sun, 2 May 2021 21:49:00 +0000 (07:49 +1000)]
dev/core#2582 Fix PCP and Pledge template urls in message templates to go to front end site rather than backend
Seamus Lee [Mon, 3 May 2021 01:49:27 +0000 (11:49 +1000)]
Merge pull request #20186 from colemanw/searchDisplayPerms
SearchKit - Pass-thu permission checks from SearchDisplay::run to api.get
Coleman Watts [Thu, 29 Apr 2021 00:49:06 +0000 (20:49 -0400)]
SearchKit - Pass-thu permission checks from SearchDisplay::run to underlying API
The SearchDisplay::run api action essentially wraps api.get for the search entity,
so it makes sense to allow open access to the run api but require permission checks
on the delegated api call.
Seamus Lee [Sun, 2 May 2021 21:34:50 +0000 (07:34 +1000)]
Merge pull request #20195 from eileenmcnaughton/537
dev/core#2577 Fix regression - payment edit to new type failing
Eileen McNaughton [Sun, 2 May 2021 21:31:26 +0000 (09:31 +1200)]
Merge pull request #20201 from civicrm/5.37
5.37 to master
Eileen McNaughton [Sun, 2 May 2021 21:30:28 +0000 (09:30 +1200)]
Merge pull request #20198 from alifrumin/rn5.37
[NFC] Release Notes 5.37
colemanw [Sun, 2 May 2021 15:07:25 +0000 (11:07 -0400)]
Merge pull request #20200 from jmcclelland/access-ajax-api
fix capitalization to allow proper access to 'access AJAX API' perm.
Jamie McClelland [Sat, 1 May 2021 16:08:03 +0000 (12:08 -0400)]
fix capitalization to allow proper access to 'access AJAX API' perm.
Maybe this is platform dependent? On my dev instance the access AJAX API
permission to the path /civicrm/ajax/api4/X/X is always denied for anon
users because anon users are granted "access AJAX API" yet the check is
done against "access Ajax API".
This only really matters in CRM/Api4/Permission.php but to avoid any
confusion I'm changing it everywhere the string appears.
Kartik Kathuria [Sat, 1 May 2021 12:58:37 +0000 (18:28 +0530)]
edited comment and if/else so that it is easier to read
Kartik Kathuria [Sat, 1 May 2021 09:49:40 +0000 (15:19 +0530)]
add form function has been altered to avoid checking variable isCaptcha
Alice Frumin [Mon, 19 Apr 2021 22:55:57 +0000 (18:55 -0400)]
5.37 release notes - first pass
demeritcowboy [Fri, 30 Apr 2021 15:20:21 +0000 (11:20 -0400)]
Merge pull request #20180 from mattwire/recaptchacontribalways
Make reCAPTCHA not conditional on paymentprocessor on contribution page
colemanw [Fri, 30 Apr 2021 14:03:17 +0000 (10:03 -0400)]
Merge pull request #20194 from eileenmcnaughton/tok
[REF] Minor tidy up
Matthew Wire [Wed, 28 Apr 2021 11:04:26 +0000 (12:04 +0100)]
If reCAPTCHA is enabled on contribution page always display (even if we don't have a paymentprocessor)
demeritcowboy [Fri, 30 Apr 2021 13:04:05 +0000 (09:04 -0400)]
Merge pull request #20187 from eileenmcnaughton/dom
Make send letter function available to searchkit, individual contributions
Matthew Wire [Fri, 30 Apr 2021 10:20:14 +0000 (11:20 +0100)]
Merge pull request #20193 from kartik1000/5.37
dev/core#2571: Removed Forced Recaptcha function as it called only once
Eileen McNaughton [Fri, 30 Apr 2021 00:37:12 +0000 (12:37 +1200)]
Merge pull request #20192 from colemanw/deprecateAclCheck
Add deprected warning to apparently unused functions
eileen [Thu, 29 Apr 2021 22:59:21 +0000 (10:59 +1200)]
dev/core#2577 Fix regression - payment edit to new type failing
Kartik Kathuria [Thu, 29 Apr 2021 22:14:21 +0000 (03:44 +0530)]
Changes made in ref to master
eileen [Thu, 29 Apr 2021 06:14:52 +0000 (18:14 +1200)]
[REF] Minor tidy up
This just removes some unused params & gets rid of the & before the function (it isn't called
in any weird ways and we have removed these before)
Coleman Watts [Thu, 29 Apr 2021 15:59:46 +0000 (11:59 -0400)]
Add deprected warning to apparently unused functions
It looks like one check function is only ever called by the other,
and the other isn't called from anywhere.
What these functions are supposed to do is unclear.
The code comment appears to be wrong; the variable $str
is not a permission string but is inserted into a query
as civicrm_acl.object_table.
eileen [Thu, 29 Apr 2021 03:44:01 +0000 (15:44 +1200)]
dev/core#2568 Enotice fix + test
Same as https://github.com/civicrm/civicrm-core/pull/20178 but with a test
(and a couple of changes to support that)
Seamus Lee [Thu, 29 Apr 2021 06:06:20 +0000 (16:06 +1000)]
Merge pull request #20138 from eileenmcnaughton/load
[REF] Remove redundant code
Seamus Lee [Thu, 29 Apr 2021 05:37:04 +0000 (15:37 +1000)]
Merge pull request #20185 from civicrm/5.37
5.37
eileen [Thu, 29 Apr 2021 03:06:27 +0000 (15:06 +1200)]
Make send letter function available to searchkit, individual contributions
Seamus Lee [Thu, 29 Apr 2021 00:53:40 +0000 (10:53 +1000)]
Merge pull request #20174 from demeritcowboy/api-caseactivity-perm
dev/core#2573 - Set appropriate default permissions to use api4 CaseActivity
Seamus Lee [Thu, 29 Apr 2021 00:50:29 +0000 (10:50 +1000)]
Merge pull request #20181 from colemanw/anotherOneBitesTheDust
APIv4 - Remove unnecessary custom getActions class
Eileen McNaughton [Wed, 28 Apr 2021 22:37:05 +0000 (10:37 +1200)]
Merge pull request #20183 from ufundo/patch-1
add me
ufundo [Wed, 28 Apr 2021 20:40:28 +0000 (21:40 +0100)]
add me
for first merged PR as requested by @demeritcowboy :)
Tim Otten [Wed, 28 Apr 2021 20:37:31 +0000 (13:37 -0700)]
Merge pull request #20162 from lemniscus/oauth-client
oauth-client - Add test for existing Auth Code flow behavior
Eileen McNaughton [Wed, 28 Apr 2021 20:32:08 +0000 (08:32 +1200)]
Merge pull request #20182 from mattwire/sendconfirmationreturn
Contribution.sendconfirmation API3 function should return
Matthew Wire [Wed, 28 Apr 2021 14:04:49 +0000 (15:04 +0100)]
API functions should return otherwise you get 'cannot interpret return values from function'
Coleman Watts [Wed, 28 Apr 2021 13:38:10 +0000 (09:38 -0400)]
APIv4 - Remove unnecessary custom getActions class
The class override was not needed; the generic function works fine with custom entities.
colemanw [Wed, 28 Apr 2021 13:21:12 +0000 (09:21 -0400)]
Merge pull request #20147 from seamuslee001/afform_redirect_html
dev/core#2569 Add in Redirect field into the html afform editor
Seamus Lee [Wed, 28 Apr 2021 09:11:54 +0000 (19:11 +1000)]
Merge pull request #20175 from eileenmcnaughton/nfc
[REF] Minor code cleanup
Seamus Lee [Wed, 28 Apr 2021 08:01:03 +0000 (18:01 +1000)]
Merge pull request #20172 from eileenmcnaughton/pdf
[REF] Complete decommissioning of CRM/Contribute/Form/Task/PDFLetterCommon.php
Eileen McNaughton [Wed, 28 Apr 2021 04:26:53 +0000 (16:26 +1200)]
Merge pull request #20070 from larssandergreen/Clarify-event-scheduled-reminder-options
dev/core#2541 Clarify scheduled reminder options: Event Start Date -> Event Start, etc
Eileen McNaughton [Wed, 28 Apr 2021 04:21:10 +0000 (16:21 +1200)]
Merge pull request #20092 from larssandergreen/fix-is-recur-label
dev/core#1452 Put text inside label tags for recurring contribution selection
Eileen McNaughton [Wed, 28 Apr 2021 03:57:42 +0000 (15:57 +1200)]
Merge pull request #20176 from civicrm/5.37
5.37 to master
Eileen McNaughton [Wed, 28 Apr 2021 03:41:56 +0000 (15:41 +1200)]
Merge pull request #20158 from jitendrapurohit/pricefieldfix
Fix priceset widget on Membership tab
eileen [Wed, 28 Apr 2021 03:36:47 +0000 (15:36 +1200)]
[REF] Minor code cleanup
Minor code cleanups - use strict, declare exceptions, use use statement
Seamus Lee [Wed, 28 Apr 2021 02:33:08 +0000 (12:33 +1000)]
Merge pull request #20173 from colemanw/noCustomReplace
APIv4 - Remove unnecessary class override (handled by generic)
Eileen McNaughton [Wed, 28 Apr 2021 01:18:04 +0000 (13:18 +1200)]
Merge pull request #20161 from eileenmcnaughton/single
Remove apparent copy & paste from Contribution pdf letter function
demeritcowboy [Wed, 28 Apr 2021 01:16:36 +0000 (21:16 -0400)]
without this you need administer CiviCRM permission to use api4 CaseActivity
eileen [Tue, 27 Apr 2021 23:23:29 +0000 (11:23 +1200)]
[REF] Complete decommissioning on CRM/Contribute/Form/Task/PDFLetterCommon.php
This removes the last function fromCRM/Contribute/Form/Task/PDFLetterCommon.php
The function was calling a protected function on the parent which had to be unravelled.
I used the method we used in
https://github.com/civicrm/civicrm-core/blob/
5e67eb7ff3f1f202d5112d15ad5c6a5f23f35795/CRM/SMS/Form/Upload.php#L341
to replace the code with the part that we have tested as being done in via render - ie replacing
hook, contact, domain tokens & smarty parsing.
However, there are quite a few tests on this code & one checked that we don't over-call
the token hook. I added some caching for the results of this hook so we can start to
eliminate these but I also allowed the calls to increment by 1 because it is not 1 per row
I made the results of this hook optional to replaceHookTokens & in general I think that
is the only place it needs to be called - perhaps once it used to pass more parameters &
the results were dynamic but now they really aren't
Coleman Watts [Wed, 28 Apr 2021 00:49:38 +0000 (20:49 -0400)]
APIv4 - Remove unnecessary class override (handled by generic)
eileen [Tue, 27 Apr 2021 06:52:29 +0000 (18:52 +1200)]
Remove apparent copy & paste from Contribution pdf letter function
I have done a bit of digging and I can't see any way these url parameters could be passed in
to this form. I also can't think of any reason, other than our old friend copy
& paste, for us to be retrieving activity or case in the url
I kept the isSingle logic but redirected it to focus on a single contribution which
is something we do want
Seamus Lee [Tue, 27 Apr 2021 22:57:20 +0000 (08:57 +1000)]
Merge pull request #20171 from eileenmcnaughton/actsh
[REF] Add strict types to Utils_Mail::Send
Eileen McNaughton [Tue, 27 Apr 2021 22:36:59 +0000 (10:36 +1200)]
Merge pull request #20166 from mattwire/recaptchacontributionbase
Simplify reCAPTCHA on ContributionBase form
Eileen McNaughton [Tue, 27 Apr 2021 22:31:37 +0000 (10:31 +1200)]
Merge pull request #20167 from mattwire/recaptchaclean
REF Cleanup ReCAPTCHA code
eileen [Tue, 27 Apr 2021 21:25:17 +0000 (09:25 +1200)]
[REF] Add strict types to Utils_Mail::Send
The function only returns a bool - this makes that explicit / forced and also removes handling for it
to return a PEAR_Error in one place that calls it. A couple of unused params are removed
Eileen McNaughton [Tue, 27 Apr 2021 20:39:28 +0000 (08:39 +1200)]
Merge pull request #20160 from eileenmcnaughton/pdf
[REF] Post move cleanup - switch from $form to $this