smart group change log criteria I am using CiviCRM 4.7.7 on Drupal 7. I want to send an e-mail to each contact added "Today". So I supposed to create a smart group with the search criteria "Added=Today" in the "Change Log" section. I suppose to create this smart group today, i.e the June 6th, 2016. Tomorrow the smart group criteria will be always the June 6th, 2016, and not the June 7th, 2016, as I would like. Can someone help me?

So, I might not be able to answer the question regarding the smart group criteria required to set the date always to 'today' (I had a look into this and confirmed your description that the criteria gets "translated" from 'today' into the date for today, and will remain that way afterwards).

However, if you're looking to send an email to each contact created in the system then you could look into using the scheduled reminders system for this. Under Entity you can select Contact > Created date only, which might help with your scenario.

The downside to this though is that you'll need to be sending out the same message to each user (although you can use tokens to personalise this!).


Custom Data Responses How can I view responses to custom data questions? By looking at Contact summary I can see that new contacts are responding, but when I click on the link, nothing is there.

Each custom field is part of a group, that is itself attached to a "normal" civicrm entity (that can be a contact, an activity, a participant...), so the first thing you need to do is to find to what the custom group is attached.

the second thing it to be sure it's searchable. You can find both of them in the admin custom fields.

once you know where it is and that it's searchable, you can use the advance search, and you will have that field

As a side note: if your question provides a list of groups (all the sections or committees) it's probably going to be easier for you to ignore the custom field and directly show the list of groups


How can I allow donor to edit the amount to pay towards his Invoice I am sending the donor a link to his dashboard where he can click Pay here to pay an outstanding invoice.
The issue is that once he clicks 'Pay Now' he is forced to pay the total amount of the invoice (Or pending contribution) and cannot edit the amount and make a smaller payment towards his balance due.
Is there a way to allow the donor to edit the amount?
Also why are the the words (includes of $0.00) after the amount?

Also why are the the words (includes of $0.00) after the amount?

I suspect because your site has the Tax/Invoice option turned on but it has not been fully set up


Initialization Error after any change My website has member side and after adding a member to a site the site was broken and for members, Initialization Error occurs. so members couldn't access their own page on the website.
and also when I install the new plugin I get this error again. I couldn't change anything on the website because after adding new page or post I have this problem.
What is the reason of this problem?

Your screenshot is incomplete (it's cut off on the right side) - but it looks like you have the wrong MySQL credentials somewhere.  I would look at the two DSN lines in civicrm.settings.php and ensure they're correct.


Participant Count and Capturing additional participant information If I am using a Price Set field with a multiple participant count (Say, Five registrants for a discounted price of $550) will or can I also capture the additional registrant information.

to expound:

We have individual registration options, as well as a group registration option.  I was planning on doing
- 1 price field for General registrant (Participant count of 1)
- 1 price field for Student registrant (Participant count of 1)
- 1 price field for Group of Five (Participant count 5)

Do I need to activate the "Register additional participants" option in order to capture the additional participants names or will civi prompt for that info since the participant count is 5 for the Group of Five option.

If I do have to select the "Register additional participant" setting, would the registrant have to both select 4 from the Register Additional Participants drop down as well as select the "group of 5" option?  if this is the case, should the group of 5 participant count really be 1 instead of 5?

Thanks

Yes - typically you would activate "register additional participants" to capture the additional names.  The participant count being 5 will NOT trigger this.  That workflow is preferred when someone is, say, buying a table of 10 for a fundraiser gala but doesn't know who will be attending.  And yes - the participant count should be "1" in this case.


How can I import ADDED BY field of Activities? I have data in spreadsheet. How can I import Activities with respective Added by values (specified in spreadsheet)?

Can't find this field in CiviCRM Activities import tool.

Selecting the Source Contact should do the trick.


How should I add CiviCRM contact fields to Drupal node submit / comment submit forms? We have occasional need to allow submissions of content (either Drupal nodes or comments on existing nodes).

What is the recommended way to expose CiviCRM contact fields on a node or comment submission form so that the person filling the form can add their contact/credit information, which is added to CiviCRM if it doesn't exist, or linked to a contact record and potentially updated if the contact already exists?

I'd try using civicrm_entity with entityreference.


Email-to-activity processing – create Activity at future date I would like to be able to set tasks on a Contact using the Email-to-Activity processor. This would allow me to set Scheduled activities on a Contact in CiviCRM, like:

Follow-up with Sally in two weeks about the topic of the email I'm sending right now

Is there a way to do this?

Example:

I'm emailing a Contact from gmail and in the BCC field I add my Email-to-activity address to attach the email to the Contact's record in CiviCRM.

I would also like to add another Email-to-activity processor address like 2-week-follow-up@my-org.com that would:

Add an Activity to the Contact with a Type I specify (email, phone, etc)
Sets the date to a future date I determine (ie. two weeks from today)
Sets the Activity Status to "scheduled"

This would replicate the functionality of Highrise Task Dropboxes: https://help.highrisehq.com/email/task-dropboxes/

You could use the CiviRules extension (https://civicrm.org/extensions/civirules) for this. Every time an incoming email activity is created in CiviCRM civirules could create a follow up activity in the future.

You need to configure CiviRules in such a way that the trigger is "activity is added", and that you have a condition on the incoming email activity type. And the the action is "create an activity" which is the "follow up activity".

Also note that civiRules triggers for each contact involved in an activity. The latter could be filtered out by a condition provided by civirules.

Documentation of civirules could be found at: https://docs.civicrm.org/civirules/en/latest/


Smarty Template CMS-agnostic URL Please can someone remind me how to create a CMS-safe URL in Smarty Templates?

Thanks

{crmURL p="civicrm/points/grant" q="cid=$cid&type=$type"}

^this

The p is the address of the page
The q is the list of parameters
The domain is added first

So the above code (with $cid=A and $type=B) translates into:

http://example.org/civicrm/points/grant?cid=A&type=B


CiviEvent: selecting "Pay later" option causes the browser to show "are you sure you want to leave this site"? message I have an odd problem with my CiviEvent registration.

When a user fills out a registration form and selects the "Pay later" payment option, on clicking "Continue" the browser throws an "are you sure you want to leave this page" message. (Everything works if the user then clicks "OK", it's just confusing to the user to see a message "you may lose any changes on this page".)  If they choose the online payment option and fill out the billing information, "Continue" properly takes them to the next confirmation page.

The only other question I've found that discusses this is

How do I suppress the "are you sure you want to leave this page" popup from contribution page

and it seems I can disable the message by manipulating the onbeforeunload JS function (which I will try) but I'd really like to know what the core problem is instead of just putting a band-aid on it :-)

System deets: Joomla 3.8.12, CiviCRM 5.3.1

I believe you are you using Stripe payment processor extension as one of the payment gateway. There is a known issue reported by a user facing similar problem and have been issues for other users also. As mentioned in info.xml Stripe extension supports till 5.0 and might have not tested fully for 5.3. The only solution I would give is to upgrade stripe if you haven't to 5.0 or from https://lab.civicrm.org/extensions/stripe or wait until some one from Maintainer fixes the problem.

  You can try if its a stripe problem by disabling the extension and
  submitting the form.

Pradeep


Management of Tags not possible Every time when i try to manage the existing tags  i get into a loading loop without any end! No Tag is listed, no modification is possible)

Installation: wp 5.x multisite but civicrm is active only on first site right now

what i tried:
 - reinstall complete remove and migrate to external database -> no success
 - reinstall -> no success
 - upgrade to version 5.12.beta1 -> no success ..
used IE Edge, IE11, Firefox (current) for testing already

Anyone have any idea ? without tagging this makes no sence for me ..

Harald

I recently had a similar problem with the Manage Tags interface that was caused by a 'created_date' field in the tags table having a value of zero. Providing a valid date in the field solved the problem.


Is there a way to make a contact page immediately visually arresting? As I mentioned in my previous question, I'd like a way to show that a contact page is special immediately upon opening the page. Some sort of flag or label, something like a graphic or colour change that stops people as soon as they open the page.
I understand tags and groups, but they require navigation off the initial view, as well as additional procedures that might be ignored in a rush.

Is this possible?

CiviCRM 4.7.16+ has the ability to color-code tags.  Color-coding a "VIP" tag should give a quick visual indicator that someone is a VIP.


Mailchimp CiviCRM Integration: "Sync Contacts" buttons don't show up on "Mailchimp Pull/Push Sync" screens When trying to sync CiviCRM contacts to Mailchimp or updating CiviCRM from Mailchimp, the buttons "Sync contacts" don't show up on both screens:  "Mailchimp Pull Sync" and "Mailchimp Push Sync".
I've got installed CiviCRM 5.21.1 and I've tested it with Mailchimp CiviCRM extension versions 2.0 and 2.0.1.
Any help will be very much appreciated.

The reason why the buttons weren't appearing was because I hadn't linked the Groups in CiviCRM with Mailchimp through "Manage Groups" funcionality in CiviCRM.
Once I linked them, the buttons showed up.


How do I get PCPs to look 'right' when shared on Facebook? We are using Wordpress 4.2.2 & CiviCRM 4.6.1. We have a couple of fundraising events in which participants have the option of creating a Personal Fundraising Page.

When participants share their PCP URL on Facebook the link preview doesn't share any info from their PCP—Page Title, Description or Photo—and doesn't link to their page, it links to the Base page that has been set for CiviCRM in Wordpress.

Is there a way to add Open Graph tags to each PCP? I did see that Mathieu created a Drupal module that adds Open Graph tags on PCP pages for Facebook a few years back: https://github.com/mlutfy/civicrmogp. Does anyone had any ideas for Wordpress?

I do know that there are plugins for Wordpress that allow you to add Open Graph Meta tag info to your website. These allow you to set that info for individual Pages or Posts, however the PCPs are generated dynamically through CiviCRM using the base Wordpress page that I configured, so setting Open Graph info on that page would cause all the PCPs to share the same info on FB—unless I don't know what I talking about (which is totally possible).

Here are some screenshots to help show what I am talking about:

As you've discovered, this is not something that the WordPress plugin does by default. You can, however, hook into the 'civicrm_basepage_parsed' action that is fired when (ahem) the basepage has been parsed and roll your own Open Graph tags to be included in the markup via 'wp_head'. The content of the basepage is available via the 'basepage_render()' method of class 'CiviCRM_For_WordPress_Basepage', which can be externally accessed with the following code:

$content = civi_wp()->basepage->basepage_render();

Admittedly, this won't tell you what kind of Civi content is being included in the basepage, but the technique above will allow you to produce something more sensible than what you currently have.


Stripe Settings not there . . CiviCRM 5.24.4/WordPress 5.4

Need to sort out Stripe webhook settings, but Administer>CiviContribute>Stripe Settings just takes me to the main admin page. Nothing there at all.

Anybody know why this might be happening? Or how I should adjust webhooks at Stripe, instead?


Malformed response error (and solution) I was getting a "Maformed Response" error when doing a few things this week. I saw it from the admin page when adding a new contact and when merging duplicate contacts. Other users saw it when making a contribution.

Error message displayed was:

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.
Malformed response
Return to home page.

Fatal error: Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame thrown in /PATHREMOVED/public_html/administrator/components/com_civicrm/civicrm/Civi/Core/Transaction/Manager.php on line 107

I first cleared out the cache (templates_c directory) without success. I then went into the control panel and removed the mapping and geocoding providers (I was using OpenStreet maps and Yahoo). This seems to have fixed the problem.

Running civicrm 5.10.3 under Joomla 3.9.4.

I'll report back if I see the problem again, but I think its all good now.

I first cleared out the cache (templates_c directory) without success. I then went into the control panel and removed the mapping and geocoding providers (I was using OpenStreet maps and Yahoo). This seems to have fixed the problem.

I think the problem is with the Yahoo api being deprecated. Yahoo has taken down http://local.yahooapis.com/MapsService/V1/geocode


Copy old WAMP directory to new installation of WAMP Can anyone assist with the following scenario please...

-I had a local install of Wordpress and CiviCRM using WAMP.

-PC died but I was able to retrieve the Hard Drive and install in another PC as a secondary drive, and all of the files are still there.

-I have reinstalled WAMP on the new PC (C:) and now want to know if I can point the new WAMP installation to the old directory (F:) that contains my wordpress and civicrm data, or somehow copy the data into the new installation - in fact this is the preferred option.

Is this possible to do?

Thanks, Joe.

You need to change the root directory that WAMP is using for the website:

For wamp 2.5 on Windows, use a text editor, e.g. notepad++ to edit c:\wamp\bin\apache\apache2.4.9\conf\httpd.conf

Change DocumentRoot "c:/wamp/www" to DocumentRoot "c:/my/new/path" (Note slash direction). This will change the location where files are served from (~Line 230).
Change  to  (Note slash direction). This applies permissions from the old directory to the new one (~Line 252).
Copy all content from c:\wamp\www to your new directory (c:\my\new\path), including index.php
Edit c:\my\new\path\index.php and change line 40 $server_dir = "../"; to $server_dir = "C:/wamp/"; This changes the location where config files etc. for wamp are read from. Change $suppress_localhost = false; to correct projects links (~Line 30).

I pulled this from this post: https://webmasters.stackexchange.com/questions/43522/how-to-change-the-www-root-directory-on-wampserver


Dashboard links do not open The links on our donor dashboards do not open unless you right click and select "Open in a new tab".  I am referring to the "View" "Edit" & "Cancel" links that appear with recurring donations. I am using Wordpress 4.4.2 & Civi 4.6.14 this is a new website and Civi install so this is not something that was working and recently quit, it has never worked for me. Any suggestions so they function normally?

The guys at Ginko Street fixed it for me.  It was a conflict with my WordPress theme and Civi shortcodes.


how to setup civicrm on windows 8 Please could anybody direct me on how to setup civiCRM on my windows OS and also code with it. I am totally new to this type of platform and with no clue on how to go about anything, however, I have a strong knowledge of PHP and php based frameworks like laravel and lumen. I believe if directed on what to do I should be able to standard on my own. I have tried google but nothing significant.

Thanks.

You would need a Windows web development environment like WampServer and need to create a site on localhost. There you could install wordpress/Drupal/Joomla any of those for which civicrm is available to be installed and then follow steps to install civicrm following docs here: https://docs.civicrm.org/sysadmin/en/latest/

Thanks!


modifying angular form (new mailing) I'm wrestling with where and how to best make modifications to the CiviMail new mailing form, built with Angular. There are several other questions addressing this in part, but none address my needs completely.

The customization is pretty simple: include the logged in user's email as an option in the From Address selector and set it as the default.

What I've found is that:

1) I can't simply modify the from address list using the optionValues() hook. There are some oddities with from_email_addresses passed to that hook -- not all of the values are passed for modification. And because the select2 widget in the angular form is set to filter on is_active, any values I add via the hook are ignored (the hook only let's me work with the basic option list; I have no access to other record metadata).

