Additional Fonts CKEditor I want to configure the font drop-down menu of the CKEditor and add additional fonts there.

The Fonts are locally available, and shall be usable for PDFLetters etc. Has anyone made any Progress with that? It seems possible to add fonts to CKEditor..?

I found this thread, but whenever I edit the GUI Preferences, the file crm-ckeditor-config.js hasn't been generated. Instead only /civicrm/persist/crm-ckeditor-default.js is available.

We had some more luck with the integrated UI configuration of CKeditor, and after some trial and error we came up with the following solution:

In the following documentation I will assume that the fonts, files and configurations will be put in /sites/default/files/civicrm/persist/ and /sites/default/files/civicrm/persist/customfonts. The persist folder can be configured for multiple CMSs, I am using drupal.

The configuration file can be configured via the UI at /civicrm/admin/ckeditor. Add the fonts plugin on top if not already done.
Under advanced options add a customConfig, and add a custom configuration file. I would use something like /sites/default/files/civicrm/persist/crm-ckeditor-custom.js

This can be copied and extended from the already generated crm-ckeditor-default.js in the same folder. Be aware that if the path is added, "/" characters will be escaped. Sadly multiple times, so be careful when saving the form!

In the custom configuration you can now add CKEditor configuration, according to their API documentation.
For the fonts to be added, a fonts.css file needs to be created, with the default @fontface syntax and the added to the configuration like this:

config.contentsCss = "/sites/default/files/civicrm/persist/customfonts/fonts.css";

And the font names needs to be extended as well:

config.font_names = "Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif;Indie Flower/Indie Flower";

This is the list of pre-configured fonts, and a new fonts Indie Flower (as an example) is added. The syntax is [Display name]/[Font Name]

Afterwards the directory could look something like this:

 sites/default/files/civicrm/persist
  - crm-ckeditor-custom.js
  - customfonts
    - IndieFlower.woff2
    - IndieFlower.woff
    - IndieFlower.ttf
    - IndieFlower.svg
    - IndieFlower.eot
    - fonts.css

Then a message template has to be created (civicrm/admin/messageTemplates/add?action=add&reset=1), and the fonts.css has to be included:

<link href="https://my.example.domain/sites/default/files/civicrm/persist/customfonts/fonts.css" rel="stylesheet" />

The webserver needs to be configured as well to allow CORS Header, either by a .htaccess file or for nginx:

<IfModule mod_headers.c>
  <FilesMatch ".(eot|ttf|otf|woff|svg)">
        Header set Access-Control-Allow-Origin "*"
  </FilesMatch>
</IfModule>

location ~ ^/sites/default/files/civicrm/persist/customfonts/.+\.(eot|ttf|woff|woff2|svg)$ {
    add_header Access-Control-Allow-Origin "*";
}

Then, when creating an Email or a PDF the template has to be selected, and the text can be created by wysiwyg. Email Clients can then load the fonts, and pdf generators can use the fonts.


How to update contact email with JavaScript API? I'm trying to update a contact and, especially, the email address. As far as I can tell using the API explorer, this is the correct JavaScript code for that:

            crmApi('Contact', 'create', {
          id: myContact.id,
          first_name: myContact.first_name,
          last_name: myContact.last_name,
          middle_name: myContact.middle_name,
          "api.Email": myContact.email
        })

It correctly updates the names, but not the email. Does anyone see what I have wrong?

There are many ways you can update email for contact

Using Email api with create action

