Development issueshttps://lab.civicrm.org/groups/dev/-/issues2021-10-18T19:25:49Zhttps://lab.civicrm.org/dev/wordpress/-/issues/55Randomly losing Profile page content in WordPress2021-10-18T19:25:49Zdarren.woodsRandomly losing Profile page content in WordPressWordPress 5.4.1 Civi 5.25.0 Debian 10
We are randomly loosing profile pages in WordPress... The WordPress page is still rendered, but without any of the Civi Profile content (Profile is embedded as a shortcode in "Edit" mode). Clearing ...WordPress 5.4.1 Civi 5.25.0 Debian 10
We are randomly loosing profile pages in WordPress... The WordPress page is still rendered, but without any of the Civi Profile content (Profile is embedded as a shortcode in "Edit" mode). Clearing the cache with "wp civicrm cache-clear" multiple times (i.e. more than once, sometimes 3 or 4 times) resolves the issue and profile forms are shown again. Deleting the tempaltes_c contents doesn't immediatly resolve it, so we think it's possibly an ACL cache issue in the DB. We have ACL entries for "everyone" to view the profile and edit underlying custom field group, and the profiles can work fine for a day or two, then suddenly vanish without any errors. Any help, much appreciated as this one is proving really hard to debug.https://lab.civicrm.org/dev/core/-/issues/64In custom searches, column headings are being ignored2019-01-09T20:18:51ZkirkatcaatIn custom searches, column headings are being ignoredFor custom searches - ones that come installed with core CiviCRM *as well* as user-defined ones - the column headings defined in the custom search code are being ignored. This issue affects CiviCRM 5.0.0.
Each custom search is implement...For custom searches - ones that come installed with core CiviCRM *as well* as user-defined ones - the column headings defined in the custom search code are being ignored. This issue affects CiviCRM 5.0.0.
Each custom search is implemented by a class that extends CRM_Contact_Form_Search_Custom_Base and implements CRM_Contact_Form_Search_Interface. The columns displayed for search results are defined by either $this->_columns or the columns() method. The keys of this array should set the column headings, but they are being ignored.
When the search results are displayed, the specified headings are not used. Instead, some columns are given default headings and others are missing headings. This means that the results can't be sorted on those columns.
To reproduce this bug, click **Search ⇒ Custom Searches**, then pick a contact search, e.g. "Basic Search", "Include / Exclude Search" or "Postal Mailing", enter search criteria that will select some contacts, and then click Search. In the results you'll see that the column headings do not match the ones defined in the custom search class, and some columns (e.g. street address, phone number, contact type, etc) have no headings at all.jitendrajitendrahttps://lab.civicrm.org/dev/translation/-/issues/45Correct line breaks in settings.default.json2021-08-12T19:21:29ZgernerCorrect line breaks in settings.default.jsonThe [example file of settings.default.json](https://lab.civicrm.org/dev/translation/-/blob/master/settings/fr_CA/settings.default.json) has some line breaks, so it breaks the JSON validation, i.e. https://jsonlint.com/, and as a conseque...The [example file of settings.default.json](https://lab.civicrm.org/dev/translation/-/blob/master/settings/fr_CA/settings.default.json) has some line breaks, so it breaks the JSON validation, i.e. https://jsonlint.com/, and as a consequence, the settings.default.json file is not read during CiviCRM install, without any warning or error message.
Correcting the line breaks by adding `\n` where required corrects the issue, see /copy_metadata <!4t>https://lab.civicrm.org/dev/wordpress/-/issues/56Unknown or bad timezone () when submitting IPNs2020-06-09T15:35:19ZtcmalUnknown or bad timezone () when submitting IPNs# Steps to reproduce
Version: 5.25.0 with Wordpress CRM
- Configure a payment processor with Paypal Website Payments Standard
- Trigger an IPN to be sent, in this case for a recurring contribution
# Expected Output
IPN succeeds a...# Steps to reproduce
Version: 5.25.0 with Wordpress CRM
- Configure a payment processor with Paypal Website Payments Standard
- Trigger an IPN to be sent, in this case for a recurring contribution
# Expected Output
IPN succeeds and contribution is changed from pending to successful
# Actual Output
IPN fails and contribution is left in pending. The following exception is thrown:
```
Exception: "DateTimeZone::__construct(): Unknown or bad timezone ()"
#0 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php(2193): DateTimeZone->__construct("")
#1 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php(419): CRM_Utils_Date::convertDateToLocalTime(Object(DateTime))
#2 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalIPN.php(304): CRM_Core_Payment_PayPalIPN->getInput((Array:17), (Array:3))
#3 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment/PayPalImpl.php(740): CRM_Core_Payment_PayPalIPN->main()
#4 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment.php(1579): CRM_Core_Payment_PayPalImpl::handlePaymentNotification()
#5 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Payment.php(1472): CRM_Core_Payment::handlePaymentMethod("handlePaymentNotification", (Array:3))
#6 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(277): CRM_Core_Payment::handleIPN()
#7 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:14))
#8 /var/www/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
#9 /var/www/wp-content/plugins/civicrm/civicrm.php(1479): CRM_Core_Invoke::invoke((Array:4))
#10 /var/www/wp-content/plugins/civicrm/includes/civicrm.basepage.php(352): CiviCRM_For_WordPress->invoke()
#11 /var/www/wp-includes/class-wp-hook.php(287): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))
#12 /var/www/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(TRUE, (Array:1))
#13 /var/www/wp-includes/plugin.php(544): WP_Hook->do_action((Array:1))
#14 /var/www/wp-includes/class-wp.php(748): do_action_ref_array("wp", (Array:1))
#15 /var/www/wp-includes/functions.php(1274): WP->main("")
#16 /var/www/wp-blog-header.php(16): wp()
#17 /var/www/index.php(17): require("/var/www/wp-blog-header.php")
```
The relevant line is `wp-content/plugins/civicrm/civicrm/CRM/Utils/Date.php#2193`:
```php
public static function convertDateToLocalTime($dateObject, $format = 'YmdHis') {
$systemTimeZone = new DateTimeZone(CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
$dateObject->setTimezone($systemTimeZone);
return $dateObject->format($format);
}
```
In this case, `CRM_Core_Config::singleton()->userSystem->getTimeZoneString()` returns "" which is thrown as an invalid timezone. Presumably either the function should have a default return value or the DateTimeZone class should default instead of throwing an error.
As a temporary workaround I changed this line to:
```
$systemTimeZone = new DateTimeZone(date_default_timezone_get());
```https://lab.civicrm.org/dev/core/-/issues/65When creating a manual event registration, the notes section (source) has a c...2018-04-23T04:52:53Zfreeform.stephWhen creating a manual event registration, the notes section (source) has a character limit but doesn't check for oneAttempted to manually add a participant to an event using the "Add event registration" tab on their CiviCRM profile, but the screen wouldn't save, the page just stays frozen and fails to complete.
Looking at the error log:
...[nativeco...Attempted to manually add a participant to an event using the "Add event registration" tab on their CiviCRM profile, but the screen wouldn't save, the page just stays frozen and fails to complete.
Looking at the error log:
...[nativecode=1406 ** Data too long for column 'source' at row 1]"]...
The 'source' field in table 'civicrm_participant' is the 'Notes' field that appears when you manually create an event entry, it has a character limit of 128, client attempted to insert a note that was 161 characters. The limit of this field should be checked before attempting to save to the DB.
---
**Full backtrace:**
```
Apr 17 09:54:57 [info] $Fatal Error Details = Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , '�Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1�Salmon - 1 Participant Count -1�' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]
[type] => DB_Error
[user_info] => INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , '�Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1�Salmon - 1 Participant Count -1�' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id , register_date , source , fee_level , fee_amount , discount_id , fee_currency ) VALUES ( 475 , 2 , 1 , '1' , 20180417095400 , 'Manual input of cc info for member who called from Mexico and had troubles with cards before deadline. I charged early bird rate. See transaction ID AAB156B9 -MW' , '�Regular (Includes automatic member discount of: $ 159.00 Discount for Regular SSC Members) - 1�Salmon - 1 Participant Count -1�' , 555.00 , NULL , 'CAD' ) [nativecode=1406 ** Data too long for column 'source' at row 1]"]
)
Apr 17 09:54:57 [info] $backTrace = #0 /sites/all/modules/contrib/civicrm/CRM/Core/Error.php(235): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 [internal function](): CRM_Core_Error::handle(Object(DB_Error))
#2 /sites/all/modules/contrib/civicrm/packages/PEAR.php(931): call_user_func((Array:2), Object(DB_Error))
#3 /sites/all/modules/contrib/civicrm/packages/DB.php(976): PEAR_Error->PEAR_Error("DB Error: unknown error", -1, 16, (Array:2), "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#4 /sites/all/modules/contrib/civicrm/packages/PEAR.php(564): DB_Error->DB_Error(-1, 16, (Array:2), "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#5 /sites/all/modules/contrib/civicrm/packages/DB/common.php(1905): PEAR->raiseError(NULL, -1, NULL, NULL, "INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...", "DB_Error", TRUE)
#6 /sites/all/modules/contrib/civicrm/packages/DB/mysql.php(895): DB_common->raiseError(-1, NULL, NULL, NULL, "1406 ** Data too long for column 'source' at row 1")
#7 /sites/all/modules/contrib/civicrm/packages/DB/mysql.php(328): DB_mysql->mysqlRaiseError()
#8 /sites/all/modules/contrib/civicrm/packages/DB/common.php(1216): DB_mysql->simpleQuery("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#9 /sites/all/modules/contrib/civicrm/packages/DB/DataObject.php(2442): DB_common->query("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#10 /sites/all/modules/contrib/civicrm/packages/DB/DataObject.php(1060): DB_DataObject->_query("INSERT INTO civicrm_participant (contact_id , event_id , status_id , role_id ...")
#11 /sites/all/modules/contrib/civicrm/CRM/Core/DAO.php(442): DB_DataObject->insert()
#12 /sites/all/modules/contrib/civicrm/CRM/Event/BAO/Participant.php(141): CRM_Core_DAO->save()
#13 /sites/all/modules/contrib/civicrm/CRM/Event/BAO/Participant.php(204): CRM_Event_BAO_Participant::add((Array:44))
#14 /sites/all/modules/contrib/civicrm/CRM/Event/Form/Participant.php(1280): CRM_Event_BAO_Participant::create((Array:44))
#15 /sites/all/modules/contrib/civicrm/CRM/Core/Form.php(345): CRM_Event_Form_Participant->postProcess()
#16 /sites/all/modules/contrib/civicrm/CRM/Core/QuickForm/Action/Upload.php(166): CRM_Core_Form->mainProcess()
#17 /sites/all/modules/contrib/civicrm/CRM/Core/QuickForm/Action/Upload.php(133): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Event_Form_Participant), "upload")
#18 /sites/all/modules/contrib/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Event_Form_Participant), "upload")
#19 /sites/all/modules/contrib/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_Participant), "upload")
#20 /sites/all/modules/contrib/civicrm/CRM/Core/Controller.php(353): HTML_QuickForm_Page->handle("upload")
#21 /sites/all/modules/contrib/civicrm/CRM/Event/Page/Tab.php(118): CRM_Core_Controller->run()
#22 /sites/all/modules/contrib/civicrm/CRM/Event/Page/Tab.php(175): CRM_Event_Page_Tab->edit()
#23 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(312): CRM_Event_Page_Tab->run((Array:4), NULL)
#24 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:12))
#25 /sites/all/modules/contrib/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:4))
#26 /sites/all/modules/contrib/civicrm/drupal/civicrm.module(482): CRM_Core_Invoke::invoke((Array:4))
#27 [internal function](): civicrm_invoke("contact", "view", "participant")
#28 /includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:3))
#29 /index.php(21): menu_execute_active_handler()
#30 {main}
```seamusleeseamusleehttps://lab.civicrm.org/dev/wordpress/-/issues/57Blank backend donation page on 5.26.1 upgrade2020-06-15T11:37:15ZMonish DebBlank backend donation page on 5.26.1 upgradeSteps to replicate
-------------------
1. Upgrade CiviCRM to 5.26.1
1. Go to 'Manage Contribution pages'
1. Choose any contribution page, and click on 'Links' >> 'Live Page' or 'Test Page'
The issue is also occurring on 'Manage Events' ...Steps to replicate
-------------------
1. Upgrade CiviCRM to 5.26.1
1. Go to 'Manage Contribution pages'
1. Choose any contribution page, and click on 'Links' >> 'Live Page' or 'Test Page'
The issue is also occurring on 'Manage Events' page.
Result
---------
Open blank donation page in new tab.
* Test page URL - https://www.example.com/wp-admin/admin.php?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=xx&action=preview
* Live page URL - https://www.example.com/wp-admin/admin.php?civiwp=CiviCRM&q=civicrm%2Fcontribute%2Ftransact&reset=1&id=xxxx
Expected behavior
---------
Open blank donation page in new tab.
* Test page URL - https://www.example.com/civicrm/contribute/transact/?reset=1&id=xxx&action=preview
* Live page URL - https://www.example.com/civicrm/contribute/transact/?reset=1&id=xxx
NOTE: This doesn't affect CiviCRM install but only on upgrade as we recently encountered. The reason why I cannot replicate it on https://wpmaster.demo.civicrm.org5.26.1seamusleeseamusleehttps://lab.civicrm.org/dev/core/-/issues/66Refactor addAddressColumns in the report2018-11-04T20:34:30ZjaapjansmaRefactor addAddressColumns in the reportAs the discussion in this closed pr (https://github.com/civicrm/civicrm-core/pull/11980) there is a need to refactor addAddressColumns in the reports in core.
The extended report extension has a working implementation.As the discussion in this closed pr (https://github.com/civicrm/civicrm-core/pull/11980) there is a need to refactor addAddressColumns in the reports in core.
The extended report extension has a working implementation.5.8https://lab.civicrm.org/dev/wordpress/-/issues/58Base page fails to recognise Page Templates in subdirectories.2020-06-12T15:56:28ZhaystackBase page fails to recognise Page Templates in subdirectories.Currently, the CiviCRM base page fails to apply the selected Page Template if that template does not reside in the root directory of the theme. The fallback `page.php` template is used instead.
## Steps to reproduce
Copy the `page.php`...Currently, the CiviCRM base page fails to apply the selected Page Template if that template does not reside in the root directory of the theme. The fallback `page.php` template is used instead.
## Steps to reproduce
Copy the `page.php` template from the active theme into a subdirectory, rename it and replace its header with:
```php
/**
* Template Name: CiviCRM Test
*/
```
Then select "CiviCRM Test" as the template for the CiviCRM base page.
The template will not be loaded and `page.php` will be used instead.
## The problem
The code to find the Template "name" `$template_name = basename( $template );` is too simplistic.
PR to follow.haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/67Create Machine Name for Payment Processors2022-08-10T05:03:37ZCamilo RodríguezCreate Machine Name for Payment Processors## Overview
Currently, there is no reliable way to identify a payment processor, as the primary key may change from installation to installation and the name is a field that is manageable by the user and could be changed. Our specific us...## Overview
Currently, there is no reliable way to identify a payment processor, as the primary key may change from installation to installation and the name is a field that is manageable by the user and could be changed. Our specific use case is we need to be able to determine reliably if a specific payment processor is used for an extension we're building, that enables users to pay for memberships using recurring contributions, but this may also be needed in future development of CiviCRM payment processors.
## How it Works Currently
1. Go to create a payment processor
2. There isn't a field on payment processor form to reliably identify a payment processor from installation to installation.
## How it should work
1. There should be a column on payment processors table to identify a specific processor, a machine name that we are certain will not change from installation to installation, unique to each payment processor.
2. Go to create a payment processor.
3. Form now shows a **Key** optional field.
4. Form validation assures only ASCII alphanumeric characters, underscores and/or dashes are used on **Key** field.
5. If no key is given, system will generate one from the processor's name by stripping non ASCII alphanumeric characters and replacing spaces with underscores (_).
6. **Key** field is visible on payment processors table on civicrm/admin/paymentProcessor.
## Acceptance Criteria
1. **Key** field is added to payment processor list, view and edit forms.
2. **Key** field is optional.
3. Form validation assures only ASCII alphanumeric characters, underscores and/or dashes are used on **Key** field.
3. **Key** only appears on payment processor creation and cannot be edited by users after.
3. **Key** is generated by the system on creation if no key is given. Even if created through API/BAO.https://lab.civicrm.org/dev/translation/-/issues/48Investigate php currency library ( chose brickmoney)2021-03-24T01:03:08ZeileenInvestigate php currency library ( chose brickmoney)We have a lot of money handling in our code. Our functions are a bit meh. We still seem to hit issues on money calculations that there are libraries to handle....
There seem to be 2 leading contenders
https://github.com/moneyphp/money
a...We have a lot of money handling in our code. Our functions are a bit meh. We still seem to hit issues on money calculations that there are libraries to handle....
There seem to be 2 leading contenders
https://github.com/moneyphp/money
and https://github.com/brick/money (the latter seems slightly nicer based on the docs)
Both seem to rely on php intl extension for formatting currencies - is that a blocker? or is it common, esp on non US sites.
See https://lab.civicrm.org/dev/translation/-/issues/47 for js issue on the same5.34.0https://lab.civicrm.org/dev/wordpress/-/issues/59Base page is only created on main site in WordPress Multisite2023-02-28T15:26:35ZhaystackBase page is only created on main site in WordPress MultisiteThe default behaviour of CiviCRM on WordPress Multisite is that the base page is not created on every site on which CiviCRM is activated. Instead, the base page is only auto-created on the main site. The absence of the base page on a sub...The default behaviour of CiviCRM on WordPress Multisite is that the base page is not created on every site on which CiviCRM is activated. Instead, the base page is only auto-created on the main site. The absence of the base page on a sub-site can lead to confusion - however it may be the desired behaviour when the WordPress Multisite instance is one where sub-sites are not truly "separate" e.g. sites built on frameworks such as Commons in a Box or MultilingualPress.
Proposed fix: auto-create the base page on all sites on which CiviCRM has been activated but allow plugins to enable the legacy switch to the main site behaviour.haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/68DB Error on 'Find Participant' page when MySQL FULL_GROUP_BY_MODE is enabled2018-05-17T11:38:27ZMonish DebDB Error on 'Find Participant' page when MySQL FULL_GROUP_BY_MODE is enabledSteps to replicate:
1. Ensure that FULL_GROUP_BY_MODE is enabled in MySQL
2. Go to 'Find Participant' search form and do a simple search
This leads to
DB Error - https://pastebin.com/jxbaAbpSSteps to replicate:
1. Ensure that FULL_GROUP_BY_MODE is enabled in MySQL
2. Go to 'Find Participant' search form and do a simple search
This leads to
DB Error - https://pastebin.com/jxbaAbpS5.1.0Monish DebMonish Debhttps://lab.civicrm.org/dev/wordpress/-/issues/60Conflict between theme and Stripe?2020-06-22T12:48:53ZaskeggConflict between theme and Stripe?We are running CiviCRM 5.26.2 with the latest extensions, including Stripe. While attempting to submit a credit card payment using the Stripe gateway nothing happens. The Safari console reports:
`Error: No reCAPTCHA clients exist.`
![S...We are running CiviCRM 5.26.2 with the latest extensions, including Stripe. While attempting to submit a credit card payment using the Stripe gateway nothing happens. The Safari console reports:
`Error: No reCAPTCHA clients exist.`
![Screen_Shot_2020-06-22_at_8.05.06_pm](/uploads/004ca370138250a71333217859b8f1fd/Screen_Shot_2020-06-22_at_8.05.06_pm.png)
I have tried disabling the reCAPTCHA in both the theme and CiviCRM, and every other combination, but nothing makes this error disappear.
Any ideas?https://lab.civicrm.org/dev/core/-/issues/69'state_province_name' token not working for alternate billing addresses2018-05-16T09:21:00Zvarshith'state_province_name' token not working for alternate billing addresses## Overview ##
This issue is related to this existing issue
https://issues.civicrm.org/jira/browse/CRM-21830
The PR for the above issue is here
https://github.com/civicrm/civicrm-core/pull/11776
Though this fixes the basic issue, it ...## Overview ##
This issue is related to this existing issue
https://issues.civicrm.org/jira/browse/CRM-21830
The PR for the above issue is here
https://github.com/civicrm/civicrm-core/pull/11776
Though this fixes the basic issue, it still doesn't work for all fields.
## How it works currently ##
If state_province field name is not of the form "state_province-{$billingLocationTypeID}", then state_province_name is empty. Which means field names of form 'billing_state_province-{#}' and 'billing_state_province_id-{#}' results in empty state_province_name when "state_province_name" token is used.5.3.0https://lab.civicrm.org/dev/core/-/issues/3335Proposal on Membership Renewal form re 'fixMembershipBeforeRenew'2022-04-22T16:17:33ZeileenProposal on Membership Renewal form re 'fixMembershipBeforeRenew'When a membership is renewed via the backoffice form one step in the process is to call
CRM_Member_BAO_Membership::fixMembershipStatusBeforeRenew
This does a couple of things
1) it checks what the correct status is as of the current d...When a membership is renewed via the backoffice form one step in the process is to call
CRM_Member_BAO_Membership::fixMembershipStatusBeforeRenew
This does a couple of things
1) it checks what the correct status is as of the current date
2) if it is not 'correct' it
- changes the status
- adds a membership log
- adds an activity
- updates a parameter which tells the calling function if the membership is now current.
My belief is that this last parameter is useful to the calling function and the other steps are byproducts of shared code that may not be that relevant.
I propose we either
1) say that it is not necessary/ helpful to change the status & add the various entries in this flow OR
2) if it is useful (probably because the scheduled job didn't run) then we do it in the preProcess function rather than the post process
@andrewhunt @justinfreeman @mattwire @KarinG any opinions on ^^
(note there are some related issues that might come up - please try to add separate issues if you want to raise points outside this specific proposal)5.31.0https://lab.civicrm.org/dev/wordpress/-/issues/61undefined offset bug in BAO/FinancialAccount.php2020-07-05T22:25:14Zrgrosundefined offset bug in BAO/FinancialAccount.phpwhile dealing with a white screen, I found a suspicious message in php_errorlog. In debugging that, I think I hit a bug.
- civicrm 5.26.2
- wordpress
In the logging, I see this line:
`[22-Jun-2020 16:58:39 Europe/Amsterdam] PHP Notic...while dealing with a white screen, I found a suspicious message in php_errorlog. In debugging that, I think I hit a bug.
- civicrm 5.26.2
- wordpress
In the logging, I see this line:
`[22-Jun-2020 16:58:39 Europe/Amsterdam] PHP Notice: Undefined offset: 0 in /home/user/public_html/civicrm-nw/wp-content/plugins/civicrm/civicrm/CRM/Financial/BAO/FinancialAccount.php on line 255`
This notice is triggered by doing a payment after registering for a paid event.
The line that is mentioned in the notice is in function *getFinancialAccountForFinancialTypeByRelationship*; I put in some print statements and found out that it gets value 'Income Account is' in parameter *$relationshipType*. The line of the message uses the hard coded value instead:
`$incomeAccountRelationshipID = array_search('Income Account is', $accountRelationships);`
which is suspicious in itself. But the array $accountRelationships does not contain that value, which causes the message. The array appears to contain the dutch equivalents of the relationships:
```
LOC103 Array
(
[1] => Inkomsten rekening is
[2] => Credit/Contra Revenue Account is
....more
}
```
I am no php programmer, so I fixed it for my site by changing the hard code value to 'Inkomsten rekening is', making the message disappear. I think the code should be changed to somethink like
`$incomeAccountRelationshipID = array_search(translation_of ($relationshipType), $accountRelationships);`5.28.0https://lab.civicrm.org/dev/core/-/issues/70On any custom search 'Print selected rows' action doesn't retain columns/values2018-04-26T17:31:14ZMonish DebOn any custom search 'Print selected rows' action doesn't retain columns/valuesSteps to replicate:
* Go to any custom search
* Choose any or all record
* Then choose 'Print selected rows'
Actual Result: There are different headers and except name all values are empty
Expected Result: The print screen should th...Steps to replicate:
* Go to any custom search
* Choose any or all record
* Then choose 'Print selected rows'
Actual Result: There are different headers and except name all values are empty
Expected Result: The print screen should the headers chosen for that Custom search and its corresponding values under itMonish DebMonish Debhttps://lab.civicrm.org/dev/wordpress/-/issues/62Contact image is broken2021-01-08T12:58:23ZandyburnsContact image is brokenI have reproduced on WP at https://demo.tadpole.cc/ and my install versions 5.26.2. It works on Drupal.
![image](/uploads/d0467024562f844eed2c3f63e0c0c9b1/image.png)
Reproduce:
1. Go to a contact summary screen > edit > upload contact ...I have reproduced on WP at https://demo.tadpole.cc/ and my install versions 5.26.2. It works on Drupal.
![image](/uploads/d0467024562f844eed2c3f63e0c0c9b1/image.png)
Reproduce:
1. Go to a contact summary screen > edit > upload contact image.
1. You'll see the contact image is broken.
1. If you try and navigate to the link (open in new window) it gives the WP error screen.
Link looks like: https://example.org/civicrm/?page=CiviCRM&q=civicrm%2Ffile&reset=1&filename=andy_2018_150x150_20b7648df6da2e1b694b25e5398ee2c7.jpg&mime-type=image/jpeg
Clean URL's are enabled. Note it is using ?page=CiviCRM not ?page=civiwp. The image is being loaded in the /wp-content/uploads/civicrm/custom directory. Images still show on a public profile directory.
WP error log is:
```
Warning: file_get_contents(/wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/node_modules/mime-db/db.json): failed to open stream: No such file or directory in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 36
Warning: array_values() expects parameter 1 to be array, null given in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 49
Warning: array_map(): Argument #2 should be an array in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 49
Warning: array_keys() expects parameter 1 to be array, null given in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 52
Warning: array_combine() expects parameter 1 to be array, null given in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 52
Fatal error: Uncaught TypeError: Argument 1 passed to MimeTyper\Repository\AbstractRepository::setFromMap() must be of the type array, null given, called in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php on line 52 and defined in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/AbstractRepository.php:18 Stack trace: #0 /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/MimeDbRepository.php(52): MimeTyper\Repository\AbstractRepository->setFromMap(NULL) #1 /wp-content/plugins/civicrm/civicrm/vendor/dflydev/apache-mime-types/src/Dflydev/ApacheMimeTypes/AbstractRepository.php(31): MimeTyper\Repository\MimeDbRepository->internalInit() #2 /wp-content/plugins/civicrm/civicrm/vendor/dflydev/apache-mime-types/src/Dflydev/ApacheMimeTypes/AbstractRepository.php(68): Dflydev\ApacheMimeTypes\AbstractRepository->init() #3 /wp-content/plug in /wp-content/plugins/civicrm/civicrm/vendor/adrienrn/php-mimetyper/src/Repository/AbstractRepository.php on line 18
```5.28.0https://lab.civicrm.org/dev/core/-/issues/71Add Print/Merge Letter functionality for activity searches2020-02-27T20:19:41Zaydunsaidan.saunders@squiffle.ukAdd Print/Merge Letter functionality for activity searchesMost of the standard searches provide an action to create a PDF or Word document - except Activities.Most of the standard searches provide an action to create a PDF or Word document - except Activities.5.23.0aydunsaidan.saunders@squiffle.ukaydunsaidan.saunders@squiffle.ukhttps://lab.civicrm.org/dev/core/-/issues/2017Remove unused functions -2023-05-12T05:03:32ZeileenRemove unused functions -Finding a few unused functions at the moment - mostly because I opened the open id code to try to find where an extraneous query is coming from.... isAllowedToLoginFinding a few unused functions at the moment - mostly because I opened the open id code to try to find where an extraneous query is coming from.... isAllowedToLogin