2) Even if I use a php override of the CRM/Mailing/Info.php file and alter the from address values passed to angular, the default value is being set in some mystery way that I've not been able to find. Altering the is_default value and weight so that my desired option is the default has no impact.

3) In general, it seems very difficult to target angular forms via a hook in order to inject js. Maybe I'm missing something obvious, but the pageRun() hook doesn't seem to give me enough to be able to condition the injection of js adequately.

Any tips would be much appreciated.

What about modifying the option list itself? So pick a hook that fires whenever the new mailing page is loaded (hook pageRun or something) and use the api to check if the current user's email is an option in that list. If not, add it

That gets you halfway there... not sure about setting it as the default. I suppose if you made it the default every time the hook fires, then it would temporarily be the default for whoever is composing a mailing.


How to install a not listed Extension? I want to install extensions which are not listed in the "Add Neww" directory, such as :

de.systopia.osm-1.2
net.ourpowerbase.exportpermission-master

I copied those (from their Git source) to my Site Extension directory, but they don't appear in my Extensions list, so, I cant activate them.

How can I activate them ?

Here is the documentation from the administrator guide:
https://docs.civicrm.org/sysadmin/en/latest/customize/extensions/#installing-a-new-extension

There are three steps:

Upload extension package
Extract (Unzip) the package
Install and enable the extension, you should refresh your extensions page to show the new extension.

Hope this helps.


How do I manually update External Identifier I want to do a contributions import using a spreadsheet exported from Go Cardless.

When matching this info to contacts in Civi, 'External Identifier' is a mandatory field. I want to override what exists there as not everyone currently has an External Identifier, using data from Go Cardless.

How do I do that?

Thanks!

If you don't have 'External Identifier' for everyone yet - do a Contact import first!

Contact import:
Include the data fields used for contact "matching" based on your configured Duplicate Matching rules. For the default duplicate matching rules, you would include 3 columns in each row with the contributors' First Name, Last Name and Email Address.

Your main Goal here is to find the Contacts in your Database and add an 'External Identifier' for them (and these come from your Go CardLess)

Contribution import:
Very straightforward now that everyone has an 'External Identifier' - you can even now dump the name fields; all you need is 'External Identifier' and the contribution data columns.


CiviCRM 4.7 contribution receipts Prior to updating to CiviCRM 4.7 our customers received receipts that included:

Membership fees with each item listed separately with a description
and price.
Transaction number
Billing Name and Address
Credit Card Information (only last four of credit card)

Also, the subject line used to reflect wether this was a receipt or an invoice.

After we installed 4.7 this information stopped displaying on the receipt. Issue here
https://issues.civicrm.org/jira/browse/CRM-18027
CiviCRM 4.7.10, drupal 7.50

$contributeMode is being set to "notify" for credit card payments, which is why credit card information isn't being printed.

I'm trying to update the receipt template to work around this issue.
Can someone explain if it's correct behaviour that $contributeMode is being set to "notify" for credit card payments, or is that a bug ? What does it mean ?

Is there a(nother) way to check, in the receipt template, if a payment is not only of $contributeMode 'notify' but specifically a credit card payment ? I read 'paymentMethod' is supposed to be set - who should be setting that ?

As far as I can see, the default receipt templates in 4.7.10 don't mention 'paymentMethod' anywhere. Should they, or do I have outdated templates ?

This seems to have been worked on, here
https://issues.civicrm.org/jira/browse/CRM-18027


Authorize.net ARB stopped working Individual contributions on our site are working find but ARB transactions stopped working in March of 2016. Nothing has changed on our end as far as I know. I've upgraded to the latest Civicrm for Wordpress (v4.7.10), verified our silent post URL is correct at authorize.net, checked the API Access Key and Transaction Key are correct.

For recurring transactions, the initial transaction is processed fine by Authorize.net but an ARB subscription isn't configured and the transaction remains pending in CiviCRM.

I reached out to authorize.net and they stated they have no logs to assist troubleshooting and everything must be reviewed on our end.

Any ideas on where to check? We've got everything setup according to https://wiki.civicrm.org/confluence/display/CRMDOC/Authorize.net+Configuration

Only change I've done is to try the Akamai URLs rather than the older URLs.

It's hard to answer definitively without knowing your version of CiviCRM.  However:

If you're using CiviCRM 4.5+, IPN transactions (the silent post URL) are stored in civicrm_system_log.  You can also replay them.
You should search your web server logs (Apache/Nginx/etc.) for references to the IPN URL.  If you're not seeing them, then Authorize isn't talking to your server.  If they ARE there, check to see whether there was a 200 (success) response or another response (e.g. 404 error).
Try visiting your IPN URL in your web browser.  Do you get a response along the lines of "The transaction has failed", or do you get something like your site's web page?  If the latter, you may have a broken redirect rule in your web server settings.


Call to undefined function mysql_error() when install extension CiviHR for CiviCRM I'm using Joomla 3.7.5 and CiviCRM version 4.7.12.
I access to "CiviCRM » Administer » System settings » Extensions » Add new" to install CiviHR extension but CiviHR not in the native list. So I do it manually, I downloaded CiviHR and upload to civicrm directory. When I install it, I got the error.
The first, I click "install"

And I got the error

Do you have any suggest for me to fix this? Thanks you very much.

It sounds like CiviHR is still using the php-mysql extension not php-mysqli. You can try installing php-mysql, or asking your hosting provider to do it, but if they're running a fairly recent server they may not be able to.


How to get a/b testing on the number of unique open? It seems that the A/B testing is looking at the total number of open. in one case, we were surprised to experience a big difference between two versions, but it turned out that one of the recipient opened the email dozen of time (most likely it was forwarded to a mailing list)

Is there a way to display and compare what really matters (the number of different contacts that opened, not the number of time they opened it)?

I suspect this is a code change and should be made at the api level:

api/v3/MailingAB.php, function civicrm_api3_mailing_a_b_graph_stats

(which in turn calls function in the CRM_Mailing_Event_BAO_Opened class)

Would be good to fix the definition of opened as you suggest across both A/B stats and the reports since that is the accurate and valid number


Is it possible to Contact.get where civicrm_id = external_identifier, using API? I want to get all contacts who have "CiviCRM Id = External Id"

This API call doesn't work because, id is expecting a numeric value

$result = civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
   'id' => "external_identifier",
));

Any way to accomplish this using API?