CRM.api3('Email', 'create', {"email": "aaa@asas.comsdsd",  "id": 201}).done(function(result) { // do something});

Using Email api with replace action

  CRM.api3('Email', 'replace', {
      "values": {"0":{"email":"asasa@asas.com","location_typ_id":"Home"}},
      "contact_id": 203
    }).done(function(result) {
      // do something
    });

Using Contact api with Email chain api

CRM.api3('Contact', 'create', {
  "id": 203,
  "api.Email.replace": {"values":{"0":{"email":"assdfsfdsasa@asas.com","location_typ_id":"Home"}}}
}).done(function(result) {
  // do something
});

HTH

Pradeep


How to fix it? By pressing "Print Summary", there are extra 2 blank pages printed By pressing "Print Summary", there are extra 2 blank pages printed. One of them is before the content and the other is after. How can I make them disappear? I'm using CiviCRM version 5.10.4.
Thanks.

I have added some pictures to show the problem.


CiviMail links with to many clicks from only two people In a recent CiviMail out, I had one link with 226 clicks but only 9 unique clicks. Two people made up the majority of those clicks. It hasn't happened again, just wondering if this is a recurring problem for anyone?

Seems plausible, especially if you consider scenarios like two influential users who might have forwarded the email to a group of friends, but also through normal use (eg repeatedly clicking from an email while thinking about donating) or something else.

You could review logfiles to see whether the times and remote hosts of the clicks recorded suggest an issue in tracking, whether the visitors all came from the same origin IP, and whether the timing of the visits suggests any further information.


token for country iso code the token {contact.country} returns the full name of the country, I'd need the iso code (eg "FR" instead of "France").

Am I missing the obvious and is there a {contact.country_iso} hidden somewhere ? is there an extension that does provide this token already?

I'm almost certain that such a token doesn't already exist.


Sum of recurring contributions I volunteer for a NGO and we try to accomplish the following: we want to aggregate the sum of all current recurring contributions (of type=X) over all members. It doesn't matter what status they have (paid, pending...) but one member should only be counted once. It's a snapshot with the result of one single value of all the recurring contributions, so to say.

I looked through the available reports in the dashboard and went through the different API methods. It seems like it would be possible to get all contacts through the API and then loop over their contributions (complexity!) to aggregate the sum, but I thought there would be a nicer way?!

Any recommendations on how to accomplish this? Any hint is appreciated, thanks!

In terms of an aggregation of actual contributions - in the contribution search (version 4.5+) it's possible to use recurring contribution dates in your criteria. The contribution search results page includes a total & count.

That doesn't really answer your 'one membership should only be counted once' though. I'm not sure I understand that requirement. It seems like you only want to count one payment per person? If you only searched within a particular time period perhaps you would exclude the others?


"Network Error Unable to reach the server" only doing certain actions we have a CiviCRM installation under WordPress 4.9.10 and 2 MySQL db: one for Wordpress and one for CiviCRM.
Actually we imported and start to manage more than 5000 contacts.

Everything operate as well, excepting the following actions, returning us a

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

clicking to go on page 2 on a "Search -> Find Contacts" or a "Search
-> Advanced Search"
adding a meeting or phone call in the contact summary.

There are NO ERRORS adding contributions, registering for events, adding pledges, sending emails.

We see no errors in apache logs too.
Actual PHP variables are:

 php_value memory_limit 256M
 php_value max_input_vars 2500
 php_value upload_max_filesize 16M
 php_value register_globals off
 php_value max_execution_time 600
 php_value output_buffering 0

Any ideas about to solve it?
TIA -- Francesco

disabling the ONLY_FULL_GROUP_BY SQL mode (which it is by default in MySQL 5.7) with this command

mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

solve the problem about the paging, but it must be considered a workaround.


How and when should I create custom data fields? I need at least 50 different "categories" or "custom fields". Everything from Contact Info like Name, Address, etc. to specific information that I would have to uniquely name. I am getting extremely confused on how to do any of it. Is there a tutorial on here, or something? I am really new at this.

Welcome to Civi! A great place to start is this wiki post about Groups vs Tags vs Custom Fields:

http://wiki.civicrm.org/confluence/plugins/servlet/mobile#content/view/86213742

There are also sections of the Civi book that might help:

http://book.civicrm.org/user/organising-your-data/groups-and-tags/

http://book.civicrm.org/user/organising-your-data/custom-fields/


"SyntaxError: Unexpected token" error on l10n-js files I have a Wordpress site (v4.2) and Civi 4.6.4 (although about to update). Every page on the public facing site generates a JS error (SyntaxError: Unexpected token '<') referring to wp-login.php redirecting to the l10n-js file. I'm getting nowhere trying to understand a) why a public facing page is referencing wp-login.php in any event, let alone why a JS error is then getting generated.

On contribution pages where the name and address profile uses the AJAX lookup for state/province, this is failing, leading to users not being able to successfully make a transaction. Not sure if the above JS error is the root cause of this, but two additional JS errors are appearing on these pages when trying to complete the profile:

CRM.url called before initialization - referring to Common.js (line 1371)
and then
TypeError: undefined is not an object (evaluating 'tplURL[mode]') - referring to crm.ajax.js line 26

Any insights most welcome.

Finally located the source of the problem. Every page on the site included a widget in the footer using an HTML snippet for a CiviCRM sign-up form. The HTML snippet, despite being the one generated by the profile, was incorrect, and included a reference to an admin URL for a script, which wouldn't be accessible to non-logged in site visitors. Removing it resolved the issue.


CiviCRM Spark fees, database migration/export and cancellation I need to cancel my monhtly fee as we have transfered to our server.
Can you tell me how to do this please.
I have tried to log in but says I have worng info to log in.
Also would like to know f the 18.48 monthly fee includes HST or not

You can export your CiviCRM Spark database by going to Administer > Backups. This should be sufficient to get started on your own instance, but you may need to also download CiviCRM extensions (CiviCRM will display errors on the admin pages telling you which extensions are missing, most of which are not critical).
The monthly fees do not have any HST, since the service is run from the United-States (assuming that by HST you mean Canada's taxes?).
Once you are ready to cancel, there are links in the monthly renewal emails to allow self-serve cancellation.
Please do not hesitate to contact us at spark@civicrm.org for any billing or cancellation questions.


How to add case fields to activity report? Is it possible and what's the best way to add case fields (e.g. case type) to an activity report whilst still ensuring civi can be updated easily?

I'd imagine those aren't default options because not all activities are related to a case.

Search - Custom Searches - Activity Search supports case id at least already, but the display template explicitly doesn't show it, although it uses it to create links.

Doesn't look like it would be difficult to modify Activity Search. You might also be able to modify the Activity CiviReport similarly. For Activity Search, it would be something like:

1) In CRM/Contact/Form/Search/Custom/ActivitySearch.php:
(a) Near the top where it defines the columns, add your columns labels as desired.
(b) In function all(), add the case-related fields to the select definition.
(c) In function from(), add a left join on civicrm_case.

2) In templates/CRM/Contact/Form/Search/Custom/ActivitySearch.tpl, display your new columns as desired.


How do I update CiviVolunteer, from the UI or from the command line? I'm running Civi 5.19.alpha1 with Drupal locally. I have CiviVolunteer 4.7.31-2.3.1, which is the latest release listed on GitHub, from June 2018.

I want to update to the latest stuff in the repo, which I believe fixes a bug.

I don't see a way to do that in the Admin UI.

I've tried

git pull https://github.com/civicrm/org.civicrm.volunteer.git

from my ext directory at

~/buildkit/build/drupal-clean/web/sites/default/files/civicrm/ext

and I get

fatal: refusing to merge unrelated histories.

You will need to

Go into your extension dir and remove the civivolunteer code that was
installed with your buildkit.

Then git clone their master (to get the latest).

Then go to the Manage Extensions page to check if there are any
prompts for database updates.

Then disable a small other extension and re-enable it. Or just enable
another new extension via the Manage Extensions page. This will
trigger managed entity updates.


Minimum Fee for Membership Types won't save I'm running CiviCRM 4.7.6 with WordPress 4.4.2.

I've created a new membership type called "guest" and set the minimum fee to $25.00. However, in the list of membership types, the minimum fee showed blank, so edited the type to add a minimum fee, but it still shoes blank.

I've also created a separate membership type called "executive" which is a zero dollar membership intended track which members are on the board, and we give them additional permissions using a Smart Group and ACLs. This works fine, however, when you create a new "executive" and select the "executive" membership type you have to "record a payment" and set the amount to zero because otherwose I get the following text in the Amount field:

Invalid format passed to CRM.formatMoney

I'm guessing these two issues are related, and that somehow the minimum fee being passed from the membership type record is invalid causing the error text to be pasted.

I failed to reproduce the problem with the Demo site, which leads me to fear there might be an issue with the database.

Has anyone seen this problem, and is there a known solution for it?

After spending time to resolve this across several days and working with our site administrator to troubleshoot we figured it out. The site administrator was able to confirm that the values were being stored in the database, so it was probably something to do with formatting.

I eventually discovered that the display rules were configured wrong. It was configured as follows:

Monetary Amount Display: %c %a

Monetary Value Display: %c

As I understand it, the formatting rules here are nested. When you're trying to display currency, it first looks to "Monetary Amount Display" to figure out how to display the value. In the case above, it was telling it to display the currency symbol with %c followed by the amount with %a.

The second field, "Monetary Value Display" contains the rules for displaying the value requested by %a. With the example above, the rules were to show the currency symbol for the value, which was invalid, so it chose not to show values at all.

I corrected the setting as follows:

Monetary Value Display: %!i

This instructs CiviCRM to display the value using the localization rules specified earlier in the form but to suppress the currency symbol. We don't need it, since we're adding a currency specific symbol in the "Monetary Amount Display" field.

I hope my frustration will save someone else some pain later on!


Drupal views: text search in country name When viewing CiviCRM contacts in a Drupal view, you can filter on the Address:Country , but the filter widget proposes you to filter on one or more of the 300+ countries in CiviCRM.

When exposing this filter, the user sees those 300+ countries. If only ~50 countries actually have contacts, such a dropdown is not very useful. Most countries will return 0 results.

It would be good enough if I can have a text search on the name of the country, but I can't get that to work. The filter only supplies the country id (eg using a 'combine' filter on the single field requires you to enter a number as a search string - that works).

Is there any way to pull the country table into the view and, for example, rewrite the view using hooks_views_query_alter to allow you to filter on the country name ?

Or any other solution someone found, like limiting the dropdown to used countries only ?

You might find this module even better than you expect:

Views Selective Exposed Filters (views_filters_selective)

"Restrict exposed filter values to those present in the result set."

Whenever you're looking at a selection (or subselection), it'll filter the select options to only those options that are in the result set. So you never have the issue of pointlessly offering filter options that will give the visitor an empty result.

https://www.drupal.org/project/views_selective_filters

[thanks Aidan]


Authorize.net not recording processor fees I noticed today that Authorize.net is not recording the payment processor fees. Is there a way to get the civiCRM payment processor to record such a fee so that we can record the data? I have found some information for paypal, but nothing for Authorize.net

I found this odd since the Authorize.Net is a core supported payment processor.

Authorize.Net doesn't return this information, which is why it's not available in CiviCRM.

One of the fields returned in the PayPal API documentation is transaction_fee. Authorize.Net's API documentation has no equivalent in the "Response" section.

The reason is that Authorize.Net can't tell you the transaction fee based on a single transaction, because their calculations are more complicated than PayPal's.  PayPal charges a high amount on every transaction, so they can give you a simple pricing structure.  Authorize.Net gives, e.g., variable rates based on volume, which can't be calculated until your month is over.


CiviCRM: how to manage several areas for the same organization? Good afternoon, we are analyzing CiviCRM as a possible solution for our organization.
It is a governmental entity and in the same there is more than one area that is in a position to use CiviCRM to order their contacts.
The specific question is how can we implement, so that each area has its own contact management? Some areas may want to share contacts, but each area should only have access to their contacts.

I hope you can help me!
From already thank you very much!!

The answer to your question depends on some of the details - but most likely you'll want to use ACLs.  See here: https://docs.civicrm.org/user/en/4.7/initial-set-up/permissions-and-access-control/.

In some cases, you may want to consider multi-site permissioning - it depends on the size of your database and how much you need to differentiate between different departments.  E.g. if you need different departments to create public-facing forms, each with their own "theme", you may want to consider multi-site.


Is this scheduled cronjob setup correctly? I set up this cronjob. Does this cover whatever I set in the GUI Scheduled Jobs? Or, do I need to set up a cronjob for each? If for each, what is the purpose of this GUI?
As per Scheduled Jobs:

CIVI_ROOT="~/public_html/administrator/components/com_civicrm/civicrm"
PHP=nice -n19 /usr/bin/php
PARAMS= -j -s[domain] -u[user] -p[password] -a execute
*/1 * * * * cd $CIVI_ROOT; $PHP bin/cli.php $PARAMS

Yes, executing the standard cron job, which is the cron.php file as you have it, executes any and all jobs which are enabled on the  CiviCRM » Administer CiviCRM » Scheduled Jobs  page.


Are log tables updated during an upgrade? If a CiviCRM upgrade amends the structure of existing tables, do you know if the same changes are applied to the equivalent logging tables?

I've noticed in the column civicrm_line_item.label NULL is allowed, but in log_civicrm_line_item.label it's not. So when I create Contribution prices without labels, I get a constraint violation from the logging trigger during payment.

Wanted to check if it's safe to amend the logging table structure to match, or if there was a reason for the difference.

See Are the logging tables upgraded:

  yes. you disable logging during upgrade (the upgrade changes are not
  logged)

  when u reenable logging, it checks for schema differences and makes
  the needed changes to the logging table

Since version 4.3, logging should be automatically disabled and re-enabled during upgrades: see Upgrade should disable logging and triggers.

This suggests the possibility that if logging remained enabled during an upgrade prior to 4.3.0, the structure of logging tables may not have been updated at that point.

It also suggests that disabling and re-enabling logging ought to bring the logging schema up to date.


How can I fix an incorrect SQL field in Recurring Contribution View? I'm trying to create a view that will tell our logged-in Drupal users when their next scheduled contribution is slated to happen.  Everything is working well until I add the field "CiviCRM Recurring Contributions: Next Contribution Date".  When that happens, my preview gives the error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column
'civicrm_contribution_recur.next_sched_contribution' in 'field list'

The Views SQL query shows this field being called:
civicrm_contribution_recur.next_sched_contribution AS civicrm_contribution_recur_next_sched_contribution

That is the correct table, but the field name is incorrect.  It should be next_sched_contribution_date.  I've tried searching in the CiviCRM Entity Github repo, but I can't find where the (incorrect) field name is being generated.  Where would I look to find the error?  Or am I looking in the wrong place entirely and it's not a CiviCRM Entity issue at all?  I want to help, I just don't know where to correct it.
We're using Drupal 7, CiviCRM 4.6.21, CiviCRM Entity module 7.x-2.0-beta3.  The type of view is "CiviCRM Recurring Contribution profile."

That particular table is exposed to Views by the Core CiviCRM module, not CiviCRM entity.  I haven't exposed that entity to Drupal yet, but its on the todo list.

I have added some code to CiviCRM Entity to fix this...

Its available in the latest -dev release from the CiviCRM Entity project page
and will be in beta7 when it is released


Token for Contribution custom field outputting "Array" for a Multi-Select custom field I created a message template for an email that will be sent to our accounting when an online contribution is made - it has a table and I've inputted tokens that will put in data for the contribution. I have successfully working tokens like {contribution.custom_44} and {contribution.custom_43} which are custom fields for contributions, but one of those is a Text field and the other is a regular Select field, but the 3rd one is a Multi-Select with the token {contribution.custom_45}, but when I test the message, in place of the token it puts "Array" instead of the actual value of that custom field (which is either one or more of the options in the Multi-Select dropdown). I've tried something like {contribution.custom_45.value} but that didn't work.

Am I missing syntax here? I'm trying to get the values in that Multi-Select/Array, not just the fact that it's an array.

Thanks :)

I found I could get the value I needed by using contribution.custom_xx[0], though I was dealing with a field with only one option.

For multi-select I presume you would need a foreach to output all of the array values, or implode it into a string if you just want the contents as a list.  I had tried implode but found I didn't need it, something like this might work
{', '|implode:contribution.custom_xx}


Mailing summary doesn't display - says that mailing not complete Updated to CiviCRM 5.19 - ran one of our biweekly mailings last night and I wanted to check the open count.  But Civi says that the mailing isn't completed,
even though it shows on the mailing summary that it completed at 5:45 AM.

Does anyone else have this issue?

@logan Bear i would recommend you upgrade to 5.19.1 It has just come out and should include this PR https://github.com/civicrm/civicrm-core/pull/15779 which should resolve your issue


