Why are all bulk mailings delayed by 5 hours? Using CiviMail  in Civi 4.7.29, any bulk email is delayed by 5 hours. The cron commands are received every 30 minutes, and are acknowledged by Civi on the status page. Have checked that php, joomla and civi are all set to London time zone. These are small test mailings of about six users. Any ideas?
Thanks in anticipation.
John

I would look at the scheduled_date on the mailings in your database:

SELECT name,scheduled_date FROM civicrm_mailing;

If the scheduled_date is off, then it might be that MySQL has a time mismatch - or that specific users in Joomla have a different timezone setting than the default (not sure if this is possible in Joomla, but it can be done in WordPress/Drupal).

If the scheduled_date is correct, then I'd check to see that your cron user is running in the same time zone.  E.g. if cron is triggered by root and not the web server user, I'd expect this sort of issue to creep in.

EDIT: You mention that you're running cron via the "cli.php" tool.  That means that PHP is using a different php.ini file than when you do web-based PHP, and your timezone might be different.  If you have terminal access, check your timezone with php -i | grep zone.

Since you're using Siteground, I doubt they allow you to control the php.ini timezone.  Since that's the case, I would recommend using the HTTP Method of running cron, which will set the timezone based on the web-based timezone.


Can't get hook_civicrm_contact_get_displayname to work I want to append a custom field to the display name.  To try it, I used the example.

function ccas_hooks_civicrm_contact_get_displayname(&$displayname,  $contactId, $objContact) {
$displayname = $displayname . ' - '.$contactId;}

No errors but what I see on the View Contact form doesn't change.

I added a watchdog thing after it

watchdog('hooks',"callhooks_civicrm_get_(&\$fields, &\$files, &\$form)<pre>\n\$display_name=" . var_export($displayname,1) . "\n\$contactId=" . var_export($contactId,1) . "\n\$objContact=" . var_export($objContact,1) . '</pre>');

In the log I can see it appending the contact id after the display name but still it only shows the name.  So do I need to do something additionally to actually get it to show it on the form?

Currently using 4.5.5.

