How do I apply a patch supplied in the issue queue via Git? A link was graciously provided to a PR on GitHub to fix an issue that I am watching in the Jira issue queue.  The fix is only one line of code that changes a display, so I am confident applying the fix without upgrading my installation will not have unintended consequences in this particular case.

Obviously, I can change the one line of code by hand, but in the interest of trying to use best practices, I'd like to understand the best way of using Git itself to apply the change. I have Git installed on my server and use a private GitHub repository for our organization's code base.

The "GitHub for CiviCRM" documentation (http://wiki.civicrm.org/confluence/display/CRMDOC/GitHub+for+CiviCRM) is geared towards those contributing to the codebase rather than those who need to apply a supplied fix.

Applying a patch to a standard install doesn't require you to switch it over to Git. You can just apply the patch from a given PR (let's say it is PR #12345) like so from the command line:

cd path/to/civicrm
wget https://github.com/civicrm/civicrm-core/pull/12345.diff
patch -p1 < 12345.diff
rm 12345.diff


Find Contacts who are in one and only one group? i could write a sql query but is there a way to do this search from the UI?

Since sql is probably your best bet, the sql is pretty straight forward.

SELECT c.display_name,
       g.name,
       count(*)
FROM   civicrm_group_contact gc,
       civicrm_contact c,
       civicrm_group g
where  gc.contact_id = c.id
and    gc.group_id = g.id
and    gc.status = 'Added'
group by 1
having count(*) = 1


How to dynamically add datafields/profiles in form? I am trying to set up a committee registration form where the registrant also adds contact information for three other people (more contacts being added as the number of people grows in that group). How can I do this with Civicrm? Until now I was adding custom datafields for the other 3 contacts, then I realized that more people will be added later, so I can't be creating a custom datafield per person. If I create a new profile, how can I embed it in the initial registration form? Is there a way to add fields dynamically to a form (so that the registrant can add more than 3 people during registration)?

There's no way to dynamically add fields without custom code to a profile - and that code sounds onerous.  There's a better way, though: I'd recommend creating a CiviEvent and enabling "register multiple participants" from there.

You've tagged this "Wordpress", which rules out using Drupal Webform with CiviCRM integration.  That's another alternative for anyone else with a similar issue using Drupal.


Upgrade from 4.5.8 to 4.6.2 killed View Contact Tabs We consult with CiviCRM powered by Drupal. Recently we upgraded one client who has CiviCRM powered by the latest Drupal 6 from 4.5.8 to 4.6.2. After the upgrade, they are unable to click between the various tabs of a CiviContact record. They have tried multiple different browser products from I believe their Windows based computer.

Tabs are as follows on a particular CiviContact record:
    Summary
    Contributions 263
    Pledges 0
    Memberships 0
    Activities 61
    Events 7
    Relationships 0
    Groups 41
    Notes 2
    Tags 5
    Change Log 18

Always the lower content area is stuck showing the Summary details.
We see no troubles from Mozilla Firefox on Linux, or Google Chrome. I tried Chrome as they say that is their preferred browser.

Some time ago I recall some AJAX code getting broken in a couple of CiviCRM upgrade on Drupal 6. Perhaps that has happened again. Though odd this time it is specific to the operating system of the browser, not a cross-platform break.

Any other suggestions of information I might provide?

I am thankful,
Michael

Aaahhhh!!!! I just noticed that this client's Drupal user ID was set to view the site with the default Garland theme whereas my Drupal user ID was set to view the site with the custom theme built for this site. I switched the client's Drupal user ID to use the custom theme, and now AJAX refreshes correctly. So, it appears Drupal Garland theme specific.


Struggling to set-up SMTP Configuration I do not have a web development background, so you will have to bear with me. I am currently using CiviCRM 4.7.0 on Wordpress 4.9.2. I am trying to set up CiviMail and am receiving a "Mail Not Sent" error. We are currently using Webfactional to host our Wordpress site. I had previously been receiving a softfail when using mail(). This is the softfail that I would see in "Show Original" on Gmail:

Received-SPF: softfail (google.com: domain of transitioning our email does not designate 74.55.86.74 as permitted sender) client-ip=74.55.86.74;
Authentication-Results: mx.google.com;
       spf=softfail (google.com: domain of transitioning our email does not designate 74.55.86.74 as permitted sender) smtp.mailfrom=our email

I contacted them and followed instructions to set it up so that our Email would not be using their smtp but rather, go through Google Apps since Webfactional sets limitations on bulk mailings. I also set up an SFP DNS following their instructions for Google Apps. Following the instructions on Google Apps, I entered the following and received this error message when I tried a test email:

I tried removing the ssl:// and also tried to use Port 25 just for the sake of testing. I don't quite know where to head from here. What steps did I just completely miss or do wrong that I'm not seeing?

Thanks in advance!

you have a problem outside of civicrm realm: you are trying to send an email from a domain name that has a SPF record that doesn't include your server IP address.

it is the domain that you have set up for the bounce that needs to have the SPF record.

However, before you go down that rabbit hole: google has limitations on how many emails you can sent via their smtp server. It will never work for a production configuration as soon as you have more than a handful of contacts you want to mail.

I would suggest you to use an external provider to do the mailing (they are lots of providers (civismtp, sendgrid, mailjet...) that can easily be integrated with your civicrm that you can use.


Activity Details report filter missing tags The Activity Details report filter is missing the 'Tags' filter.  The last filter is 'Groups' and just before that is 'County' which is where 'Tags' should be.  The criteria for this field is 'Is one of' and the selection hint is 'Choose state first' - and is unselectable. The previous criteria to that is also 'County' which is working OK. This is a UK installation, at 5.26.2 and I have another installation at this same level where the 'Tag' filter shows OK.  Very odd - I've disabled extensions, checked localisation, settings etc etc. I upgraded to 5.27.3 but exactly the same.

Only bare tags (tags not part of an activity set) trigger the field to appear.
The issue seems to be partly how the report retrieves tags where it calls getTags which only returns bare tags unless you give it a parent id for a tag set.
I think the report should be updated to match how it's done elsewhere. Where I've seen it it's usually done as two separate fields.


Total Donations By Contact I am looking to pull a report that has the donation total for each contact.  Basically the top donor report but for all donors.

What report will give this to me.

Thanks,
Josh

If you leave the filter called Show no. of Top Donors empty then you will get a list of all contacts and their donation totals.


How do I notify our targets that a petition has been signed? I am creating a petition with multiple targets. Is it possible to have them be notified via email each time the petition is signed? Or is it possible to CC them in the email confirmation the petition signer receives?

The extension "Petition Email" should let you do this in CiviCRM.


Compucorp Membership Extras: Offline auto-renew questions We use Stripe and GoCardless for our online payments but we also have circa 400 offline annual direct debits that are collected by a bureau and were created prior to our CiviCRM implementation.

Historically, we've been doing a mass import each year in order to auto-renew these memberships as auto-renew for offline payment methods isn't natively supported by CiviCRM out of the box.

I've been investigating Compucorps 'Membership Extras' plugin and reading Jamie's blog post and this looks like it could really save us from having to do this mass imports each year.

I have a few questions about the plugin:

1. Does this plugin actually create a recuring contribution record the same way that online payments do?

I believe we have some CiviRules that use this field as part of the criteria for certain mail sending.

2. Is there any way to bulk apply this to our 400 existing direct debits before they auto-renew in April 2020?

3. The documentation states:

  Membership Extras uses a built-in "offline payment plan" payment processor to support the offline handling of recurring payment plans. If you happen to have another offline payment processor (payment processor that uses Payment_Manual class) and you would like all payment plan created in the back office to use that payment processor instead, you will be able to make that change in the “Offline payment processor for back office” setting by going to Administer -> Payment Plan Settings.

We use two different payment processors for offline auto-renewals; a mix of "Legacy Direct Debit" and "Standing Order". Is there any way for auto-renewal to just use the same payment processor as the original contribution?

4. In some cases, a member has an existing direct debit or standing order that adds extra money as a donation on top of the annual membership fee. Historically, we split this into two imports:

In this example, the annual Direct Debit is actually for £46.

Is there any way to have the extension include the donation as part of the 'duplication' auto-renew process?

Thanks for a great plugin. Hoping it's able to solve some of our admin overhead!

Any suggestions or help greatly appreciated.

Thanks for looking into membership extras. Just a quick point that we are planning a release at the end of Jan which will fix a lot of bugs and issues so I would suggest to wait till that is released before using this fully.

Answers to questions below:

  Does this plugin actually create a recurring contribution record the same way that online payments do?

Yes it does - when creating a new membership you have the option to use a payment plan. If you do the system will create a recurring contribution.

  Is there any way to bulk apply this to our 400 existing direct debits before they auto-renew in April 2020?

This is a bit more tricky. For existing memberships who do not have a recurring contribution you would need to set them up with recurring contributions linked to the contributions and memberships. Perhaps with 400 or so this would be best done manually by creating new memberships starting in the new period, but alternatively you could generate a script (or if you would like some developer support with this do get in touch with me at hello@compucorp.co.uk and we can see if we can create this for you).

  We use two different payment processors for offline auto-renewals; a mix of "Legacy Direct Debit" and "Standing Order". Is there any way
  for auto-renewal to just use the same payment processor as the
  original contribution?

Afraid not. The payment processor is what does all the clever work behind the scenes to create the payment plan and instalments. Note you also need to enable the renew memberships scheduled job. Why do you need to use the existing payment processors can I ask?

  In some cases, a member has an existing direct debit or standing order that adds extra money as a donation on top of the annual
  membership fee. Historically, we split this into two imports: Is there
  any way to have the extension include the donation as part of the
  'duplication' auto-renew process?

Yes... but again this is a bit tricky to update existing memberships into. For new memberships the extension completely supports line items so you could have a membership line (or two) + donation lines on a single contribution. These would then recur with the recurring contribution.

Hope the above is useful and do keep an eye out for the v2 release which will be a big update.

Best

Jamie


best practice for using core base functions (CRM_Utils_System_Base) from an extension? CRM_Utils_System_Base defines a great set of key functions that look like they should work in any system.

What is the correct way to access this functionality within an extension?

FYI these are the classes public methods:

addHTMLHead($head)
addScript($code, $region)
addScriptUrl($url, $region)
addStyle($code, $region)
addStyleUrl($url, $region)
appendBreadCrumb($breadCrumbs)
appendCoreResources(&$list)
authenticate($name, $password, $loadCMSBootstrap = FALSE, $realPath = NULL)
checkPermissionAddUser()
clearResourceCache()
cmsRootPath()
createUser(&$params, $mail)
flush()
getBestUFID($user = NULL)
getBestUFUniqueIdentifier($user = NULL)
getDefaultBlockLocation()
getDefaultSiteSettings($dir)
getLoggedInUfID()
getLoggedInUniqueIdentifier()
getLoginDestination(&$form)
getModules()
getTimeZoneOffset()
getTimeZoneString()
getUFLocale()
getUfId($username)
getUniqueIdentifierFromUserObject($user)
getUser($contactID)
getUserIDFromUserObject($user)
getUserRecordUrl($contactID)
getVersion()
isUserLoggedIn()
languageNegotiationURL(
loadUser($user)
logger($message)
logout()
mapConfigToSSL()
outputError($content)
permissionDenied()
postURL($action)
resetBreadCrumb()
setMessage($message)
setMySQLTimeZone()
setTitle($title, $pageTitle = NULL)
setUserSession($data)
theme(&$content, $print = FALSE, $maintenance = FALSE)
updateCMSName($ufID, $email)
updateCategories()
url($path = NULL, $query = NULL, $absolute = FALSE, $fragment = NULL, $htmlize = TRUE, $frontend = FALSE, $forceBackend = FALSE)
userLoginFinalize($params = array())

(note a few of these are marked as only be called in certain contexts)

This base class is not intended to be used by itself, but extended based on the CMS. CiviCRM will automatically give you an instance of the correct object which extends this base class. You can access it via the CRM_Utils_System static methods. For example:

CRM_Utils_System::appendBreadCrumb($something);

or

CRM_Utils_System::isUserLoggedIn();


Image not displayed in the email with outlook I have created a new mailing with an image(logo) in the text.
Contacts which use outlook to open the email doesn't see the image.

The problem is the same if the image is in the template or added in the mailing.

To avoid this issue, if I go in the source of the mail and remove  tag,   the image is displayed in outlook.

Do you have an idea how-to definitively resolve this issue?
Regards,

This is almost certainly a characteristic of Outlook rather than a problem with Civi. Outlook won't necessarily display images  - certainly if the 'from' email address is a new one to that Outlook - so the user has to check a flag to indicate that they want see images for that email address.  Other email systems also behave in a similar way - it's a (sort of) security feature.


Adding a contact summary tab I am completely new to Civicrm and successfully created an extension that modify and existing page{Contact Page} but I am required to create a extension that shows a new CIVICRM Contact Tab that show list of Personal Campaign Pages created by a contact.I have not clue how to start creating this..Any tip on how to do this will be appreciated

You can use the tabset hook (detailed information can be found on the wiki here: https://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_tabset) to add a contact tab.


Payment Later/Payment Method missing I was hoping someone could help me with this. I've been working on this for a couple of days and can't figure this out.

Basically, the payment method block is missing from Event online registration pages.  When I fill in payment information and submit, I get the the following message.

  Please correct the following errors in the form fields below:

Please select a Payment Method

The problem is there is no Payment Method block including the Pay Later in the Registration page even though the option is selected in the configuration.

There is no error in the Civicrm log. (ConfigAndLog)
And couldn't find anything applicable in /var/log/apache2/error.log.
Same for the Drupal Log.

Also, it does not appear to be a CSS issue as the block is just missing on the registration page according to firebug.

I did find this, but it didn't help much.
https://forum.civicrm.org/index.php?topic=35391.0

Any ideas?

I'm running Drupal 6.37 and CiviCRM 4.6.8. (I know. I know.  I need to upgrade to 7, but I've consistently run into upgrade issues with my custom theme and need to get them worked out)

Apparently we didn't have any paid events over the summer so the last one was in May 2015.  So it could have stopped working anywhere between then and now.

Thanks.  It was some leftover custom code that was blocking it.  Sometimes it helps to write things out!


API Extension PHPUnit Tests not working I am fairly new to Civicrm, I created a new API for an Entity which I would like to make a pull request for but however it seems preparing a test environment in Civicrm is quite difficult.
I have followed this tutorial but seems it's not for Civicrm 4.7 since some of the paths mentioned are not in Civicrm version 4.7
Tutorial URL:
https://wiki.civicrm.org/confluence/display/CRM/Setting+up+your+personal+testing+sandbox+HOWTO
I can't seem to be able to find these paths , mentioned below

Configure the PHP constant CIVICRM_DSN.   Database connection using PHP
constant To define PHP constants for unit-testing, copy the file
"/tests/phpunit/CiviTest/civicrm.settings.local.php.txt" to
"/tests/phpunit/CiviTest/civicrm.settings.local.php".
Edit the file to include to include a line like this:
define('CIVICRM_DSN',
'mysql://db_username:db_password@localhost/civicrm_tests_dev');
Configure the environment variable CIVICRM_TEST_DSN. (The format is
the same as the CIVICRM_DSN above.)
Don't use this approach unless you
already have a strong understanding of environment variables. Pass the
MySQL details as command-line parameters each time you run the
unit-tests. (This approach doesn't require updating any other files,
but it's cumbersome to use when you regularly run unit-tests.)

https://wiki.civicrm.org/confluence/display/CRM/Setting+up+your+personal+testing+sandbox+HOWTO
When I go to the root of my API extension and type :
civix test CRM_MyEntity_EntityAction

I get error below which suggests I should read the tutorial above

Agree with JohnFF and JonG that it's good to look at buildkit/civibuild for this. If you review the main page for the test suite (http://wiki.civicrm.org/confluence/display/CRMDOC/Testing), you'll notice a common theme -- all the tests should work out of the box on new builds if you use civibuild. (They need to -- because the civicrm.org test infrastructure runs on civibuild.) A manual installation requires more work.

In this case, the instructions you've come across in Setting up your personal testing sandbox HOWTO are out-of-date -- those instructions apply from roughly v2.x - v4.6. The test-runner changed a bit in v4.7.

How it works in v4.6 and earlier: Civi included a fork of phpunit with several small patches, and the tests only worked if you used this fork of PHPUnit. This had several consequences like:

Every developers' copy of CiviCRM required an extra config file under test/phpunit/CiviTest.
Upgrading phpunit (eg to run in newer versions of PHP) was onerous.
Running a test-class in an extension was pretty hard. You needed a way to link your test with the Civi installation. (The location varies depending on the CMS and configuration.)
Running a test in an IDE was... hard? impossible? (I never did it 4.6 or earlier.)

How it works in v4.7: Tests are no longer special programs with a strongly-prescribed structure. Instead, we've addressed the broader problem of how to load Civi in your CLI scripts. You can use any test-runner (phpunit, codeception, behat, etc) with any package (civicrm-core, civicrm-drupal, or an extension). A "Civi enabled test" is just a plain-old PHP script which includes a line like this:

eval(`cv php:boot`); // or...
eval(`cv php:boot --test`); // or...
eval(`cv php:boot --level=classloader`);

The cv tool is responsible for loading/booting CiviCRM in your test.

When designing tests, there are different types of tests... such as bare unit-tests, headless database tests, and end-to-end tests. For more discussion about these concepts, see:

https://github.com/civicrm/org.civicrm.testapalooza
https://civicrm.org/blog/totten/developers-extension-testapalooza

If you haven't used civibuild, then pay particular attention to the README for org.civicrm.testapalaooza under "Setup: Option B: Manual".


Can you edit webform submission values without invoking payment? We have a webform that is used for a complex event registration, with all of the registration details stored in the webform and nothing in CiviCRM except the contribution record.

We'd like to be able to edit some of the registration details that users have submitted to the webform, but using the edit submission link leads to the payment part of the submission - requiring that payment details be entered again.

Is there any way to simply edit some of the webform submission values, which aren't connected to the payment, without resubmitting the payment?

Here's another possible solution
https://www.drupal.org/project/webform_import


"Could not find valid value for id" when processing contribution batch When pushing the button "Validate & process batch" after entering contributions, the screen seems to refresh... but nothing is processed: no contribution is added, no confirmation email is sent.

Drupal watchlog shows this backtrace:

$backTrace =
#0 .../sites/all/modules/civicrm/CRM/Core/Error.php(378): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 .../sites/all/modules/civicrm/CRM/Utils/Request.php(120): CRM_Core_Error::fatal("Could not find valid value for id")
#2 .../sites/all/modules/civicrm/CRM/Batch/Form/Entry.php(89): CRM_Utils_Request::retrieve("id", "Positive", Object(CRM_Batch_Form_Entry), TRUE)
#3 .../sites/all/modules/civicrm/CRM/Core/Form.php(543): CRM_Batch_Form_Entry->preProcess()
#4 .../sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(92): CRM_Core_Form->buildForm()
#5 .../sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Batch_Form_Entry), "display")
#6 .../sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Batch_Form_Entry), "display")
#7 .../sites/all/modules/civicrm/CRM/Core/Controller.php(351): HTML_QuickForm_Page->handle("display")
#8 .../sites/all/modules/civicrm/CRM/Utils/Wrapper.php(113): CRM_Core_Controller->run()
#9 .../sites/all/modules/civicrm/CRM/Core/Invoke.php(282): CRM_Utils_Wrapper->run("CRM_Batch_Form_Entry", NULL, (Array:0))
#10 .../sites/all/modules/civicrm/CRM/Core/Invoke.php(84): CRM_Core_Invoke::runItem((Array:12))
#11 .../sites/all/modules/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3))
#12 .../sites/all/modules/civicrm/drupal/civicrm.module(448): CRM_Core_Invoke::invoke((Array:3))
#13 .../includes/menu.inc(527): civicrm_invoke("batch", "entry")
#14 .../index.php(21): menu_execute_active_handler()
#15 {main}

Where to find (or add) this id value? Or is it another issue?

CiviCRM 4.7.29 Drupal 7.56

It is very strange that it does not find and id here. The error occurs in the php file CRM/Batch/Form/Entry.

Can you try this issue on one of the demo sites (https://civicrm.org/demo) so you can check if this is a core bug or a problem in your installation?


Why are only some membership status rules working? Using CiviCRM 5.31 on Drupal 7.75, but this has been a long-standing issue for me. It has never worked...
I have several membership status rules as outlined in the screenshot below. All of them work as expected and membership status gets updated when it should, EXCEPT for the "Old" status. Memberships that are "Expired" never get changed to "Old". We need that distinction in our system and I have had to do it manually for years.
Any ideas on why this might not be working? Thanks in advance.

Not sure how else to mark this as answered, so I am accepting the explanation from Parvez in the comments below. Basically, it seems that once "Expired" status is achieved, it no longer gets changed.


Does Extension Relationship Permissions as ACLs work on CiviCRM 5.2.3? The Extension says it is Compatible with CiviCRM 4.7.

It seems to work with CiviCRM 5.2.3, but am I safe using it?

I did notice one side-effect - when this extension is enabled I can't edit the permissions on existing Relationships.  The little AJAX spinner never stops.  Is this a known effect, or is it related to the CiviCRM version?

Email from the author says:

"Yes - it should work on the latest 5.x release. I'll remove the reference to 4.7 as 5.3 was a security release & < 5.3 is not secure.
I merged changes recently that probably mean the current version needs 5.4+ - I'd have to check."


Webform: Only Open Case if Condition is True I am just starting to learn the Webform integration with CiviCRM. I know that I am able to open a case via the webform module. However, I only want to open a case if a condition is met.

For example, when the status field is equal to "Accepted", I like for the case information to show. Currently, I tried adding all the case information and tried leaving it blank, but it produces an error "Sorry but we are not able to provide this at the moment" as a result of missing information (I believe). Have anyone accomplished something similar to this?

You can achieve this by:

Ensure you are using the latest version of webform_civicrm
(CiviCRM tab) Set the Case Type field to "user select"
(Webform tab) Edit the Case Type webform component, and change the widget type to "hidden". Set it's value to the case type of your choosing.
(Webform tab - Conditionals) Add a conditional rule to show/hide the Case Type element based on the value of another field of your choosing (it's a hidden field already, you say, what's the point of hiding it? Either way it won't appear to the user, but this conditional rule will prevent the case from being created if your condition is not met).


Missing extension "moregreetings" after upgrade to CiviCRM 5.36 I am running CiviCRM with the extension Moregreetings.
After upgrading CiviCRM to version 5.36 without other problems, I got two notifications:

Unknown extension: de.systopia.moregreetings
Warning: Error loading module file (). Please restore the file or disable the module.

I am wondering how I have to solve this issue. I would like to know if it is safe just to reinstall the extension. I fear to loose the huge work for setting up this extension.

I'm guessing when you upgraded you somehow deleted your extensions folder. All you need to do is put the code files for the moregreetings extension back into that folder.


Add Contact Suffix to Quicksearch Results How can we have the Contact's Suffix (Jr, et) show up in the dropdown results of the Quicksearch input? It's helpful for us as we have contacts with the same name but different suffixes.

At Administer - Customize - Display Preferences, near the bottom there is "Individual Sort Name Format". If you change it to {contact.last_name}{, contact.individual_suffix}{, }{contact.first_name} then NEW and UPDATED contacts will start to appear in quicksearch as desired. The only thing is that existing contacts who haven't been re-saved will still appear the old way. If you only have a few then just go edit and re-save them.


Send welcome message at signup date, not membership 'start date' I want to do something pretty simple, but it seems surprisingly hard to do.

When a member joins, they should receive a) A receipt and b) A welcome email.

A) Works Fine. B) Is a problem.

Memberships for this client are all dated from 1st of the year, so the 'start date' is always 1st January.

It is easy to set a 'reminder' to send the welcome letter on the membership start date, but if a new member signs up on 16 July, the welcome letter will never send, because the start date is 6 and a half months earlier than the sign up date.

Can somebody suggest a way to send the welcome letter at the membership sign up time, not the membership start date? Obviously I could edit the receipt to include the welcome email, but that's not the way the client wants it to work.

When a membership is created there is both a 'join date' (member since) and a 'start date'

You should be able to set up a scheduled reminder to be triggered based on the 'join date' and you should get what you need.


Group not displayed in "Recipients" field in a mailing after selecting it Steps to repro:
When creating a new mailing (or editing a draft mailing)
Click into the Recipients field, which reveals a drop-down with list of available groups
Click on one

Expected Result: The selected group is displayed in the field (as a sort of a button) with an "x" allowing you to remove it from the field

Actual result: The field remains empty/blank, but the group has been selected as the number of estimated recipients is correct

Any ideas re what's causing this? Chrome console reveals the following error 6 times: Uncaught TypeError: id.split is not a function
Seems to be coming from the following files:
/media/civicrm/persist/contribute/images/dyn/angular-modules.js
/administrator/components/com_civicrm/civicrm/bower_components/angular/angular.min.js

Set-up:
Joomla 3.8.3
CiviCRM 4.7.29

Thank you so much for any pointers

our awesome developer resolved this as described here: https://issues.civicrm.org/jira/browse/CRM-21780


How to search all the fields in address as one string Kindly help us with address search builder please. We wanted to make all the fields in the address as one string and then search for the address using reg expression.

This isn't a feature that exists out of the box - but addresses support custom fields, so if you're comfortable writing an extension, you could do this.  Create an extension with a hook_civicrm_pre that looks something like this:

function sharedaddresschanges_civicrm_pre( $op, $objectName, $id, &$params ) {
  if (($op == 'create' || $op == 'edit') && $objectName == 'Address') {
    $result = civicrm_api3('CustomValue', 'create', array(
      'entity_id' => $id,
      'custom_xx' => "street_address supplemental_address_1 city etc etc."
    );
  }


4.7.20 upgrade -- missing indices warning, but index already exists? Upgraded to 4.7.20 today. As others on this thread have experienced in earlier release(s), I promptly got the "missing indices on some tables" warning. Of course, I tried the "Update Indices" button, and of course, all it gave me was a spinning logo for about two seconds followed by no change in status.

Looking at my error log, this jumped out at me:

  wp-content/plugins/civicrm/civicrm/packages/DB.php(984): PEAR_Error->__construct("DB Error: already exists", -5, 16, (Array:2), "CREATE UNIQUE INDEX UI_case_contact_id ON civicrm_case_contact (case_id, cont...")

So I opened phpMyAdmin, and sure enough, the UI_case_contact_id index does in fact exist on the civicrm_case_contact table. Which makes me wonder if I'm getting a missing indices warning because the system "perceives" incorrectly that there's no UI_case_contact_id index when in fact there already is.

Since I know just enough about Civi's database structure to be dangerous (but not nearly enough to competently fix anything that can go wrong with it), might anyone please enlighten me?

This thread helped me:

How to find and/or fix missing indices?

I've aggregated the SQL listed there below, copy it and run it via phpMyAdmin:

ALTER TABLE civicrm_prevnext_cache DROP INDEX index_all;

ALTER TABLE civicrm_option_value DROP FOREIGN KEY FK_civicrm_option_value_option_group_id;

ALTER TABLE civicrm_option_value DROP INDEX index_option_group_id_name;

ALTER TABLE civicrm_entity_tag DROP INDEX UI_entity_id_entity_table_tag_id;

ALTER TABLE civicrm_case_contact DROP FOREIGN KEY FK_civicrm_case_contact_contact_id;

ALTER TABLE civicrm_case_contact DROP FOREIGN KEY FK_civicrm_case_contact_case_id;

ALTER TABLE civicrm_case_contact DROP INDEX UI_case_contact_id;

then click on the Update Indices button.   Then go back to phpMyAdmin and run these SQL commands:

ALTER TABLE civicrm_option_value ADD CONSTRAINT `FK_civicrm_option_value_option_group_id` FOREIGN KEY (`option_group_id`) REFERENCES `civicrm_option_group` (`id`) ON DELETE CASCADE;

ALTER TABLE civicrm_case_contact ADD CONSTRAINT FK_civicrm_case_contact_contact_id FOREIGN KEY (contact_id) REFERENCES civicrm_contact (id) ON DELETE CASCADE;

ALTER TABLE civicrm_case_contact ADD CONSTRAINT FK_civicrm_case_contact_case_id FOREIGN KEY (case_id) REFERENCES civicrm_case (id) ON DELETE CASCADE;

I had this issue moving from 4.7.18 to 4.7.20.   Not sure why this wasn't an issue before, I'm guessing its because I don't use the CASE module on my site.


Multiple transactions recorded against contribution using webform I am using webform_civicrm to allow users to register for memberships. I changed the default payment method from credit card to invoice.
As a result of which now multiple transactions are being recorded against the contact.

Transactions recorded with invoice as default payment method:

Transactions recorded with credit card as default payment method:

Payment methods

Please note that I tested with latest civicrm as well and the behaviour is stil the same.

Any help would be appreciated :)

Thanks!

Seems like a known issue which recently got fixed in webform civicrm. Can you try applying the patch https://github.com/colemanw/webform_civicrm/pull/180 or use the latest 7.x version from github and see if it fixes this problem for you?


How do I change the contribution type for a contribution that was made before 1/1/1996? We're on Civi 4.6.17 and Drupal 7.

We have historic data that was imported from a previous system. There are some Contributions of type Member Dues that I want to change to a different Contribution Type - [Organization Name] Contribution - because the Contribution was misclassified when originally entered or imported.

But, the contribution was made before 1/1/1996. When I Edit the Contribution type a message pops up to "Please enter a date between 01/01/1996 and 12/31/2026".

Is the only way around this to go in to the back-end MySQL table for Contributions and change the type?

Date Preferences at civicrm/admin/setting/preferences/date?reset=1 can be edited so the 'offset' is greater than 20 (years)

SO you can edit Date for activities (including contributions: receive, receipt, cancel. membership: join, start, renew. case: start, end.) and set it to have years going back further than 1996 (ie 20 years)


webform membership : duplicate transaction & receipts and/or submissions We process membership registration/renewal using several civicrm webforms, and at random, clients will be charged twice (so transactions will be processed twice); receipts will be sent twice, and/or there may be a duplicate webform submission.
So both errors happen - about 90% goes well, but from my examples

2 registrations have 1 submission with 2 receipts
2 registrations  have 2 submissions with 1 receipt
10 registrations have 2 submissions and 2 receipts ('doubleclick')
1 registration has 2 submissions and 3 receipts

I see no pattern. I can't find log messages about this.

It seems to happen with all those forms; on each form, the membership type is selected in the civicrm tab of the webform; the membership fee in the membership subtab is unchecked; the contribution amount om the contribution subtab is unchecked. The underlying payment pages have no amounts configured. So civicrm_webform should get the amount from the membership type definition in CiviCRM (right ? looks that way).

They are all multistep forms, with the payment section at the end. I'm not caching results between steps, because that can break the payment sections javascript on reload.

We've been going through some updates, and I don't know when this started. Right now the box is shiny and uptodate.

It seems like a timing issue; or forked threads going wild, like communication with the mailserver or payment api. Can that be ?

My first thought is (similar to what Pete's suggesting) to try:
https://www.drupal.org/project/hide_submit


Two users completing separate webforms on Drupal that create one activity on CiviCRM For example: User 1 completes Webform 1 on Drupal to give details of a volunteering project, which when submitted creates an activity on CiviCRM.

An email then gets automatically sent to User 2 with a link to Drupal Webform 2 for them to fill out different details relating to the same volunteering activity, which when submitted, data gets added to the same activity that User 1 created on Civi, rather than creating a whole new activity.

I have read similar questions and answers but we are not working with CiviCase and I'm a Civi newbie so finding it hard to relate these solutions to our problem. Apologies if this is a bit of a basic issue but any help would be much appreciated.

You need a custom or temp table which holds user1_ID, user2_iD and activity_id
http://book.civicrm.org/user/current/organising-your-data/custom-fields/

So when you are creating the first activity set the activity status to schedule.

Create a new activity Type for your process if needed -

You need to create an extension and use hook_civicrm_post - set the activity to completed
http://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension

If you need more help please let me know - thanks


Automatically transferring info from Casenote to indivudial client form How do I automatically populate the individual contact form with information from the case note (civicase)? I'm using Wordpress.

I'm using civicases for our intake sheets and I've chosen that because I want a single computer form to take the information down. I know I can use profiles new individual to populate the client information but I need some information in both the case note and the client form.
I'm looking for a way to automatically include the information,which is collected through custom fields into the newly created individual and to do the reverse if the client calls back (i.e that info collected automatically populates into the case note).

any advice?

if the process you are using is via New Case, then you get the option to Add New Individual if the contact does not exist.

In that case you can modify the New Individual profile and add additional core or custom fields to that so you can add the info you require to your contact.


Change the default fields (columns) in contact search results Very frequently I get users asking if we can remove Address/City/State/Postal/Country columns from the default search results table. Often they want to show some of our custom fields instead. Or to just remove clutter.

I know this is a common question, and I am aware of hook_civicrm_searchColumns and how to use profiles with advanced search.

But I am asking here to get verification that there is not a better way to simply remove some columns from the results of civicrm/contact/search

There is a non-code fix for this:

You could make a profile with the fields you want to display.

And then you search using Advanced Search, and you could select that profile in the "display result as".

Edit:
As pointed out by Philipp Michael in the comments below, you could also choose a certain profile as the default one, in the admin settings ( at /civicrm/admin/setting/search?reset=1.)


E-mailed report misses a column I have created Contribution report which also has one Custom Field column (Membership Type).

When I open the report, I see all columns.

But when I setup Email Delivery and receive the report as CSV, it lacks the Membership Type column.

Why could this be?

Figured it out finally. The Email Delivery was called by the user with different permissions that the one who was logged in. Adding Permission CiviCRM: access all custom data solved the problem.


Geocoding error on fresh Wordpress Install I have a fresh install of CiviCRM (5.27) running on a Google Cloud Server Debian buster.
System is fully updated WordPress is 5.4.2
I wish to use Geocoding and of course noticed it is not in the searchable list of extensions.
I went to the download page and see that it says 5.26 - the documentation here leads me to believe that means "at least 5.26" so 5.27 should (in my mind - and correct me if I am wrong) be ok.
I put the zip file in the ext directory and changed the ownership to www-data:www-data and unzipped.
I refreshed extensions loader and saw it there and pressed install and then got a blank screen (civicrm themed so not a WP error) saying my wordpress install had a critical error.
Refreshing the page still shows the option to install and everything else works.
I hope I have given sufficient detail and am prepared to do any level of debugging.
I did not wish to try anything in case anyone wishes to see this error pristine (I did try install one second time).
Thank you,
Karl
PS, here is an error log entry:
[Tue Jul 07 00:57:43.003646 2020] [php7:error] [pid 26414] [client 107.143.245.58:56972] PHP Fatal error:  require(
): Failed opening required '/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/ext/org.wikimedia.geocode
r-1.4/vendor/composer/../symfony/polyfill-mbstring/bootstrap.php' (include_path='.:/var/www/html/civiwalk.com/wp-co
ntent/plugins/civicrm/civicrm:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/packages:/var/www/html/
civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/tecnickcom:/var/www/html/civiwalk.com/wp-content/plugins/civ
icrm/civicrm/vendor/phpseclib/phpseclib/phpseclib:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/ven
dor/pear/pear_exception:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/pear/auth_sasl:/var/ww
w/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/pear/log:/var/www/html/civiwalk.com/wp-content/plugin
s/civicrm/civicrm/vendor/pear/console_getopt:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/p
ear/pear-core-minimal/src:/var/www/html/civiwalk.com/wp-content/plugins/civicrm/civicrm/vendor/p in /var/www/html/c
iviwalk.com/wp-content/plugins/civicrm/civicrm/ext/org.wikimedia.geocoder-1.4/vendor/composer/autoload_real.php on
line 66, referer: http://www.civicafe.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&action=add
&id=org.wikimedia.geocoder&key=org.wikimedia.geocoder

It sounds like an incomplete install. You might need to run composer install from inside the ext/org.wikimedia.geocode folder.
But you don't need the extension if you just want to use basic geocoding in civicrm, you just need to set it up at administer - system settings - mapping and geocoding. The extension just adds more features.
UPDATE: It seems like the download version of the extension was an incomplete install. A new version is now available.


Civi site is not verifying reCAPTCHA solutions Testing use of recaptcha v2.   Have set up on site (Civi 5.12.3) and it is showing up on contribution pages as expected.

On Google site, shows this message.

We detected that your site is not verifying reCAPTCHA solutions. This is required for the proper use of reCAPTCHA on your site. Please see our developer site for more information.

Any suggestions or ideas on what might be missing?

This has been fixed recently as a bug. I would expect to see this in 5.32 or 5.33. It may make a patch release and be available sooner.
Link to PR


Tax not applied when performing backend membership renewal We have a lot of different taxes on our implementation - doing a backend renewal does not apply the tax (however, this works when a NEW membership is created). Anyone have a fix? I tried searching the issue tracker but couldn't find anything about this.

Version: CiviCRM 4.6

Nevermind - I was able to track it down - it was reported in version 4.6.5 and there appears to be a fix.

https://issues.civicrm.org/jira/browse/CRM-16950?jql=text%20~%20%22renewal%20taxes%22


On Administrative Dashboard in WP, how do I make column 1 wide enough to display my whole Activities dash let? On Administrative Dashboard in WP, how do I make column 1 wide enough to display my whole Activities dashlet?

A bit of css will do it.
I would suggest to create a new css file in you custom directory like /wp-content/plugins/files/civicrm/my_css/my_stylesheet.css
Navigate to Administer->System Settings->Resource URLs and put your URL to the css file http://yoursite.com/wp-content/plugins/files/civicrm/my_css/my_stylesheet.css

In your css file:

#crm-container .column-0 {
        width: 50% !important; // set the width of the left column to the percentage needed
}
#crm-container .column-1 {
            width: 50% !important; // set the width of the right column
}

Note that between the two columns the percentage must sum 100%

The next style will set the columns to occupy the entire width of your screen

#crm-container .column {
        float: none !important; // remove floating so the column-0 stays on top of column-1
}

#crm-container .column-0, #crm-container .column-1 {
        width: 100% !important; // set the width of the columns to the cantainer width
        padding: 0 0 25px !important; // reduce bottom padding
}