accessing merge screen through URL I need an advice on a small problem. My database contains many duplicate Contact records, of which I have determined the contact id. I have a log list with pairs of contact id.s

What I would like is merge the records using those contact id pairs.
It is not easy to find the pair using the contact ids. I have not found a way yet to use the advance search so that I have a result screen containing the two records base on the ID.

Is it possible to create a URL for each pair that directly leads me to either a search result screen in which I can select and merge them, OR go directly to the merge screen for the two records?

If not, is there a way in which I can provide the people who do the merging with an easy method to process the list with id pairs?

thanks in advance, Ruud

Another way of accessing Merge is from any Search function (based on Contacts eg Find, Adv Search, Quick Search). Eg click in QuickSearch, hit Enter (gives you all Contacts), select any 2 Individuals, in Actions chose Merge, this gives you a url like this (but without the cool arrows Chris had)

civicrm/contact/merge?reset=1&cid=2&oid=3

As a further answer, if you have the paired IDs in an external spreadsheet, then use the CONCATENATE function to join together all the bits as a hyperlink, then you should be able to just click through to the merge url for each pair.


How to use CiviCRM REST API in external PHP code Been trying to get this to work for hours. Help would be greatly appreciated. userkey and sitekey are replaced with actual keys.

I'm trying to run in a php file:

$result = curl -X POST "https://www.mysite.org/sites/all/modules/civicrm/extern/rest.php?entity=Membership&action=get&api_key=userkey&key=sitekey&json={"sequential":1,"return":"membership_type_id,id,end_date","contact_id":2,"active_only":1,"options":{"limit":1,"sort":"join_date DESC"}}";

I get the error:

PHP Parse error:  syntax error, unexpected 'POST' (T_STRING) in /home/spulver/civicrmapi.php on line 3

Any ideas how to fix?

I use CURL to call rest api. Here is the snippet you can ignore/remove many lines that sets curl variable.

$url = 'http://domain.org/sites/all/modules/civicrm/extern/rest.php?entity=Contact&action=getsingle&api_key=HR76BS710C&key=8c1cf9913fd674e08c8f27804334eb5a&json={"id":1}';

$ch = curl_init();
//http://php.net/manual/en/function.curl-setopt.php
//$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_TIMEOUT, 5);
//curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, "");

//for debugging?
curl_setopt($ch, CURLOPT_VERBOSE, true);

$data = curl_exec($ch);
curl_close($ch);
$obj = json_decode($data);

HTH

Pradeep


Check sums clicks - can they be measured Can I know how many people clicked on their checksum link to a webform?

I understand it can't work the same as other links as in a 10000 Strong mailing there would be 10000 links. I'm trying to see how many people who click on the webform complete it.

Thanks

Since you specifically want to know about checksum links to webforms, you could patch webform_civicrm to record something after it calls CRM_Contact_BAO_Contact_Utils::validChecksum() to validate the checksum.


Error on CiviCRM Installer Page Warning: Invalid argument supplied for foreach() in /public_html/wp-content/plugins/civicrm/civicrm/install/index.php on line 769

I'm also receiving the following under PHP Configuration:
MySQL support not included in PHP.

I'm using Wordpress Version 4.6.1, CiviCRM Version 4.7.12, and PHP Version 5.5

I'm not sure if they're related issues or not.

Any advice?

Thank you

It sounds like you might be getting affected by this switch to require the mysqli extension: https://civicrm.org/blog/totten/psa-please-verify-php-extension-mysqli


Authorize.net seal and JS in footer So, utilizing Authorize.net, the verification seal code has a JS call in it.  However, when trying to save the online event registration page, CiviCRM complains that there may be a JS attack in progress.  Pulling the script bits out removes the error and the link still says it's verified.  The code is typical JS light, but seems very benign in the same way.  Anyone else experiencing such an issue?

Here's the JS call, with the potentially confidential bits mixed up:
<script type="text/javascript" language="javascript">var ANS_customer_id="redacted";</script><script type="text/javascript" language="javascript" src="//verify.authorize.net/anetseal/seal.js" ></script>

Wordpress:  4.5.2
CiviCRM:  4.7.8

Where are you trying to add the script -- in the "Footer" editor window on the Event details page?

If so, you probably need to add it in the Wordpress side (e.g. as an HTML/Text widget) rather than the CiviCRM editor to avoid these security notices. If you only want to have the widget show on CiviCRM pages, or SSL pages, etc. you may find this Q&A on the Wordpress StackExchange site helpful (more than one of the answers may be useful).


Can I automatically add someone to a Civicrm group when the register as a WordPress subscriber? When someone registers on our WP site I would like to automatically add them to a specific CiviCRM group.  I don't think a smart group would work here (if I could figure out the right search) because we want to use the group for emails and folks need to be able to unsubscribe.

I would suggest creating a profile in CiviCRM to use for the Website registration form. Under Advanced Settings in the profile setup there are two things you want to do.

Add new contacts to a group. Here you can select the mailing list group. They will be added when they complete the profile.
Make WordPress account creation required.

After the form is complete they will have a WordPress account, be in your mailing group and have a contact record in CiviCRM. You can easily gather additional information about folks registering for your site.

Hope this helps!


Need Input on Use of an Aggregation in the Data Processor Extension I need to create a report with a list of all donors, the total that they've contributed over the last 12 months, when their last membership expired, and a couple contact items like email address. (If they meet a certain minimum contribution amount, I need to give them a 12-month membership.) I'm using the Data Processor extension on a WordPress site (everything is up to date).

I have the overall data processor created, with data sources, output, fields, and a filter for 12 months worth of contributions. But right now it is giving me one row for each individual contribution and membership expiration (apparently a Cartesion product query). This seems to suggest that I need to aggregate the contribution Total Amount and Membership Expiration Date.

How can I do that? Adding an aggregate field is fairly straightforward: just select the field you want to add. There are no other options. Yet it doesn't seem to do any aggregation.

My Google-fu has let me down finding any documentation about aggregation fields in data processor beyond a mention of the feature.

How can I get an aggregation to work? Or am I misunderstanding what aggregation does? How can I accomplish what I need?

I suspect that an aggregation may not work with the membership expiration date. If not, how can I see in the report whether they are a current member?

Thanks!

Use the summary fields extension here:

https://civicrm.org/extensions/summary-fields

It will create some custom fields and calculate the totals, minimums etc. values that you are trying to generate on the fly. That way you don't have to do all those joins. Aggregation is hard.


Why is the CiviCRM installer unable to connect to the MySQL server? I am using Drupal 7.56 and CiviCRM 4.7.21 on Ubuntu 16.04. The Apache and MySQL servers run on the same host.

The Drupal and CiviCRM databases are stored on the same server, and are accessed with a single user. Drupal is happy and works just fine. But CiviCRM, using the same user as Drupal, cannot connect to the database.

The error message appears under the headings "CiviCRM Database Details" and "Drupal Database Details", in the following row:

Are the access credentials correct? | That username/password doesn't work:

Here's what I've done so far

I have triple checked that I am not making any typos.
I have verified that I can log into the MySQL account using the MySQL shell.
I have verified that MySQL is listening on the default port.
I have verified that MySQL is binding to 127.0.0.1.
I have verified that there is no firewall in the way.
I have tried out opening the server to remote connections and making the MySQL user able to log in remotely. I successfully connected with Sequel Pro, but CiviCRM didn't budge. I closed things down again.

I am a loss for what else I can try. Is there something special about how CiviCRM connects to MySQL? After all, Drupal is having no problems.

I notice that the error message ends with a colon, which implies that there is supposed to be some additional information. Does this imply that there may be a bug?

Thanks very much!