If you want to stay with the API you can filter in php:

$result = civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
  'return' => array("id", "external_identifier"),
  'external_identifier' => array('IS NOT NULL' => 1),
  'options' => array('limit' => 0),
));
$ids = array();
foreach ($result['values'] as $contact) {
  if ($contact['id'] == $contact['external_identifier']) {
    $ids[] = $contact['id'];
  }
}
print_r($ids);


For civiEvents in a Drupal View, how to display only one of a repeating event? [apologies for cross posting. This question is also on Drupal answers, but since the options for filtering would be based on civiEvent fields, I am posting here as well)

We have a view that displays upcoming events. We use civiCRM for events. Some of our events are ongoing: they have the same title, but different dates. What logic could I use to display the next upcoming event, without displaying all upcoming events?

For instance, at the moment the events displayed are based on date. Any event that is not yet passed will display in the view. But for a class which repeats 10 times, I do not want 10 of the same title, just the next class and its date/time.

I do not think there is an easy way to do this via the Drupal Views interface.

However you can do it using jQuery or maybe CSS to hide all but the first instance of your repeating event.

Start off by creating a custom event option field to identify each type of event. You could even use the event type ID if you wanted and just add more options to it.

So it could be

Jane's classes would have an ID of 1
Joe's classes would have an ID of 2

So whatever you choose, each event will have an ID that identifies the type of event.

You can get these ID values into the View. Make sure you have Civicrm Entities module installed.

So now you have a view that shows say

Start date
Title
Event type ID or your custom field ID

Now you create a Row template for the View

Now you wrap the row in a div and you add in a class to the div dynamically, from the event_type_id.

So something like

<?php $id = $fields['event_type_id']->raw;?>
<div class="event_type_<?php print $id;?>">
-----rest of the fields

If you inspect the output on the page, then each row for Jane's classes will be wrapped in this div

for example.

jQuery solution

Now what you do is make yourself a Drupal module that adds a bit of jQuery for when the page has loaded.

It should have a function with a selector like this

$('event_type_1').slice(1).remove();

That would remove all but the first row of Jane's classes.

Or this selector could do it

$('event_type_1:not(first-child)').remove();

CSS solution

Add a class for the view using the Class option in Advanced section of Views admin for the view display.

Then try

.view-class-added > event_type_1:not(:first-child) {
display: none;
}


Get actual value instead of ID in Address API for Country and State/Province When am getting some entity using API, it's returning id reference only not the actual value.

eg:
$result = civicrm_api3('Address', 'get', array(
      'sequential' => 1,
      'conatct_id' => 10
    ));
Output:

enter preformatted text here
{
   "is_error":0,
   "version":3,
   "count":1,
   "id":6601,
   "values":[{
      "id":"6601",
      "contact_id":"1",
      "location_type_id":"1",
      "is_primary":"1",
      "is_billing":"0",
      "street_address":"#275, xyz",
      "city":"abcd",
      "state_province_id":"9300",
      "postal_code":"560082",
      "country_id":"1101",
      "geo_code_1":"12.7930129",
      "geo_code_2":"77.5051501",
      "manual_geo_code":"0"
   }]
}

In this example, state_province_id,country_id is returned. Is it possible to get state name and country name in the result?

Thanks in advance

This is possible in the "trunk" version of CiviCRM, and will be available in CiviCRM 4.7.15, releasing January 4, 2017.  Earlier versions of CiviCRM don't have a StateProvince API.

Using the "Join" feature of the API, you can pull in fields from related tables.  See my screenshot for how I would construct an address pulling in actual state/province names (and/or state abbreviations) as well as country:

    $result = civicrm_api3('Address', 'get', array(
  'sequential' => 1,
  'return' => array("street_address", "supplemental_address_1", "supplemental_address_2", "city", "state_province_id.name", "state_province_id.abbreviation", "country_id.name"),
));

Before 4.7.0, API joins didn't exist - and before 4.7.15 there was no StateProvince API.  So in the past, developers would either implement their own StateProvince API or use a hybrid of API and BAO calls.


Webform-CiviCRM with membership payment has broken on 4.7 I've noticed something strange on 4.7 -- webforms that integrate Webform-CiviCRM and include a payment portion are now pulling in the entire contribution page that is associated in the CiviCRM tab. Previously it would only use fields defined in the webform itself. Now I notice everything from the info/description to the Contribution page's included profiles in the payment portion of the webform.

Is this an intentional change? If so, is there a way to get the previous functionality?

UPDATE: (Further info)

If I disable all profiles on the linked contribution page, no payment fields show up at all.
If I enable a profile, it pulls the entire contribution page in
rather than simply the payment fields as it used to do.
If I disable the Membership Section on the contribution page, I get this error: "This page does not have any price fields configured or you may not have permission for them. Please contact the site administrator for more details." (Under "Memberships", the webform has "Membership type" > User Select with "Number of Terms" set to 1. It links to a contribution page in the "Contribution" section.)

The Webform-CiviCRM module is not yet compatible with CiviCRM 4.7. You can help! See https://www.drupal.org/node/2661232


Offsite payment processors We require an offsite payment processor that works with webforms and can take card payments.

Paypal Express doesn't work.
Paypal standard can't take card payments with an account.

Are there any other offsite payment processes like paypal express please?

Thanks,
Andy

Drupal 7. CIVICRM 4.5.8

Paypal standard should give two options. 1 to pay with your PayPal account and 2. To pay with a cc. Sometimes the cc option has a misleading label. For example it will be labeled:"don't have a PayPal account"


Why are all my iATS recurring payments for EFT/ACH marked as "pending incomplete transaction"? This occured today, after upgrade from 4.6 to 4.7. The recurring credit cards appear to be updating properly in civiCRM, but not the EFT/ACH. More importantly, it also appears that the transactions in question did not transact at iatspayment.com. Is my EFT payment processor not set up properly?

I am running Civi 4.7.22 and iATS extension version 1.6.

Pending / Incomplete is expected for ACHEFT - it can stay in that status for days depending on when iATS connects with the bank/credit union the debit account is with.

On iATSPayments.com -> look under Journal -> ACHEFT transactions -> ACHEFT details

Next make sure your recurring jobs are running. Esp the ACHEFT verify one -> that's the one that will check w/ iATS if any of the pending / incomplete ACHEFT can be updated to completed in CiviCRM.


Why do I get a Content Encoding Error? Using Firefox on a Mac generates erratic and inconsistent error screens that say "Content Encoding Error". Sometimes reloading the page solves it, sometimes not.

This turned out to be an unexpected odyssey.

This error was misleading, and actually indicated that some of the page elements were being returned with 0 bytes.
Those elements were civicrm php urls, and most of the errors we noticed where from a 4.7 installation.
There were unhelpful messages in the php error log until I turned on 'catch_workers_output=yes' in the php-fpm.d/www.conf file.
The detailed error 'WARNING: [pool php56u] child 31883 said into stderr: "zend_mm_heap corrupted"' led me to https://bugs.php.net/bug.php?id=65590
A suggestion in that thread "opcache.fast_shutdown=0" appears to have resolved the issue.


Bar graphs have disappeared Bar and pie charts no longer render - and I didn't do anything on my end. I just get a little box now where there used to be a chart.

I've cleared caches and just did an upgrade from 4.4.5 to 4.6.4 in the hopes it would be solved - no joy.

Resources and extension directories are set; I'm stumped here. Any ideas? Thanks!

Further info:

Update: After turning debugging on and off (and seeing no errors), bar graphs now work on the report pages, but not in the dashlets, unless viewing the dashlet fullscreen, in which case they now appear. This is for Firefox and Safari; in Chrome, the graphs don't appear under any circumstances, even when viewing the full report. Hmmm...

Did you change browser?

I experience that Firefox fails to show graphs in CiviCRM, even though it displays without problems in Chrome or Safari


How to create a contribution or event report that indicates amount of payment and balance owed We run CiviCRM 4.7.21. In events, we are able to indicate a registration payment toward the total with the balance owed within each participant's registration page. However, we have not been able to determine how to run a report that indicates partial payment and balance owed. Is there an event or contribution report that can be configured to run a report that shows both the partial payment amount and the balance owed?

In the event participant report there is the option to add columns for total paid & balance.


How do I subscribe to a CiviCRM developer email list/group? I'd like to get more involved with the CiviCRM development process.  How can I subscribe to the API or General Development email list/discussion group that I keep hearing about?

To find a list of possible discussion groups/email list, navigate to http://lists.civicrm.org/lists/lists and click on the list you're interested in.  On the list's page, click the subscribe button to the left.  You'll get an email verifying your interest.  Confirm your subscription with the link in the email you receive.


Stripe.js token was not passed! I have two payment processors that I am using for CiviCRM.  Paypal Standard works well.  Stripe was working for a while and now I get an error screen saying that Strip.js token was not passed.  I have asked the author for help but he says he does not know Joomla.  Can anyone shed light on where I should start looking.
Joomla 3.4.2
CiviCRM 4.6.4

This seems to be a long-standing issue with the Stripe processor, and from what I can tell (and from what I have experienced), in some cases this extension doesn't play well with other payment processors (including the "pay later" option).

Try disabling Paypal (and Pay Later, if applicable) and then test Stripe again.

See also:
https://github.com/drastik/com.drastikbydesign.stripe/issues/76


Convert to uppercase all letters in a specific field Is it possible to convert every letters in a specific field to uppercase?

I would like to have the addresses of my contacts on Civi written in uppercase (for postal service purposes).

The ideal scenario would be to force that field to be uppercase. But also converting it after the record is created would be sufficient.

Thank you.

I don't think that is possible out of the box, but it would be an easy extension to write.  You could use hook_civicrm_pre, look for edit/create operations on Addresses and change the relevant fields to uppercase.


Webform CiviCRM, Membership and # of Terms If we use Webform CiviCRM latest on Drupal 7 and CiviCRM 4.7.x, Paypal WPS, and sell a Membership with 2 terms, Annually, with 2 installments, it should bill them once a year for two years (automatically).

Once the first payment is created, CiviCRM sets their membership end date as two years in the future. So It would be 2/18/2020 if someone paid today.

Question: what happens if they miss their second payment due to the card being declined? Does the membership get canceled on 2/17/2019? Or do they keep their membership, without paying the second annual payment?

Thank you. This question comes up due to the way Webform CiviCRM handles "recurring" payments.

The API we're using to tell CiviCRM to generate this recurring series - is the

ContributionRecur API:
$resultRecur = wf_civicrm_api('ContributionRecur', 'create', $contributionRecurParams);

I don't know how that API connects with PayPal WPS; one of the $contributionRecurParams is the PaymentProcessor, but I don't have any clients on PayPal WPS - so can't test how well it works for IPN payment processors.