You might not need to set the weight with !important but it never worked for my without it, also you might need to clear the cache of your browser.


creating complex structure 1> Is it possible in civicrm to create a structure where . there is a main Branch this BRANCH has 4-5 sub branches BRANCH1,BRANCH2,BRANCH3,BRANCH4,BRANCH5 each of sub branches has 4-5 membership type.

2> what type should i mention for custom fields like 'RESEARCHING SCHOLAR LINKS' where somebdy was member of Branch1 and new member is trying to be member of branch 2,.

3>what should be the content type be given to custom fields so that relationships can be easily created/established.

Is it possible in civicrm to create a structure where there is a main Branch this BRANCH has 4-5 sub branches BRANCH1, BRANCH2, BRANCH3, BRANCH4, BRANCH5 each of sub branches has 4-5 membership type.

Yes - just make a Membership Type and set each of the sub-Branches as the 'Organisation' for that Memb Type

  what type should i mention for custom fields like 'RESEARCHING SCHOLAR LINKS' where somebdy was member of Branch1 and new member is trying to be member of branch 2,.

Probably a Contact Reference field

  what should be the content type be given to custom fields so that relationships can be easily created/established.

Relationships do not have anything to do with Custom Fields. You can use Contact Reference custom fields to link one Contact to another, but it is more common to use Relationship Types