In my experience if 'localhost' (or your host) was refusing to connect on default port with all credentials/permissions definitely correct, specifying 'localhost:3306' will work (even though you shouldn't have to specify the :3306, and I think it tells you as much).

I will also note that this is something I have only experienced recently, and with this question there are examples on Ubuntu, and in my case MAMP.


Importing using API CSV importer I am importing a large dataset using  the API CSV importer extension.

The data needs to be divided into 3 chucnks - contact, address and email.

The second two imports I was planning to match up with the first import of contact data by downloading the contacts added inthe first import and adding the civicrm id to the second two imports (and doing the match offline)

However I have come to the third import (email address) and there is no ability to match by contact id.

My plan is to turn it round and import the email first then the contact data and then the address data so I think I have a solution. However, it seems odd to me that I can't upload the email and match against contact ID. The only option seems to be email (match by external identifier).

Am I missing something?

Thanks
Caroline

It turns out that the field 'email contact' when importing is actually contact id. So there you go!


Can't import Event participants I can't figure out how to import event participants.
I have created an event (ID=1).
Same problem with event ID=3.
No matter whether I use Participant status or Participant status ID, CiviCRM gives me error for all lines.
Missing required field(s) :Event Participant Status.
What data should I be providing to CiviCRM to make it work?

PROBLEM SOLVED!

It turns out that semicolon does not work as Import Field Separator.
With comma every went as it was supposed.

P.S. Microsoft Excel saves CSV files semicolon-separated.


Browsing for images in the editor leads to an unexpected Error I want to add an image in an email newsletter. However when I try to use the Browse Server button like:
and unexpected error is thrown:

The used versions are CiviCRM 5.32.2 and Drupal 7.77

This is caused by a bug that prevents users that configure multiple languages to use the kcfinder plugin. So check if there are more available languages are configured at https:////civicrm/admin/setting/localization?reset=1

Restrict it to one, and try again.
At the moment a patch is available at https://github.com/civicrm/civicrm-core/pull/19245. And the PR is accepted so in later versions of CiviCRM you should not see this.


How do I set up discount for people under 18 for CiviEvent? Drupal 7.39
Civi version 4.6.7

Using CiviDiscount 3.1 to add Automatic Discount to an event for folks under 18.

In researching, I saw a PR referenced, that seems to address the issue, but it still doesn't work for me on two different sites.  I applied the patch but it doesn't seem to do anything.

Perhaps I'm misunderstanding the Auto Discount section, but in our use case, folks registering are more often than not, new unknown contacts as they register.  Do the contacts have to be logged on and/or known users for Auto Discount to work properly?

On the registration pages, we are including DOB.

However, regardless of whether we hit apply in the blank code area, the discount is not taken.

If we manually enter the code and hit apply, it works. But seems to disregard the age criteria.  If I am over 18 and have entered the code, I still get the discount.

Our discount configuration looks like this:

So the two issues I'm experiencing are:

The discount does not apply without the code
The discount criteria seems to be ignored and applies the discount to
anyone

Do the contacts have to be logged on and/or known users for Auto
  Discount to work properly?

Yes I believe this is the case.


Can I safely trim civicrm_job_log and civicrm_log? civicrm_job_log is the biggest table in my database by an order of magnitude. And civicrm_log is the fifth biggest.

Can I trim these somehow, e.g. a cron job that removes old logs? It's making the backups slow.

EDIT: Here's an extension that keeps the job log from bloating

Thanks to the input here, I've created the Log Lop extension that allows users to configure a maximum age for keeping job logs. Will submit to the extensions directory after a bit more testing/few more eyes have looked at it.

I think you can safely trim the civicrm_job_log, only the latest entries are probably useful (and given how little information the cronjobs return, I'd even doubt that ;)

As for the civicrm_log (or subscription history), it might be more risky to remove as you will loose "useful" history of what happened with your contacts, but from a technical point of view, it shouldn't be an issue, as long as you are ok losing that history.


Blank page in mailings with notice I'm using locally Civicrm 4.7.25 on Joomla 3.8.1 and starting from 4.7.22 (although I am not sure it's a consequence of an update) whenever I try to access a "New mailing" menu I get a blank page: http://awesomescreenshot.com/0706dy7a64
and this notice:
Notice: Undefined offset: 0 in /share/CACHEDEV1_DATA/Web/civi917/administrator/components/com_civicrm/civicrm/CRM/Mailing/Info.php on line 82
Now I don't know how to solve this issue, anyone can help me please?

Other useful info:
phpversion: 5.6.31
dbversion: 5.5.57-MariaDB
server: Apache on linux

This 'sounds' like the angular issue hitting your site and you are likely to find similar tickets if you search Tags = Angular


Allow region reps to have RO to global mship info - but only to their own regional records. Db field or tag for "region"? As the title says, I need to appoint reps for each region who can access their "own" regions records to send mailings. We are using Wordpress and everything is the latest versions.
Is "region" best as a DB field and/or a tag in this case?
Regional reps should have no access to membership records outside their own area.
Please be patient with me, I have just inherited an existing CivCRM system that seems as if it was set up in a hurry. I am just getting to grips with CivCRM - Please feel free to explain things very s l o w l y.
EDIT: Is this something I must bite the bullet on and accept that I can only get this functionality in Drupal?
I have a very little Drupal experience, but I am much more comfortable with WordPress.

I would recommend using Relationships and adding this extension which then means you can use the Relationships as the way of controlling who sees which records
https://civicrm.org/extensions/relationship-permissions-acls


CiviCRM, SMTP and Office 365? We use Office 365 Exchange Online for our emails.  Whilst you can configure CiviCRM outbound mail to use it, you can't actually send mail using it.  I have done some investigation, and the reason is that packages/Mail/smtp.php replaces the From address with the Return-Path.  CiviCRM adds a VERP component, so Exchange Online rejects the email because the From address is invalid.  Exchange overwrites the Return-Path with the From address anyway, so VERP doesn't work.

Any comments or thoughts?  I assume someone will say that we should use another Mail Transport Agent.

ah, yes, Exchange. That mail server that behaves almost like the others, but not quite.

You have 3 paths out of that:

1) use a separate "normal" email server, eg postfix for sending your emails and set up a catch all email address on 365 to handle the bounces

2) use a mail provider for your mass mailing (sendgrid, mailjet, amazon aws...). They probably all need you to install a civicrm extension to handle the bounce events

3) contribute a feature to civicrm so it doesn't need VERP. This isn't that far away, the data of the VERP is already added as an extra line in the mail header and for what I've seen, most of the bounce emails copy it.

So the "only" things you'd need: prevent civi to rewrite the from email with a VERP and change the bounce processor to look at the extra header instead of the envelope email.

I'd suggest you 2, mostly because you are likely to have a better deliverability on your mass mailings than relying on exchange.


Option to Tell a Friend When I click "tell a friend" and submit my friend's name and email after I've made a contribution on our contribution page I get error, "Supervised Rule for Individual Doesn't Exist" -- what does this mean? How can I fix this so our contributors can share information about our organization?

CiviCRM is telling you that there is no "supervised" rule configured for the Individual contact type - it doesn't know how to check that those "friends" are new unique contacts and not existing donors/members/contributors etc.

There's some information on deduping and merging contacts in the CiviCRM User Guide

In particular please check that you have a supervised rule configured for individuals as seen in the screenshot on the first linked page.


Does Summary Fields extension work on 4.6.x The Summary Fields extension is listed as working with 4.4 and 4.5. I am testing it on 4.6.8 and when I go to the Summary Fields tab for a contact that does have some Contribution records I see blankness. I have debug and backtrace on but am not seeing any errors as such. I haven't used this Extension before so it is possible I am just not using it correctly. Does anyone have this working on 4.6 or is it known to fail?

I use Summary Fields on several 4.6 sites with no issues.  Also - "Jamie" who left the comment is the author of Summary Fields, I'd follow their suggestion!


Can I set a contribution page to have pledge selected by default with a default number of installments? I would like to have my contribution page default to pledge instead of one-time and also have a default number of installments. Is this possible?

Thanks!

There isn't currently a setting to change this behavior. You will need to add JavaScript to your template file (or via an extension) to check if the donation page has pledge as an option, and if so, to select it.


Contact Summary Editor Extension Question I am using CiviCRM 5.19.4 and Drupal 8. I need to customize the Contact Summary page - installed the extension Contact Summary Editor successfully. All is good, added all the contact information that I want displayed. However, I need to add events and contributions for the contact to the summary page, but this information isn't displaying on the fields that are available to select from when creating a new block.

Thanks for your help!

You can use one of the Extended Reports for Events and Contributions respectively to display on the contact summary screen. Go to the Display Options tab and select 'Make available for contact summary page (requires contact layout editor extension)'.


Cannot get the import of employer-employee relationship to work I have successfully imported all my organisations and I'm now trying to import my contacts which are employees of these organisations. I've read the relevant sections in the CiviCRM cookbook and the CiviCRM online manual, but I can't get it to work.

I can import all contacts without a problem (around 3000 but have been playing and testing with just 10) but the relationship to the employer is never okay. Though i always checked "employee of" " organisation name match to contact".

*I get this error too when importing: *"Warning: explode() expects parameter 2 to be string, array given in CRM_Contact_Import_Parser_Contact->import() (line 854 of /home/kasomk/www/www/sites/all/modules/civicrm/CRM/Contact/Import/Parser/Contact.php)."**

I've tried everything, been at it all (sun)day. So please help me! Who has a comprehensive step by step guido on how to import relations? Which fields need to be imported on which import, which duplicate checking should I do and how can i successfully import the relationships?

Kind regards
Stefan

Stefan - in order to rule out it being a bug with your set up I would recommend you take an equivalent file and test on the Demo Site.

I just created a file with 3 cells

Peter | Davis | Acme

I had already created Org = Acme in http://dmaster.demo.civicrm.org/

The import ran as expected.

Acme now has an 'employee' called peter Davis


CiviEvent registration, edit wording relating to a drop down menu How can I edit the wording in a set field beside a drop down box when a person is registering to attend an event? They could also use the drop down box to register a co-worker.
I.e., current wording says "Register someone at your organization" and we want to tweak to say "Register yourself or someone at your organization."
Is this possible?
Thank you!

You can use the Word Replacement feature under Administer > Customise to make these sorts of changes ie at /civicrm/admin/options/wordreplacements?reset=1


Recent Items Block Does Not Show Recent Items Unless There Are Report Results I am having a strange issue with the Recent Items block. It does not show all the results it should unless you are on a report that is showing results.
If I am just in CiviCRM I see this.

If I go to report and refresh the results I see something more like this.
I do not see any errors being generated or anything else I can put my finger on. I cannot replicate the issue in DMASTER. DMASTER is Drupal 7 and we did not have this issue in Drupal 7.
We are running running CiviCRM 5.31.1 and Drupal 8.9.10.
Any ideas are greatly appreciated.
Thanks,
Josh

Can you try this patch? https://github.com/civicrm/civicrm-drupal-8/pull/62
More discussion in ticket https://lab.civicrm.org/dev/core/-/issues/2387
UPDATE: should be fixed in 5.36.0


How to search for contacts without a specific relation? I'm trying to figure out how to search for contacts (individuals) that do not have a "Current Employeer" relation.

Is that possible?

The search builder should be able to give you this as it has a larger range of search operators available to you.

Head to Search > Search builder and then use the criteria:

Contacts > Current Employer ID > Is Null

That should return everyone who has no value for your current employer field.

Hope that helps!


The versafix-1 template on the mosaico site has editing options I don't see in civi. Any chance of getting them? I'm trying to get my users off of creating an email in mailchimp and importing the html into civi.  Mosaico seems to fit the bill.  I showed it to the main user today and, of course, they had issues.  Mainly with centering of things.

I later went and looked at the template in the mosaico site, https://mosaico.io/ and noticed that there are more editing options there than in the implementation on civi.

So the question is do I have something set wrong so I'm missing these or is there a later version of the versafix-1 template out there that just hasn't been upgraded yet in civi?