Can you modify, CRM/Utils/Hook.php

  public static function alterDisplayName($displayName, $contactId, $dao) {

and change it to

  public static function alterDisplayName(&$displayName, $contactId, $dao) {

(note the & character before the displayName argument. I suspect this will fix the issue.

If it does, can you please file an issue and if you can create a PR to fix this issue. If not, you can reference this thread


Is it possible to have many to many relationships between custom field sets? i tried to look for an answer but im pretty confused with what i found..
I'm trying to create a many to many relationship like in SQL..

for example:
lets say i want to create a custom 'Event'(a field set),
so i make some fields(name,date,location etc..) BUT now i want to make a custom 'Team'(field set) which has an 'events' field that contains the id's/names of this team events.

thanks in advance!

EDIT
okay let me try with a diffrent example: im making a managment system for a soccer team. so lets say i make a 'Court'(field set) with fields like name,address etc.. and now i want to make a 'Team'(fieldset) which contains all the diffrent Court's this 'Team' has.. is it possible to link many 'Court' records to a specific team? and each 'Court' has its related 'Team's ? i hope i made it more clear..

I think, if I'm reading your question correctly, that what you want to do does not require anything custom. I would do it this way:

Create an event in CiviEvent. This will have the fields name, date, location, etc already available for you to fill.
Make this event a certain "type." The built-in options are things such as workshop, meeting, and class, but you can add a type called "team."
All the events of type "team" are easily searchable and viewable.

Is this what you were going for? If not, please describe in more detail what it is you are trying to do.


Authorize.net Automatic Recurring Billing (ARB) has stopped working We have been running with Authorize.net for long while now. This past January I setup ARB for membership renewals, and it was working great. We have numerous ARB subscriptions since then. Then, 2 weeks ago, they stopped working.

The membership transaction processes in Authorize.net, but it does not create the ARB subscription. Also, the contribution in CiviCRM stays at Pending, and never is moved to Completed.

The setup in Authorize.net hasn't changed. The Silent Post URL is set properly. Other non-ARB transactions are working properly.

I am at a loss as to what has happened to cause this to stop working. Does anyone have any thoughts on this? Any ideas would be appreciated.

CiviCRM 4.7.8, Joomla 3.5.1

All the payment processors have been tightening up security, especially with regards integrations between systems.

My first inclination would be to check if the SSL postback that Authorize.net uses has the correct secure protocols set up.  Specifically, you should be sure that your server is configured to accept TLS 1.2 connections. Check with your hosting provider if necessary.

If this fails to help, I would recommend that you reach out to Authorize.net to see what information that may have in their logs with regards to the failure.


CiviMail adds call to onbeforeunload function then throws "Illegal Characters" error over and over again I recently upgraded to 4.6.2...All's well until I try to create a new mailing. Every time I start to compose a message from scratch, or use a template a javascript call to the 'onbeforeunload' function is inserted into the bottom of the message which causes an error box to pop-up reading

"Error Illegal characters in input (potential scripting attack)"

What is going on? I've tried using different wysiwyg and no wysiwyg with the same results. It doesn't happen in any other HTML field I can find in CiviCRM or Drupal, only when creating a new mail message but I can't save or send a message because every attempt causes the script to be added and the error to be triggered.

HELP!! This wasn't happening before the upgrade. But I'm stumped for a cause.

Because this doesn't exhibit on the demo sites and hasn't been reported by anyone else, my first suggestion is to disable extensions/plugins/customizations because this may not be originating from CiviCRM.

If that doesn't work, try the more detailed troubleshooting javascript in CiviCRM guide.


How to send Participant-Specific information via CiviMail We are running a hybrid event where some participants are virtual via Zoom and some participants attend in person. We need to send out reminders and the zoom link to virtual attendees, and also want to send reminders to "in person" attendees along with the link so that if they change their minds, they can attend virtually.
So we want to send different messages to the two kind of attendees, and in addition, we would like to include other participant-specific information, such as the number of raffle tickets purchased, etc.
I know that I can do an advanced search for virtual attendees of the specific event, and send a civimail message to that group, then do another advanced search for in person attendees of the same event, and then send a different civimail message to that group. But if I wanted to extend to telling them the number of raffle tickets they have purchased, I would be dealing with more and more searches and unique mail messages to each of many groups.
Is it possible to include participant specific info in a CiviMail message? Sort of a mail-merge capability as with current contact-specific tokens, but extended to participant-specific tokens.
Thanks in advance for any pointers!
Rick

OK, so this is a partial answer to my question - don't use CiviMail but use Scheduled Reminders instead - a reminder about a specific event will have access to tokens such as event summary, event start date, etc. so I can send a reminder to those signed up for an event and use tokens to specify the event. The reminder can be reused for other events without changing the body.
That's the gist, here's more detail
So there aren't tokens specific to events available from CiviMail (except that the Fuzion Tokens Extension has lots of things that are close - such as a list of upcoming events, etc., and it adds tons of tokens about latest membership start, end, fee level, etc. THANK YOU EILEEN, and @petednz for pointing me there)
However Scheduled Reminders DOES have information about events. It doesn't necessarily have tokens for some custom fields that we use during registration, but it does have lots of information as detailed below. So whereas I can't seem to get a list of attendees for an event and then email their particular registration, I CAN cause an email to automatically be sent to attendees of a particular event via scheduled reminders.
https://docs.civicrm.org/user/en/latest/email/scheduled-reminders/#tokens-available-to-scheduled-reminders
Tokens available to scheduled reminders¶
In addition to the standard tokens that are available in CiviMail, messages sent via scheduled reminders can also contain tokens representing information about events, activities, contributions and memberships that the scheduled reminder pertains to. This allows you to use one scheduled reminder template for various events, membership, contribution or activity types.
In event messages, tokens such as event location will be replaced with the specific location of the event. In membership messages, you have access to each individuals expiry date, and so on. Membership and event ID tokens are also available and can be used to create links to specific pages (such as the membership renewal page).
Note that you also have access to the checksum token which allows you to authenticate people to specific pages without them needing to log in, and show forms with details already filled in.


What to do about "Operation failed: Update Indices DB Error: unknown error Debug" after upgrading to 4.7.25 This is related to a question I posted yesterday (How does one delete "key indices"?), which was considered a duplicate of another question (Performance Warning: Missing Indices. Mismatched Index Key). I am posting this new question because it seems to be a somewhat different issue and because adding a comment to one of those other posts didn't quite seem to fit with this.

It was suggested that installing 4.7.25 would resolve that issue. However, it seems to have produced a new one.

With 4.7.25 installed under Drupal 7, I now get this warning:

  Performance warning: Missing indices

  The following tables have missing indices. Click 'Update Indices'
  button to create them.

  Table Name    Key Name    Expected Indices
  civicrm_option_value  index_option_group_id_name  name(128),
  option_group_id civicrm_case_contact  UI_case_contact_id  case_id,
  contact_id

But when I click the Update Indices button, I get this error:

  Operation failed: Update Indices DB Error: unknown error Debug
  information: DROP INDEX index_option_group_id_name ON
  civicrm_option_value [nativecode=1553 ** Cannot drop index
  'index_option_group_id_name': needed in a foreign key constraint]

Any help on what I can do about this would be appreciated. Please spell it out for me though; I'm not an expert at this stuff. Thanks.

Thanks.

You'll have to work on your database directly. The following works for me - although the Status screen still shows the error until the Update Indices button is clicked again after the repair has been done (I presume it simply verifies the fix):

USE your_civicrm_db;
SHOW CREATE TABLE civicrm_case_contact;
SET foreign_key_checks = 0;
DROP INDEX `UI_case_contact_id` on civicrm_case_contact;
CREATE UNIQUE INDEX `UI_case_contact_id` ON civicrm_case_contact (case_id, contact_id);
SET foreign_key_checks = 1;

If you do this via PhpMyAdmin (or similar), you can skip USE your_civicrm_db; since you'll have already navigated there.


Importing CiviCRM Transactions into quickbooks I'm wondering whether to start invoicing with Quickbooks and I am wondering if when I upload civicrm transactions into quickbooks if it will automatically link the payment to the invoice?

Can CiviCRM and Quickbooks to work together to avoid double entry?

How about invoicing in CiviCRM - you can do so as of 4.6!

Here's how: https://docs.civicrm.org/user/en/4.6/contributions/invoicing/


How to download CiviCRM - no coding? How do I download and start using CiviCRM if I know no coding? Is it possible? Is there any easy step by step tutorial?

The simple answer is YES, it is possible to use CiviCRM without coding. You will need hosting and installation, and if you do not want to do that yourself either there are enough suggestions in the other answers. But I concur with William that you would best start with reading the user guide.


Is it possible to extend an existing custom field set to allow multiple values? I have a site with a number of custom field sets. I need to change one of those to allow multiple values. Specifically, the field set holds fields relating to a vehicle; the site now needs to allow each contact to have multiple vehicles. The field set in question is assigned only to the Individual contact type.

I can see the option "Does this Custom Field Set allow multiple records?" on the field set settings page, but I can't enable it. However, if I create a new field set, this option is available.

I"m assuming that once created, you can't enable this option on a field set, although I can't find this documented. But I want to be sure before I delete the field set and recreate it with this option enabled.

Thanks for any guidance on this one.

You can only edit the settings for allowing multiple records if the custom set is an empty set, i.e, the checkbox for this setting is only shown for those custom sets for which the custom table created has no rows in it.

This is checked here. variable $this->_isGroupEmpty is set to FALSE if you have any record in the custom table.


Creating extension with civix: How to use CRM dir? I want to create an extension for CiviCRM that will add an extra column for appended documents inside the activities list of a Case View. That is, when users have appended a document while creating an activity, that document will not be shown in one column together with the View, Edit and More links, but in a separate column together with their filename, for a clearer view.
The changes I need to make contain six patches inside three PHP files, and one patch inside a template file.
I used civix to create an extension skeleton.
Then, it has been easy to make the adapted template file work by copying it into sites/default/files/civicrm/ext/extensionname/templates/Case/Form/templatename.tpl. The path where the original template lies is sites/all/modules/civicrm/templates/CRM/Case/Form/.
But now, I'm struggling with including the adapted PHP files.
I know that hook functions exist and that I could try to find a suitable hook function for each of the six patches, but it seems a very complicated solution to me.
I wonder if there is a solution similar to the way templates can be included in extensions?
For example, is there a way to put all the PHP files inside a folder structure like sites/default/files/civicrm/ext/extensionname1/CRM/extensionname2/path/to/example/example.php, and they will simply be called instead of their original CiviCRM "sister file"?
In this example, extensionname1 stands for the name I gave to the extension while creating it with civix generate:module (here: de.company.activities-column-for-documents) and extensionname2 stands for the extension's 'given name' from info.xml (here: ActivitiesColumnForDocuments when info.xml contains <file>activities_column_for_documents</file>).
I came up with this idea after reading https://docs.civicrm.org/dev/en/latest/extensions/structure/ where it sounds like you'd be able to do that, if you only follow the naming conventions (CRM_Myextension_...). Though, it didn't work, even though I renamed all my PHP files, e.g. from Case.php to CRM_ActivitiesColumnForDocuments_Case.php.
The only other related thread I could find was How to Create an extension? but I didn't find it helpful here.
Can I use the CRM directory that is auto-created by civix to easily store custom versions of existing CiviCRM PHP files? How?
If not, what is the auto-created CRM directory for?
Any hints are appreciated :) If I can successfully create the extension, I will of course publish it here.

Overriding core files was how we used to make changes until collectively we figured out that was storing up trouble for the future.
Another possibility is that if you think this is likely to be a small, useful improvement for most users of this aspect of CiviCRM then you could propose it as a change for core - go here and use the 'improvement' template.  If that is agreed then submit your changes as a PR.


What has happened to totten/lurkerlite? Problem 1
Installing CiviCRM using Composer has started giving these errors:
    - Root composer.json requires civicrm/composer-compile-plugin ^0.14.0 -> satisfiable by civicrm/composer-compile-plugin[v0.14].
    - civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3 -> could not be found in any version, there may be a typo in the package name.

Problem 2
    - civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3 -> could not be found in any version, there may be a typo in the package name.
    - civicrm/civicrm-core 5.31.1 requires civicrm/composer-compile-lib ~0.3 || ~1.0 -> satisfiable by civicrm/composer-compile-lib[v0.3, v0.4].
    - civicrm/composer-compile-lib[v0.3, ..., v0.4] require civicrm/composer-compile-plugin ~0.9 || ~1.0 -> satisfiable by civicrm/composer-compile-plugin[v0.14].

Does anyone know what has gone wrong?

- civicrm/composer-compile-plugin v0.14 requires totten/lurkerlite ^1.3
   -> could not be found in any version, there may be a typo in the package name.

The error message suggests a typo, which I think is misleading/incorrect. Let me give some counter-indicators -- and then some alternative theories.
The name and version should be correct because:

(A1) In the official directory of composer packages (packagist.org), it lists totten/lurkerlite with version 1.3.0 as available. See: https://packagist.org/packages/totten/lurkerlite

(A2) If I create a new project with a minimalist composer.json, then it does manage to install totten/lurkerlite.
mkdir /tmp/abcd
cd /tmp/abcd
echo '{}' > composer.json
composer config minimum-stability dev
composer require civicrm/civicrm-{core,packages}:5.31.1
ls vendor/totten/lurkerlite/

You may want to try a new/empty project like this yourself. If the new/empty project works, then that points to an issue in the local composer.{json,lock} (like B1/B2/B4). If the new/empty project also fails, then that points to an issue in the upstream or tooling (like B3/B4).
Some alternative theories:

(B1) composer.lock may become overly opinionated. Try clearing it even more aggressively:
mkdir /tmp/old-stuff
mv composer.lock vendor /tmp/old-stuff
composer install

(B2) composer.json may become overly opinionated or have old/redundant constraints. Double-check the current list of recommended packages and then read your local composer.json. See if there are any extra/redundant constraints.

(B3) composer has a local cache (e.g. ~/.cache/composer/). This cache could be corrupted/stale (e.g. if there was a network-error or disk-error at the wrong moment).  Try clearing it out.

(B4) composer can be configured with alternative repositories/feeds. If the configuration disables or supercedes  packagist.org, then it might not get a consistent feed. (Most people don't disable packagist -- if you do this, then you should know about it.)


Is Vanco a supported payment processor? Is there any CiviCRM support for Vanco as a payment processor? I do not see them on the list of payment processors in the current release. I searched the exchange and did not find them mentioned. I saw a two year-old posting on Drupal for a module, but the instructions seem out of date.

CiviHosting told me it works with the current release of CiviCRM and Drupal 7, but when asked how to do it, they tell me they do not know.

Any help would be appreciated.

We developed the Vanco payment processor several years back and it's working through version 4.4.  We are talking with Vanco about updating it; I'm fairly positive it will not work for 4.6.  We should have a plan next week.


CiviCRM generates broken link to contribution page When I create a new contribution page and use the links sub-menu to go to the live location of the page, it redirects to

https://my.site.org/civicrm?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1

This link doesn't work however. I can manually fix the url by removing the "civicrm" part, like this:

https://my.site.org/?page=CiviCRM&q=civicrm/contribute/transact&reset=1&id=1

My question is: where does this "civicrm" bit before the question mark come from? What kind of configuration error could cause this problem? I already checked the BASEURL setting, it seems correct (the value is https://my.site.org/)

This is the WordPress "base page" setting.  It's at Administer menu » System Settings » CMS Database Integration.

That said - I think the way base pages are working in WordPress is slowly being improved over the last couple of versions.  Please let us know what version of CiviCRM you're running; it may be that this is fixed with an upgrade.


Why can't I import Individual Prefixes into the database? When importing, Induvidual Prefixes don't seem to "take" and apply.
Why is this, and how does one get around it?

Why?, well I have no idea (sorry to dissapoint!)

How to get around - well, it would appear that civi requires the numeric Value (1,2,3), rather than the label (Mr, Mrs etc) for the option. To find the values for substitution one can go to:

  administer > System Settings > Option Groups

and hit the "options" link to the right of "Individual Contact Prefixes". The prefixes in your csv will need to be substituted with these values.

Hope that helps...


Exporting primary addresses exports non-primary addresses for some contacts I'm exporting contacts with both home and billing addresses, where the home address is set as primary. Even though I've selected primary as the address type for all address fields in the export fields selection, some of the fields in the export are actually the billing address (which is definitely not set as the primary address).

Has anyone else run into this or does anyone know why this might be happening?

It's hard to tell exactly how many contacts this is happening to, but it does seem to be a significant number. I have not been able to replicate the issue on the demo site.

5.7.6 on Drupal.

It turns out that the "Search Primary Details Only" setting causes this problem (found under Administer-> Customize Data and Screens-> Search Preferences). It seems that if this setting is off, the listings and export will default to the address which was created earlier.

See here for details:
Contact Search Results Address Type

This is a weird behaviour in the listings, but for the exports seems like a bug as selecting primary address types in an export does not return primary addresses.


Inbound Email - Formatting? (emails with HTLM code are ignored) Can emails with HTML code (images, tables, etc.) be brought into CiviCRM with the inbound email job?  Any emails I have with images or tables get ignored by the Process Inbound Emails job.

In addition, can the inbound emails be formatted for better readability?  The email text is one long string in the "inbound email" activity detail.

It's tricky to get html import right, both because the html we use in the web world and the one in emails is not quite the same (email html is stuck 10 years in the past)
... and because it's tricky to get it safe. being sure that an attacker doesn't use the email as a vector to inject javascript and other dangerous things is complex.

so going full html is probably not going to happen without significant investments, but you mentioned the issue of a single long line.

This one is probably easier to handle in a safe and satisfying way. Do you, or does someone in your team have some dev skills? it wouldn't be too hard to alter the display or the processing to inject  where they are new lines.


GDPR and Comunication Preferences GDPR module has the functionality to send an email to the contact in order to get the Comunication Preferences.
But in my case, I have made a paper document filled and signed by the contact with his comunication preferences. How I could modify the comunication preferences in Civicrm as administrator?

In the Comunication Preferences I don't see any way to update the GDPR status comunication preferences

Communication preferences are stored against contact. You either update each contact by using the communication preferences section on edit or view screen. Or do a bulk update on N contacts using profile.

Cheerz

Pradeep


Drupal's cron job has no access to CiviCRM custom fields (Anon access to custom data?) We're using a Drupal module (CiviNorth) which hooks into Drupal's cron execution and updates civicrm's records' custom fields.

This has been failing due to the API calls not returning those custom fields.

Enabling the "CiviCRM: access all custom data" for anonymous users appears to make it work, but I'm hesitant to turn it on since I don't know if there's any security implications.

Note: We are not using ACLs in civi though we used to. All have been disabled for a while.

Why would the API return a result for an anonymous user but refuse to show custom fields specifically?

There may be more than one things going on here.
I can't tell if this is a bug relating to ACLs or just general confusion with the code.

Can anyone recreate?
Any Drupal cron job that fetches custom fields would do.

You need to turn on "Access all custom data" for anonymous users for a lot of very popular features (e.g. custom fields for anonymous users in profiles and webform_civicrm) to work.  Someone else can contradict me, but I'm reasonably certain this has no impact on security unless a) anonymous users also have access to contact records, or b) you have custom field sets whose access should be restricted via ACL.

I'm sure there's a way to allow access to custom fields to anonymous users via ACL, but that often strikes me as overkill.


Image from Civicrm contact not shown I'm using Drupal 7.67 and CiviCRM 5.14.2.
I can upload a contact image but in the moment I'm not getting any error messages, the images are just displaying as broken image icons.
This happens whether I try to attach an image via the edit contact civicrm pages or a profile page.
If I copy de url image and download it, when I open the image, it says is broken.
Any advice?

So I've found this issue is due to a rogue module or theme in Drupal that has whitespace before or after the PHP opening and closing tags which is being injected into contact images and can also prevent Mosaico images from working as well.

What I suggest you do is disable all modules first (except CiviCRM and related modules as you'll need to test the images). Once you've disabled all the modules, go and check the contact images - they should now appear and if they do, you know you have a module with lines either before or after the PHP tags at the beginning or end of a PHP file.

From there, go through and activate the modules - depending on how many you have, you may want to do one or a few at a time to save a bit of time. I did 5 at a time given how many modules were on the site and when I found the batch that broke the image, I just whittled it down to find the exact one.

Once you've found the module that breaks the contact images - you may need to do a bit of digging in the code to find the whitespace if you definitely need the module. It's also a good idea to inform the maintainer of the module so that they can fix it and prevent anyone else having these issues.

If you find that the contact image is still broken after you have disabled all modules, it may be the theme although this is less likely. The same goes for the themes as above.

Hopefully this helps you out, please let me know if you have any further questions or need extra help.


Membership sign-up fatal error: Duplicate entry, already exists A user has tried to sign-up for a new membership. They have tried and failed multiple times. The log shows:

  $Fatal Error Details = Array ( [callback] => Array ( [0] => CRM_Core_Error [1] => handle ) [code] => -5 [message] => DB Error: already exists [mode] => 16 [debug_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , participant_count , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , ***** , ***** , 6 , '*****' , 1 , * , * , 0 , 7 , 2 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-*****-*****-7-6' for key 'UI_line_item_value'] [type] => DB_Error [user_info] => INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , participant_count , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , ***** , ***** , 6 , '*****' , 1 , * , * , 0 , 7 , 2 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-*****-*****-7-6' for key 'UI_line_item_value'] [to_string] => [db_error: message="DB Error: already exists" code=-5 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_line_item (entity_table , entity_id , contribution_id , price_field_id , label , qty , unit_price , line_total , participant_count , price_field_value_id , financial_type_id ) VALUES ('civicrm_membership' , ***** , ***** , 6 , '*****' , 1 , * , * , 0 , 7 , 2 ) [nativecode=1062 ** Duplicate entry 'civicrm_membership-*****-*****-7-6' for key 'UI_line_item_value']"] )

I have seen a similar bug report but that was for membership renewals and was fixed for 4.5. https://issues.civicrm.org/jira/browse/CRM-14894

We are running 4.6.7 on Drupal 7.39

Any help appreciated.

Are you getting the same error for all the membership or just for single user

This error occurs when the confirmation button is clicked twice

did you check the DB - it should have already created membership record and also related contribution and line_item record

so please try to cancel the users existing membership and ask him to try again


Sparkpost disable engangement tracking Has anyone successfully switched off Engagement Tracking on SparkPost?

I did this at https://app.sparkpost.com/account/smtp

But all links are getting converted to http://go.sparkpostmail.com/

'options' => [
    'sandbox' => false,
    "open_tracking" => false,
    "click_tracking" => false
  ],


Can I remove specific emails/contacts from Scheduled Reminders? We have scheduled reminders set to send emails to contacts whose membership is set to lapse. There are a few contacts I would prefer to not receive the reminder, however, the only way I see to do this is to stop them from receiving all communications. This would mean adding "Do No Send" to their account preferences, then creating a smart group which does not includes contacts with "Do Not Send" preferences, and sending scheduled reminders to this smart group. The problem is that the contacts in question do need to receive other communications, just not membership reminders. Any ideas?

You can use the "Limit to Recipients" along with a smart group to handle this.

Create a smart group of all members called "Receives Reminders".
Manually remove those folks who you don't want to receive reminders from the smart group.
Use the "Limit to Recipients" to only send to members of your smart group


Civicrm_financial_trxn missing trxn_id I only now noticed that trxn_id was NULL for a number of rows on a particular date, for payment transactions in civicrm_financial_trxn. The schema/table def. shows that trxn_id cannot be null in civicrm_financial_trxn, and as expected, is set to auto-increment - what could account for those null IDs?
 I don't have root access so cannot see mysql log from that date. Total_amount is > 0, status_id = 1, datetime stamps are there, the rows were written, but trxn_id is NULL btwn ~ 14:00 and 21:00 on that date.

Lesley, I think you are confused with civicrm_financial_trxn.id v/s civicrm_financial_trxn.trxn_id field.

id is a primary Auto-increment integer field and cannot be null. However trxn_id hold transaction id received from payment processor or manually entered through CiviCRM form and can be NULL since for payments taken as for eg cash won't have transactions id.

There can be various reasons why a payment won't have transactions id. Payments taken from payment processor should have trxn_id, you can fire an sql query to find if any payment processor payments has missing transaction id

SELECT id, trxn_id FROM civicrm_financial_trxn WHERE payment_processor_id IS NOT NULL AND is_payment = 1;

Cheers

Pradeep


How do I upload images to emails in Civi? I can't currently upload images into Civi emails - when I click 'send to server' nothing happens, and I can't view the server to browse previously uploaded images either. Have tried various web browsers but each new browser only works temporarily. Any ideas? Thanks.

The most common cause of that symptom in recents releases is due to a security enhancement in an updated version of the wysiwyg editor that is bundled with CiviCRM, that disallows symlinks.

If that is the issue, you can generally fix it by updating the corresponding path in http://example.org/civicrm/admin/setting/path?reset=1 to its non-symlinked version.

If that's not the issue, then reviewing the path and url settings might shed some light on the problem. And if none of that gives you a quick solution, I'd recommend looking at your server logs which should be instructive (either the civicrm log and/or your web service [apache/etc] log)

You might also want to review similar posts here:

Why can't I upload images to mailings?
Error uploading an image in email wysiwyg
Inserting images in mailing


Problem Importing Contacts I get the following errors while importing a contact CSV file. I hope somebody can help with the issue. Civicrm 5 latest with WP 5 latest and the error is same with both PHP 5 and 7.2.

"Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
DB Error: constraint violation
Error Details
Database Error Code: Cannot add or update a child row: a foreign key constraint fails (`wp_23ye3`.`civicrm_address`, CONSTRAINT `FK_civicrm_address_master_id` FOREIGN KEY (`master_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL), 1452
Additional Details:
Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

    [code] => -3
    [message] => DB Error: constraint violation
    [mode] => 16
    [debug_info] => INSERT INTO civicrm_address (contact_id , location_type_id , is_primary , is_billing , street_address , supplemental_address_1 , city , state_province_id , postal_code , country_id , manual_geo_code , master_id ) VALUES ( 10 ,  1 ,  1 ,  0 , 'Lakhimi Nagar Hatigaon' , 'Dispur' , 'Guwahati' ,  1204 , '781006' ,  1101 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`wp_23ye3`.`civicrm_address`, CONSTRAINT `FK_civicrm_address_master_id` FOREIGN KEY (`master_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]
    [type] => DB_Error
    [user_info] => INSERT INTO civicrm_address (contact_id , location_type_id , is_primary , is_billing , street_address , supplemental_address_1 , city , state_province_id , postal_code , country_id , manual_geo_code , master_id ) VALUES ( 10 ,  1 ,  1 ,  0 , 'Lakhimi Nagar Hatigaon' , 'Dispur' , 'Guwahati' ,  1204 , '781006' ,  1101 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`wp_23ye3`.`civicrm_address`, CONSTRAINT `FK_civicrm_address_master_id` FOREIGN KEY (`master_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]
    [to_string] => [db_error: message="DB Error: constraint violation" code=-3 mode=callback callback=CRM_Core_Error::handle prefix="" info="INSERT INTO civicrm_address (contact_id , location_type_id , is_primary , is_billing , street_address , supplemental_address_1 , city , state_province_id , postal_code , country_id , manual_geo_code , master_id ) VALUES ( 10 ,  1 ,  1 ,  0 , 'Lakhimi Nagar Hatigaon' , 'Dispur' , 'Guwahati' ,  1204 , '781006' ,  1101 ,  0 ,  0 )  [nativecode=1452 ** Cannot add or update a child row: a foreign key constraint fails (`wp_23ye3`.`civicrm_address`, CONSTRAINT `FK_civicrm_address_master_id` FOREIGN KEY (`master_id`) REFERENCES `civicrm_address` (`id`) ON DELETE SET NULL)]"]
)"

It sounds like you have selected one of the columns to be "Master Address Belongs To". If the record that column references doesn't exist yet you will get this error. Also FYI it looks like that column needs to be an integer.


CIVICRM Create API for event participate I create an event. I need to create an API for Event Participate(Registration) page. I also retrieve all participates users data via API too. Please let me know .
I just go API v3 . And see there is Event in Entity fields. I choose it. I choose get .I see there is return form too.I need all participates information . what their address,nationality and some customs fields too. I see there is create function but I don't know how can I add fields.please let know.

Md Maidul Islam,

Bit difficult to understand from your question what you want to achieve.

1 - Do you mean to add participant for an event? Then you can use Entity = Participant and Action = Create api

$result = civicrm_api3('Participant', 'create', [
  'event_id' => 3,
  'contact_id' => 51,
]);

2 - Do you mean to add participant for an event with all contact details in one call ? Then you can use Entity = Contact and Action = Create chain api

$params = [
    'display_name' => 'batman',
    'contact_type' => 'Individual',
    'api.address.create' => [
      'contact_id' => '$value.id',
      'location_type_id' => 6,
      'street_name' => 'Ambachtstraat',
      'street_number' => '23',
      'street_address' => 'Ambachtstraat 23',
      'postal_code' => '6971 BN',
      'country_id' => '1152',
      'city' => 'Brummen',
      'is_primary' => 1,
    ],
    'api.email.create' => [
      'contact_id' => '$value.id',
      'location_type_id' => 'Main',
      'email' => 'api@a-team.com',
      'is_primary' => 1,
    ],
    'api.phone.create' => [
      'contact_id' => '$value.id',
      'location_type_id' => 6,
      'phone' => '(123) 456-7890',
      'is_primary' => 1,
      'phone_type_id' => 1,
    ],
    'api.participant.create' => [
      'contact_id' => '$value.id',
      'event_id' => 2,
      'status_id' => 1,
      'role_id' => 1,
      'register_date' => '2007-07-21 00:00:00',
      'source' => 'Online Event Registration: API Testing',
      'custom_1' => 'custom string',
    ],
  ];
$result = civicrm_api3('Contact', 'create', $params);

3 - Do you mean to get participant of an event with all contact details in one call ?

   $params = array(
    'contact_id' => 2,
    'event_id' => 3,
    'api.contact.get' => 1,
    'api.email.get' => ['contact_id' => '$value.contact_id'],
    'api.address.get' => ['contact_id' => '$value.contact_id'],
    'api.phone.get' => ['contact_id' => '$value.contact_id'],
  );

HTH

Pradeep

Note: The params build above are not tested, but its the syntax on how one can build params when using chain api.

HTH

Pradeep


Custom Data in Drupal Views I'm struggling for custom fields to appear in my Drupal views. They just aren't. I've populated my CiviCRM tables into the Drupal settings table, but they just aren't appearing.

Standard fields appear fine. It's just custom ones.

Please can anyone tell me a) if they've experienced the same thing lately? and b) where I should start debugging?

Should I be using CiviCRM Entity for this? Never needed to before.

Thanks,

John

See CRM-19545  There was a a regression introduced in 4.7.14 and fixed in 4.7.17  If you want the fix sooner see https://github.com/civicrm/civicrm-drupal/pull/417/files


Option to add new contact freezes up - won't work Can anyone help? I just upgraded CiviCRM and have been having problems since. I cleared cache and cookies and that helped with a bit but now we have issues with clicking on Creating a new contact -- I'm unable to open address details or anything beyond contact details. The page freezes up when I try. I contacted our hosting (CiviHosting) but they haven't been helpful.

Here's what they said:

  Yes, I see it now. The issue is a JavaScript error: uncaught
  exception: Missing number at position 0 which appears to be a problem
  with the jQuery date picker, but I am not actually familiar with this
  issue and I haven't seen it before. My guess is that there is an issue
  with one of your WordPress plugins or your theme. The first step to
  test would be to disable the plugins and change the theme. CiviCRM
  itself is known to work, so the issue is something else. Thank you.

  Ref-Mid: $JmoAAA==$405212bbaf@2b6a613d19 9:17 AM

Basically I'm not able to edit details on a contact when creating a new one, CiviCRM freezes up. We don't have any plug-ins or javascript installed. My WordPress version is 4.5.3. Thank you for your time!

I had the same error in my console when trying to edit a participant report on an older civi install and discovered this helpful post: https://forum.civicrm.org/index.php?topic=20598.0

It doesn't sound like you've got exactly the same issue, but it's an interesting clue - i.e. in my case, some db data was generating a page that had js issues, it was not a conflict problem. Of course, it might also be a red herring.

Regardless, you'll want to turn off any js aggregation and use your js debugger to dig down and figure out who's version of the datepicker is giving problems, and where the problematic data is coming from. Sometimes just looking at the arguments being passed might be a clue. My best guess is that the datepicker is gagging on some invalid date that got mangled on Civi upgrade.


conditional tax in financial payment page for membership I am trying to setup conditional tax based on province for one membership in payment page. is there any reference I can use? is this hook needed and also custom code?

I am using drupal 7 with civi crm 4.7.1 version

some references would be great.

thank you

The easy - non-code - way to handle this is to create a Drupal node (page) with a select Province - and then based on Province selected popup a button with a link to a Contribution page that is configured with a Priceset that sells that Membership at that Province's General Sales Tax.

Edit: this is the only sustainable way to do this right now (see comment below).


How can I link to a specific tab in crm-ui-tab-set With AngularJS, I have a page (created with civix generate:angular-page) that includes a set of tabs like so:

      This is Tab 1.

      This is Tab 2.

Let's say this page is at /a/#/foo. As far as I can tell, Tab 1 is the default tab and will always be opened when I open this URL, which is what I want most of the time. But sometimes I want that page to open in Tab 2.

How can I link to /a/#/foo in a way that Tab 2 is opened by default?

At time of writing (circa 4.7.20), the crm-ui-tab-set directive does not support an option to manage the active tab.

I think a patch to support that would be welcome. For example, one might update crm-ui-tab-set (in ang/crmUi.js) to support an extra variable active-tab with an interface like this:

    This is Tab 1.

    This is Tab 2.

You could then initialize selectedTab from the controller, e.g.

angular...controller('MyController', function(...){
  $scope.selectedTab = "mytab1";
});

or

$routeProvider.when('/foo/{tabName}', {
   controller: 'MyController',
   resolve: {tabName: function($route){return route.current.params.tabName;}},
   ...
});

angular...controller('MyController', function(tabName, ...){
  $scope.selectedTab = tabName; // Ex: "mytab1", "mytab2"
});

Observation: crm-ui-tab-set is a thin wrapper for jQueryUI tabs. It's built with "jQuery Passhthrough" (ui-jq="tabs") from angular-ui-utils (v0.1.x). Unfortunately, the docs/examples for "jQuery Passthrough" have been scrubbed from angular-ui's website, but you can find some discussion in archive.org.

Tip: Given that ui-jq has been deprecated, we should try to limit/contain the jQuery-isms. crm-ui-tab-set would probably call some jQuery functions, but downstream extensions shouldn't.

Tip: If your UI is built on Bootstrap CSS, then consider replacing crm-ui-tab-set with uib-tabset from anguilar-ui-bootstrap.


Add a custom participant listing option I need a participant list option (Name + employer) in CiviEvent. I've created an participant list option. But I guess I've to build my own template. I guess it is documented somewhere but I could manage to find it. Could someone help me finding my way?

I would add a custom group to Participant, that should show in CiviCRM automatically whenever you do something with a participant.


How can I prevent users editing custom fields for contacts not in their ACL group? Using Wordpress 5.4.1 with Civi 5.24.3.

We have a smart group used for ACL which prevents the core "Edit" button being shown on the contact summary.

There is also an ACL entry for a group of contacts to view/edit a custom data group.

However, contacts that are not in the ACL for the smart group are able to add and edit custom data (for all contacts, regardless of their ACL group).

How can I use ACLs to prevent a contact view and editing custom data for contacts who are not in their ACL group?

If I add the required ACL entry to give access to the custom data group, this allows them to edit ALL contacts' custom data, which seems contrary to the documentation.

Can you try applying the PR changes to your current version of civi? you will need to apply it manually as the pr is closed and is very old. If you will apply it manually than it may give you conflicts errors.


Trouble understanding how Profiles and Smart Groups are supposed to work together Fist off, I think CiviCRM is awesome!  As an erstwhile systems software programmer from the nineties who saw the birth of the World Wide Web while working for major corporations and governments it is truly heartwarming to see how far the OpenSource movement has come!

I'm working to set up CiviCRM for a new food Co-op, and I admit that despite reading the User Guide pretty thoroughly I'm struggling to understand how Profiles and Smart Groups are supposed to work together.  I've set up profiles for Donors, Volunteers, Newsletter recipients, Members, and Founders (members who also sign up for contributing founders' credit to help open the co-op.)

I'm probably missing something glaringly obvious (note I said systems software programmer, user interfaces have a tendency to escape my understanding,) but I guess I'll just describe what I'm trying to do and how, and hopefully some kind soul will speak up and say "Whoa, whoa you're way overthinking this, this is how it's done..."

I am trying to set up smart groups so that our community outreach people can email the various groups as appropriate.  On the surface it sounds like I need a Founders SG, a Members SG which is a parent of Founders, a Volunteers SG, and a Newsletter SG which is a parent of Volunteers and Members.  That way, an email to the Newsletter group will go to everyone, but an email to the Volunteers SG will only go to volunteers.

However, I've already learnt the hard way that SGs, unless they are defined via clear search criteria, aren't as "authoritative" as they could be.  Twice now I've discovered that all my contacts have somehow ended up being members of a SG.  This may have something to do with the parental inheritance thing, however if I define a SG with a clear rule, it does seem to stick in a meaningful way.  Of course, if I do that, then setting the "add to smart group" field of, say, the Volunteer profile to "Volunteers" will only remain valid until the Volunteer smart group (which selects based on a relinfo::Volunteer = Yes criteria) updates itself, which is to say, not very long.

Also, I can't seem to figure out how to associate profiles with automatically set fields.  It feels awkward to create a volunteer signup profile with a "check this box to signup to volunteer" field as opposed to just having a hidden field with the value automatically set.

So my current thinking is, that I need also to also create SG's for Volunteer Signup, Founders Signup, Newsletter Signup, and have the associated profiles add new contacts to those groups.  Then I can periodically run a cron job to set the appropriate relinfo:: fields for contacts in the signup groups (thence they will be members of the non-signup groups) and remove them from the signup groups.  This already is starting to seem a bit complex, thus my request for input :)

However, because the update job will likely only run once a day, there's a period where someone can have signed up as a volunteer, for instance, and yet not be in the Volunteer SG.  Given the slight oddness around group parentage stuff, I'm concerned just making Volunteer the parent of Volunteer Signup will muddy the waters, and that it would be clearer to create Volunteer Email SG, parent of both Volunteers SG and Volunteer Signup SG, etc. for the Newsletter and Founders' Credit SG's  Members seemingly isn't as much of a concern because if people submit that profile they are automatically marked as Members, and when people sign up as Founders they also are completing the Members Profile and will thus satisfy that criterion.  However, Founders it is the resulting Founders' Credit contribution that they would be the basis for adding them to the Founders SG.

So, is this the way it's done, or am I missing something?  From my perspective this would be many times easier if I could just silently set fields as part of profiles.

Thanks for your attention :)

Hard to know quite how to unpick what you have posted but the bit that stopped my eyeballs in mid-skim was this

  setting the "add to smart group" field of, say, the Volunteer profile to "Volunteers"

Not sure if you have the concept but a Smart Group IS the results of the Search used to find the people who should be in it, ie it is a set of criteria, not a set of contacts.

By adding contacts to a Smart Group via a Profile means they ARE in the Group, but they are not SMART - ie you are not using the 'criteria' to determine if they are in the Group or not, you are force adding them (which is allowed for Smart Groups but you have to understand the distinction)

Not sure if that helps


CiviContribute "Held For Review" We received a donation through our website via CiviContribute. In our payment gateway (Authorize.net), we had certain countries blocked from making online donations due to previous fraudulent activity. This donor happened to be from one of these blocked countries, so initially her transaction was denied. She called us, we told her to try her donation again and we "Held it for Review" in Authorize.net. Then, we approved the donation.

The transaction went through Authorize.net successfully, however, I can't find any record of her donation in CiviCRM. Can someone tell me where her donation is being stored? Thanks!

While researching another issue I stumbled across this on JIRA: https://issues.civicrm.org/jira/browse/CRM-17779 - so as of 4.7.9, it looks as if you will be able to update the pending contribution to completed (haven't tested, but you should test both online and offline contributions to see what happens).

Kind regards,
Tamar


Problems with CF_CiviCRM Registration with Caldera Forms My registrations are failing miserably and it's making me crazy. I can see that some values are being passed to contact profiles, but the users aren't being registered.

I'm on CentOS 7.x, PHP 7.2 with WP 5.2.2 and Civi 5.13.4.

I'm getting the following error:

Mandatory key(s) missing from params array: one of (first_name, last_name, email, display_name)

#0 /home/fpptaweb/public_html/wp-content/plugins/cf-civicrm/processors/contact/class-contact-processor.php(228): civicrm_api3('Contact', 'create', Array)
#1 /home/fpptaweb/public_html/wp-content/plugins/caldera-forms/classes/core.php(3273):    CiviCRM_Caldera_Forms_Contact_Processor->pre_processor(Array, Array, '_cf_process_5d5...')
#2 /home/fpptaweb/public_html/wp-content/plugins/caldera-forms/classes/core.php(5203): Caldera_Forms::process_submission()
#3 /home/fpptaweb/public_html/wp-content/plugins/caldera-forms/classes/core.php(3821): Caldera_Forms::process_form_via_post()
#4 /home/fpptaweb/public_html/wp-includes/class-wp-hook.php(286): Caldera_Forms->cf_init_system('')
#5 /home/fpptaweb/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#6 /home/fpptaweb/public_html/wp-includes/plugin.php(465): WP_Hook->do_action(Array)
#7 /home/fpptaweb/public_html/wp-settings.php(546): do_action('wp_loaded')
#8 /home/fpptaweb/public_html/wp-config.php(88): require_once('/home/fpptaweb/...')
#9 /home/fpptaweb/public_html/wp-load.php(37): require_once('/home/fpptaweb/...')
#10 /home/fpptaweb/public_html/wp-blog-header.php(13): require_once('/home/fpptaweb/...')
#11 /home/fpptaweb/public_html/index.php(17): require('/home/fpptaweb/...')
#12 {main}

I have collected the first and last names as well as email. I'm not sure where to define the display_name and where I should be passing it. Any help and guidance is appreciated.

This was my own confusion and I had help from the CF-CiviCRM author. Great support there.

The problem was related to conditional statements in the form. I had created conditions for the appearance of all the contacts in a multi-contact form, but I hadn't applied conditions to processors.

I had assumed that the conditions related to the show/hide fields were inherited by processors. That's not the case. Instead, each contact processor had to have its own conditions applied to the group of fields.

For example. Only process the second contact group if First Name 2 is %first_name_2%. In other words, if the first name of the 2nd contact is blank, don't process that contact group. This is regardless of whether the conditions allow visibility for that contact. The visibility rules were not applied to the processing of the group.

Lesson learned, and maybe someone else will benefit from my experience.


Unable to run CRON for scheduled jobs in Drupal 7.43 and Civicrm 4.7.7 I have tried running a cron job in drupal 7.43 and civicrm 4.7.7 with no success. I have a scheduled job:
Home » CiviCRM » Administer CiviCRM » Scheduled Jobs (Send Scheduled Mailings) with setting Run frequency   "Every time cron job is run" (BTW the job runs if I use Execute now)(I have also set at 1 hour intervals)
In Drupal;
Home » Administration » Configuration » System > CRON it is set to run every hour and does so. I also can run it from the external URL.
When I run the Drupal CRON it has no effect on the Civicrm scheduled job and Civicrm complains each time I log in to Civicrm;
"Cron Not Running - Last cron run at May 16th, 2016 4:48 PM." which is the last time I executed it manually (Execute now).
I am doing this as administrator with all permissions.

You need to set a cron command on the server.

https://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs

Something like

*/15 * * * * wget -O - -q -t 1 'http://mysite.org/sites/all/modules/civicrm/bin/cron.php?name=username&pass=password&key=site-key'

If you have set it, what is the exact cron command for CiviCRM you have set on the server (cpanel, directadmin ....)? (You can leave out the pwd)


Send email in HTML on WordPress Is there a parameter to set to send HTML e-mails from WordPress 5.5.1 / CiviCRM 5.29?
Plain-text e-mails are send and tokens merged but HTML doesn't get sent.
Is this related to css (even if I use literal around code)?
Any advice?
EDIT 1: I was able to send very simple HTML but some more complex (but not so complex) code blocks CiviMail
EDIT 2: I've tried with CiviCRM default templates 'Sample CiviCRM Newsletter' and nothing gets sent :-(
EDIT 3: If I create a simple HTML message with the CKEditor, then it gets send.
EDIT 4: I've tried enabling/disabling WordPress' PostSMTP extension and CiviCRM'S Flexmailer, Mosaico and CiviMAIL extensions and component without success.

Wordfence is blocking you from sending mails with JS and CSS.
Some requests contain data that may match patterns the firewall Wordfence uses to detect attacks.
Go to your Wordfence extension menu in "All Options".
In this page go to the Basic FireWall Options part and activate the "Learning Mode".
Verify in the Advanced FireWall Options that all the rules are activated.
Add your request in Allowlisted Urls.
Don't forget to Save changes when you are done.


How can I fix "Fatal error: class Mail not found"? I just migrated CiviCRM back to a development environment and I am getting:

  PHP Fatal error:  Class 'Mail' not found in ../web/sites/all/modules/civicrm/CRM/Core/Config.php on line 628

This is when I am running a test mailing. The rest of the site seems OK.

CiviCRM 4.6.3 and Drupal.

The development system must not have Mail. I went to

mysite://civicrm/admin/setting/smtp?reset=1

And picked 'save to database' as the mailer option as I don't really want to send mail anyway, just debug it.


How to configure authorize.net payment processor to use another currency Authorize.net itself boosts it supports multiple currencies:
https://community.developer.authorize.net/t5/The-Authorize-Net-Developer-Blog/Authorize-Net-Expansion-into-Canada-the-United-Kingdom-and/ba-p/33690

The list of payment processors shows a 'blank' when it comes to regional support for the Authorize.net payment processor:
https://wiki.civicrm.org/confluence/display/CRMDOC/Payment+Processors

Elsewhere on stackexchange, someone explains how to support other currencies
https://stackoverflow.com/questions/16014643/does-authorize-net-support-different-currency-types/16031041#16031041

Could that apply to CiviCRM too ? Is it just not implemented yet ?

Somehow, we always use US$. The message above says

  If you’re not sending the currency code, or if you’re using any of our
  other Authorize.Net APIs, no changes are required at this time. The
  currency code for those APIs will automatically default to the
  currency associated with the merchant’s processor.

What does that mean - could we change the option to euro at the merchant interface ?

It sounds like the API call and/or payment form in CiviCRM would need modification to handle say, USD -OR- Euros -OR- GBP, is that right? Seeing that no further answers were given since Feb 2017.  And in Authorize, the payments might have to go to different accounts?


Is it possible to view map of contacts from front end of the website in Joomla? I want to display all my contacts/specific group map in front end of Joomla website. is this possible ?

Yes, this is possible.

Have a look at "How to create member listings/directories/maps" on my post on profiles: https://aghstrategies.com/content/civicrm-profiles-beyond-contributions-registrations-part-1


Scheduled reminders based on a custom field on an activity I know that in CiviCRM 4.6, the ability to send scheduled reminders to people based on a custom field (e.g. marriage date) was added.  However, I'm unsure if it's possible to send a scheduled reminder based on the custom field of an ACTIVITY.  I couldn't figure out how, if so.

The use case is to have a custom activity field labeled, "Remind me on X date", which is similar to functionality present in Raiser's Edge.

Unfortunately, the custom date field feature is only for dates on the contact record, not activities. Doing activities would take a change in core--it would be comparable to the work to do the contact date fields. It would be a great feature, though!


How do I set the display size for custom fields? I have a profile that combines built-in fields with custom fields, both alphanumeric. The custom field displays shorter than the built-in fields which, when I examine the page source, are size="30".

How can I set the display size of the custom field to match that of the built-in fields? I can't find a setting for it in the custom field edit area.

Thanks.

The Add/Edit custom field doesn't provide facility to add additional attributes but the Custom field table does have a column to store this attributes and this field is used while rendering the custom field. You can do this by any one of the method below

Create a extension and use buildform() hook to add the attribute field on Add/Edit Custom field form. Once its added on the form after submit it will be automatically processed and stored in db by Civi.
Once you have created the custom field you can use API explorer(CiviCRM >> Support >> Developer >> API Explorer) to update the attribute for a custom field as shown in below screenshot

  Note: Make sure you add space at the end for each attribute as this is concatenated with other attributes while rendering the field.

Thanks

Pradeep


Can CiviCRM's internal contact ID be exposed in reports? Can CiviCRM's internal contact ID be exposed in reports?

It doesn't look as though we can select it in the display columns listing for an activity report. (CiviCRM 4.5.8)

That's because the Activity report specifically hides the field in question.

Use one of the many methods of customization (PHP override directory, extension, etc.) to edit CRM/Report/Form/Activity.php.

There's a separate column for the Source, Assignee, and Target contact IDs - find the stanza that looks like:

      'contact_target_id' =>
      array(
        'name' => 'id',
        'alias' => 'civicrm_contact_target',
        'dbAlias' => "civicrm_contact_target.id",
        'no_display' => TRUE,
        'default' => TRUE,
        'required' => TRUE,
      ),

Change it to be this:

        'contact_target_id' => array(
          'name' => 'id',
          'alias' => 'civicrm_contact_target',
          'dbAlias' => "civicrm_contact_target.id",
          'title' => "Target ID",
          'default' => TRUE,
        ),

Do that for the other two contacts and you're good.

Note that this may cause you to get a bunch of notices that alterDisplay isn't working correctly - this is changing the names of some variables that are used to turn contact names into links.  You can ignore those notices if that functionality's not important - if it is, you may want to continue tweaking this a bit!


Tags not saving in Profiles USAGE:  I've created a Profile that includes the global Tagset.  I'm using it to designate a Region Tag for all Contacts as we roll out a directory.  The Tags have values such as "Northeast", "Northwest", etc.

PROBLEM:  When a user saves their information using the Profile, the Tags selected are not saved in CiviCRM and thus the Tags selected are not shown also in their confirmation.

BACKGROUND

I have tested that I can save Tags to a Contact within CiviCRM
through the backend.  All other fields are being saved correctly.
Using CiviCRM 4.7.30, WordPress 4.9.4
I have reviewed my WordPress permissions regarding 'tags', but willing to recheck or check others.

I was able to create a Tag set as a Custom Field for Contacts. I was then able to save the selections made by a user through a Profile. This solution is sufficient for my application.


Unable to configure CiviCRM on Wordpress Wordpress 4.2
CiviCRM 4.6

I've reached the point where I am running the CiviCRM Installer. I get nothing but a blank screen

Turns out that the hosting service has PHP 5.2.17 installed and this version of CiviCRM requires 5.3


Why might a dedupe rule fail to deliver results, or result in server crashing? Title pretty much says it all and this question is being asked so it can be found easily and we can track progress in JIRA

Having found the users have repeatedly misconfigured Dedupe / Matching Rules with a Weight Threshold of zero or NULL, both of which (I think) can result in a search of every record against every other record, I believe that Save should not be possible with zero/null.

Jira here


What entity to use for committees (both a group and a collection of projects)? Having some trouble mapping CiviCRM database entities to conceptual entities in my organization. We have long lists of committees; each committee can have any number of projects; projects can have any number of volunteer opportunities. Working backwards from CiviVolunteer, that seems like I should have Projects and Campaigns to group them. But Committees more naturally map to Groups. So is it a question of using both and keeping them synced and somehow associated?

I would create a sub-contact type of an Organization called 'Committee'. The committee can be set to the 'Owner' of each volunteer project. It might be useful to useful to have a campaign for each committee as well.

Also, by adding it as a sub-contact type you can add the individual relationships against the committee and track their start and end dates.


Mail Merge Codes per Price Set Option (Name Badges) We would like to print name badges for our events using CiviCRM.

However, we use complex price sets, and we use "Codes" printed on our name badges for access to certain events.

Is there a way to use CiviCRM to merge price set options onto name tags?

We ended up using Excel and a lot of complicated formulas.

However, if every price set option could have a "Name Badge Code" field, and we could print those on the CiviCRM Name Badge, or even just export them in a price set report, that would substantially reduce our efforts.

Anyone ever face this issue?

I ended up using the Custom Search: Price Set Export, then used Excel Formulas, and then a Microsoft Word Mail Merge. Ew!


CiviMail link to view in browser gets error on mobile End users received a mailing today, our first one on 4.6.3.

Desktop and laptop clients can follow the link, but tablets and cells get errors that the link can't be opened.

Link appears to add email or inbox before the url on those clients.

Worked up until the current version.  No changes to header template.

When you click on the link on Android devices they get:

Webpage not available
The webpage at email://18975 might be temporarily down or it may have moved permanently to a new web address.
Suggestions:
•   Make sure you have a data connection
•   Reload this webpage later
•   Check the address you entered

On IPhone, the link acts as if nothing's been clicked.

When you click on the link on Windows phone you get:
This link can't be open from an email message.
Link looks like: inbox:"correct url" (with quotes)

Links not in the header template work appropriately.

I strongly suspect the reason is because of CRM-16549.  Please update to CiviCRM 4.6.4 and try again?


Financial Softwares to use with CiviCRM What is the best software to use with CiviCRM?
I've been using Quickbooks premier 2015 which has no option to import transactions.
Are there Quickbooks versions that allow for transaction import?

I use Xero with the CiviXero integration extension


Email blast mailing through CiviCRM How can I send an e-blast email mail to groups from different states after pulling a report in CSV FORMAT from CiviCRM

The easiest way would be to create groups in Civi based on which state they are in then send the email out of Civi mail. Use the advanced search to find the contacts, select the ones you want included in the group, then select Group - Add contacts. Select Create new group, name it and select mailing list from the group type and save.

In the mailings drop down, select new mailing, format however you want and select which group you want it to go to. That way you can track opens and which links have been opened by each person. You can also include attachments to this email.


Is there an online store where I can buy CiviCRM stickers, t-shirts, books, etc? Should there be? I'd like to buy CiviCRM stickers, CiviCon t-shirts, books about CiviCRM and other CiviCRM stuff.

Is there an online store where I can buy such things? If not, should CiviCRM.org create one?

Thanks for your thoughts!

I can buy the new, second edition of Using CiviCRM by Erik Hommel, Joe Murray and Brian Shaughnessy on Amazon.com .

CiviCRM.org could set up a store on CafePress.com to sell t-shirts, stickers and other stuff. I would buy some stuff that way.


Can’t embed any forms using a block editor in Wordpress Created a page and selected full width content from the block menu. CiviCRM button allows me to access a form selection area but once a form is selected there’s no ‘submit’ button to embed the chosen form?

I will take a wild guess here since we don't know the versions or Wordpress and CiviCRM and which block. Since you mentioned the block editor, which does not provide a CiviCRM block, I will guess that you are using a TinyMCE block that still displays a CiviCRM button -- perhaps the Classic block or Classic Paragraph block?
In my case (Wordpress 5.4.2 and CiviCRM 5.27.0), I no longer see a CiviCRM button. This is consistent with documentation at https://docs.civicrm.org/sysadmin/en/latest/integration/wordpress/. Instead, I use the Shortcode block or I directly enter a CiviCRM shortcode in a paragraph block, using the shortcode formats described in the doc.


Civicase- order results in find case Following links in Civicase dashboard (4.6.38) normally takes you through to a set of search results in the Find Cases search.

Initially cases are displayed by client name, alphabetically.

There are options to order by most recent activity date, or next scheduled activity date. When used neither of these display as expected. Results list neother in activity type order, or date order.

On closer inspection using the sort arrows by either options sorts the results in case id order.

Just checked and this behaviour is the same in sandbox.

1) Is this a known bug? If not which project should I post it in in the new tracker pages?

2) Anyone got any workarounds?fixes for this?

Cheers

Craig

I think this issue may explain what's causing the issue in how it's ordering (or not ordering) https://issues.civicrm.org/jira/browse/CRM-17708

Not a solution but maybe a little further understanding.


Custom fields sometimes missing from profile, until flushing caches On civicrm 5.20.1 under WordPress, we have added two custom fields to the Registration Info profile (gid=12). We've added that profile to the Online Registration config for one event.
Now and then, for reasons unknown, those fields will stop displaying: on the online registration form, and in the profile preview. Flushing caches (with cv flush or with the "Cleanup Caches" button at q=civicrm%2Fadmin%2Fsetting%2FupdateConfigBackend&reset=1) causes them to reappear.
Then sometime later, they disappear again, until caches are again flushed.
I've verified that neither the profile fields nor the custom fields are being disabled, nor are there any changes in user permissions, ACLs, profile config, custom field config, etc. The only corrective measure is to clear caches.
Is this a known issue in any 5.x version of civicrm? Naturally we're working toward an upgrade to the latest security release, but it would be nice to have some reason to believe that such upgrade might also address this mysterious issue; or to have any other way to address it besides periodically flushing caches.

The only way we could solve this was turning off php opcache in fpm/apache/nginx and cli
For other sites with opcache turned off we had to enable schedule job 'Clean-up Temporary Data and Files' with parameters
dbCache=1
tplCache=1
Incase you have memcache enabled then
memCache=1


Want to display in a profile that a particular contact is part of a smart group related to their membership type We have created a member dashboard in Drupal which displays a civicrm profile with civicrm membership details.  Since I could not display membership type in the profile, I created a smart group which automatically adds a contact to a particular group related to their membership type.

However,when the contact views their profile, it is not showing that they are part of a particular group even though the field is publicly listed.  I saw a post here
https://forum.civicrm.org/index.php?topic=34060.0
which says its not possible.  If so , is there any other way that I can display that the contact membership type in a profile listing?

If you are using Drupal, why not make a Views Block showing membership status/type and put this somewhere eg /user?

I understand I am not answering the OP of 'how to show a Smart Group in a profile' but am trying to answer a more generic question "how can i show a user their membership type"

You may find a downloadable view that already does this in our Treasure Trove eg this one


Sending organisation custom tokens to individual I want to use CiviMail to bulk mail key individual contacts from member organisations and want to include tokens in their email to remind them of the information we currently hold on their organisation, namely, the name and email address of the key contact and the invoice contact, and also some custom fields saved against their organisation.  I've created draft text with the following tokens but when I send a test email, the tokens are just showing as blank.  I suspect it's because the email is sent to individuals but the tokens relate to their organisational information rather than their personal information.  Any thoughts would be appreciated.  We're using Wordpress.

Main contact is: {relationships.first_name_15_b_a} {relationships.last_name_15_b_a}

Email: {relationships.email_15_b_a}

Invoice contact is: {relationships.first_name_16_b_a} {relationships.last_name_16_b_a}

Email: {relationships.email_16_b_a}

Number of homes = {contact.custom_2}

Number of tenants = {contact.custom_3}

Number of staff = {contact.custom_4}

You should be able to do this with the reltoken extension.


How to handle event payments that include contributions Sometimes we have situations where someone will pay for an event with a check and add a donation to the amount.
How can I record a contribution and event payment in civi that was made with the same check?

Thanks

An event payment will create a contribution. To add a donation to the event payment form I suggest you look at pricesets. There you can add a donation field. http://gitbook.civicrm.org/events/complex-event-fees.html


Render a previously submitted event registration I would like to display to the user their existing event registrations in a format similar to what they see on the "Thank-you" screen &/or receive in the confirmation email. There are multiple event registrations that have different profiles and all use Price Sets.

Ideally, I'd like to create a function that takes the id of a Participant record and returns the formatted HTML that we see on the Thank-you screen; then I'd call this for each of the user's Participant records.

Any suggestions on how to do this efficiently would be most appreciated.

There is not straight forward solution for this. However you can certainly achieve this by
1. Register URL in xml
2. Create a page and copy template from thank you page of event.
3. Assign all the required variables to smarty template.

HTH

Pradeep


Thank-you letters sends email immediately we are emailing the receipts of last year's contributions. From "find contributions" we select "Thank-you letters - print or email" and then "Send emails where possible. Generate printable PDFs for contacts who cannot receive email.".
I thought it was using the CiviMail component to send (and its configurations, like Mailer Batch Limit, Mailer Throttle Time), but emails are sent immediately, occupying a lot of memory resources. And my SMTP server rejects them as spam.
Have I forgotten a configuration? Or is it the behaviour for this process?
Or is there another way to send receipts of last year's contributions?
Or should I use SparkPost which distributes the email delivery?
Any help is appreciated.

I think there are two issues at hand here:
CiviCRM does not use the CiviMail/it's mailing feature for the thank you letters. In many case that would make a lot of sense but I guess when the feature was built no one considered using it for so many emails. You may use another extension that sends contribution receipts via CiviCRM's mailing feature such as this one: https://github.com/systopia/de.systopia.donrec
The other issue is that you should probably configure your mail server in a way that it is less likely to be classified as spam. There should be many questions & answers regarding such configurations here on Stackexhcange, most important would probably be so set up proper spf records. This will not necessarily solve the problem described above (e.g. Mailer Batch Limits or resource usage).


Is Civi Mobile and Tablet Ready Can Civi be accessed via the iPhone or Android phones and what about on the iPad or other tablets?

In addition to CiviMobile and Cividroid, the full CiviCRM app works reasonably well on a tablet, particularly for public-facing pages - and work is underway to make it fully responsive.  You can give it a try from a tablet at http://demo.civicrm.org and see if it meets your current needs.


PayPal Standard - users getting "Could not find a valid session key" Occasionally users at our site are getting "Could not find a valid session key" messages when making payments through PayPal Standard. The payment succeeds but this message unsettles users.
The sequence of requests for a contribution is ...

POST /civicrm/contribute/transact (submit payment details)
GET /civicrm/contribute/transact?_qf_Confirm_display=true&qfKey=XXXXX
POST /civicrm/contribute/transact (confirm payment details)
POST /civicrm/payment/ipn/NNN (PayPal IPN callback)
POST /civicrm/contribute/transact?_qf_ThankYou_display=1&qfKey=XXXXX

On the occasions when this fails the 5th step says "Could not find a valid session key". I'm unable to reproduce this on the PayPal Sandbox.
I'm running CiviCRM 5.10.4 (with security patches) on Drupal 7.67.
See this question for an update and a solution.

Ken West,

I guess your cron job 'Clean-up Temporary Data and Files' must be running when your site is busy. The session key is not an usual error. CiviCRM stores sessions variables into its database int the form of cache. When 'Clean-up Temporary Data and Files' schedule job is executed or CiviCRM cache is cleared manually the cache table is truncated. So when the user leaves CiviCRM and goes to Paypal standard for making payment and come backs to CiviCRM once payment is done and between these process CiviCRM cache is cleared than CiviCRM won't get the session key of the user from the cache table and you will end up the error message of session key invalid on screen.

Try if you can replicate using below step
1. Open 2 browsers(normal user and admin).
2. 1st browser - Do a donation, Click on confirm.
3. Once the user is on paypal screen(don't proceed with payment), from browser 2 clear civicrm cache.
4. From browser 1 proceed with payment in paypal

Solution:
Try running the 'Clean-up Temporary Data and Files' schedule job once is a day when your site is not busy.

Cheers

Pradeep


How can I assign tag when certain profiles are submitted Anyone who signs up online for a membership on our site must create a Drupal user account at the same time (advanced setting on profile used for membership sign up). This gives them access to member-only benefits.

We want to make use of the ability for logged in users to complete a membership form on behalf of someone else (for our volunteers who take memberships from people using our helpline).

However, if a volunteer is logged in they can't create a Drupal User account for someone else.

We can create a drupal user for a civicrm contact just by tagging them, but although a profile can be set to automatically add someone to a group, the ability to automatically tag someone doesn't exist.  Adding people to a group automatically then tagging them latter on based on that group membership is not ideal.

Can a (post or postProcess?) hook be used to tag the new contact when a profile is submitted on a contribution page being filled in by another logged-in user?

Additional information:

It is a CiviCRM 4.4.16 / Drupal 7 site.

These are paid memberships and we use pricesets due to our pricing structure, so I don't think switching to webforms is an easy option.  If we wanted to use webforms I think we would have to more than double the number of memberships types in the system and have some custom code rewritten.

The profile I am referring to is on a contribution page for a paid membership that is specifically designed for volunteers to fill in on behalf of someone else. The profile is the main "Name and Address" profile on the page ie. the one that would usually be set to force someone to create a Drupal user account when they joined.

At the moment that is how the profile is set up - the person filling in the form must create a Drupal user account.  If a logged in volunteer tries to access this membership page they are forcibly logged out before they can start to fill in the form, so they are filling it in as if they are the  person joining up.

I would like to remove the requirement that they must be logged out to sign up on behalf of a new member.  However, I need to have the Drupal User account created at the time the membership is submitted, so just adding "&cid=0" to the membership form URL is not enough.

I have seen Erik's blog on CiviRules and think it may provide a solution, but as always, money is short and I have been put off by "We would recommend organizations to get a CiviCRM partner to assist them at least in the initial configuration and thinking about CiviRules.". I am looking to extend my (very limited) developer skills and thought an extension to implement a hook to do this might not be totally impossible for me.

You could set up a drupal webform to accomplish this. A webform can do everything a standalone profile form can do, plus a lot more, including tagging.


Buildkit Site fails to load due to PHP ugrade from 5 to 7 After Upgrading from php 5.6 to php 7, when i try to access the sites created using buildkit, I am unable to access it.
After typing

Civibuild show dmaster

I get the following

ERROR: Failed to find required PHP extension "SimpleXML".
TIP: In some systems, the PHP version used in CLI and web are different. >Extensions should be active in both.

the TIP is a bit clear about the change in the PHP version, where do I trick that to work?, and where exactly is that done?

It's on your php.ini config file. where it it depends on your OS, in ubuntu/debian it's under /etc/php5 and you have cli and fpm, check that the cli version enables the extension simplexml

FYI, CiviCRM is not yet super tested with php7 (was classified "experimental" two months ago

https://civicrm.org/blog/totten/civicrm-4712-rc-experimental-support-for-php-7-mysql-57

for the details: https://issues.civicrm.org/jira/browse/CRM-17789

X+


iATS ACH/EFT payment verification scheduled job not finishing We're newer to online contributions and are getting ready for go-live soon.  Credit cards with iATS have processed through with no hiccups.  We recently also enabled ACH/EFT via iATS as a payment instrument for our site.  Our first ACH/EFT transaction (from me) went through fine. The transaction was initiated on 7/21/16; both iATS and my personal bank recognize the transaction is now completed as of yesterday, 7/26/16.

However, CiviCRM still showed the transaction's status as Pending (Incomplete Transaction). The scheduled job for iATS Payments Verification (API Entity: Job; API Action: iatsacheftverify) is enabled and is being processed Hourly (by default; I've changed nothing about the job).  However, when I view the Job Log, I only see the job starting, never finishing:

  Entity: Job Action: iatsacheftverify

  Summary

  Starting execution of iATS Payments Verification

  Details

  Parameters parsed (and passed to API method):
  a:1:{s:7:"version";i:3;}

  Full message:  Starting execution of iATS Payments Verification

When I upgraded the iATS extension to 1.5.3 (from 1.5.2) this afternoon and manually executed the job, the job finished and the transaction updated.  Now that a few hours have passed and more hourly jobs ran, it has resumed not working.  I manually executed it again, and the job finished.

So, the issue appears to be that the job finishes when manually executed, but not automatically on its own.  Any ideas on how to proceed? Do I have to configure a cron job specific to/for that scheduled job?

The iATS requirements (#5) specify: "To handle ACH/EFT Contributions (verification of them) and to handle Recurring Contributions (of any type) you must configure cron for your CiviCRM install. Information about how to do this can be found in: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs," but I do have cron running.  The iATS Payments Recurring Contributions scheduled job (Entity: Job Action: iatsrecurringcontributions) is running daily (again, by default; I've changed nothing) and has both Starting and Finishing in the Job Log.  For example:

  Entity: Job Action: iatsrecurringcontributions

  Summary

  Finished execution of iATS Payments Recurring Contributions with result:
  Success (No contribution records were processed.)

  Details

  Parameters parsed (and passed to API method):
  a:1:{s:7:"version";i:3;}

  Full message:  Finished execution of iATS Payments Recurring
  Contributions with result: Success (No contribution records were
  processed.)

ADDITION:  If I run job.iatsacheftverify from the API Explorer, I get a success. So I tried adding this scheduled job to my server (from Plesk, CentOS 7, no brackets): drush -r {root folder} -l {website URL} civicrm-api -u {user} job.iatsacheftverify --quiet.  When I ran that job I received this error:

PHP Fatal error: Class 'SoapClient' not found in {ROOT}/sites/default/files/civicrm/extensions/com.iatspayments.civicrm/CRM/iATS/iATSService.php on line 164
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Class 'SoapClient' not found in
{ROOT}/sites/default/files/civicrm/extensions/com.iatspayments.civicrm/CRM/iATS/iATSService.php,
line 164

Line 163-164 of that file:

/* until iATS fixes it's box verify, we need to have trace on to make the hack below work */
$soapClient = new SoapClient($this->_wsdl_url, array('trace' => 1,'soap_version' => SOAP_1_2));

I have no idea what that does. :-)

Civi 4.6.14 (will be updating to 4.6.19 before go-live); Drupal 7.44; iATS Payments extension 1.5.3

Your symptoms suggest that the issue is some kind of fatal error happening during the job execution itself. I'd recommend you run the job directly via the command line, i.e. something like

drush -u 1 cvapi job.iatsverify

And see if there are any errors showing up. Make sure it's the same php version ...

My guess is some curious error that our code isn't handling properly. If you try turning on some logging it might be more instructive.

To answer your other questions:
1. No, you don't need to schedule a separate cron, it should run okay 'out of the box' (it calls in hourly for verifications, it really wants to tell you when your contributions are actually going through).
2. Tamar's diagnosis is interesting - I did implement job locking to prevent recurring payments from getting generated multiple times, but that shouldn't affect the verification, which is a separate job and can happen multiple times in parallel without ill effect.
3. Your civi version doesn't look terrible, but there have been a number of civi core fixes in the 4.6.x recent release that may affect some things, I'd recommend you update your testing platform as well. There is some testing for versions in the iats extension, but doesn't try to manage all the older minor version quirks.

From the comments below: Since you receive a "PHP Fatal error: Class 'SoapClient' not found" when you run the Drush command that means your drush is running a different php environment from your web interface. That's not untypical, you'll just need to inspect your php configurations and make sure that the php cli used by drush also has the soap extension. You can test that by running "php -i | grep soap" for example.


Activity Processor issue with Caldera Forms Using
Wp 4.9.8
Caldera 1.74
Caldera Forms CiviCRM 0.4.4

I'm struggling to work out how to expose the activity fields (core and custom) to the layout area once I've added an Activity processor to the form.

I'm using the template for creating two contacts with a relationship, but I need to collect some info and kick off an activity as well, so how do I add the extra fields?

Ok, I worked this one out. You have to create the fields in the Caldera form first and then match CiviFields in the processor you've added to the Caldera fields you've created, it's a bit like mapping fields for import


Subscribe to group via a webform - pass in group Id I'm using Drupal, CiviCRM, CiviCRM Entity and Webform CiviCRM.

My hope is to link an "activity" (described on a Drupal node) to a group ("Sign up for news about this activity").

So the Group Id would be stored in a field on the Drupal node, and when I click "Sign up" I'm taken to a form where I can sign up to that group.

Is there a way of doing that with Webform CiviCRM?

I've tried setting "Enable Tags and Groups Fields" to "Yes" but I can't see how to pass in the Group Id.

Cheers!

Here's the code I wrote to achieve my goal ...

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if (strpos($form['#id'], 'webform-client-form-') === 0) {
    if (in_array(
      'default-via-parameter',
      $form['submitted']['mailing_list']['civicrm_1_contact_1_other_group']['#attributes']['class'])
    ) {
      $params = drupal_get_query_parameters();
      if (filter_var($params['gid'], FILTER_VALIDATE_INT, array('options' => array('min_range' => 1)))) {
        $form['submitted']['mailing_list']['civicrm_1_contact_1_other_group']['#default_value'] = array($params['gid']);
      }
    }
  }
}

Details ...

Check if it's the right form
Check that I want to allow the default to be overwritten (via a CSS class attached to the field)
Check if the Group Id is supplied as an argument, and is valid
Set the default group to the one supplied

The form can be used without supplying a default to choose any group.
If a default is supplied the user can use this, or even override it


How can I create a contribution page that allows the user to select the currency they wish to use? CiviCRM provides the ability to have more than one currency "available". But when I set up a contribution page I have to select the currency that the page will use. If I want to give the user the choice of which currency to use to make their payment, do I have to create a different contribution page for each currency option, or is there a simple way of letting the user select their preferred option on the payment page itself?

You don't have an option of selecting multiple currency in the same page

So, Creating separate page of each currency could be a best option also easier way.

Or

You can create an extension for listing multiple currency in a single page, playing around price set  - which is going to take some time


100s of duplicate contacts created of current user when using CiviCRM I have recently migrated a CiviCRM instance from Joomla to Wordpress, everything went smoothly.

The installation is using CiviCRM 5.7.2 and PHP 7.2.

We're now seeing a peculiar problem where, when users are making general use of CiviCRM, literally 100s of duplicate contacts are created of whichever user is working.

The duplicates accumulate very quickly. In about 10 minutes of experimentation with CiviMail today, I managed to create 249 duplicate contacts of myself.

In testing for this question, I created 25 contacts simply by searching for 'contacts created today' in advanced search.

Just about any action appears to create these duplicates.

When deleting them, CiviCRM will warn me that 'you are currently logged in as' one of the duplicates and therefore it cannot be deleted. Obviously my user account should not be associated with a just-created contact.

My guess is that this may be caused by something like a missing database constraint, but I'm at a bit of a loss as to where to start looking.

Any ideas?

I have seen this when the uf_match table does not have the proper values for WP Id (uf_id), Contact ID (contact_id) and email (uf_name).

I don't know why this occurs, I've not been able to track it down, but I suspect it is when the uf_id and contact_id do not have the email in use by WP.

You can user API Explorer /wp-admin/admin.php?page=CiviCRM&q=civicrm/api to display the records or do a query on the civicrm_uf_match table.

To fix, I have deleted the 'bad contacts (merging if data needs to be retained) and then updating the uf_match records so this does not re-occur.


Does Contact Editor Extension work with Version 5.6.1? I just upgraded to version 5.6.1 from 5.3.1. I tried using the contact editor extension to change a contact type but when I select "Change Contact Type" it take me to the CiviCRM homepage. I use CiviCRM with WordPress.

Does the Contact Editor extension work with 5.6.1?

This happens when the menu link is not registered properly for all extensions. I always have a habit of performing cleanup cache and some times delete template_c and rebuild menu.

In your case as @Tony said after performing cleanup cache the menu should be registered and the extension should work. You can do this by navigating to CiviCRM >> Administer >> System Settings >> Cleanup Caches and Update Paths >> Cleanup caches.


Is there a way to track the date the pending payment record was created once payment has been completed? I create a pending contribution for a membership with the received date of 1st July.
I then go in and complete the contribution on the 7th of August.
I cannot find where in Civi the original pending payment invoice date of 1st July is stored.
What I see happening is all received dates (including in the invoice) change to 7 of August.
Is there anywhere where the original date is stored once the payment is completed?

There isn't a field on contribution that stores when the Contribution was created v/s payment added to the contribution. But you can get such information from financial transactions table.
When a pending contribution is created a account receivable(IR) entry is created in financial transaction table and later a new entry is created with income account when a payment is received. But AR transactions are not displayed on UI when you click on contribution amount(which loads list of payments).
The only place you can see them is while creating accounting batches.


Removing Membership Status Message on Front End Webform We recently sent out emails to our affiliates, providing them with a link outfitted with some checksum tokens. The link goes to a webform w/ CiviCRM Integration. The token and webform work fine -- they are able to fill out the required information and pay for their membership.

Some users, however, are getting confused by the message "x membership has a status of 'x'" at the top of the webform page, thinking that their membership is expired, cancelled, etc. based on what they see.

The organization, before my arrival, had tried to set up the membership feature, however it was never fully realized, leading to me having to create a new set of membership types to work with. I've gone ahead and expired the old memberships, re-titling the type to "2013 Membership", however that still leaves the aforementioned message visible to the person utilizing the checksum link. I could just delete the old membership type, as we plan to do a fresh install in the future without this information, however we have payments associated with the membership type that I don't want to go down that route, yet.

I'm assuming I'll have to make the change somewhere in a template file, however I wanted to check first before I go messing around with it, in case I'm missing an option somewhere inside the front end of Civi.

Edit: Here is an example of the message users see. I'm interested in removing the first line in the green box. Users will not see the second line as this is a new webform that everyone will be submitting for the first time.

I suggest you disable the membership types you are no longer using in your system (per Pete's suggestion in the comments).

I've just patched webform_civicrm to ensure it takes this into account, so it will no longer display messages about disabled membership types. That will be included in the 7.x-4.16 release, for now you can upgrade to the -dev version of the module to get this new functionality.


Pay Later not showing For some reason after updating to CiviCRM 5.29.1 the "Pay Later" option (which is selected) is no longer working on DarrylWPerry.com/donate
EDIT: if I turn off HTTPS/SSL protections it appears.

The option should appear once you select the amount. If it does than set default one of the option from amounts tab of contribution page