Profiles broken after update to 4.7.22? I have a drupal 7 site and I updated to civicrm 4.7.22 yesterday and today, I cannot add more than six fields to any profile.  I've tried everything...adding fields to profiles already in use, adding fields to new profiles ... Nothing works.  Error message is "Field not added.  The selected field already exists in this profile."

But it doesn't.

It always starts with that error after six fields are entered.

Additionally, during preview, all the fields are scrambled out of order and at least one is always missing.

Anyone else having this issue?

Missy

Edit to add: I just got the same behavior on the demo site at civicrm ... I feel better, but it's not helping me get my work done.  HELP

I just tried this on dmaster.demo.civicrm.org

http://dmaster.demo.civicrm.org/civicrm/admin/uf/group/field?reset=1&new=1&gid=17&action=browse

This profile now has more than 6 fields


Stock CiviCRM on Ubuntu package of Wordpress leads to /var/lib/wordpress/var/lib/wordpress/ paths I am using CiviCRM on Wordpress on Ubuntu where the Wordpress comes from a deb package, not from the original source. The only real difference that I know of is that Debian/Ubuntu split the Wordpress code into /usr/share/wordpress for the static PHP files, and /var/lib/wordpress for the content files and uploads.

Anyway, probably because of some weird interaction between the Ubuntu package and CiviCRM, I end up with a whole bunch of resources trying to load from a path that starts with https://mydomain.com/var/lib/wordpress and which creates a 404 error in the webserver log when it tries to access /var/lib/wordpress/var/lib/wordpress on my disk. What has obviously happened is that part of the filesystem path has accidentally been embedded into the URL for the resource.