Examples of options not available in civi.  If you pick the block with an image at the top, a title below it, body text below that and a button (the third block from the top of the list of bocks), there is an option to pick the size of the image.  The image is centered (in civi, it's left justified), you can edit the style and center the title, center the button.

Using mosaico extension version 2.0-beta4.1528762072.  I'm not using shoreditch.  I couldn't get it to work and since it says it optional...

we're looking to upgrade the mosaico library in CiviCRM to the latest version in the next few weeks. After we do that the extra features will become available.


New Extension Tab Zip Support Required Message After upgrading to PHP 7.2, now receiving this message when trying to add a new Extension

ZIP Support Required
You will not be able to install extensions at this time because your installation of PHP does not support ZIP archives.

Solved - as of 7.2 we had to separately install the zip module (which provides the ZipArchive class within php). On Amazon Linux 2 this was the php-pecl-zip and libzip-devel packages, installed via "pecl install zip".

And restart  the php-fpm service as well as httpd restart


Import and Export failing and returning no error message I recently moved my CiviCRM install from a local in-house server to a cloud server hosted by Siteground. Everything is working beautifully except for the import and export.

My database is around 60,000 names.

When I try to import a list of 5000 names to update their addresses, it gets through about 600 records (exactly 3 minutes) and then reverts back to the initial import page. Sometimes it has failed in 2 minutes, but no longer than 3. I can't find in Drupal logs showing a failure. I contacted Siteground and asked them to increase my max_execution_time, memory_limit, and max_input_time. They showed me how to do it myself and I tried it. Still no change. I disabled geocoding and it got to 3 minutes and 15 seconds.

So I tried exporting 45,000 contacts (a process I run about 4 times a year) and it lasted 3 minutes as well and then reverted back to the Search Builder page (where I started the export).

What setting is causing this issue? Siteground fixes things pretty well so I just need to know what to tell them.

Thanks,
Paul

I am not a developer, but I believe you are running into timing out issues and you may have to verify that the server PHP settings in “php.ini” are set high enough to allow enough time for very long-running scripts/SQL statements to complete so that you end up with the import results screen (what high enough is, I could not say).

In addition to that, if a service such as CloudFlare is in place, those settings need to be set to longer than 3 minutes if possible - while the script will continue to run on the server, you won't be redirected to the import results screen if you get kicked out to an error screen. That said, you should be able to find the import error file using something like CPANEL to access the site file manager and for search for "sqlImport.errors". You may wish to open a support ticket with Siteground if you need any help with access.

If all else fails (e.g. like not being able to get your hands on a programmer fast enough to complete your import within a deadline), I have on more than one occasion resorted to breaking down a single import file to smaller ones (say 500 records in your case) to avoid the timing out altogether - incredibly frustrating, but at least my deadlines aren't missed!

Hope this helps!
Tamar


How to delete/reorder a Contact from a Webform I have developped a complex Webform with 4 Contacts.

I want to delete Contact #2 :
I can delete it in the "Webform" Tab, but it remains in the "CiviCRM" Tab : how can I delete it also in the CiviCRM Tab ?

I also would like to create a New Contact #1 (just before the current #1) : How can I do that ?

Sorry, the module does not have any mechanism for reordering contacts. The only solution is to reconfigure the contacts manually. Since you are wanting to add a new contact #1 and get rid of contact #2, you don't have to mess with #3 or #4 - they can stay put. Just configure #2 to have all the properties of #1, and then change #1 to be like the new contact you are wanting to add.


1 hour discrepancy between created_date field in MySQL and CiviCRM report output I hope I have a strange, but straight forward issue -- there's a 1 hour offset SOMETIMES in the created_date field in civicrm_contact table, and what gets outputted in a CiviCRM report (see the attached images).

MySQL is set to use SYSTEM time as well as PHP - ie, and no timezone conflict.

Any suggestions would be greatly appreciated. We are using Drupal 7 + CiviCRM 4.6.

It's a timezone issue. Your database and drupal timezone must be same. Sometime it's happen due to Daylight saving time.


Send new SMS from SMS callback function I need to automatically send MT SMS message as a response to forwarded MO SMS message.
For that purpose, I created a new send_mt() function, but I cannot access Provider object to pick up parameters like provider URL for sending, username/password, etc.
When I do var_dump, it shows that _providerInfo member is an empty array.
Thank you for your help.

To send a auto-reply for an incoming SMS you can use Auto-reply twilio extension. You can modify the extension to support for your provider as this extension supports for only Twilio.

HTH
Pradeep


Quickbooks Merchant Services Payment Processor extension Anybody know if the Intuit Quickbooks Merchant Services Payment Processor extension is still in the works?

https://forum.civicrm.org/index.php?topic=15856.0

or if this will work with civi 4.6x, I see it's been used on 4.X as recently as 2015.

Is the Intuit processor active/functional?

thanks.

I am curious if anyone knows if this extension mentioned here: Is the Intuit processor active/functional? is still working now that Quickbooks changed to the Quickbooks Merchant Services.

Any help thoughts would be appreciated.


Create a Login page for wordpress users to access civicrm but not wordpress functionality We have installed CiviCRM on Wordpress and I'd like to create a login page for all users of the CRM.

I've created all employees as users in Wordpress and contacts in CiviCRM.

How do I create a login page so they are immediately taken to CiviCRM and cannot see or access the Wordpress backend? Right now they all logging to Wordpress (not CIviCRM) and have to click the CiviCRM module in the left Wordpress menu.

In the demos on Drupal users cannot see the backend.

This topic is not covered int he documentation that I can see.

There are many plugins that do front-end login forms.  I have been using Login with Ajax  This will create a front end form and allow redirects.   You can also leverage the login widget in the Members Plugin and pair that with Peter's Login redirect


How to use CiviCRM Webform to process CiviCRM fields at each step rather than on submit? Use case:

A multi step CiviCRM Drupal web form where I want any CiviCRM fields and CiviCRM activities to be updated in CiviCRM as each step is completed rather than only at the end of the completed form.

This enables 2 things:

Data in an uncompleted form is still captured in CiviCRM.
Progress through the form can be tracked via CiviCRM activities so that CiviCRM smart groups can be created to mail/remind specific users to complete the rest of the form.

Is this possible? If not, would others be interested in it?

I've done this a couple of times now using a custom drupal module and hooks.  You can get data into civicrm using the api.


Multiple participants - multiple event registrations I suspect I know the answer because I can't find it despite searching here & through the documentation but here goes.

We run a number of kids clubs (around 10 per week), with between 5 and 20 kids in each club. Clubs typically run for around 12 weeks each, some run more or less continuously.

I'd like to give the volunteers for each club a registration list of kids they can expect to turn up. All the clubs are free to the kids, but it's useful to know who should be there and also to track if any kids have 'dropped off the radar'.

I can register 5 kids on a single event (using smart groups & register group for event). I can do this for every club event instance, but that's very tedious.

I can't seem to register 1 kid on 5 events?

It would be awesome to be able to register 5 kids on 5 events but I suspect that's beyond scope at this point.

I know not every kid will attend every session, but it would be much easier to book them on and then cancel exceptions rather than having to book every single child-event combination by hand.

Any thoughts?

CiviCRM 4.7.17

WP 4.7.4

I would take a look at the API csv Import. https://civicrm.org/extensions/api-csv-import-gui
I could not tell you right off what fields you would need to have in your csv file to accomplish this, but I think you should be able to do it. You might have to have each child on the list 5 times to add them to 5 events (but not a big deal because you could still do it as one import). You could save some csv "templates" for each club so you do not need to recreate them every week/month.


How can I preview the event info of a non-active event? To ensure that the event information page looks as I want, I'd like to preview it before I activate the event.

When I do that I get a "no authorization" with a big fat 0 (zero). I'm running Joomla so I don't know if that is a Joomla error or not.

I've looked through the ACL-settings and there seems to be no "view non-active" operation that could affect this.

Is this possible somehow or do I have to activate, preview and deactivate?

Currently the event needs to be active to use (preview) it.

If you have an event listing page, you can uncheck Public event. That way users only see the event if you create a link to it. You should be safe in temporarily making it active for testing.

This is the same Question/Answer as: Testing event registration


How do I use profiles to update records I have 100 surveys filled out by people already on my database. I want to enable a volunteer to be able to enter these by making available to them only the fields they need to do the data entry. I have created a profile which has a listings view and which is searchable; I have limited the profile to the group in which the 100 contacts are found. So I can find the contact and I get the option to view just the fields I am interested in, but there is no edit option and no inline editing available. Is it possible to do what I want? If yes how would I go about it?
Thanks

If you have the profile created, you are nearly there.  You need the Update Multiple Contacts search action. (In 4.6 the action is Batch update via Profile). The action has a limit of 100 contacts so you can update all your surveys in one go, but if you have more than 100 you need to do multiple passes.

In more detail:

Go to Search > Find Contacts
Select your Group in the 'in' box
Search
Scroll to the bottom, change Rows per page to 100, enter
Click the tickbox next to the Name header to select all the records on that page
In the Actions box, select 'Update Multiple Contacts'
On the next screen, select your profile
Continue
You should now have your fields editable
Note that you can copy the value in the first row to all the others by clicking the symbol in the column header

When you're done with that 100, go back to the search, go to the next page and repeat for the next 100 etc

FYI, for these purposes, the profile does not need to be marked as a listings view, or searchable or be limited to your group.  Those options are for other uses of profiles.


Membership Renewal with PayPal Standard I have problem to get PayPal Standard Membership Renewal to work:

If it's the only payment option, the form doesn't have a submit button, I would expect the PayPal button to appear.
If I use it with a second option like Pay Later, the form displays error message requesting Credit card number and Expiration dates, despite the fact, that this information would be collected on PayPal's site. (see screenshots here)

Any ideas?

CiviCRM 4.6.4 + WordPress 4.2.3
updated 7/30 upgraded to 4.6.5

You may want to follow progress on this issue which seems related:
https://issues.civicrm.org/jira/browse/CRM-17082


Errors only randomly on admin pages I'm getting randomly the errors below when I go to an admin page.  They don't always happen.  Any idea what this is?

Warning: Invalid argument supplied for foreach() in /home/sporti62/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/SchemaHandler.php on line 750

Warning: Invalid argument supplied for foreach() in /home/sporti62/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/BAO/SchemaHandler.php on line 750

Usually get a bunch of these...

PHP version 5.6.32
CiviCRM 4.7.28
Wordpress 4.9.1

This is most likely happen on the page load after you press the "Fix Missing Indices" button on the Administration Status page.  A more permanent automated fix is being worked on, but is fairly difficult.  You can see the answer here for how to fix this manually if you're SQL-savvy.


Cant log in with CiviMobile on 5.8.2 with Drupal 8 I am trying to get CiviMobile to run on a D8 with CiviCRM latest version.

But i constantly get an 'unknown error' when attempting to log in.

Already checked that i have the correct Extention installed: CiviMobileApi

Additional info: The site is not on www. but on a subdomain, if that matters.

Any ideas?

Unfortunately we support only Drupal 7, WP and Joomla.
Our extension is not working with D8. The only solution is to modify the extension.


Update contact via REST and JSON request body We are trying to update a contact via REST API. But instead of submitting the changed values as seperate post parameters (e.g. "nick_name")

http://d46.demo.civicrm.org/sites/all/modules/civicrm/extern/rest.php?api_key=myscretapikey&key=sitekey&json=1&version=3&contact_id=2&entity=Contact&action=create&nick_name=Kathy

we want to submit the whole contact JSON object with its changed values as part of the request body:

POST http://d46.demo.civicrm.org/sites/all/modules/civicrm/extern/rest.php?api_key=myscretapikey&key=sitekey&json=1&version=3&contact_id=2&entity=Contact&action=create
Content-Type: application/json
{ "id":"2", "contact_type":"Individual", "contact_sub_type":"", "do_not_email":"0", "do_not_phone":"0", "do_not_mail":"0", "do_not_sms":"0", "do_not_trade":"0", "is_opt_out":"0", "legal_identifier":"", "external_identifier":"", "sort_name":"Adams, Kathleen", "display_name":"Kathleen Adams", "nick_name":"Kathy", "legal_name":"", "image_URL":"", "preferred_communication_method":["3"], "preferred_language":"", "preferred_mail_format":"Both", "hash":"163700750", "api_key":"", "first_name":"Kathleen", "middle_name":"", "last_name":"Adams", "prefix_id":"", "suffix_id":"", "formal_title":"", "communication_style_id":"", "email_greeting_id":"1", "email_greeting_custom":"", "email_greeting_display":"Dear Kathleen", "postal_greeting_id":"1", "postal_greeting_custom":"", "postal_greeting_display":"Dear Kathleen", "addressee_id":"1", "addressee_custom":"", "addressee_display":"Kathleen Adams", "job_title":"", "gender_id":"1", "birth_date":"1979-03-17", "is_deceased":"0", "deceased_date":"", "household_name":"", "primary_contact_id":"", "organization_name":"", "sic_code":"", "user_unique_id":"", "created_date":"", "modified_date":"2015-05-14 06:03:56"}

Mostly this seems to work but we have some issues. Is this an official way to update a contact? And if not, which would be a better one?

Please, do not put the api_key nor key into the get parameter, to they don't end up in logs and other places, they are better as a post param.

As for your question, you can have json="{'id':2..."} as a param, ie json encode the whole contact and put as as a string param into a (post) json param