Here's what to do: Create a Membership Type with duration: 1day and minimum fee = $1; then do what you describe above (live): purchase 2 terms on your Webform; and pay in 2 installments; That should:

result in Contact getting the Membership
result in Contact having a Contribution in his record: $1 receive date today
result in Contact having a Recurring Series (at the bottom of the Contribution tab) in his record: status: in progress, 2 installments, daily, next scheduled date: tomorrow

Tomorrow:
 - hopefully - another $1 contribution is generated and the Recurring Series status is updated to completed;

Update: you told me that the second $1 payment was indeed processed in PayPal WPS - so that's great; your CiviCRM did not receive the IPN so you had to manually reconcile - that's an issue between PayPal WPS and your CiviCRM [unrelated to Webform CiviCRM]

I really don't know how PayPal WPS handles expired/lost/stolen credit cards; and I don't know what business logic/consequences may be attached to a failed recurring payment; For the iATS Extensions we handle different Failed attempts - differently; but what we don't do is add any business logic - as many orgs will have different logic e.g. whether or not memberships should be canceled automatically on a failed recurring contribution.

Conclusion: if you setup Membership recurring with CiviCRM native - the code will do some things differently compared to when (we're on the outside - interacting with CiviCRM via the API) you use Webform CiviCRM; I can really only confirm that this is working fine for 4.6 and 4.7 when using an inline payment processor - like our iATS extension; but we've not coded anything specific to iATS about this. Again, we're using the CiviCRM API to create RecurringSeries - it's possible though that the API needs some improving.


How to install translated database strings? Allô!

I have installed CiviCRM 4.7.2 on Joomla and then copied the French language file (l10n/fr_CA/LC_MESSAGES/civicrm.mo). This allowed me to change the default language to fr_CA and most of CiviCRM is now French.

Now I'm looking to install the French language database data file (civicrm_data.fr_CA.mysql) to have the countries, activities and many more strings in French, but it seems this can't be done once the install is complete? Is that right?

The only way I can think of to install this database file is to reinstall CiviCRM but by first replacing the original (English) civicrm_data.mysql file with the content of the civicrm_data.fr_CA.mysql file in the install package. Is this the only way?  It feels like a strange hack and the i18n install guide does not mention this database file.

Thanks!

I managed to install CiviCRM in Joomla with the database translated strings, but I had to replace the civicrm_data.mysql file with the content of the civicrm_data.fr_CA.mysql file.

Here is what I did, step by step, in case someone else is trying to accomplish the same thing:

Uncompressed both civicrm-4.7.2-joomla.zip and civicrm-4.7.2-l10n.tar.gz in /tmp
Unzipped /tmp/com_civicrm/admin/civicrm.zip and deleted the zip file.
Copied /tmp/civicrm/l10n/fr_CA/LC_MESSAGES/civicrm.mo into a newly created /tmp/com_civicrm/admin/civicrm/l10n/fr_CA/LC_MESSAGES/ directory.
Copied /tmp/civicrm/sql/civicrm_data.fr_CA.mysql as /tmp/com_civicrm/admin/civicrm/sql/civicrm_data.mysql (overwriting the original file)
Zipped directory /tmp/com_civicrm/admin/civicrm as /tmp/com_civicrm/admin/civicrm.zip and deleted the directory.
Pointed Joomla to install from the /tmp/com_civicrm directory.
Once installed, from Joomla's control panel, went to CiviCRM - Administer - Localization - Languages and changed the default language to français (Canada).

That's it!  CiviCRM en français !  I don't know if there is an easier way, but that's the only solution I found working.


Error 500 with KCFinder in CKEditor I get an error 500 when trying to upload an image to server in CKEditor (for example when using print/merge document action), when the KCFinder new window opens. The URL called is :

https://subdomain.mysite.com/sites/all/modules/civicrm/packages/kcfinder/browse.php?cms=civicrm&type=images&CKEditor=html_message&CKEditorFuncNum=0&langCode=fr

I thought about a https related problem, but this URL :

https://subdomain.mysite.com/sites/all/modules/civicrm/packages/kcfinder/

...is working fine and opens the KCFinder file browser.

Does anyone encountered this problem ? I can't reproduce it on demo site, I am running CiviCRM 4.7.10 with Drupal 7.50. I don't have anything in Apache logs.

I suspect a file / folder permissions issue too, does anyone have an idea on what is going on ?

Thank you

EDIT

I was able to open the file browser using this URL :

https://subdomain.mysite.com/sites/all/modules/civicrm/packages/kcfinder/browse.php??cms=civicrm&type=images&CKEditor=html_message&CKEditorFuncNum=95&langCode=fr (note the "??" just after "browse.php")

...but

https://subdomain.mysite.com/sites/all/modules/civicrm/packages/kcfinder/browse.php?cms=civicrm&type=images&CKEditor=html_message&CKEditorFuncNum=95&langCode=fr (only one "?" after "browse.php") still gives me an error 500.

very confusing...

My mistake, I left a hack in civicrm.settings.php (and forgot it, it was months ago) which led to this weird behavior. Reverting the hack solves the problem :

// can't remember why I did this 18 months ago, but this is obviously a bad idea...
//require_once './sites/all/modules/civicrm/CRM/Core/ClassLoader.php';
require_once 'CRM/Core/ClassLoader.php';

Many thanks to XDebug, and lesson learned (again :) about hacking CiviCRM code...


Event Discount Based on Number of Participants Selecting Price Set Option I'm working on a child care event for a conference. The way the pricing is set up, you have different sessions for child care with a discount applied for two or more children in the same session. So:

Saturday all day ($30 1 child; $40 2 or more children)
Saturday morning ($15 1 child; $25 2 or more)
Saturday afternoon ($15 1 child; $25 2 or more)

I am assuming in order to do this the way it's structured I have to use hooks to modify pricing? I'm assuming civicrm_buildAmount is the appropriate hook. Any suggestions on how to approach what I'm trying to do. I'm not entirely sure how I would review all price sets for registrants to say (pseudo code):

if ( more than one registrant selects $option['saturday all day']) {
   $option['amount'] = 40/total registrants selecting this option
}

Any thoughts are appreciated.

Thanks,
Rachel

To my knowledge you have started in the right path and that would be the best way to process priceset - yes BuildAmount hook is used for handling the priceset amount

Also I guess you should have already known about discount module if not please refer to the link below - If this works in anyway

refer -  https://civicrm.org/extensions/cividiscount

All the best - I guess this helps !!!


How secure is CiviCRM? How does CiviCRM keep our data secure?  Is the program web-based? Or is it desktop based?  I am interested in downloading and trying CiviCRM for our organization but can't find an information on security features.

Thank you.

CiviCRM does not do anything special to either keep your data secure or insecure. It stores data in a MySQL database like lots of other applications.

The security is more in the way you configure your database server and the way CiviCRM (which is a web application and not a desktop application) can be accessed from outside.

A little more information in the configuration we tend to advise as the most secure (but also as usual most cumbersome and expensive) can be found in this CiviCon session by my community mate Björn Endres: https://www.youtube.com/watch?v=JKNR0bDjB9k


Spanish protection of data obey. Question about a possible Sue against your company I am really worried about the Spanish law of data protection. I would like to know if you have applied a special  plan to obey this law.
Thank you

Is this the same as the EU data protection directive?  The good news is that it doesn't go in to force until mid-2018, so you've got a bit of time to figure it out.


Importing Contributions - Email Receipt When importing contributions I would like receipts to go to the contacts that made the payment. What is the best approach to make this happen?

You could import and tag or add to a Group, then find via Adv Search (filter by Group/Tag plus date of donation) but set to 'Display as Contributions, then use the Actions to trigger Print or Email Contribution Receipt which is described thus:

  You may choose to email receipts to contributors OR download a PDF file containing one receipt per page to your local computer by clicking Process Receipt(s).


How to develop extension that relies on libs brought in by composer I'm wanting to (re)develop an extension and I'd like to use some 3rd party libraries, eg. guzzle, that I would normally manage via composer.

So my github repo will contain a composer.json file, but not the vendor directory. So would I need to package installable versions with the libraries included?

Also, what if I were to install libraries that are already included (eg dependencies of the libraries I want might be already in use leading to a namespace clash).

Is there a workflow for this sort of thing?

Approaches

There are a few different patterns one could follow in connecting Civi extensions with composer:

(Broad scope) Site build via composer: The entire web site is defined with a custom composer.json file. It doesn't matter what kind of dependency you need to pull in (CMS, CMS module, CMS theme, CRM, CRM extension, PHP library, CSS library, etc), it's all brought in through the same tools/workflows.
(Medium scope) Use composer for the extensionDir: Civi has a special folder (e.g. sites/default/files/civicrm/ext) for storing downloaded extensions. We could keep this folder but manage it differently -- e.g. rewrite CRM_Extension_Downloader as a wrapper for composer.
(Narrow scope) Intra-extension dependency: If one particular extension requires a particular library, then the extension could have its own copy of composer.json and vendor/. The final zip file would embed vendor/.

Site build via composer

IMHO, this is the holy-grail. It's consistent with the architecture of PHP and composer, and it resolves problems that afflict dependency-management in Drupal (libraries/ guffaw!) and CiviCRM (dependencies guffaw!) and probably Joomla/WordPress.

It's worth drilling down on the architecture concern for a moment. Civi is deployed as a PHP app which shares a runtime with another PHP app. In PHP, the runtime can only load one version of a library -- e.g. you can load Guzzle v5.0 XOR v5.1 but not both, so it's important to pick a version of Guzzle that is acceptable to all libraries/modules/extensions. When using composer in narrow/piecemeal fashion, it doesn't get the full list of libraries/modules/extensions, so it cannot help you pick a version of Guzzle that satisfies the overall system. You're more likely to suffer from hidden version-conflicts (if, e.g., a Drupal module loads Guzzle v5.0 while your Civi extension loads Guzzle v5.1).

The main challenge is that many of the relevant systems (Drupal, Joomla, WordPress, Civi, etc) predate composer and have some impedance mismatch with composer (e.g. composer lacks a GUI; Drupal has multisite PHP loading; post-install hooks work differently). Getting these communities to switch is a major undertaking.

I think there are some fairly clear steps we can take toward supporting this model, but your question was really aimed at a different approach...

Intra-extension dependency

No one controls enough of the ecosystem to quickly switch a critical-mass of site-building to composer. And this version-conflict stuff may sound theoretical. In fact, you can get some mileage out of piecemeal dependency management. (Case in point: civicrm-*.tar.gz ships with its own bundled copy of vendor/!) And your comments indicate an interest in this approach.

Unfortunately, you're basically on-your-own to make this work. Loosely, I'd try:

In the myextension.git repo, add a composer.json file which lists any dependencies. Use .gitignore to avoid committing vendor/. In myextension.php, use require_once __DIR__.'/vendor/autoload.php';.
When registering your extension on civicrm.org, do not specify a Github URL. Neither github.com nor civicrm.org is smart enough to build your releases automatically.
Setup a CI tool which monitors your git repo and publishes the final zip archive. As a very loose example, I publish the civix.phar file with Jenkins (job, script). You could write a similar script to run composer install, zip, and then publish the final file.
Whenever you want to publish a new release, login to civicrm.org and manually create a new release node (with suitable info.xml and download URL).

Unfortunately, there is a risk that your dependencies will conflict with others'. There's not a whole lot you can do about this... except pick obscure dependencies that aren't likely to conflict.

(In theory, if you know that your extension and the conflicted one never use the conflicted dependencies within the same page-request, then you could do some fiddly bits in the class-loading to only load the correct one. But in a powerful system like Drupal/Civi, it's really hard to provide this guarantee, and the other party may not play-along.)


Network Error when wanting to modify a ACL Role I get a "Network Error" when I want to modify an ACL Role.

This happens on my Production Site which is in https, and not on 2 other test sites which are in http.

All my sites are in Civi 4.7.2 / Drupal 7.42

Sorry for the question : this problem was due to errors in my .htaccess file.
Once fxed, everything works OK.

Question closed.


Interested in setting up capacity for receiving recurring donations My organization is looking to set up a monthly giving program -- does CiviCRM have the capacity to process/store recurring donations?

Civi works with a number of payment processors, some of which do recurring payments.

I think the best list of which do what is here: https://wiki.civicrm.org/confluence/display/CRMDOC/Payment+Processors


Website Hosting and CiviCRM I redesigned a website for a local nonprofit using Wordpress that is currently hosted with Network Solutions.  After I finished the website for them, they started looking into finding a database for those who donate/buy tickets for their organization, and they ultimately settled on CiviCRM.  However, when they tried to install and configure CiviCRM for the site, the final configuration could not take place due to a glitch saying that the setting of the "auto_increment_increment" needs to be set to 1.  The nonprofit and I have been looking into the issue online, and ultimately we were informed that the underlying issue was that CiviCRM is not compatible with Network Solutions for security reasons or something along those lines.  (Problem with CiviCRM configuration (auto_increment) with wordpress (4.x) website)

I am at the point where I'm considering transferring the website's hosting from network solutions to one of the recommended hosts listed on your website.  Before I do so, I just wanted to run our situation by you folks one last time to make sure that we're taking the right course of action.  I will admit, I am very new to web design, so my knowledge of things such as this is rather limited, so hopefully I'm not missing anything obvious.  Hopefully my query isn't too vague.  Let me know if you require any additional information.

CiviCRM has very specific hosting requirements, so it is always best to select a hosting provider that advertises compatibility with CiviCRM. The CiviCRM hosting providers directory (https://civicrm.org/hosting-providers) is your best place to find such hosts.


How to setup cron trigger in CiviRules extension How can i set the trigger event to be a daily cron on memberships?

Goal is to check all memberships that has status pending for more than 40 days, if yes then change status to expired. I understand it would be a custom condition and action.

You can set the Membership status rule to end date as 40 days for pending status. But i am not confident that pending memberships are actually processed by 'Update Membership statuses' cron job.


CiviCRM Shortcodes button no longer shows up on Wordpress The CiviCRM shortcodes button on WordPress is no longer showing up on my install and I cannot determine why.

What could cause this functionality to disappear?

If you have the CiviCRM Admin Utilities plugin active, make sure you have selected the post types on which the button is allowed.


How do I sort by Case Type Title instead of id in a Drupal View? We frequently need to sort Drupal Views by Case Type.

It works, but sorts by id not the title field.

I believe it has to do with the pseudoconstant references in civicrm.case.inc and civicrm.core.inc.

I think that approach is fine except when it's time to sort and/or filter.

In Drupal Views, all exposed filters are sorted by id.  So when a user tries to filter by Case Type they get an unordered list of Case Types that to their eyes are in a very random order and is more difficult to use.

Same thing if I sort the overall view by case type.  Cases appear in non-alphabetical order and require a bit more concentration to digest them.

Is there a way to sort these fields in alphabetical order?

Have you tried Civicrm Entities in Drupal?  It should allow you to expose anything as a drupal entity but I haven't verified this case.


PayPal Pro IPN Method missing When making recurring contributions, everything works fine when entering credit card info directly, but if one uses a PayPal account, the method (m=contribute) is missing in the IPN generated

(i.e., i=0c1df32e5c4f32d4f8ef1c2fe8e&m=&c=11058&r=95&b=465&p=14)

It should read i=xxxx&m=contribute&c=... like it does for IPNs generated using credit cards directly.

The recurring profile shows the status as Pending and the contributions show as Pending (Incomplete Transaction) in Civi through they are completing properly in PayPal.

Is this a bug or something on my side!?!?
Running Civi 4.7.15 in WP.
Any help is appreciated - thanks!
Karen

Is this paypal pro or standard? For paypal pro all IPNS except for recurring are actually ignored, the outcome is resolved in realtime (ideally the IP would be a backup but Civi code doesn't implement that)


How do you stop names from doubling - Views I have a membership database and a View of Local Leaders info, but it is showing each person twice in the View's list. I have tried to delete the contacts and input them back in they still show up double.

If I had to guess, I'd say your "Look up Leaders" functionality is built with Views in Drupal or Backdrop, and it shows up double because there are two different "Other" phone numbers for these contacts. It's treating them as two different entries.

If that is the case and if it's possible to remove or relabel the second phone number location type in the contact records (ie. not have two "Other" phone numbers -- although you could have multiple phone numbers if they have different location types) I think it would solve the issue.

EDIT Upon closer inspection, the second "Other" number appears to duplicate the "Mobile" number. In the contact record, try deleting the duplicate number with the "Other" location type.


Drupal 7 Views Not Seeing CiviCRM fields I've installed Drupal 7 (7.56) and installed CiviCRM (4.7.27) and the Views Module (with accompanying modules)... however, when I try creating a view... and select "Add a field" the CiviCRM fields are not appearing...

... I have added the variable from sites/all/modules/civicrm/install/index.php e.g. the :

$databases['default']['default']['prefix']= array(
'default' => 'drup_',
'civicrm_acl'   => '`adef_civi_`.',
... all the way to...
);

after the $databases line:

$databases = array('default' => array( 'default' => array(
'driver' => 'mysql',
'database' =>
etc...

In the settings.php file, which resides under /sites/default/

Also, the base url is set in the civicrm.settings.php file e.g.

if (!defined('CIVICRM_UF_BASEURL')) {
     define( 'CIVICRM_UF_BASEURL'      ,
     'https://www.example.com/');
}

Any one have any idea as to why the fields won't show up in Views?

Here's what is in my settings.php file, although sanitized to remove actual database names, password, etc (found at the bottom of this post).

After doing that, I make sure that I do a complete cache clear in Drupal so that it picks up the changes I made.

Then I go into Views and choose to make a view that is a CiviCRM type (such as one for events or people) - see screenshot:

Once I do that and then go to the next page (to create a page, block, etc), then I have the CiviCRM fields available for what I chose. In this example, I selected CiviCRM Events, so the fields are all related to events.

Here's the code that is in my settings file:

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'databasename',
      'username' => 'username',
      'password' => 'mypassword',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

$databases['default']['default']['prefix']= array(
  'default' => '',
  'civicrm_acl'                              => 'dbname_crm4.',
  'civicrm_acl_cache'                        => 'dbname_crm4.',
  'civicrm_acl_contact_cache'                => 'dbname_crm4.',
  'civicrm_acl_entity_role'                  => 'dbname_crm4.',
  'civicrm_action_log'                       => 'dbname_crm4.',
  'civicrm_action_mapping'                   => 'dbname_crm4.',
  'civicrm_action_schedule'                  => 'dbname_crm4.',
  'civicrm_activity'                         => 'dbname_crm4.',
  'civicrm_activity_contact'                 => 'dbname_crm4.',
  'civicrm_address'                          => 'dbname_crm4.',
  'civicrm_address_format'                   => 'dbname_crm4.',
  'civicrm_batch'                            => 'dbname_crm4.',
  'civicrm_cache'                            => 'dbname_crm4.',
  'civicrm_campaign'                         => 'dbname_crm4.',
  'civicrm_campaign_group'                   => 'dbname_crm4.',
  'civicrm_case'                             => 'dbname_crm4.',
  'civicrm_case_activity'                    => 'dbname_crm4.',
  'civicrm_case_contact'                     => 'dbname_crm4.',
  'civicrm_case_type'                        => 'dbname_crm4.',
  'civicrm_component'                        => 'dbname_crm4.',
  'civicrm_contact'                          => 'dbname_crm4.',
  'civicrm_contact_type'                     => 'dbname_crm4.',
  'civicrm_contribution'                     => 'dbname_crm4.',
  'civicrm_contribution_page'                => 'dbname_crm4.',
  'civicrm_contribution_product'             => 'dbname_crm4.',
  'civicrm_contribution_recur'               => 'dbname_crm4.',
  'civicrm_contribution_soft'                => 'dbname_crm4.',
  'civicrm_contribution_widget'              => 'dbname_crm4.',
  'civicrm_country'                          => 'dbname_crm4.',
  'civicrm_county'                           => 'dbname_crm4.',
  'civicrm_currency'                         => 'dbname_crm4.',
  'civicrm_custom_field'                     => 'dbname_crm4.',
  'civicrm_custom_group'                     => 'dbname_crm4.',
  'civicrm_dashboard'                        => 'dbname_crm4.',
  'civicrm_dashboard_contact'                => 'dbname_crm4.',
  'civicrm_dedupe_exception'                 => 'dbname_crm4.',
  'civicrm_dedupe_rule'                      => 'dbname_crm4.',
  'civicrm_dedupe_rule_group'                => 'dbname_crm4.',
  'civicrm_discount'                         => 'dbname_crm4.',
  'civicrm_domain'                           => 'dbname_crm4.',
  'civicrm_email'                            => 'dbname_crm4.',
  'civicrm_entity_batch'                     => 'dbname_crm4.',
  'civicrm_entity_file'                      => 'dbname_crm4.',
  'civicrm_entity_financial_account'         => 'dbname_crm4.',
  'civicrm_entity_financial_trxn'            => 'dbname_crm4.',
  'civicrm_entity_tag'                       => 'dbname_crm4.',
  'civicrm_event'                            => 'dbname_crm4.',
  'civicrm_event_carts'                      => 'dbname_crm4.',
  'civicrm_events_in_carts'                  => 'dbname_crm4.',
  'civicrm_extension'                        => 'dbname_crm4.',
  'civicrm_file'                             => 'dbname_crm4.',
  'civicrm_financial_account'                => 'dbname_crm4.',
  'civicrm_financial_item'                   => 'dbname_crm4.',
  'civicrm_financial_trxn'                   => 'dbname_crm4.',
  'civicrm_financial_type'                   => 'dbname_crm4.',
  'civicrm_grant'                            => 'dbname_crm4.',
  'civicrm_group'                            => 'dbname_crm4.',
  'civicrm_group_contact'                    => 'dbname_crm4.',
  'civicrm_group_contact_cache'              => 'dbname_crm4.',
  'civicrm_group_nesting'                    => 'dbname_crm4.',
  'civicrm_group_organization'               => 'dbname_crm4.',
  'civicrm_im'                               => 'dbname_crm4.',
  'civicrm_job'                              => 'dbname_crm4.',
  'civicrm_job_log'                          => 'dbname_crm4.',
  'civicrm_line_item'                        => 'dbname_crm4.',
  'civicrm_loc_block'                        => 'dbname_crm4.',
  'civicrm_location_type'                    => 'dbname_crm4.',
  'civicrm_log'                              => 'dbname_crm4.',
  'civicrm_mail_settings'                    => 'dbname_crm4.',
  'civicrm_mailing'                          => 'dbname_crm4.',
  'civicrm_mailing_abtest'                   => 'dbname_crm4.',
  'civicrm_mailing_bounce_pattern'           => 'dbname_crm4.',
  'civicrm_mailing_bounce_type'              => 'dbname_crm4.',
  'civicrm_mailing_component'                => 'dbname_crm4.',
  'civicrm_mailing_event_bounce'             => 'dbname_crm4.',
  'civicrm_mailing_event_confirm'            => 'dbname_crm4.',
  'civicrm_mailing_event_delivered'          => 'dbname_crm4.',
  'civicrm_mailing_event_forward'            => 'dbname_crm4.',
  'civicrm_mailing_event_opened'             => 'dbname_crm4.',
  'civicrm_mailing_event_queue'              => 'dbname_crm4.',
  'civicrm_mailing_event_reply'              => 'dbname_crm4.',
  'civicrm_mailing_event_subscribe'          => 'dbname_crm4.',
  'civicrm_mailing_event_trackable_url_open' => 'dbname_crm4.',
  'civicrm_mailing_event_unsubscribe'        => 'dbname_crm4.',
  'civicrm_mailing_group'                    => 'dbname_crm4.',
  'civicrm_mailing_job'                      => 'dbname_crm4.',
  'civicrm_mailing_recipients'               => 'dbname_crm4.',
  'civicrm_mailing_spool'                    => 'dbname_crm4.',
  'civicrm_mailing_trackable_url'            => 'dbname_crm4.',
  'civicrm_managed'                          => 'dbname_crm4.',
  'civicrm_mapping'                          => 'dbname_crm4.',
  'civicrm_mapping_field'                    => 'dbname_crm4.',
  'civicrm_membership'                       => 'dbname_crm4.',
  'civicrm_membership_block'                 => 'dbname_crm4.',
  'civicrm_membership_log'                   => 'dbname_crm4.',
  'civicrm_membership_payment'               => 'dbname_crm4.',
  'civicrm_membership_status'                => 'dbname_crm4.',
  'civicrm_membership_type'                  => 'dbname_crm4.',
  'civicrm_menu'                             => 'dbname_crm4.',
  'civicrm_navigation'                       => 'dbname_crm4.',
  'civicrm_note'                             => 'dbname_crm4.',
  'civicrm_openid'                           => 'dbname_crm4.',
  'civicrm_option_group'                     => 'dbname_crm4.',
  'civicrm_option_value'                     => 'dbname_crm4.',
  'civicrm_participant'                      => 'dbname_crm4.',
  'civicrm_participant_payment'              => 'dbname_crm4.',
  'civicrm_participant_status_type'          => 'dbname_crm4.',
  'civicrm_payment_processor'                => 'dbname_crm4.',
  'civicrm_payment_processor_type'           => 'dbname_crm4.',
  'civicrm_payment_token'                    => 'dbname_crm4.',
  'civicrm_pcp'                              => 'dbname_crm4.',
  'civicrm_pcp_block'                        => 'dbname_crm4.',
  'civicrm_persistent'                       => 'dbname_crm4.',
  'civicrm_phone'                            => 'dbname_crm4.',
  'civicrm_pledge'                           => 'dbname_crm4.',
  'civicrm_pledge_block'                     => 'dbname_crm4.',
  'civicrm_pledge_payment'                   => 'dbname_crm4.',
  'civicrm_preferences_date'                 => 'dbname_crm4.',
  'civicrm_premiums'                         => 'dbname_crm4.',
  'civicrm_premiums_product'                 => 'dbname_crm4.',
  'civicrm_prevnext_cache'                   => 'dbname_crm4.',
  'civicrm_price_field'                      => 'dbname_crm4.',
  'civicrm_price_field_value'                => 'dbname_crm4.',
  'civicrm_price_set'                        => 'dbname_crm4.',
  'civicrm_price_set_entity'                 => 'dbname_crm4.',
  'civicrm_print_label'                      => 'dbname_crm4.',
  'civicrm_product'                          => 'dbname_crm4.',
  'civicrm_queue_item'                       => 'dbname_crm4.',
  'civicrm_recurring_entity'                 => 'dbname_crm4.',
  'civicrm_relationship'                     => 'dbname_crm4.',
  'civicrm_relationship_type'                => 'dbname_crm4.',
  'civicrm_report_instance'                  => 'dbname_crm4.',
  'civicrm_saved_search'                     => 'dbname_crm4.',
  'civicrm_setting'                          => 'dbname_crm4.',
  'civicrm_sms_provider'                     => 'dbname_crm4.',
  'civicrm_state_province'                   => 'dbname_crm4.',
  'civicrm_subscription_history'             => 'dbname_crm4.',
  'civicrm_survey'                           => 'dbname_crm4.',
  'civicrm_system_log'                       => 'dbname_crm4.',
  'civicrm_tag'                              => 'dbname_crm4.',
  'civicrm_tell_friend'                      => 'dbname_crm4.',
  'civicrm_timezone'                         => 'dbname_crm4.',
  'civicrm_uf_field'                         => 'dbname_crm4.',
  'civicrm_uf_group'                         => 'dbname_crm4.',
  'civicrm_uf_join'                          => 'dbname_crm4.',
  'civicrm_uf_match'                         => 'dbname_crm4.',
  'civicrm_value_additional_information_1'   => 'dbname_crm4.',
  'civicrm_value_commerce_purchases_6'       => 'dbname_crm4.',
  'civicrm_value_event_information_9'        => 'dbname_crm4.',
  'civicrm_value_host_location_5'            => 'dbname_crm4.',
  'civicrm_value_hotel_information_4'        => 'dbname_crm4.',
  'civicrm_value_hotels_3'                   => 'dbname_crm4.',
  'civicrm_value_member_information_2'       => 'dbname_crm4.',
  'civicrm_value_private_training_8'         => 'dbname_crm4.',
  'civicrm_value_private_trainings_7'        => 'dbname_crm4.',
  'civicrm_website'                          => 'dbname_crm4.',
  'civicrm_word_replacement'                 => 'dbname_crm4.',
  'civicrm_worldregion'                      => 'dbname_crm4.',
);


Assigning multiple participant roles in civi event, through imports I would like to assign multiple roles to event participants through imports.
I can upload a csv to assign a user role, but if I import a second data source with a different role, it is set aside as a duplicate and not imported. I would like the second role to be added to the existing record. (not overwrite)

For instance I have a list of auction event particapants who are attendees, donors and/or buyers. My lists have overlapping contacts.  I would like to keep these all associated with the event, rather than creating groups or tags. Handling the overlaps manually is not practical.

The value for all Role data is stored in a single field so I think however you tackle this you are at risk of overwriting existing Roles. Here is one process that at least makes existing Role values visible so you won't overwrite them accidentally.

Create a Profile for updating Participants that includes the Import your Contact IDs and add them to a Group

Use Adv Search to find those Contacts but set the search "Display Results As" to be Participants.

Select the records you want to update - under Actions choose Update multiple participants - select the Profile you created above - this should then give you a batch updates screen where each Role is shown as a checkbox


Transaction went through, but Contribution missing using 4.6.8 on Drupal 7.  FirstData is our payment processor.

This week we received a transaction confirmation from FirstData from one of our long time members.  FirstData calls this a "gateway receipt" and is generated directly from them with no involvement with CiviCRM, for every transaction approved.  We have his money.

But there's no record of the contribution in CiviCRM itself.  I've looked through the database directly (phpmyadmin), looking for transactions of the same dollar amount, or for the same contact, or even orphaned line items with no transaction.  Nothing.

Has anyone seen this before or have ideas about how it can happen?  Possibly a timeout for transaction response from FirstData?

Rob,

Since you're processing a lot of transactions I think we can assume that there isn't an issue with CiviCRM or the payment processor or gateway.  We have seen this occur with our clients with a variety of payment processors and generally we recommend not spending much time researching unless it starts to happen regularly.

I do recommend that create a daily reconciliation report (you may have already done so) that gets emailed to out accountant each morning so that the CiviCRM transactions and the payment processor transactions can be compared.  For larger organizations something like this is required by their auditing practice.  Ensure the CiviCRM report uses the same time cut-off as the payment processor.


Multiple Financial Types on one payment form? Is there a way to specify multiple financial types on one contribution or registration form? For example, what would be the best way to set up a page that allowed a gala ticket purchase and also allowed sponsorship levels (if desired)? We can set up multiple price sets on a contribution form to allow the separate selection of a ticket and a sponsorship level, but they would all be the same financial type.

In this case, I suppose the best case would be to set up an event for the gala, allow registration including a few custom price sets, but to be able to break those extra (optional) donation/sponsorship items out as the 'Donation' (or 'Sponsorship') financial type rather than 'Event fee'.

Is anything like this possible?

If you use price sets then each field, or each option on multiple option fields, can have its own financial type. Currently, event price sets support contributions (FWIW, membership price sets also support contributions, but it's not yet possible to have memberships and event tickets in the same price set).

The trouble you are having is the simplified price sets on the Fees tab all use the same financial type. Note that just above that simplified interface there is a link you can use to convert your existing options into a complex price set: 'Click here if you want to configure the Regular Fees below as part of a Price Set, with the added flexibility and complexity that entails.'


CiviCRM running very slow on local network CiviCRM running very slow on local network, but index.php ,phpmyadmin and joomla are fine. What could be the problem? I tried this solution (https://processwire.com/talk/topic/8320-local-dev-server-running-slow-this-may-be-of-help/) to change localhost in conf.php into 127.0.0.1 and restart the server pc. But nothing changed. Plus the civicrm home page took almost 30 min to load the "better UI". Please help
-joomla 3.8.7
-mysql 5.5
-apache 2.4
-phpmyadmin 4.8.0.1
-civicrm 5.0.1
-php 7.1.16

The other problem is I could not save/edit anything on civicrm from another computer on the same network
-but editing/saving anything on joomla and phpmyadmin from other pc is fine
-plus on the server read/write have no problem
-civicrm css wont load on local network, but only works on localhost(server)

and i tried this, HELP! civiCRM Administration Area Not Showing! [Joomla 3.6.5] [civicrm 4.7.16] but no luck, its not working with http://myServerIP/administrator/?option=com_civic....

I'm really sorry if i made my question confusing, please bear with me.

And once again I had found out the answer on my own, took a lot of time though...  it is in components and administrator's civicrm.setting.php (both php file!)
just simply change both localhost (see the photos below) into your server IP
Simple as that (yeah I'm so noob TwT), I wish this can help those who have the same problem like mine, apology for my bad grammar english and stuffs :P


qfKey are always invalid when returning from payment processor in contribution I have a site which has been running for some time.  Recently whenever anyone makes a contribution (via PayPal).  When they click return to merchant they get the following error:

This is caused by the qfKey coming back in the URL being invalid.  The error starts on line 308 of civicrm/CRM/Core/Controller.php and is caused by CRM_Core_Key::validate($key, $name, $addSequence) returning null.
I have disabling all my custom templates and the issue persists.  Looking at the code it should get the qfKey from the request, so what is causing it to be invalid?

This usually happens when you have

Browser cookies disabled
CiviCRM cache cleared when users is on payment processor gateway and doing payment.
User is created at the time of submitting contribution and causes session to clear.


Can automatic CiviDiscounts be contact-specific? I would like to set up automatic discounts for a membership on an individual basis, so that each person's scholarship can be reflected on the membership payment page without any codes needed. It seems like this should be possible using perhaps the contact ID or something along those lines, but I haven't yet hit upon the correct setting for it. Is this possible, and if so, how would I go about doing it?

I'm using Drupal 7, CiviCRM 4.6.18, & CiviDiscount 3.2

This is possible, but you need to know how to address the API using JSON.  Also, if you select contacts by name, you're going to need a different discount per contact.  Using a custom field might be better.

Also note that this requires that the person filling out the contribution form be logged in!

Attached please find an example of a CiviDiscount configuration that gives a 50% discount to anyone with a last name of "Smith".  Check out the API Explorer if you need help with field names or syntax.


accessing CiviCRM dashboard link for first time fails Virgin Wordpress Install - The install seemed to go fine - all green.
Clicking the CiviCRM link in the dashboard link gives DB Error: unknown error

I did a re-install. Curiously, when I downloaded the instal again, there were more files. Anyway, I have now moved the problem on to getting a white screen. I guess that's progress. Will close this question.


How do I setup Wordpress multi site with CiviCRM mutlisite? To what degree does CiviCrm play well with Wordpress multi site installations?

More directly - If I have a multi site install, what is the best way for each 'org' website to seemingly have it's own CiviCrm instance?

I have a Wordpress multi-site that's working quite well.  Note that there are two approaches to Wordpress multi-site: subdomain and subfolder (e.g. "site1.example.org, site2.example.org" vs. "example.org/site1", "example.org/site2".

I posted instructions on the wiki page Lobo mentioned for how to set up civicrm.settings.php for subdomain multi-site.  I haven't updated it with subfolder multi-site instructions, but you can find them on my "CiviCRM multi-site checklist" page here: https://hq.palantetech.coop/projects/commons/wiki/CiviCRM_multi-site_checklist.  If you follow the instructions on that page, each site should be more-or-less independent from one another - especially if you install Eileen's excellent multisite permissioning extension (install from github, not extensions directory!)


View bounces when sending through general email (not CiviMail) Is there a way to view or be informed about bounces sent through CiviCRM other than through the CiviMail component (i.e. send now, transactional emails, etc.)? I discovered that a contact who should have been receiving important emails about an event had an incorrect email address and so wasn't receiving the emails. Neither were we getting notified that there was a problem. I'd like to avoid this!

Found my own answer. Our bounces@... address is set up as a catch-all, so bounces (or other badly addressed email) come to it, but CiviMail only processes bounces from emails sent through that component. Other emails are sitting in the inbox of the bounces@ account, waiting to be read, or forwarded through judicious use of a filter.

Leaving this question for posterity.


What to do when a CiviCRM demo site is not working? I am trying to do some testing on the wordpress demo site but it seems to be down.

http://wpmaster.demo.civicrm.org/membership-page/

I seem to be getting an error when running deduping with the wrong wordpress account being link to the remaining record. I want to be able to test this in the demo before submitting another ticket

Cheers - Phil

The demo site may have been down but is currently working.

Demo sites are periodically reset and I'm not sure if there's any downtime when that happens. In any case if CiviCRM infrastructure like demo sites is not functioning correctly, you can try the IRC and someone there may be able to assist.


Why is the billing name missing from the contributions email receipt? Emails being generated from new members are now missing 'billingName'. I'm not sure when this happened, we are on 5.11.

The presentation of the output is

Billing Name and Address
<blank>
<billing address.

The form has billing_first_name and billing_last_name.

The template web/sites/all/modules/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl

has

{elseif $amount GT 0}

     {ts}Billing Name and Address{/ts}

     {$billingName}

     {$address|nl2br}

     {$email}

  {/if}

The answer posted by Interlated can be problematic and display incorrect name if the contact doing the contribution has different name specific for billing fields. For Eg -

A contribution page is created with profile = "Name and Address".
When the page is visited online, the profile + billing profile is loaded on the form.
User unchecks the option My billing address is the same as above and enters a different name and address for billing fields.

The {contact.display_name} will load the original contact name in the mail receipt instead of the expected billing name.

We've also come across this problem and saw some receipt missing the billing fields. This seems to be due to name field in civicrm_address table being set to NULL due to some reason.

Not yet sure how to replicate this, but below patch have fixed the problem for us.

diff --git a/CRM/Core/BAO/Address.php b/CRM/Core/BAO/Address.php
index af3dbd233d..31f69c9996 100644
--- a/CRM/Core/BAO/Address.php
+++ b/CRM/Core/BAO/Address.php
@@ -504,6 +504,10 @@ class CRM_Core_BAO_Address extends CRM_Core_DAO_Address {
       $values = [];
       CRM_Core_DAO::storeValues($address, $values);

+      //Fill name of contact if empty.
+      if (empty($address->name) && !empty($address->contact_id)) {
+        $address->name = CRM_Contact_BAO_Contact::displayName($address->contact_id);
+      }
       // add state and country information: CRM-369
       if (!empty($address->location_type_id)) {
         $values['location_type'] = CRM_Utils_Array::value($address->location_type_id, $locationTypes);


No such field: card_type, but exists I've upgraded CiviCRM multiple times since we last ran an event which requires payments, and are now at 4.7.17 on Joomla 3.6.5 with MySQL 5.7.18.

When many (not all) users try to register they encounter "DBError: no such field" and the debug info points to Unknown column 'card_type' in 'field list', 1054 and the query

INSERT INTO civicrm_financial_trxn (to_financial_account_id , trxn_date , total_amount , fee_amount , net_amount , currency , status_id , payment_instrument_id ) VALUES ( 10 ,  20170607160037 ,  3200 ,  0 ,  3200 , 'SEK' ,  2 ,  4 )  [nativecode=1054 ** Unknown column 'card_type' in 'field list']

and the backtrace shows this

...
#14 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Core/DAO.php(487): DB_DataObject->insert()
#15 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Core/BAO/FinancialTrxn.php(66): CRM_Core_DAO->save()
#16 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Contribute/BAO/Contribution.php(3364): CRM_Core_BAO_FinancialTrxn::create((Array:11))
#17 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Contribute/BAO/Contribution.php(236): CRM_Contribute_BAO_Contribution::recordFinancialAccounts((Array:22))
#18 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Event/Form/Registration/Confirm.php(1038): CRM_Contribute_BAO_Contribution::add((Array:22), (Array:0))
#19 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Event/Form/Registration/Confirm.php(611): CRM_Event_Form_Registration_Confirm::processContribution(Object(CRM_Event_Form_Registration_Confirm), (Array:35), NULL, "6642", TRUE, FALSE, (Array:10))
#20 /var/www/events/administrator/components/com_civicrm/civicrm/CRM/Core/Form.php(453): CRM_Event_Form_Registration_Confirm->postProcess()
...

However, in my database the field does actually exist, as shown by this create statement generated from the table

CREATE TABLE `civicrm_financial_trxn` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Gift ID',
    ...
   `card_type` int(10) unsigned DEFAULT NULL COMMENT 'FK to accept_creditcard option group values',
    ...

How can this happen? What do I do next? Should I try re-running the database upgrade script?

Are you sure you dont have logging turned on? It may be the trigger on the table failing to insert into the logging tables because they haven't been refreshed yet?

Solution is to disable logging whilst the upgrade is done then turn back on again.


How do I get Views working with CiviCRM and Backdrop? I followed the instructions for getting Views working with Drupal but it's not working in Backdrop. I see:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'database_name.civicrm_contact' doesn't exist

Getting Views working with Backdrop is essentially the same as getting Views working with Drupal, although there can be one extra step. So first, follow these instructions to get CiviCRM's tables into Views.

Regarding the possible second step, Backdrop by default uses a simplified structure to specify database credentials (more). This will not cause a problem if you are using the same database for CiviCRM and Backdrop and you do not have a second step.

If, however, you have CiviCRM in a separate database, you need to adjust your Backdrop settings.php in one additional way, changing the default/simplified database string...

$database = 'mysql://user:pass@localhost/database_name';

...to allow multiple databases:

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'database_name',
  'username' => 'user',
  'password' => 'pass',
  'host' => 'localhost',
);

@colemanw's note from the Drupal answer applies here, too: "if your [Backdrop] sql user and CiviCRM sql user are different then you need to grant SELECT privileges to the [Backdrop] one for the CiviCRM db."


Themekey Rule to Present Theme on CiviEvent Page This is not working for loading my theme on my CiviEvent page of civicrm/event/register?reset=1&id=29

What are the right ThemeKey rules to use?

Use Themekey CiviCRM from Fuzion Github, it can select themes by contribution page ID or type, and event page ID or type.


Grant Export Custom field Cutoff On a brand new Drupal 7 / CiviCRM 5.6.0 install I created a custom field group for Grants and added one Contact Reference field and then created 2 grants. When I search for grants and export and try to export that Contact Reference field, the name of the Contact is limited to 16 characters.

Further testing indicates that the name of a Contact Reference field on a Contact record also is limited to 16 characters when exported.

ContactReference custom field saves contact id, and that field has max 16 numbers.
But when CiviCRM prepares Contact to export, that contact id(max 16 numbers)
transforms to contact's display name(more than 16 chars).
When CiviCRM tries to insert(to temporary table) more than 16 chars to field(with max length 16 chars)
then it slices that field.

This issue can be hot fixed in CiviCRM Core.
1. Find civicrm/CRM/Export/BAO/ExportProcessor.php file;
2. Find getSqlColumnDefinition method;
3. Replace varchar(16) to varchar(255).

CiviCRM Core need to add new condition: if is Custom Field with type ContactReference then use varchar(255) instead of  varchar(16).


new feature? - all addresses needs to be searchable In the latest releases of civicrm 4.7.18 onwards ,we can see the supplemental fields are searchable which is a very good feature.

However, one can have multiple addresses and civicrm allows to add multiple addresses to an individual. But, the searching and retrieving is possible only with the primary location for the contact. Searching is not possible for the other addresses. I would like it to happen in future releases.

In the advanced search under the "Address Fields" you can choose "Address Location" which defaults to primary only. By selecting all of them you can search by any address type.  answer taken from this thread Using custom fields to store secondary addresses


Attributes of dumb groups In the table civicrm_group, I've noticed that even my non-smart groups have the fields where_clause, where_table, and select_table filled in. These don't seem necessary and cause a fair amount of slowness.

Is their a reason they exist, and is there a down-side to making those fields null in non-smart groups?

Why are you saying it's the cause of the slowness? Did you manually make them null and measured an improvement of the speed?


Staff restricted by ACLs cannot use/see any other groups I have a group of CiviCRM users who are restricted by ACL to only be allowed to view and edit contacts in a certain geographic region (those contacts in a group called "Northern Region"). They also have view and edit permission on another group.

The problem is that the Manage Groups page only shows these two groups. If they add a new group it immediately dissapears!

Is this by design? It seems excessively limiting. I'd expect people to be able to see pretty much all groups, but only be able to see contacts within those groups that intersect with the contacts they're allowed by ACL.

Is there a work around?

Perhaps such staff are expected to create new groups as child groups of one of their ACL groups, but this is problematic because (a) it means that they can't make a group combining contacts from two+ groups and (b) it currently breaks access because of Bug #430

CiviCRM 5.10.3 / Drupal 7

The core issue is that CiviCRM's in-built ACLs don't distinguish between access to view a group and access to view the group's contacts.

However, extension-based ACLs CAN distinguish.  So my solution is to give folks access to "View All Groups" as a web-based ACL, then restrict permissions by extension.

Note that this doesn't work unless you've applied the patch for core#580.  This will be part of CiviCRM 5.12+.

UPDATE: Here's an example where I limit the viewing of anonymous donors (as flagged by a custom field) to members of a group called "Confidential Staff":

function tweaks_civicrm_aclWhereClause($type, &$tables, &$whereTables, &$contactID, &$where) {
  // If the person is not in the "Confidential Staff" group, don't show them the contacts in the "Anonymous Donors" group.
  if (!$contactID) {
    return;
  }
  $confidentialStaff = civicrm_api3('GroupContact', 'get', [
    'group_id' => "Confidential_Staff_14",
    'contact_id' => $contactID,
  ]);
  // If this person is not confidential staff;
  if ($confidentialStaff['count'] === 0) {
    // Find a list of anonymous donors.
    $result = civicrm_api3('Contact', 'get', [
      'return' => ["id"],
      'custom_12' => 1,
    ]);
    $anonDonors = array_keys($result['values']);
    $anonDonors = implode(",", $anonDonors);
    $where .= ($where ? ' AND ' : '') . " contact_a.id NOT IN ($anonDonors)";
  }
}


Is there a way to upload multiple discount counts into CiviDiscount? We are getting ready to do a Groupon promotion that will discount memberships. Groupon has generated individual "voucher codes" for each person who purchases. I need to enter each of these voucher codes as a single-use discount code. I'd like to be able to enter up to 200 codes at once, all with the same usage limits and rules, but so far, I can't figure out how to do this except to enter each code manually and set all the rules each time. When I try to just copy one code to avoid having to set all the rules each time, the copy shows a randomly-generated code that can't be edited. Has anyone figured this out?

I upvoted Zachary's answer, but I felt conflicted.  I do NOT recommend importing directly to MySQL, because you end up bypassing validation logic and could create corrupt discounts.  However, their suggestion of the API CSV Import GUI is a good one, and the one I'd recommend.

If you're not sure what the values should be for your various columns, go to Support menu » Developer » API Explorer.  Set your entity to DiscountCode and action to Get and press Execute.  You'll get something much like you're seeing below.  In the "Results" screen you can see the values, which you can copy/paste.  If you already had discount codes, you may need to scroll down to find one that matches the ones you want to enter.  You can click "Add Option" to set Limit to 0 if you can't see the full list.


Cannot create new mailing Our wordpress CiviCRM civimail has stopped letting us create new emails.
When I click on Create New,
the url changes to:
.../wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/mailing/new
and the screen remains blank.
If I try to re-use an old mailing,
the url changes to:
...wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/mailing/197
and the dialog box for editing a mailing does not show.
At the bottom of the screen I see an error message:
Notice: ob_end_flush(): failed to send buffer of zlib output compression (0) in
.../public_html/wp/wp-includes/functions.php on line 4609
Any suggestions?

The problem was solved by modifying php.ini to disable zlib compression.


CiviCRM Training resources? Hi does anyone have access to any training videos or material for civicrm? For example, Admin and database reporting, user training, etc.

Thanks in advance

Edward

For a free option, you can also look to past CiviCRM conferences.  A lot of presenters upload their notes to the session pages.  Videos are often posted as well.  The videos for the most recent conference in Denver are now available: https://www.youtube.com/playlist?list=PLjSU7YfE0E01HW7JPVAI80XDI0sgOSPDs. There are helpful notes already posted on the session pages.

https://denver2015.civicrm.org/sessions

https://london2013.civicrm.org/sessions
https://london2014.civicrm.org/sessions

https://dc2014.civicrm.org/sessions

http://sf2013.civicrm.org/sessions


Marking Activities with Priority "urgent" in another color In the CiviCRM system I work on, activities created for a specific case can have the priority "normal" or "urgent". This attribute is set by the user when creating the activity inside the CaseView. Internally, the "priority_id" of this activity is set to 1 == "urgent" or 2 == "normal".
Now, I want to mark the activities with priority "urgent" in another color when listed in the CaseView as well as in the Case Overview (Cases > My Cases). I started with the first task (changing the activity layout in the CaseView activity list).
I tried modifying the sites/all/modules/civicrm/templates/CRM/Case/Form/ActivityToCase.tpl at line 23, added the following if-clause. This template is included in sites/all/modules/civicrm/templates/CRM/Case/Form/CaseView.tpl in line 259, which seemed like the correct place in the CaseView.tpl for the activities to appear. I added:
{if $form.priority_id == 1}
   {$form.file_on_case_activity_subject.label}
{elseif $form.priority_id == 2}
   {$form.file_on_case_activity_subject.label}
{/if}

where before we only had:
{$form.file_on_case_activity_subject.label}

When this didn't work, I tried to set an "urgent" class to the $form.file_on_case_activity_subject.html as well:
{if $form.priority_id == 1}
          {$form.file_on_case_activity_subject.label}
          {$form.file_on_case_activity_subject.html}

            {ts}You can modify the activity subject before filing.{/ts}

        {elseif $form.priority_id == 2}
        {$form.file_on_case_activity_subject.label}
          {$form.file_on_case_activity_subject.html}

            {ts}You can modify the activity subject before filing.{/ts}

        {/if}

where before we only had:
{$form.file_on_case_activity_subject.label}
{$form.file_on_case_activity_subject.html}

            {ts}You can modify the activity subject before filing.{/ts}

As this didn't work either, I suppose I am modifying the wrong place. Any hint anyone?
Edit: I created an extension with the following code, but it doesn't work yet:
function mark_urgent_activities_civicrm_buildForm($formName, &$form) {
  if ($formName == 'CRM_Case_Form_CaseView') {
    CRM_Core_Resources::singleton()->addStyle('#crm-container table.nestedActivitySelector tr.priority-urgent {background-color: orange;}');
  }
}

Edit2: Accessing the elements with priority-urgent class works in the css file, both as
.priority-urgent {
font-weight: bold;
}

and
#crm-container table.nestedActivitySelector tr.priority-urgent {
font-weight: bold;
}

The (background / font) color doesn't work yet, but I suppose that's only because  element cannot have background color.

If I'm understanding correctly, all you need to do is make an extension and call CRM_Core_Resources::singleton()->addStyle() in hook_buildForm as described at https://docs.civicrm.org/dev/en/latest/framework/resources/#css-stylesheets since activities with priority urgent already get class priority-urgent added to the <tr> element in the table that lists the activities.
e.g.
CRM_Core_Resources::singleton()->addStyle('#crm-container table.nestedActivitySelector tr.priority-urgent {background-color: orange;}');
The #crm-container table.nestedActivitySelector part is required because otherwise the more specific css target from core gets applied instead.


CiviReport: Cannot remove Contact ID filter Suddenly a filter on Contact ID is unexpectedly appeared on my "Constituent Detail" report.
Since Contact ID is not one of the fields enabled for filtering, I cannot remove it. So, every time I want to use the report, the filter is automatically set and I cannot use the report.

Any suggestion?

Thanks

Note: This issue has been reported at: https://issues.civicrm.org/jira/browse/CRM-17872

The same thing happened to me.  The Constituent Detail report is called from the Constituent Summary Report.  I ran the summary report and clicked on a contact to go to the detail report.  As an Administrator I accidentally updated the Constituent Detail Report.  It must have saved the contact ID used in the call from the summary report.  Every time I tried to use or call the detail report from then on it used the stored (saved) contact ID.

To solve the problem I deleted the Constituent Detail Report from the Contact Report area.  I then created a new report using the standard Constituent Detail Report as the basis.