Problem is, I'm not sure where that setting comes from or how to change it. Can anyone verify this, or is it really just me? Should I report this as a bug against the Ubuntu package maybe? Among the resources that have the wrong path are:

/uploads/civicrm/persist/contribute/files/delete-this-WjYpCHVDVl
/uploads/civicrm/persist/contribute/index.php
/plugins/civicrm/civicrm/js/wysiwyg/crm.ckeditor.js

I don't feel that this is a good solution to the problem, but as requested, I'm reposting this as an answer. I "solved" this error by creating a symlink using:

$ mkdir -p /var/lib/wordpress/var/lib

$ ln -s /var/lib/wordpress /var/lib/wordpress/var/lib/wordpress


Alert/warning when template is used for same contact twice We use templates to send thank you to our donors. We try to add new templates after a while, to tell a new story. Some donors beat our system, and contributes twice before we change our template.

Do you know a clever way to have an alert or warning to inform back end users, that they are going to use a template already used for a certain contact?

The good news is that mass mails track the template id that was used, so in theory, you could build that functionality.

If you're doing these one at a time, you do have access to past mailings in the activities tab, which may have the information you need.

Not the answer you're looking for, but nice to know that in theory it's possible.


Limit contact access to the user's group I'm planning a very structured situation where each volunteer must manage only some contacts without seeing others.