You might be safer to return only the modified param, as some are likely to be ignored (eg. the modification_date) or might expect a different format when modified than read (less and less a problem, but you might bump into edge cases still)


CiviCRM events pay later error - Undefined index: event I'm getting an error on submitting events where "pay later" is selected as payment method. The page times out - if I select a different payment method the next page loads OK.

This is the error I'm getting

  Notice: Undefined index: event in
  CRM_Core_Payment_ProcessorForm::preProcess() (line 78 of
  xxxxxxxx/sites/all/modules/civicrm/CRM/Core/Payment/ProcessorForm.php).

Has anybody else experienced this?

Welcome to civicrm stackexhange!

Your first step is to try replicate this on - http://dmaster.demo.civicrm.org

Configure things just like you have in your own civicrm.

And if you find you get the same error then amend your question with details/screenshots so that we can reproduce next.


Setting Select2 widths We have a number of forms that have items on them using the built in Select2 support.  They aren't quite wide enough; annoyingly so.  For the default selection, you can see the membership type and the $ and first digit of the price, but not the whole thing.  Members have to click on the list to see the amount they are being charged, even if they aren't going to change membership plans.

I've identified the divs that wraps around the Select2's, and can control them in other ways; such as hiding them with with either css or js.  But not width.  I have tried things like:

$(".Membership_Type-content").width(300);

or

div.Membership_Type-content {
    width: 300px;
}

to no effect.

Has anyone done this?

The width for Select2 fields is set as an inline style to the element itself.  So, to override the inline width, you'd have to use !important in your CSS.

For reference: https://stackoverflow.com/q/16813220


In 4.7 a contact's activites are in ascending date order: should that be descending? In previous versions of CiviCRM, a contact's activities were listed most recent first on the Activities tab of their record. This is handy for seeing what they've been up to recently.

In 4.7 they're shown oldest first. As we've been using CiviCRM since 2008 some of our data is OLD!

Is this a feature or a bug?

If it's a bug, it can be fixed by modifying line 42 of templates/CRM/Activity/Selector/Selector.tpl and changing "asc" to "desc".

This is believed to be an unresolved bug and is reported at https://issues.civicrm.org/jira/browse/CRM-18275?jql=project%20%3D%20CRM
Hope this helps.


Non-chargeable event participants I have a some event roles (tutor and administrator) that are not chargeable. I want to be able to add these from the back end - Register Event Participants, but I have to accept a fee and provide charging information which is not wanted. I've set the roles to be "not counted" but that doesn't help. If I add a zero fee then that is going to show as an option for the online booking. In How do I configure a free event ticket option for internal use without it showing up on the website? there are two suggestions: I can't go down the price set for these existing events and the other option suggests that you can have a role that isn't charged.
Am I missing something?
I might be able to do it by importing participants but that's more work than it should be. as I'd have to export event and contact data and then create a spreadsheet.

Are you using price sets for the ones that are public and chargeable? If so, we add an option and set the visibility to Admin. Then we can add them in the back-end, but they don't show up publicly.


Subject line problem when using action "Thank-you Letters for Contributions" in Find Contributions v4.6.8 I'm trying to use an email template in the "Thank-you Letters for Contributions" action on the Find Contributions results page - civicrm v4.6.8

This action brings up the form "Create Printabe Letters (PDF)" In this form:
- I select "Send emails where possible. Generate printable PDF’s for contacts who cannot receive email." for the Print and email options.
- I choose an email template with which the civi form correctly fills in the Activity Subject and Your Letter fields.

But no matter what text I put in the Activity Subject field, every email sent has the subject line:  Thank you for your contribution/s

Any ideas for getting the template subject line to appear would be appreciated.

I tried searching for solutions before posting this, but but clearly didn't search on the right thing.  Found a jira reference today.  Looks like this was solved last month. Check it out here: https://issues.civicrm.org/jira/browse/CRM-17548


Error on upgrade 4.7.17 Notice: Undefined variable: alreadyInstalled in
  /var/www/vhosts/casem-acmse.org/subdomains/test/httpdocs/wp-content/plugins/civicrm/civicrm/install/index.php
  on line 274

Luckily this was on my sandbox site. I forgot that I was no longer logged in and tried to run:

  http://mysite/wp-admin/admin.php?page=CiviCRM&q=civicrm/upgrade&reset=1

Now it wants to reinstall CiviCRM.

May I suggest that someone fix this before it happens on a live site.

Update 1: Looks like I forgot to copy back the civicrm.settings.php file. After changing the version in civicrm_domain back to 4.7.16, I ran it again and it died in 4.17.17.mysql.tpl trying to add the card_type.

ALTER TABLE civicrm_financial_trxn
  ADD card_type INT( 10 ) UNSIGNED NULL DEFAULT NULL COMMENT 'FK to accept_creditcard option group values' AFTER payment_instrument_id,
  ADD pan_truncation INT UNSIGNED NULL COMMENT 'Last 4 digits of credit card.' AFTER check_number;

After adding the card+type manually with no errors, Civicrm refuses to continue.

A copy of civicrm.settings.php could reside in ../uploads/civicrm. Then part one of the upgrade process would be to copy this file and stick in ../uploads/civicrm then copy it back as part one of the install if it exists?

Either that or dump the information in the wp_options table in WordPress and either reload them each time or recreate the file as part of the upgrade.

Given that I'm not emotionally attached to this sandbox database I'm going to get another one

It's not completely clear the whole history of what happened to the instance, but it appears that you managed to run the upgrade script twice, and it choked the second time because the fields had already been inserted on the first run of the upgrade.


Manage Events fatal error after upgrading from 5.4 to 5.10 I am running Civi on Drupal.
After upgrading from 5.4.0 to 5.10.0
I go to Manage Events page and get this:

Fatal error: Call to undefined method CRM_Event_BAO_Event::getAllPermissions() in /home/tamera/www/dev/sites/all/modules/civicrm/CRM/Event/Page/ManageEvent.php on line 339

Any ideas?

I can see that the getAllPermissions() method is present, so if you're getting a "call to undefined method" error you very likely have either an extension or a customization that's overriding the file <civiroot>/CRM/Event/BAO/Event.php.

Turn on debugging and backtrace (Administer menu » System Settings » Debugging and Error Handling) and this error should become much more detailed.  If you're not sure how to interpret the backtrace to find your customizations, you can edit your question to include the backtrace and someone will likely be able to help.


Creating An Automatic Employee of Relationship At Signup When someone signs up on behalf of an organization in Civicrm two records are created: one for the individual and one for the organization but no Employee of relationship is created.This relationship has to be added manually. How can one cnfigure Civicrm such that when an individual signs up on behalf of an organization an automatic 'Employee of' relationship is automatically created.

When someone makes a contribution on behalf of an organization, the relationship is automatically is created. I just tested this on my local sandbox, using the default "On behalf of Organization" profile.

Please replicate the relationship not being created at a CiviCRM demo and update your question, indicating that you were able to reproduce there.


https://docs.civicrm.org/dev/en/latest/framework/ajax/ I would like to open a modal with options editor inside (please see the screenshot below). I would like to call a custom JavaScript function whenever an option has been changed via that modal. By "changed" I mean added, renamed, deleted, disabled, reordered etc.

As per https://docs.civicrm.org/dev/en/latest/framework/ajax/ there are a couple of events related to dialogue forms that you can track, including crmFormSuccess. This event will fire on the label change, or new element addition, but not on the enabling/disabling or reordering.

The code snippet:

CRM.loadForm('/civicrm/admin/options/individual_suffix?reset=1')
  .on('crmFormSuccess', () => {
    // will not trigger on reordering or enabling/disabling
    console.log('Updated...');
  });

Is there a similar event to handle these events as well?

crmLoad is triggered on every action. Try:

CRM.$(document).on('crmLoad', function(e, data) {
    console.log(data);
})


Wordpress Civi install keeps puking with "canary" and simplexml_load_file() error WP: 4.8.1
CIVI: 4.7.23
PHP 7.0.22ubuntu0.16.04.1
Ubuntu 16.04.3 LTS

Installation proceeds and then the CiviCrm page 500s.

[Sun Sep 03 17:24:57.841003 2017] [:error] [pid 2943] [client 24.1.98.245:49332] PHP Fatal error:  Uncaught Error: Call to undefined function simplexml_load_file() in /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Menu.php:116

Stack trace:
#0 /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Menu.php(95): CRM_Core_Menu::read('/var/www/html/w...', Array)
#1 /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Menu.php(175): CRM_Core_Menu::xmlItems(true)
#2 /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Menu.php(283): CRM_Core_Menu::items(true)
#3 /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(372): CRM_Core_Menu::store()
#4 /var/www/html/wp-content/plugins/civicrm/civicrm/api/v3/System.php(49): CRM_Core_Invoke::rebuildMenuAndCaches(1, 1)
#5 /var/www/html/wp-content/plugins/civicrm/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_system_flush(Array)
#6 /var/www/html/wp-content/plugins/civicrm/civicrm/Civi/API/Kernel.php(169): Civi\\API\\Provider\\MagicFunctionProvider->invoke(Array)
#7 /var/www/html/wp-content/plugins/civicrm/civicrm/ in /var/www/html/wp-content/plugins/civicrm/civicrm/CRM/Core/Menu.php on line 116, referer: http://mackenzie.southsidescout.com/wp-admin/admin.php?page=civicrm-install