My question: is it possible, for each user, to limit access (view) to only contact belonging to its group?

For some scenarios it is better to provide the ACL by using Relationships to 'join the dots', rather than using Groups, and this allows you to then create multi-level ACLs.

If someone (X) has Permissioned Relationship to Org 1
and Org 1 has permission to Org 1.1,
and person Y has permission to Org 1.1
and if Org 1.1 has permissioned relationship to Z, then
X will see Y and Z
Y will see Z
Oh, and you don't need to add any ACLs at all, this is taken care of via this Fuzion Extension

May not be quite what you need but may be useful to others who read your ticket and who could switch to having Relationships at the heart of the ACL requirements.


A contribution batch containing transactions of more than one currencies causes fatal error My setup: CiviCRM 5.18.3 on Drupal 7.

I created a Contribution batch.
At transactions I chose two transactions of difference currencies e.g. HKD and USD and Assign them to a batch.
Then I no longer be able to retrieve the list of batches because of fatal error:
Dialog:
DataTables warning: table id=crm-batch-selector-2 - Ajax error. For more information about this error, please see http://datatables.net/tn/7

In ConfigAndLog there are lines produced e.g. CRM_Core_Exception .... Invalid currency "HKD,USD" blah blah.....

Even I cancel the offending transaction it does not help. I had to delete the transaction in that batch to revive the batch's functioning.

Please kindly advise.

Best Regards,

2019-10-17 (too long to add to comments).
I copied this from ConfigAndLog, because no on-screen backtrace is shown even I enabled backtrace at System setting.
Oct 17 09:53:08  [debug] $backTrace = #0
/var/www/c53/web/sites/all/modules/civicrm/CRM/Core/Error.php(463):
 CRM_Core_Error::backtrace("backTrace", TRUE)

#1 /var/www/c53/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(55): CRM_Core_Error::handleUnhandledException(Object(CRM_Core_Exception))

#2 /var/www/c53/web/sites/all/modules/civicrm/drupal/civicrm.module(444): CRM_Core_Invoke::invoke((Array:3))

#3 /var/www/c53/web/includes/menu.inc(527): civicrm_invoke("ajax", "batchlist")

#4 /var/www/c53/web/index.php(21): menu_execute_active_handler()

#5 {main}

I believe the standard workflow for accounting requires a single currency per batch. At least that was all that we aimed to support. Please create an issue at lab.civicrm.org indicating that there should be a 'friendly' error message preventing transactions that have a different currency from ones already in the batch from being added. This should include an error in case of an attempt to simultaneously add transactions in more than one currency.


after upgrade to 4.6.26 getting PHP Fatal error when starting a new mailing I just upgraded from 4.6.23 to 4.6.26.  I'm on wordpress. Everything else seems to work fine. When I start a new mailing I get this error:

  PHP Fatal error:  Call to undefined method CRM_Mailing_BAO_Mailing:
  :getTemplateTypes() in
  ...wp-content/plugins/civicrm/civicrm/CRM/Mailing/Info.php on line
  168, referer: ...

I see that getTemplateTypes is new for 4.6.26.  I see in civicrm/CRM/Mailing/BAO/Mailing.php that the function is defined there.

I've commented out the reference to getTemplateTypes in civicrm/CRM/Mailing/Info.php and that allows me to start a new mailing, but now I'm getting this PHP warning:

  PHP Warning:  call_user_func() expects parameter 1 to be a valid c allback, class 'CRM_Mailing_BAO_Mailing' does not have a method
  'getTemplateTypeNames' in
  .../civicrm/CRM/Core/PseudoConstant.php on line 277, ...

This means CRM_Mailing_BAO_Mailing class is overriden somewhere. This could be due to a civicrm extension like mailjet that overrides Mailing.php

Please check which extension is overriding it and either disable that extension or update Mailing.php in it.

Let me know if it works!

Thanks.


Drupal - MySQL support not included in PHP I am getting the following error on install of CiviCRM:

PHP Configuration

MySQL support   MySQL support not included in PHP.

I am running:

CENTOS 6.8

Apache 2.4.18

Drupal 7.54

CiviCRM 4.7.16

PHP 5.5.35

MySQL 5.6.35

The following lines of php.ini are uncommented

extension=pdo.so

extension=pdo_sqlite.so

extension=pdo_mysql.so

I cannot quite figure out this error and so far have found nothing in my search that leads me to a solution.

Anyone have some insight?

TIA

Gary

CiviCRM is looking for the function mysqli_connect(), which is provided via the mysqli ("MySQL improved") extension in PHP.

To enable this, uncomment -

extension=mysqli.so

If that doesn't work, your next question may be: How to enable mysqli in PHP?


Undefined Index in an Event+Contribution Registration Webform Running Civi 4.7.27 / Drupal 7.59 + Webform Integration

I have Webforms to register Parent + Children and pay for an Event (the webforms are a bit complex, with lots of custom fields, but they used to work correctly).

Now, when I open the Webform second page (Contribution Page), I get the following message :

Notice : Undefined index: fee_amount in wf_crm_webform_postprocess->validateParticipants() (line 410 in /home/bapaparoisse/www/www/sites/all/modules/webform_civicrm/includes/wf_crm_webform_postprocess.inc).

However, everything seems to work correctly : the payment can be performed.
Other such but simpler Webforms seem to work wiyhout this Notice.

I don't know when this began, since those events are passed now. I just know that I made some Extensions cleaning recently.

I will be glad if someone can bring me some light about this (where does it come from ?)

Given that is 'only' a Notice have you considered turning Notices off in the Drupal settings since it is normal practice to not display these on a production environment.


Setting a custom invoice date in CiviCRM Does anyone have an elegant solution to setting a custom invoice date in CiviCRM? One of our clients likes to create invoices for the future, and would like to mark the invoice as such.

Currently, we're using a custom field and replaced the $invoice_date token with the custom field token as the date.

We're wondering if anyone else has come up with a different way?

I guess you are doing it correctly - to set a future date on the Invoice - I would recommend creating an New token and displaying the date - which you are already doing it - so i don't think their is any other work around


Contact Image in Message Template I want to insert a contact image into a message template. This will be used to print PDF "info sheets" about contacts to include their photo.

Simply inserting the token {contact.image_URL} of course only displays the image URL in the PDF.

If I use something like  <img src="{contact.image_URL}" width="100" height="100"> I get a missing image icon. I have tested with contacts that do have contact images.

How can I go about this?

Also, depends on your setup, but if the message is going external, then the img src url would need to refer to an externally web hosted image file.

Apologies if I'm stating the obvious.


SQL upgrade fails on 5.14.2 to 5.15.0 on Joomla In upgrading from civi 5.14.2 to 5.15.0, the SQL update fails. In civi log, I get:

Jul 08 09:48:13  [info] Running task: Cleanup old files
Jul 08 09:48:13  [info] Running task: Checking extensions
Jul 08 09:48:14  [info] Running task: Begin Upgrade to 5.15.alpha1
Jul 08 09:48:15  [info] Running task: Upgrade DB to 5.15.alpha1
Jul 08 09:48:15  [info] Running task: Upgrade DB to 5.15.alpha1: SQL
Jul 08 09:48:16  [info] Running task: Fix errant deferred revenue settings

And then sql update dies and nothing else in log.

Relevant environment settings:

Database Version    5.5.5-10.0.38-MariaDB
Database Connection Collation   utf8mb4_general_ci
PHP Version 7.2.19

Any suggestions?

Here's the error log from civiCRM:

https://drive.google.com/file/d/1y4NWik-4fVWjflifgOIGsSXiU3NN0S2O/view?usp=sharing

And this is the on-screen error:

And here's a video walkthrough of the upgrade process, including which steps fail during the DB update:

https://drive.google.com/file/d/15MonHfW2TW_RbfhvbY2FIdB2Uao7poSH/view?usp=drivesdk

I see from your video that you're failing on the 5.15.alpha1 SQL, and on.

The first one has two SQL statements.  Essentially, the statuses for a contribution ("Pending", "Complete", etc.) and for recurring contributions have been the same - but moving forward they'll each have their own list.  The two SQL statements create an option group along with values to support this.

Run this SQL: select id, name from civicrm_option_group WHERE name = 'contribution_recur_status';

You should get back one result.  If you have no results, that's a problem:

+-----+---------------------------+
| id  | name                      |
+-----+---------------------------+
| 138 | contribution_recur_status |
+-----+---------------------------+

Then run this SQL: select cov.id, cov.option_group_id, cov.name, cov.label, cov.value from civicrm_option_value cov JOIN civicrm_option_group cog ON cov.option_group_id = cog.id WHERE cog.name = 'contribution_recur_status';

You should get back some number of results - I get 12, you may have more:

+------+-----------------+----------------+----------------+-------+
| id   | option_group_id | name           | label          | value |
+------+-----------------+----------------+----------------+-------+
| 1884 |             138 | Completed      | Completed      | 1     |
| 1885 |             138 | Pending        | Pending        | 2     |
| 1886 |             138 | Cancelled      | Cancelled      | 3     |
| 1887 |             138 | Failed         | Failed         | 4     |
| 1888 |             138 | In Progress    | In Progress    | 5     |
| 1889 |             138 | Overdue        | Overdue        | 6     |
| 1890 |             138 | Refunded       | Refunded       | 7     |
| 1891 |             138 | Partially paid | Partially paid | 8     |
| 1892 |             138 | Pending refund | Pending refund | 9     |
| 1893 |             138 | Chargeback     | Chargeback     | 10    |
| 1899 |             138 | Processing     | Processing     | 11    |
| 1900 |             138 | Failing        | Failing        | 12    |
+------+-----------------+----------------+----------------+-------+

You're also failing on "Fix cache key column name in prev next cache".
That's trying to run this SQL, so also run this command manually:
ALTER TABLE civicrm_prevnext_cache CHANGE COLUMN  cacheKey cachekey VARCHAR(255) COMMENT 'Unique path name for cache element of the searched item';


Does Contact Editor Extension work with Version 5.2.1? I just upgraded to version 5.2.1 from 4.7.27.  I tried using the contact editor extension to change a contact type but I get a "Page Not Found" error.  As part of the upgrade, I switched to PHP version 7.1.  I use CiviCRM with WordPress.

Does the Contact Editor extension work with 5.2.1?

I just identified the issue & fixed it & tagged another release of Contact Editor


How to change Paypal IPN URL when migrating Civicrm onto a new domain? I would like to move my civi install to a new domain. I am able to change paypal IPN to new domain. But for all previous recurring contribution via paypal, i can't change the urls. what can be done?

I ran into this problem today, and found my solution.

Folks who are saying that you can change the IPN URL on an existing Paypal recurring payment are incorrect; you can't, you can only change the IPN URL for future notifications.

I was able to use a rewrite to redirect from Drupal to Wordpress, as follows:

RewriteRule ^sites/all/modules/civicrm/extern/ipn.php$ https://mysite.org/wp-content/plugins/civicrm/civicrm/extern/ipn.php [R=307,L]

The magic is the R=307.  A 307 redirect indicates that a POST request must be resent as a POST.  Otherwise you lose the IPN data.


Only !CRM.checkPerm("administer CiviCRM")) conditional works If I put this (or any JQuery) in an .extra tpl file it works

{literal}
<script>
if (!CRM.checkPerm("administer CiviCRM")) {
CRM.$( function( $ ) {
    $( document ).ajaxComplete(function( event, request, settings ) {
   //do stuff
 })
 })
 }
{/literal}
</script>

If I switch the permission away from administer CiviCRM, it does not work and executes the code for all users. Carrying over from here: Removing elements for non-admin users.

If you want to use CRM.checkPerm() JS function than you will need to add permission using hook and than it will be catched in CRM.checkPerm() js function. eg: In hook

function extname_civicrm_buildForm($formName, &$form) {
  if ('Some_FormName' == $formName) {
    CRM_Core_Resources::singleton()->addPermissions('administer CiviCRM');
  }
}

and than in tpl

{literal}
<script>
  CRM.$( function( $ ) {
    if (!CRM.checkPerm("administer CiviCRM")) {
      $( document ).ajaxComplete(function(event, request, settings) {
       //do stuff
      });
    }
  });
{/literal}
</script>

An other alternate could be

{if !call_user_func(array('CRM_Core_Permission','check'), 'administer CiviCRM')}
  {literal}
  <script>
    CRM.$( function( $ ) {
      $( document ).ajaxComplete(function(event, request, settings) {
        //do stuff
      })
    });
  {/literal}
  </script>
{/if}


Why can't I record backend contributions without using a priceset? Using Drupal 7 and CiviCRM 4.7.22, I am unable to record any contributions unless I use a priceset, i.e. if I use this form:
/civicrm/contact/view/contribution?reset=1&action=add&cid=mycid&context=contribution and put in any amount without using a priceset, then the contribution is stored as $0 without showing any errors.

The cause of this symptom was a mis-configured, hidden price set. There is a hidden price set and field (both of id = 1, at least on this site) that are used for non-price-set contributions. On this site, the price set had no financial type configured and the price field was disabled, a fact that was alerted on the System Status page. Setting a valid financial type and enabling the price field was actually kind of tricky (a combination of hacking urls and sql), but it fixed the problem.

I don't know how we ended up with that mis-configuration, an error in the executing code would have been nice.


How can I prevent CiviMail Bounce Processing from moving mail to "ignored" folder? Since we have activated CiviMail Bounce Processing, our team members don't see regular incoming mail (which has nothing to do with CiviCRM) in the inbox of our main org account anymore.
The problem is that CiviCRM moves all email from the inbox to a subfolder CiviMail/ignored, thereby removing the mail from the inbox where our team usually would look.

Is there a way to prevent CiviCRM from moving "ignored" messages and just leave them in the inbox?
Or what is the intended workflow here? Do we have to set up a separate e-mail account that will just be used for sending out mass mailing from CiviCRM with a reply-to to our "normal" contact email?

Bounce processing assumes that the account is dedicated to handling bounces.  You don't want to mix bounce handling with a mailbox used by users.

See all of the "CiviMail setup" chapter in the System Administrator Guide and in particular:

https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#bounce-processing
https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#verp-support
https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#special-email-address-for-incoming-email
https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/#adding-an-incoming-email-account-for-processing-bounces-andor-email-to-activities
https://docs.civicrm.org/sysadmin/en/latest/setup/civimail/inbound/#bounce-handling


Missing indices error followed by missing system status page Trying to implement the solution that worked when I got the missing indices error after the 4.7.20 update, but can't hit the Update button because System Status page isn't populating with anything. Haven't found a cause or solution for the empty System Status page. So I'm running 4.7.21 -- presumably with the missing indices error, and no way to fix it.

Suggestions?

This sounds similar to Status page angular load error and i will paste my answer here, though I think your 'question' is the wrong issue, ie this is angular issue, not missing indices issue.

We had one site that had 'lost' all it angular pages, eg CiviMail and System Status.

In our case the angular cache files were returning 404 on the New Mailing page. (and 'inspector' was showing a lot of red angular errors)

It was building the cache files in sites/default/files/civicrm/images, but then searching for them in sites/default/files/civicrm/persist/contribute

The issue here was a mismatch between the resource url setting for Image Upload URL and the directory setting for Image Directory. Strangely (!!) these folders are being used for caching of angular files.


System slow on new account creation Civi 4.4.3
Drupal 7

When creating a new user account by signing up someone for a membership in CiviMember, the system appears to the user to hang.  The processing time is around 80 seconds while the civi account is created, matching drupal account created, card is processed, and other database stuff we are doing to set tags and the like.

Can anyone point me in the direction of any tips or tricks to optimize the process?

Thanks!

Do you have the CiviMember Roles Sync module enabled? The code in this is very similar to the other 'role sync' modules and is currently quite slow. There is an open issue about it here: https://issues.civicrm.org/jira/browse/CRM-14770

Otherwise you could try putting markers in your code at various points to see where the slow-down is happening. Or use a PHP profiling tool.


How to get IATS working Seems that IATS will not work using extension 1.5.3 - It logs the transaction in CiviCRM but never makes a connection with IATS. I'm not sure it is even connecting with the network.

Any clue folks?

If with EOL you mean End Of Life - you are mistaken! iATS 1.5.3 is already working for many transaction pathways in 4.7.x - but we will not release an official release until ALL 21 type of transactions, payment processor switches, chq debit img swapping, encrypted swipe is working as it currently is on 4.6.x LTS.

In general before upgrading any site you will really want to check to ensure that ALL extensions that you have enabled have releases for the CiviCRM version you're upgrading to - otherwise you're taking a risk.

A number of sites [from at least 3 CiviCRM partners that I know of and likely more] are already transacting with iATS on 4.7.x - they would have created a staging copy to check that their pathways are working.

So I'm not sure what issues you're running into. Are you using TLS 1.2? Is SOAP enabled? Any clues in the iats log tables? agent code/password correct - and configured properly?

See iATS Extension - README.md file:
9002 Error - if you get this when trying to make a contribution, then you're getting that error back from the iATS server due to an account misconfiguration. One source is due to some special characters in your passwd.

Also: Please have a look at the link http://home.iatspayments.com/Relaunch-SHA256 and check if your environment is compatible.

EDIT: to test if your server environment is indeed TLS 1.2 - go into your CiviCRM -> Payment Processor configuration and edit the URLs from www to www2 - so: e.g.:
https://www2.iatspayments.com/NetGate/ProcessLinkv2.asmx?WSDL
Run a transaction - if this works [if this does not produce a 9002 error] - then your server environment is -not- TLS 1.2


Gravity Forms integration with CiviCRM - AutoFill contact field I have CiviCRM and Gravity form both installed on my Wordpress website. I also bought the CiviCRM + Gravity Form plugin that integrate them together. I want to see how will I be able to use CiviCRM database to autofill the contact information after he logs into the website. For example I have a user who wants to fill out this application, and he already has a WP username and password. So when he logs in, I want this form to autofill his contact information (prefix, FirstName, LastName, Email, phone number, and the full address). Obviously, it should be getting this information from his CiviCRM database.

If you paid for Gravity Form-CiviCRM integration, I would contact the authors for support.

Meanwhile, most of the community uses Caldera Form with Caldera Form-CiviCRM integration.  I know this feature exists with Caldera Form-CiviCRM but haven't used Gravity Form integration.


Slow loading of front end (public site) forms (profiles) I'm experiencing slow loading times of civicrm forms at public site. For example, the form for bulletin suscribe takes about 20-30 seconds to load.

You can check this here: http://londres38.cl/1937/w3-article-90987.html

I've discarded the possibilty that there is hosting or page problems because at backend the site works flowesly with reasonable load times.

Any idea of what problem may be are causing this slow loads?

I'm using civicrm last version at civihosting, so i think there is not a install/hosting

It seems to fail to load all sorts of *.js and *.css files inside your iframe.


"Failed to load resource" error when trying to view fees under manage events I am trying to add fees to a new event in a fairly new installation of CiviCRM on a Drupal CMS. When I click on the fees tab I get the following error displayed in the browser:

Network Error
Unable to reach the server. Please refresh this page in your browser and try again.

and this in the console window:

jquery.js?pxiki7:10255 GET https://[DOMAIN NAME]/civicrm/event/manage/fee?reset=1&action=update&id=2&component=event&snippet=json 500 (Internal Server Error)

I was also getting a "Failed to load resource" error in the console window too although that seems to have stopped.

also, if I hover over the fees tab is says fees (disabled).

I am fairly new to civiCRM and Drupal so any help would be much appreciated.

I came accross this article: Event Fees - DB Error: syntax error

It turns out that if you disable the CiviContribute component it causes errors with Event fees!


Upgrading 4.6.14 LTS Upgrade Current system:
Windows Server 2012 with IIS 8
Wordpress 4.4.2
PHP 5.5
MySQL 5.1.73

I am currently running CiviCRM 4.6.14 on a live system on which our users have found a problem when ordering custom date fields.  This ordering issue does seem to be resolved in the latest version so I need to upgrade.
I can upgrade to the latest LTS (4.6.36) without a problem but this does not resolve the issue and moving away from the LTS is proving difficult.
I have tried upgrading to 5.0.1 and receive a HTTP 500 error after clicking the 'Return to homepage' link once the upgrade is complete.
I then restored my server snapshot take after the successful 4.6.36 upgrade and tried 4.7.31 as this was the stable version released at the same time as the LTS version I can update to.  Again, HTTP 500 error after the upgrade.

No errors are shown during the upgrade which is reported as successful.

Am I missing instructions somewhere for migrating out of the LTS branch or can someone help with the error please?
My CiviCRM lof file is here: https://pastebin.com/Hw8qhmNN

Any help would be appreciated.

Thanks
Russell

After looking Civi log it seems that problem is with civicrm_uf_group.frontend_title field. I would suggest you to do incremental upgrade i.e

Upgrade CiviCRM to 4.6.x to 4.7.30
Upgrade CiviCRM to 4.7.31.

  On a separate note make sure you disable all the CiviCRM extension or
  wp plugin and also disable wp post or pages that have CiviCRM profile
  shortcode before upgrading.