[Sun Sep 03 17:25:10.472533 2017] [:error] [pid 2944] [client 24.1.98.245:49338] PHP Fatal error:  Uncaught CRM_Core_Exception: [0: Found installation canary. This suggests that something went wrong with tracking installation process. Please post to forum or JIRA.

thrown in /var/www/html/wp-content/plugins/civicrm/civicrm/Civi/Core/InstallationCanary.php on line 53

[Sun Sep 03 17:25:21.322206 2017] [:error] [pid 13881] [client 24.1.98.245:49342] PHP Fatal error:  Uncaught CRM_Core_Exception: [0: Found installation canary. This suggests that something went wrong with tracking installation process. Please post to forum or JIRA.

thrown in /var/www/html/wp-content/plugins/civicrm/civicrm/Civi/Core/InstallationCanary.php on line 53, referer: http://mackenzie.southsidescout.com/wp-admin/

Any thoughts?  Permissions appear clean

It turned out that PHP did not have simplexml_load_file()  installed.  I ran

apt-get install php7.0-simplexml

Restarted apache and hosed the install in /plugins as well as its database, started over and now it has installed.


Do I need to backup civicrm_cache table in civicrm 4.0.8 civicrm_cache table is nearly 3GB... does it matter if we empty it, if not can we just not back it up ?

If you TRUNCATE the table, be sure you do so at a time when there are no in-process contributions or other users actively filling out a form or their submission will be lost. Otherwise, it's safe to do so.

Your backups can just skip that table, no need to back it up. Although you do need to get the structure of the table in order to be able to restore a complete db from your backup.


What is the most reliable method for merging records with memberships? I've noticed recently on one site that I look after that a small number of records appear to have 'lost' their membership record. The site in question has organisational memberships and individuals have membership by dint pf their relationship. What I've seen is that while the individuals involved continue to show their membership, the related org record is showing no membership record. Invariably there is an org record in the trash which has the membership record associated with it. So I've got a little digging to do to understand why the org record with the membership is getting deleted, while a duplicate with no membership remains.

Odd behaviour with merging records may be part of the issue: if I recover the deleted record I then have two 'duplicate' records, one with a membership and one without. If I merge the record with the membership into the other one, and ensure that the checkbox is ticked to move the memberships, I end up with a single record with no membership. If I flip the two records and then merge, I end up with one record with a membership, which is what I want. Why, when I have explicitly ticked to move the membership record, is it not getting moved? This strikes me as highly dangerous behaviour - at the very least I would expect to see a large red alert to warn me that I was about to delete a record with a membership record that isn't being transferred to the merge result. Unless it's a bug?

I note that there is also an additional checkbox when merging, to "add a new membership". Do I need to check this as well in order for the membership to be moved, even though I'm not adding a new membership but moving an existing one?

I looked into the code and seems like you need to enable the add new checkbox to move the membership to the newer contact.

Add New stands for adding a new membership on the main contact from the duplicate contact.

Case when add new is not needed:

This is not needed when both the contacts have a membership of same type and they need to be merged between the two contacts. For eg.

Contact A has a membership of type 1 with start date = 1/1/2018.
Contact B has a membership of type 1 with start date = 2/2/2018.

Now, when contact A is merged to contact B, the merge membership is done and all the field values of A membership is copied on to B. Here, no new membership need to be created. Hence, add new should not be checked.

But, in your case, as the membership on the main contact is not present and need to be "added" from the duplicate contact - we need to select the add new checkbox on the merge screen.

Agree it should be documented as I don't see it anywhere on docs.civi.


using api.getoptions to retrieve all options for a field (even disabled) According to the documentation (https://wiki.civicrm.org/confluence/display/CRMDOC/Pseudoconstant+(option+list)+Reference) I should be able to pass a context to an api.getoptions call in order retrieve both enabled and disabled options for a field. However, it doesn't seem to be working. In fact, swapping out different contexts has no apparent effect on what is returned by the api call. Am I missing something?

Sample code:

$opts = civicrm_api3('contribution', 'getoptions', array(
  'field' => "custom_5",
  'context' => 'get'
));

Looks like you found a bug. Here is a fix:

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

Could you please review it and leave feedback on github to speed along the merge process?


How to create tokens for custom fields (participant, individual, organisation) Drupal 7, Civi 5.12
I have created custom fields for civievent bookings (to be used for Participants, Individual, Organization).

Is there an easy way for a non developer to create tokens for these custom fields so that I can include them in the Contributions Invoice template?

(I asked the same question in 2017 and found a way around by using custom contact fields, but that was kludgy).

Davy, You can use CiviCRM api to fetch the custom fields of participants, contact and then use as smarty in your message template

Something like this you can include in invoice template

{crmAPI var='result' entity='ParticipantPayment' action='get' return="participant_id.contact_id.custom_3,participant_id.custom_4" contribution_id=$id}
{assign var="contactCustomField" value="participant_id.contact_id.custom_3"}
{assign var="ParticipantCustomField" value="participant_id.custom_4"}
{foreach from=$result.values item=participantpayment}

    Contact custom field
    {$participantpayment.$contactCustomField}

    Participant custom field
    {$participantpayment.$ParticipantCustomField}

{/foreach}

HTH

Pradeep


Is the text-link field broken in D7 views integration? When creating a view in Drupal 7 to display CiviCRM activities (v 4.6) there is a text-link field available.

On selecting this field it can be configured to perform contact actions or activity actions (view, edit, delete) and set the link text as well as label.

I'd expect this to provide one of the text links we are all familiar with from the CiviCRM interface - however, when configured for activities, the result is that no data is displayed at all. There is no error message, the content is no longer displayed.

This happens regardless of the display settings (table, grid, calendar etc) for the view.

Is this field known to be broken, or should I persevere?

I have come across a similar problem before although this is marked as fixed in 4.6:

https://issues.civicrm.org/jira/browse/CRM-15008

I think the fix is in 4.7 - I have the same problem in 4.6.10.

There is a workaround - you can set any of the other fields as a link to the activity.

In your chosen field (I used the Activity Subject), go to 'Rewrite results' and select 'Output this field as a link'. In the Link path field, add:

civicrm/activity?action=view&reset=1&id=[id]&cid=!1

Then apply the change and save your view. This gives a link to the activity - if you want an edit link, try:

civicrm/activity/add?reset=1&atype=&action=update&reset=1&id=[id]&cid=!1&context=activity

Views will replace [id] with the activity ID and !1 with the contact ID

(If you want a text link separate from the other fields, add a Global custom text field and set it to rewrite as a link)


How do I add a new administrator to CiviCRM? How do I give a person admin rights to civi?

As JonG mentioned, it depends on your CMS. I use Drupal so in my case I either add a Drupal role I created called 'civicrm_administrator' to the user or I create a specific new role and tick the permission 'administer CiviCRM'


Can't log in to Drupal site: get redirected to random pages after submitting login form I have one site with a very strange issue that I have been fighting for months and I'm clueless. All I know is that with CiviCRM disabled, the issue does not occur.

When I attempt to log in and submit the login form, instead of being logged in I get redirected to some random page and 404. For example, it will say

  Page /robots.txt not found

And I'm not logged in. The only way to log in is to disable CiviCRM via drush. Then everything works perfectly.

It's something in the DB because I can restore this DB to a fresh settings.php and civicrm.settings.php and the error persists.

The DB did go through an upgrade from D6 w/Civi4.5 to D7 w/Civi4.6, which is when the strange behavior started.

Thanks for your time and insights.

I discovered that this was caused by faulty PHP in the template.php file of my Drupal theme. Probably spent more than 40 hours trying to troubleshoot this, when in the end it was some custom code in my theme!


Efficient methods for flagging profile submissions from a contact form Running Wordpress 4.8 and CiviCRM 4.7.19

As per a suggestion elsewhere on the forum, I created a profile for use on our 'Contact us' page (email, first name, last name, message as a multi-record listing).  I'm trying to figure out the best way to mark/flag/indicate each new submission, so staff will be aware of needing to response and can indicate when a response has been sent for the specific issue.  Right now, my thought is to create a custom yes/no field marked as "triage" that automatically gets set to 'yes' when a form is submitted, and can be set back to 'no' by our staff once the question has been addressed.  From there, I figured we'd create a query for all triage=yes entries and have it appear on the Civi dashboard.  From what I've read, this field could be included in the profile but hidden from the end user with Jquery.

Is there a better way to handle this in Civi?  I'm only beginning to use the software and don't know if some use of tags, groups, or another tool is a more sensible path than the one I've mentioned.

Thanks all,

Your solution to use a hidden field seems reasonable. I would suggest though, instead, you create a custom field (on the same dataset) called Triaged, with a default of 'No' (or null).

Don't even bother including it on the Profile.

Then when the contact us profile is manually processed, the staff member checks the Triaged field (or sets it to Yes) on the backend.

No jquery needed (there still are some people that don't have javascript enabled). Let the system do the most it can for you.

As @petednz points out, Drupal users have a way to handle this using Webforms. If you are ambitious, you could build a form on the WordPress side and on its submission run a bit of PHP code to call the CiviCRM API to do what you need it to.  But that's way more technical than most people want.


NG-Hide Volunteer Search I only have 12 items per volunteer project so I was hoping to hide the Search as it's pointless. I looks like there's code to control that but I can't find a way to turn it on or it's not functioning properly.

Kind regards,

appended &hideSearch=1 and that took care of it. Modified the css for the cart to width 100%.


Custom Field "File" Display Issue I have a custom field "File" which for some reason is not displaying the file. However, it is being uploaded correctly. The functionality is working fine just the display looks corrupted and if i try to download it it comes up as its not supported.

I have done the following steps:

Checked the Safe File Extensions, that is configured correctly.
Replaced the /CRM & /templates folder.
Checked the path where the files are stored (files/civicrm/custom/),
i can view the images here and it doesn't come up as corrupted.
Checked the database and it is all put correctly.

The Code for the file is being displayed like this:

When i click on it, the file is being downloaded as a corrupted image file.

Image of the how it appears in the UI:

Judging from the whitespace you've found in the images 'code' this is the same issue as another I've had regarding contact images not working and Mosaico images not working so I'm just going to copy most of an answer from another question that I answered which the same fix:

So I've found this issue is due to a rogue module or theme in Drupal that has whitespace before or after the PHP opening and closing tags which is being injected into images.

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

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

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

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

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


How do I get my iCal feed to show past events? How do I get the iCal feed that displays as html at
/civicrm/?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&html=1
or as a feed at /civicrm?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1 to show past events?

Using Wordpress

Simply add the param &start=YYYYMMDD

On the html side use civicrm/?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&start=20070101&html=1

on the ical side use /civicrm?page=CiviCRM&q=civicrm/event/ical&reset=1&list=1&start=20070101

In that example 20070101 is January 1st 2007 - you can change the date to whatever you would like.


When adding CSS in civimail (under source) getting an error when trying to see or send test Trying to use my own custom html e-mail in CiviMail with custom CSS in it (specifically to optimize on mobile).
When I have the CSS stylesheet info on top I cannot send a test email or preview in HTML. when I click either of them I get Error
"Sorry an error occurred and your information was not saved"
How can I get around this?

You will need to add your style sheet inside {literal} when adding stylesheet in Message template. For example

{literal}
<style>
 your code
</style>
{/literal}


I have installed and unzipped Civi in WordPress plugins directory, CiviCRM installer page is blank? I have installed and unzipped Civi in wordpress/wp-content/plugins directory via these directions:

http://wiki.civicrm.org/confluence/display/CRMDOC/WordPress+Installation+Guide+for+CiviCRM+4.5.

When I get to step 5, however, and visit the Civi Install page on settings - CiviCRM installer, the page content is blank.

Also, there is nothing in the error logs.

Any thoughts on what could be going wrong?

Thank you!

AK

If you haven't already done so, login to your WordPress site with Administrator level permissions.

In Admin, Go to plugins section and activate the CiviCRM plug-in.
After that, open a new browser window and enter and run the following URL "http:///wp-admin/options-general.php?page=civicrm-install

You should then see the Installer screen where you can follow the given instructions.
Hope that helps.


How to show Civicrm Event in fullcalendar? In drupal view i want to show civicrm events and selecting display format is Fullcalendar ....Error is showing Display "Page" requires at least one date field."  I am taking fullcalendar module version 7.x-2.0 and FullCalendar jQuery plugin version 1.5.0. I am not getting any solutions from anywhere.

There was an Extension built that says it integrates with Drupal FullCalendar
https://civicrm.org/extensions/event-calendar-extension
but it doesn't show a release version for civi since 4.4

Otherwise if you are wanting to do this directly with Drupal Views have you tried enabling the CiviCRM Entity module to see if that can help you?

And there is now a sample View that works with 4.6 with civicrm_entity enabled here


Email When Scheduled Job Fails When any scheduled job fails or throws an error is there a way to have it send out an email to me? I was thinking drupal rules but wondering if there is an easier way to do this.

Depending on what kind of failure happens this might help: https://civicrm.org/extensions/civicrm-error-report-handler

It will email you for more than just jobs but maybe you'd want that too.


Combining Event, Membership & Contacts into single report So I can easily create a Search Builder for what I want, my challenge is creating a report that I can print an take to an event

Criteria:
Either registered for event
OR
A member of a specific group

From Contacts
Name, Email

From Membership
Status, End Date (if any)

From Event
Registration (if any)

The problem is that all the report templates are missing one or several of these items, or assume you only want event participants or current members.

Am I missing something or this is a known limitation?

If you are using Drupal, you can create a View that shows all that data. When you build the View, on the right click Advanced and in Relationships add the CiviCRM tables so you can show both Event & Membership data.
Add the Drupal Views Data Export module so you can download the results and print it.


How can I import Memberships without membership start date? I want to import membership in update mode and I don't have start_date so at the time of import it shows me start_date is required field. I have removed membership_start_date required field from /civicrm/CRM/Member/Import/Form/MapField.php file after that it is giving me error-

  Invalid value for field(s) : Membership Start Date is required to create a memberships.; Start Date" in import_error.csv file

Let's assume that you can't edit the CiviCRM files or database  -  or only will do so as a last resort :)

These are existing memberships, so you should be able to export the memberships info with the actual start date, add the start_date to your CSV file and import with the start date.

I'm surprised membership start date is required....I'll ask that question on stack exchange :)


Mass deletion of contacts I woudl like to mass delete contacts in my civicrm. I could search and delete using the GUI but it woudl take ages as there are so many.
I feel like I might be able to do this via the api?
Also another response suggested using views Bulk Delete of Spam Contacts and related Drupal Users
Does anyone have any tips?
I will have another question depending on the tips probably!

Potentially you could do this in a little script using the API?


PayPal PSD2 - new European Union directive from 14th September 2019 A couple of clients using PayPal have received an email regarding a new European Union directive.

Some info from the email –

  As a business accepting card payments, your online checkout will need
  upgrading to comply with a new European Union directive requiring
  Strong Customer Authentication (SCA). The directive applies from 14
  September 2019, but card issuers are working towards SCA by April so
  that their systems are fully operational by the deadline.

  Want to know more?

  Find out more about PSD2 and check out our guide to integration -
  https://www.paypal.com/uk/webapps/mpp/psd2

As I understand it, no changes are required if users are redirected from your website to PayPal (hosted payment integration) but changes are required if you accept card payment on the actual website (Direct or in-line payment processors)

PayPal is one of the core payment processors in CiviCRM and the in-line option is now also compatible with webforms so I’m guessing this will affect many.

How do we move forward to be ready by the deadline as transactions will be declined if no action is taken?

I’m guessing this will also affect other in-line payment processors?

Because CiviCRM is open source there is no supplier who you could ask to do this.
Basicly it comes down that someone develops the software to work with the new standard.

In Open Source we have a saying that you have to scratch your own itch. Means that if your organisation is dependent on credit card payments and paypal, your organisation has to make sure it keeps working because its your organisation who would suffer.

If you have a developer in your organisation then he or she could do the job. But If you dont have a developer you have to fund a developer to make it working for you.

In this case, there is a likely change that other organisations are also willing to contribute (eg developer resources or funding). But you have to find them and come together.


Getting error message from cron but no clue why - can anyone help? I'm getting the following message about 3 or 4 times a day from cron. Nothing is showing up in the error log and I'm puzzled.  This follows moving the site from one host to another which must be a clue.  Civi is working fine except for this error message. The site is Drupal based, release 5.19.4 and PHP 7.3.15.
After putting in the line suggested by Demerit, here's the new trace, the problem occurred once today.Warning:  array_intersect_assoc(): Expected parameter 1 to be an array, string given in /home/example/public_html/sites/all/modules/civicrm/Civi/Core/SettingsMetadata.php on line 150

Warning:  array_intersect_assoc(): Expected parameter 1 to be an array, string given in /home/example/public_html/sites/all/modules/civicrm/Civi/Core/SettingsMetadata.php on line 150

Warning:  array_intersect_assoc(): Expected parameter 1 to be an array, string given in /home/example/public_html/sites/all/modules/civicrm/Civi/Core/SettingsMetadata.php on line 150

Warning:  array_intersect_assoc(): Expected parameter 1 to be an array, string given in /home/example/public_html/sites/all/modules/civicrm/Civi/Core/SettingsMetadata.php on line 150

Warning:  session_start(): Cannot start session when headers already sent in /home/example/public_html/sites/all/modules/civicrm/CRM/Core/Session.php on line 124

 And here what was in ConfigAndLog at the time the problem occurred

Mar 18 02:15:02  [info] ddd DD

Mar 18 02:15:02  [info] month

Mar 18 02:15:02  [info] 500

Mar 18 02:15:02  [info] en_GB

Mar 18 02:15:02  [warning] Deprecated Path: There is a setting (generate_schema_and_data) not correctly defined. You may see unpredictability due to this. CRM_Core_Setting::setItems
Array
(
    [civi.tag] => deprecated
)

Mar 18 02:15:04  [warning] Deprecated Path: There is a setting (generate_schema_and_data) not correctly defined. You may see unpredictability due to this. CRM_Core_Setting::setItems
Array
(
    [civi.tag] => deprecated
)

Based on comments this was tracked down to extensions. @andy-clark looked at the installed extensions and an older version of the CiviCalendar extension was creating the string error.

Also the Summary Fields extension was creating deprecated warnings.