HTH

Pradeep


Multiple Mailing Addresses Based on Time of Year Is there a way to add multiple mailing addresses to a membership record?

Say a member is in Florida during the Winter and Colorado during the Summer, is there a way to add the second mailing address? I mean, I suppose we can add the address in billing or notes, but was curious to see if anyone came across this issue.

Thanks in advance!

You could also add the two adresses as to different adress types. One is set as primary, and then you need some help on changing what adress is primary, based on time. I do think CiviRules could help you with that, giving a specific time of the year, where you change what adress is set as primary. If you want to go that route, let me know and I could help you with giving tip on specific trigger and condition to use.


Live Paypal transactions showing as Test I'm very nearly there with setting up PayPal Standard. I'm using WordPress 4.8.2 and CiviCRM 4.7.22 at present.

I have set up a PayPal sandbox account and everything seems to be working nicely with the exception that it is showing up as (test) in CiviCRM - it took me a while to work this out and find it in the contribution search. I am  definitely using the live link (if I use the test link, it goes to a different PayPal sandbox account that I have set up for that and that works as expected to produce a test contribution record.

I have tried it with a membership contribution and an event contribution. If I switch to the dummy payment processor (no other changes) it gets treated as a live contribution, so I think it must be something to do with PayPal but can't see how.

Is there some other setting I might have missed? Any suggestions very welcome.

I have noticed this behavior in the past. When using a PayPal sandbox account, CiviCRM transactions are flagged as "test" even when using the sandbox credentials in the "live" processor configuration.


Donors are receiving multiple receipts with ACH contributions Wordpress 4.7.3
Civi 4.6.26
iATS Payments for our processor

When donors make an ACH donation they get receipt right away and then a second one when the it clears their bank and the donation in Civi is changed from Pending to Completed. Is there a way to have Civi only send one receipt?

I dug into the code:

Firstly, in my humble view, it could use splitting into separate functions. One function is almost 400 lines long, making investigation hard.

I think I've seen the problem though. If your version of civicrm is less than 4.7.12, it won't activate a lot of the logic for recurring contributions.

https://github.com/iATSPayments/com.iatspayments.civicrm/blob/a92dd620a8975469e65372b3e34c812e5130faa1/iats.php#L244

function _iats_civicrm_use_repeattransaction() {
  $version = CRM_Utils_System::version();
  return (version_compare($version, '4.7.12') < 0) ? FALSE : TRUE;
}

For example, line 1425, which decides if to use line 1448, which currently reads:

$complete['is_email_receipt'] = empty($options['is_email_receipt']) ? 0 : 1;
try {
  $contributionResult = civicrm_api3('contribution', 'completetransaction', $complete);
}

Update
Oh, and there are also two unmerged patches from solid contributors:
https://github.com/iATSPayments/com.iatspayments.civicrm/pulls


iCal feed doesn't work: lots of public events, but "None found" As I write, our iCal feed page loads "None found" instead of the numerous current and future public events that are in active status on our Civi 5.13 (WordPress 5.1.1, PHP 7.2.13) site.

I don't see any WordPress Permissions settings that could hide our public events, especially not while I'm logged in as Admin.

I've disabled all WP plugins (except CiviCRM) and there was no change.

For what it may be worth, the Calendar (com.agiliway.civicalendar) extension works fine. But none of the feed buttons on the Events Dashboard deliver any current or future public events.

Also (thanks Aidan!), these buttons probably never worked on our site. If you're curious, the history of (and reason for now ditching) the workaround is detailed below in the Comments.

ALSO ... this from the Civi Log Viewer, and it coincides with loading the Events Dashboard in the Civi Admin. There are no log entries corresponding with loading the HTML listing of current and future public events.

  [warning] Deprecated function CRM_Event_BAO_Event::checkPermission,
  use CRM_Event_BAO_Event::getAllPermissions. Array (
      [civi.tag] => deprecated )

Nothing from the WordPress PHP error log. Where should I look next?

First I'd confirm that the functionality works on another site. You can use a demo site for this, or you can check Google for inurl:civicrm/event/ical

OK, so it works for some people! Next check might be to find out if the WordPress path works (inurl:civicrm/?page=CiviCRM&q=civicrm%2Fevent%2Fical perhaps? IDK if Google / other search engines support checking for pages with specific query params though, as CiviCRM uses here.)

The next place I'd look would be what generates the iCal feed. Is it coming from an extension or core CiviCRM? Your question didn't say this for sure, so a search for "civicrm/event/ical" on the Git repo will reveal a menu XML entry if it's a core thing. (If not we'd go looking for the relevant extension.)

By searching the civicrm/civicrm-core repo I found that this is core functionality, because the path you're trying to understand has a menu.xml entry which shows up in the results.

https://github.com/civicrm/civicrm-core/blob/f6a3ccdf71f0127ca41b55c124b29915a0827e59/CRM/Event/xml/Menu/Event.xml

Looking at that we can see:

the permission checked for will be "view event info"
the page callback class is CRM_Event_Page_ICalendar

So you could perhaps add some debug code to that class (start at the run() method), and see if this method gets called when a visitor hits your iCal feed.

https://github.com/civicrm/civicrm-core/blob/8b9a8f4abb25cfa7a498eaaa3e459e4d313e350a/CRM/Event/Page/ICalendar.php

There's also an open issue on CiviCRM's Gitlab, dev/wordpress#25. That's worth subscribing to, even though the description is different to yours ... the fact that both affected sites are WordPress may be significant.

Where you'd go from there depends on what you find so far, but your question was "where do I look next", so here you go! Good luck :)


How to use Amazon Simple Email Service for only verified email sender addresses I have a site running SES for outgoing mail. It works just fine to send out mass email from the domain, but it fails every time I try to share a PCP from a non verified email.

For example if I create a PCP from the main account on civicrm, and I use the SES verified email address, the PCP sharing works just fine.

On the other hand if I create a PCP from my personal email address and try to share the PCP, then the send fails (Amazon SES does not accept unverified email senders).

Is there a way to use mail() instead of AWS SES for this? or a way to allow for the domain to be validated?

I have a similar setup, but I have solved this outside CiviCRM. In CiviCRM, I configured the mail() send option. The effect is that the mail is routed by the local Mail Transport Agent. On my system, I use postfix for this task.

Postfix can be configured to relay an email to an email service dependent on the email address. Use to do this the sender_dependent_relayhost_maps parameter. An example can be found in this answer on the Unix site.

It is a good practice to send bulk mail with Amazon SES to prevent the email to be marked as spam.


Shortcodes unavailable with Divi I use the DIVI template to build my pages and integrate CiviCRM.
I don't see the "Civi Shorthcodes" button neither with Divi nor with Gutenberg.
How can I access the shortcodes?
Thanks to everyone.

I'm not sure about Divi but with Guttenberg you can use either the shortcode block or paragraph block.
Just paste the code in there e.g. [civicrm component="event" action="info" id="1"]


Pass message template id through URL? We have a unique situation where we've built a Drupal View of CiviCRM contacts and want to provide a link to send an email through CiviCRM.

This can easily be done by using: www.mysite.org.uk/civicrm/activity/email/add?action=add&reset=1&cid=[id]&selectedChild=activity&atype=3

which will open a CiviCRM email activity with the person. So far, so good.

However, we also want to force a specific template to be used at that point. To prevent errors in selection. Is that possible to include in the URL?

Does it have to be through CiviCRM? It sounds like you just want a customizable contact form, which can be done on the drupal side - have you looked at potential drupal modules?

If the reason for CiviCRM is that you want a copy stored in their activity list, you could set up the module to bcc to an email address, and configure the civi email processor to retrieve them.

Or if you're up for customizing then a similar suggestion to Jaap's would be customizing the email template to make the same javascript call that the dropdown does, but do it on page load if the url contains your parameter. Depends if you feel more comfortable with front-end or back-end type of customization.


Contribution pages fail after WP upgrade to 5.5 Our previously smooth running membership sign-up process failed leaving me scratching my head after a WP upgrade to 5.5.
I had made some changes to the form at the same time and was blaming myself for a silly misconfiguration  rather than blaming the upgrade. Reverting to a back up that still had wp at 5.4 has solved the issue for now.
Anybody seen similar, got a solution?
Got this on the WP site health dashboard

An active PHP session was detected.
A PHP session was created by a session_start() function call. This
interferes with REST API and loopback requests. The session should be
closed by session_write_close() before making any HTTP requests.

WordPress made changes in v 5.5 that will cause any version of CiviCRM before 5.26 to break.  Details are in this post.  https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice
You will need to upgrade CiviCRM before WP.


Membership form submit button goes to 404 not found error We have a membership form that has been working for several years. For some reason we are now getting a 404 not found error when submitting the form.
The url for the error 404 page is:
https://---.org/membership/?page=CiviCRM&q=civicrm%2Fcontribute%2Ftransact
We don't update CiviCRM very often. Wordpress updates itself periodically.
Wordpress 5.5.1
CiviCRM 5.15.1
I've also tried deactivating every plugin, and using a different theme, and the problem still exists.

Since you are on wordpress 5.5 it s mandatory to upgrade civicrm to 5.26 or more (5.28.x preferred) else all your front end civi forms will not work
Ref: https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice


Issues with recording donation refunds If a donor makes a credit card donation that is later reversed/refunded, what is the best way to record this? Just delete the gift?  Can you record a negative gift amount to offset the refund?

We go to the Contribution > Edit Contribution, change Contribution Status to Refunded. It is one of the drop-down options for Contribution Status.


Summaryfields Extension - 'Largest Contribution' includes Test contributions Summary Fields v. 4.0.2
CiviCRM v. 5.16.3
Drupal 7

Our solution is clear - remove the test transactions. Also, end users won't have any test contributions so it won't be a problem for reporting for them.

However, Summary Fields seem to be including contributions that are marked as test - for instance, test event registrations. On the contribution tab, they are clearly marked as "Financial Type (test)".

The developers fixed it in the master branch, if anyone comes across this: https://github.com/progressivetech/net.ourpowerbase.sumfields/issues/63


How to Include Supplement address line 1 to billing block on Civicrm 4.6.10? By default on billing block there's no supplement address line available. I would like to include this field to billing block. What is the easiest way to do it? I have looked at the Billingblock.tpl file but this particular field is not available!

Can anyone help please?

As far as I know this can't be done without modifying core code. The list of fields in billingBlock.tpl is hard-coded.


All scheduled jobs disappeared In my multi site installation all my scheduled jobs have disappeared. I don't know when, but most likely after an update.

Is there an easy way of restoring all the standard scheduled jobs that are created when installing CiviCRM?

I use CiviCRM 4.6.4 on Drupal 7 on a Debian Jessie server. The scheduled jobs must have vanished already on 4.5.*.

All schedule job get saved against civicrm_job. So, by restoring civicrm_job table you can get all the schedule jobs back -

If you are looking for just the standard schedule jobs then try to install the same version of civicrm in different instance and copy the table content to your DB


How to exclude contacts who already received a mailing? As part of my online events, all participants should receive various mailings throughout the event.
The problem is that I have people who keep registering to the event, and then they should receive the emails that the others had already received so far.
How can I re-send a mailing to all participants of an event, excluding all the participants who had already received that mailing in the past?

When composing your mailing use the "Recipients" field to exclude recipients of one or more past mailings. Here's a screenshot of this in action:

Specifically, you would choose one group to include (which can be a smart group based on the event), and several mailings to exclude.


How can I get Double Opt in to work when using a Profile for to create a user/contact Wordpress 4.9.8, CiviCRM 5.6.0

I'm in Wordpress trying to use CiviCRM profile forms to capture information from users for registration. At the same time, this will create their Wordpress user.

However, CiviCRM lets you create any user you want, with any available email, using a profile page without getting any confirmation via an email address...

Surely this puts us in violation of some of the newer GDPR laws?

The only double opt in that happens is if you use the option to add someone to a group and it sends them an opt in mail. This is pretty useless since it's just let you create a user with any email address you want.

This seems to let the system be open for abuse.

Am I missing a setting somewhere?

Thanks,
Norman

I would like to comment on Jon G's answer, unfortunately this seems not to be possible directly after sign-up to stackexchange:

Basically, I have the same problem by accepting memberships with pay later option (payments via invoice). Anyone can sign up and have someone sent a membership invoice via e-mail.

I just tried the "Email verification on signup" plugin, but with no success: It messes with the groups plugin, which I am using to sync CiviCRM memberships with wordpress accounts. This plugin assigns all newly registered users to the "registered" group. However, unfortunately not the ones which get processed via the new verification plugin.

Anyways, this would only be half of the solution, since the confirmation needs to be propagated back to the CiviCRM database BEFORE sending out e-mails with invoices.

So, basically I am also searching for the right answer on how to prevent bogus sign-ups to trigger unsolicited E-Mails, which could indeed be regarded as non GDPR-compliant.

Currently, this answer might be a customization with an additional membership state like "pending_unverified" which would be transformed into "pending" after successful verification of the provided e-mail. However, this sounds like a lot of work.

Update:
@petednz - thanks a lot!

I just tried something different (again, rather a comment than a solution):

Given that adding a member to a group will trigger the double opt-in, I defined a new group, to which all new members are automatically added while creating their wordpress profile. My hope was, to receive a confirmation request for the e-mail address and have at least the confirmation on record, even if member access to wp pages would be possible w/o confirmation.

Unfortunately, no confirmation link was sent out by CiviCRM. Instead, no username/password could be set for the wordpress account. Instead, the new member is logged into wordpress and receives also an e-mail with the request to set a new password. While this, in theory, can be seen as kind of a confirmation of the e-mail address, there is nothing on record within the CiviCRM system. I am now a bit confused, how not even addition to a group will trigger the confirmation precedure. I will have to dig deeper into this during the next weeks.

Just to sum up, what I originally tried to achieve:

new member registers online and will pay later
he provides his e-mail address during the registration
he receives an e-mail with a confirmation link to confirm his e-mail address (this is logged for GDPR purposes within the system)
once this is done, an e-mail with an invoice is sent to him
upon receipt of payment, membership status goes from pending to new as usual


Has anyone used CiviCRM on a 10" tablet? I am working on a nightshelter signin application in CiviCRM, and the suggestion is to use a 10" tablet.  I'm not sure this would work although the menu is much simplified. (I have a 7" tablet and it would be pretty unusable on that). Has anyone used CiviCRM on a 10" tablet?  Was it usable?

The main factor is probably the resolution of the tablet rather than its size, but the UI is in general meant to be used with a keyboard and a mouse (or very very pointy fingers ;)

For the mobiles, they have been several projects to provide a subset of CiviCRM features available.

One is cividroid, an android application from the latest google summer of code https://forum.civicrm.org/index.php?topic=36037.0
Another is an extension on the server that adds a few "mobile friendly" pages https://civicrm.org/extensions/civimobile

If the aim for the tablet is "only" to do the registration, using drupal as the CMS+bootstrap as the theme+webform+webform civicrm should allow you to have a user friendly form tailored to your need that will push the data in civicrm (create the contact, the activity and the case for instance), to be used later with the "full" civicrm from a laptop

X+


Tracking/Reporting Invitees vs Attendees (CiviEvent) We want to find an easy way to track how many people from our invitee list actually signed up for or donated to our event. I was planning on putting all invitees into a 'group', and then tracking RSVP's in CiviEvents. We do physical mailings instead of e-mails right now, so if we can trim the list of people we know don't attend or donate it could save us on postage. Would anyone know of a way to pull a report on this somehow?

You could create custom Event participant Status called Invited. In the settings set the Class to Waiting and leave the Counted checkbox unchecked. When you mail out the invitations register all the people to the Event with the status of Invited. As you receive the confirmations go in and set each to attended. Then you can do Event reports based on who has attended or not.


Profiles list not showing in dropdown list in Online Registration tab of Configure Event When we configure a new event, we add a profile (create) that has fields selected from the Individual list of fields. We give the profile a name, save it.

In the Include Profile (top of page) dropdown list, we can see the name of the profile and everything is OK.

We save the event and want to edit it again and go back to the Online Registration tab.

Now we don't see the name of the profile linked to this event. We can click on the dropdown list and there is nothing in it. If we click preview on the right, we can see the profile and the fields. We can also edit it.

We use civicrm 4.7.18 with Joomla 3.6.5.

Anyone knows why we would have this behavior.

The reason it is a problem is that we can't create an event and use a previous profile so we have to create a new one each time which is time consuming. A save as in the profile creation or edit there would help.

It looks like civicrm 4.7.18 has completely changed the tables linked to profiles and event management.

After more investigation, the problem is solved using the fix from agh1 (thanks to him by the way).

It looks like a problem in the civicrm code using jquery.

Here is the url of the fix. We tested it and it works.

https://github.com/civicrm/civicrm-core/pull/10152

I hope this will be in the next civicrm release code.


WordPress Redirect Loop with CiviContribute I introduced 3rd party payment processor for our client. After successful payment user is redirected to notify-url, that causes now an infinite redirect loop in WordPress 4.3 (CiviCRM 4.6.8). Our membership payment form is embedded with the shortcode [civicrm component="contribution" id="2" mode="live"] in a WP page (/members/pay-fees/). Payments are registered correctly in CiviCRM.

Redirects are done in following order:

 1. /wp-content/plugins/civicrm/civicrm/extern/PaytrailNotify.php?A_QUERY_STRING
 2. /?page=CiviCRM&q=civicrm/contribute/transact&qfKey=4b1eea15240ba2ec1e48d4111f9dca79_6652&_qf_ThankYou_display=1
 3. /members/pay-fees/?page=CiviCRM&q=civicrm/contribute/transact&
 4. /members/pay-fees/?page=CiviCRM&q=civicrm/contribute/transact&
 5. ...

I debugged the problem with PhpStorm Debugger and it seems, that redirect no. 2 returns correctly content for the thank you page, but after that WP launches do_action('template_redirect') in template-loader.php causing the redirect_canonical function to be run (in canonical.php). Because of the url in form of /?page=? redirect_canonical concludes, that user is needed to redirect to the front page with identical parameters, which leads to the erroneous redirect loop. After this rest of the loop seems to be related to the missing qfKey in CiviCRM.

So my question is how the user should be redirected to the correct WP page (/members/pay-fees/) after payment instead of redirecting user to the site root (/?page=CiviCRM...) or should the redirect_canonical be prevented?

Now in the PaytrailIPN (I modified a bit original 3rd party code) the redirect is done in following way:

$finalUrlAction = ($component == 'event') ? 'civicrm/event/register' : 'civicrm/contribute/transact';
$finalUrlParams = array(
    'qfKey' => $privateData['qfKey']
);
// Redirect our users to the correct url.
if ($success) {
  // Success. Process the transaction.
  if ($duplicateTransaction == 0) {
    $ipn = self::singleton($mode, $component, $paymentProcessor);
    $amount = (float) $privateData['amount'];
    $transactionId = $_GET["ORDER_NUMBER"];
    $ipn->newOrderNotify($success, $privateData, $component, $amount, $transactionId);
  }
  $finalUrlParams['_qf_ThankYou_display'] = 1;

} else {
  $finalUrlParams[($component == 'event') ? '_qf_Register_display'   : '_qf_Main_display'] = 1;
  $finalUrlParams['cancel'] = 1;
}
CRM_Utils_System::redirect(CRM_Utils_System::url($finalUrlAction, $finalUrlParams, true, null, false, true));

I solved the problem by using Ramesh's suggestion as a starting point. Instead of introducing hard coded Thank you & Cancel pages I stored the permalink address of the WordPress page along the other invoice stuff during the creation of the payment in Paytrail extension:

public function doTransferCheckout(&$params, $component) {
  $paymentHelper = new PaytrailPaymentHelper();

  // For now works only with WordPress & permalinks
  if (function_exists('get_permalink') && $contributionPageCmsUrl = get_permalink()) {
    $params['contributionPageCmsUrl'] = $contributionPageCmsUrl;
  }
  //Save payment info for PaytrailIPN.php to retrieve
  $paymentHelper->insertInvoiceInfo($params, $component);

It's utilized in the IPN following way:

  static function main() {
    ...
    $invoiceData = self::readInvoiceData($invoiceID);
    $contributionPageCmsUrl = $invoiceData['contributionPageCmsUrl'] ?: '';
    ...
    if ($contributionPageCmsUrl) {
      $queryParams = array_merge(array(
        'page' => 'CiviCRM',
        'q' => $finalUrlAction,
      ), $finalUrlParams);
      $glue = strpos($contributionPageCmsUrl, '?') === FALSE ? '?' : '&';
      $finalUrl = $contributionPageCmsUrl . $glue . http_build_query($queryParams, null, '&');
      CRM_Utils_System::redirect($finalUrl);
    }
    else {
      CRM_Utils_System::redirect(CRM_Utils_System::url($finalUrlAction, $finalUrlParams, true, null, false, true));
    }
}

I guess there should be more logic for handling different situations and upgrade hook implemented. This behaviour could be made also optional and support for Joomla and Drupal introduced (if needed), but now it solves the problem for the client.

BTW, double title on the contribution WordPress page should be eliminated. Is the display:none way to go?