Can we print an invoice without GST? We have a client who wants to bill an Australian Member with Ireland HQ, therefore they need to provide an invoice without GST as head office is paying. Is there any way we can tick or untick GST when creating a payment? Thanks.

Drupal 7.59 CiviCRM 4.7.38.

Sales Tax (like GST) is per Financial Type so if you need to make an invoice without GST you need to make the Contribution of a Financial Type that has no GST associated with it.

Have a look here for details on how to set up different sales tax rates for the same membership type:

How to apply different Sales Tax rates to the same Membership Type - Back Office


Civicrm Integration: Error while adding api function I have CiviCRM 4.7 installed on drupal 7.38. I Found it necessary to modify the url in civicrm.settings.php file as suggested here:https://forum.civicrm.org/index.php?topic=33303.0After this modification, my extension was successfully created and I enabled it. Also I have added a page and can already pull some data from the database using the CiviCRM api and display it on the page I added. I now intend to add an api function for an already existing entity, FinancialItem.When I run the command(in the terminal):

  civix generate:api FinancialItem Create

I get the following error

Any suggestions as to what I should do to fix this?

This looks like your CiviCRM install has an extension enabled in the DB which is not present, or was moved, on your disk.

Perhaps the extension you're working on was renamed after first being enabled, perhaps other changes were made to info.xml or the core extension files, perhaps it was moved, or perhaps your DB had another extension enabled on the remote server which isn't present locally.

The CiviCRM extensions page might be informative to check, otherwise you can compare extensions listed in the database to the ones which are available locally.


Date Format in CiviEvent Widget is not in German Format The date format in the CiviCrm event list widget switch not to german format. I administer all known format settings to the german settings. But only in the event list widget it shows no effect.
Is there an option that I not found?
I use wordpress 4.9.1 with Tortuga and CiviCrm 4.7.27

Fixed it!
Set default via Administer -> Localisation -> Date Formats
Date Format: Time Only
%H:%M
Events use the activityDateTime, which can be adjusted here:
Administer -> Customise Data and Screens -> Date Preferences


Can users edit an event profile? I am using CiviCRM on Joomla.

I created an event so users can register and sign up for workshops. One our leaders dropped out and many people signed up for her session. I want them to choose another session before the conference so we can make sure we have enough space. I don't see where I can expose the event profile for editing.

Is this possible?

One possibility if you can't do what you are trying, would be to add a custom field to your system, the send out links to a profile containing that field and hence find out the participants' new preferences. It won't change the data you currently have about them.

If you are using Drupal,  then you may be able to send people to a webform that would contain the event fields they originally used when registering.


Payment Instruments Financial Accounts I have a client with a new In-Kind Payment Instrument and we want it to to go to their In-Kin Financial Account. This is not one of the options how/can we do this?

Thanks!

Go to Administer->CiviContribute->Financial Accounts and click on Add Financial Account. You will also need to go to Administer->CiviContribute->Financial Types and set up an In-Kind Financial type to use with your Financial Account.


Scheduled Reminders - Limit or Add Recipients I am using CiviCRM 4.7.22 on WordPress.

I am having some confusion with setting up Scheduled Reminders for Memberships.  Ideally, I would like the member to receive an automatic email notice that their membership account is about to expire 30 days before the End Date.

The "Limit or Add Recipients" field is what is causing me confusion.  There are three options: "Neither", "Limit to", and "Also Include".  How does this need to be set to ensure that only the member whose account is about to expire is automatically sent an email notice?

I am thinking just leaving it at "neither" is all I need to do, but I am not sure and the documentation is not helping to ease my confusion.  I am hoping someone can help clear this up for me.

Thank you.

The field basically means, having selected who should get the reminder based on the Entity settings, do you then want to further restrict who gets it, and/or do you want to include folk who don't meet the Entity criteria to also get it.

If you just want the folk who should get it, to get it, then use Neither


How do I fix auto-renewal memberships? (Auth.net) We're recently having trouble with auto-renewal memberships again. When a member's membership should renew, the members are getting charged through Authorize.net but it's not updating the membership status through Civi. Not sure what to check or how to fix this issue.

We had the same issue in CiviCRM 4.6.4 - our configuration inside our Authorize.Net portal was incomplete and we followed the steps outlined at

http://wiki.civicrm.org/confluence/display/CRMDOC/Authorize.net+Configuration

under Automated Recurring Billing. After putting in the correct URL for authorize.net to post to, memberships started to update.

Another thing to note is it's obnoxious to test because authorize.net processes their ARB transactions once every 24 hours at something like 2am so you won't know right away if it's working.

Pulled out the relevant text here:

"CiviCRM will need to be notified of the success of recurring contributions via a Silent Post URL.  Within Authorize.net, go to Account > Settings > Silent Post URL (within the Transaction Format Settings section).  On that page, enter the URL:

Drupal: https://yoursite.org/sites/all/modules/civicrm/extern/authorizeIPN.php

Joomla: https://yoursite.org/administrator/components/com_civicrm/civicrm/extern/authorizeIPN.php

WordPress: https://yoursite.org/wp-content/plugins/civicrm/civicrm/extern/authorizeIPN.php

If you fail to do this, one-time contributions will succeed normally, and recurring contributions will be processed successfully by Authorize.net, but the contribution status will be stuck at Pending."


Getting ERROR: You need to send a valid key to execute this file when running Cron When I run my cron job, wget -O - -q -t 1 domain.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXX&pass=XXX&key=XXXXX

When I use this link in my browser it works just fine no issue, so the key is valid. I get the same error when running GET domain.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXX&pass=XXX&key=XXXXX

I can't seem to use single quotes or it stops running altogether. A FQDN and I get a JSON error in the cron setup.

Without quotes around the URL, your shell may interpret the '&' character as a request to run a command in the background:

$ wget -O - -q -t 1 none.such/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXX&pass=XXX&key=XXXXX
[1] 9887
[2] 9888
$ jobs
[1]-  Exit 4                  wget -O - -q -t 1 none.such/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXX
[2]+  Done                    pass=XXX
$

Here it uses the URL up to but not including the first '&', thus missing the pass and key parameters. Enclosing the URL in quotes should resolve this:

$ wget -O - -q -t 1 'none.such/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=XXX&pass=XXX&key=XXXXX'
$

You say this didn't work for you, could you provide details of what command you tried and what the result was?


Using API csv Import GU"I extension for Pledges I have a number of Pledges that need to be loaded and was hoping the the extension would allow me to create a csv file and import the pledges in bulk. A separate line was created for each 'payment' of the pledge, the Contact ID was used as the key and a sequential number was allocated as the Pledge ID. The extension appeared to work as the returned message indicated that all records had been successfully imported.
However, when I view the Contact record, or search pledges, none of the records loaded are visible.
What am I doing wrong? Many thanks for any assistance!

If I'm understanding you correctly, you are importing pledges and the contributions relative to each pledge in the same import.  You have to import pledges and their connected contributions separately.  You must also add a couple of columns in order to have things connect correctly.

See https://civicrm.stackexchange.com/a/6380/105


Why does the civicrm upgrade stop after each step of the upgrade eg at 4.7.19 then again at 4.7.20 Not used to seeing this but one site just stopped at each step of the journey.

As per the code, retry and skip seems to be shown with the value set for debug. Note Enable Debugging if it is turned on/off on Administer-> System Settings -> Debugging and Error Handling.

Need to confirm this on another upgrade I do, but for now, it seems retry and skip would show up if debugging is enabled and the upgrade would progress only after Retry button is clicked. So for continuous upgrade, one should have debug set to No?


Cron Job not working after Joomla 3.8.1 update After upgrading Joomla to 3.8.1 the cron job stopped working as reported here. I have applied the update the Joomla.php file as suggested in the answers. This gets rid of the original error. However now I am getting this error:

    PHP Notice:  Constant JPATH_ISWIN already defined in /home/fava/public_html/libraries/import.legacy.php on line 64
    Notice: Constant JPATH_ISWIN already defined in /home/fava/public_html/libraries/import.legacy.php on line 64
    PHP Notice:  Constant JPATH_ISMAC already defined in /home/fava/public_html/libraries/import.legacy.php on line 65
    Notice: Constant JPATH_ISMAC already defined in /home/fava/public_html/libraries/import.legacy.php on line 65
    PHP Notice:  Constant JROUTER_MODE_RAW already defined in /home/fava/public_html/libraries/import.legacy.php on line 72
    Notice: Constant JROUTER_MODE_RAW already defined in /home/fava/public_html/libraries/import.legacy.php on line 72
    PHP Notice:  Constant JROUTER_MODE_SEF already defined in /home/fava/public_html/libraries/import.legacy.php on line 79
    Notice: Constant JROUTER_MODE_SEF already defined in /home/fava/public_html/libraries/import.legacy.php on line 79
    PHP Notice:  Constant JROUTER_MODE_RAW already defined in /home/fava/public_html/libraries/import.php on line 60
    Notice: Constant JROUTER_MODE_RAW already defined in /home/fava/public_html/libraries/import.php on line 60
    PHP Notice:  Constant JROUTER_MODE_SEF already defined in /home/fava/public_html/libraries/import.php on line 67
    Notice: Constant JROUTER_MODE_SEF already defined in /home/fava/public_html/libraries/import.php on line 67
    Error displaying the error page: Application Instantiation Error: Failed to start the session because headers have already been sent by "/home/fava/public_html/libraries/import.legacy.php" at line 64.

I have tried manually clearing the Joomla session table but no luck.
I have also update CiviCRM to 4.7.27 and applied the patches as mentioned here but the same error is still occurring.

I have updated Joomla to 3.8.5 and updated CiviCRM to 4.7.31 (I'm using PHP version 5.6.34.) and the CRON job still didn't work.

I found and applied this patch and it worked. Thank you to Andrew Thompson for your work on this issue.


How to convert a STOP message sent to an SMS provider into the "Do not SMS" privacy preference in CiviCRM? Most SMS providers allow you to respond with STOP to indicate that you no longer want to receive SMS messages. If we try to send another message to a phone number that has replied with STOP, it won't go out.
However, it's not clear how this information gets back to CiviCRM, if at all. Does this have to be handled on a per SMS provider basis? Or should we be building a more generic framework to support all SMS providers? Or is there a way I haven't figured out?
For reference - here's how Twilio handles it: https://support.twilio.com/hc/en-us/articles/223134027-Twilio-support-for-opt-out-keywords-SMS-STOP-filtering-

It's probably possible to do via an extension, e.g. something similar to https://civicrm.org/extensions/auto-reply-twilio-sms
Otherwise there is a generic "inbound" function that handles incoming sms if the provider lets you set up a callback, e.g. twilio setup, and it's implemented in civi via this code and individual sms provider extensions can use it like this.
So it seems possible to implement something generic.


CiviEvent - Past event participants -> bulk register to new event Hi guys and thanks in advance.

I would like to find a way to do the following:

a. Advance Search
b. Find old event
c. Select participants
d. Action
e. "Add relationship - register to event"

In essence, I need to be able to use people that have registered (and may have come) to one of our previous events and register them to a new one.

Any way I can add that option under "Actions"? Or is there another way of going about doing this?

Thank you

I was able to search for these participants through Search>Advanced Search and use the Event Tab below instead, you should be able to see an Action of "Register Participants for Events" after selecting the participants.  This doesn't come out if you searched through Events>Find Participants though.

--CIVICRM 5.13.5 Wordpress 5.0--


Civicontribution 'Failed to update contribution in database' Someone makes an online contribution, the payment goes through, but an error pops up on the screen saying 'Failed to update contribution in database'. If I look at contributions, the status for the contribution is 'Pending (Incomplete transaction)'. The error occurs from a call to completeTransaction() in Confirm.php.

I turned on debugging and got a traceback, but it doesn't tell me any more than I have typed here. How can I find out why the update to the database is failing?

I feel its related to to CRM-21721. Can you please try after apply the patch?


Why am I getting a warning about hook_civicrm when Civi's cron runs? On Drupal 7.73 with CiviCRM 5.29.1. Every time the CiviCRM cron runs, I get the following warnings in the Drupal watchdog log. Each is a separate entry.
hook_civicrm_alter_drupal_entities should be updated to pass an array of parameter names to CRM_Utils_Hook::invoke(). Array ( [civi.tag] => deprecated )
hook_civicrm_entity_supported_info should be updated to pass an array of parameter names to CRM_Utils_Hook::invoke(). Array ( [civi.tag] => deprecated )
Any suggestions for how to fix this would be most welcome :-)
Thanks.

I'm assuming you have the civicrm_entity module installed. There's an open pull request for this at https://github.com/eileenmcnaughton/civicrm_entity/pull/238
If you're able to test out that patch and comment there on that PR it might get merged faster.


Membership proration I'm attempting to setup proration on fixed memberships via the civicrm_membershipTypeValues hook.  I'm assuming that once the minimum_fee value is modified, this new amount should display on the contribution form.

In using the basic test code, with some debug messages inserted, I can see the hook is called, and the minimum fee value is updated, however the radio button selections for the membership types, retains its original "full period" price.

Currently testing with the following on Drupal 7.37/Civi 4.6.3 to test the ability to update the amount without success....

Appreciate any thoughts on how to implement proration....

function prorated_memberships_civicrm_membershipTypeValues( &$form, &$membershipTypeValues ) {
  require_once "CRM/Core/Error.php";

    foreach ( $membershipTypeValues as &$values) {
   CRM_Core_Error::debug( 'olddump', $values);
          if ( $values['name'] == 'General') {
              $values['minimum_fee'] = "5.55";

          }
          if ( $values['name'] == 'Family') {
              $values['minimum_fee'] = "2.22";

          }
   CRM_Core_Error::debug( 'newdump', $values);
    }
}

Even if you don't use a price set on a contribution page, the options that get presented end up being treated as a price set in the database.  Membership options in a price set don't need to be the minimum value of the membership itself, so my suspicion is that your hook isn't affecting the price options on the page, since they're set when you create the contribution page itself.

You'll need to use hook_civicrm_buildamount to change the actual price options' values on the form.


How refund is possible for event participants in civicrm? I am using civicrm 4.6 in wordpress where users register for the events. We also want to allow users cancel their registrations and admin can refund them. We are using Stripe payment processor and participants make payment through credit card. Is their any in built feature to refund event participants? or how to integrate that?

It's been my experience that refunds need to be done with the payment processor, not inside CiviCRM. We use Authorize.net and we just log into the system and do the refund from there. Payment systems can be real finicky when it comes to refunds because of fraud.


Is it OK to drop database triggers in order to run a process? I've spotted at least one process in CiviCRM that drop triggers on certain tables in order to run a process. For example:
https://github.com/civicrm/civicrm-core/blob/1e7702fee94c891c1c1b3ec4d43688991f96b6af/CRM/Contact/BAO/ContactType.php#L904

Is this a bug?

If an operation happens simultaneously that would affect the table which has had its triggers removed, wouldn't that cause data integrity issues, or gaps in logging (which uses database triggers)?

This is not a bug, we need the triggers to be dropped for performing the database operations in subsequent code lines without having a cascading effect on other tables (a lot of these triggers are on the DELETE operator).

You will notice the triggers are then rebuild before the function exits: https://github.com/civicrm/civicrm-core/blob/1e7702fee94c891c1c1b3ec4d43688991f96b6af/CRM/Contact/BAO/ContactType.php#L921


Where/how do you tag an attachment? Whilst looking at tags for other reasons, I noticed that you can create tags to be Used for Attachments.

I haven't found where this is covered in our documentation (certainly not in the section on tags that only refers to tagging contacts, activities or cases).

I can't include it in the documentation, because I haven't come across a situation where I can tag an attachment and I have no idea how it to do it.

If someone can explain when/where/how/why you tag attachments I can include it in the documentation for 4.7.

JoAnne -

It seems to me that the most likely scenario for adding/tagging attachments is in the creation of activities - I tested adding a tag for attachments in the demo site, and when I created a meeting activity and opened up the attachment section, the tag field was there: http://screencast.com/t/fNc98uR6Uq

What puzzles me, however, is that there is no apparent way to search for attachments or activities/contacts with attachments (which is different from searching within the attachments, which would be an entirely different ballgame), other than Search Builder (which is somewhat opaque for a lot of the Civi users with whom I work).  I see from this message that others have asked the same question - until the attachment tags are searchable, the usability is a bit limited IMHO.

Hope this helps,
Lesley


Drupal CiviCRM Contact View -- Show all groups for a contact Ok, this should be very straight forward but it doesn't appear to be.

I have a CiviCRM Contact View in Drupal 7. It is a contact search of sorts. When a contact is rendered a number of things are displayed. The contacts can be a member of one or more CiviCRM Groups and I would like to display a comma delimited list of the groups that each contact belongs to. At present Drupal Views only displays the first group.

Any ideas of how to render more?

You can use Views Aggregator Plus module to group contact 2 rows.

Views Setting

Table format setting

Result

HTH

Pradeep


Tips for synchronizing data from a local branch to the main office I have two organisations; both are CiviCRM users. One is the main office and in charge of membership management and membership fees. The other is the local branch and organises events and manages the volunteers.

The main office has a superset of the contacts of the local branch.
The local branch has more information, for example, event participation and volunteer details.

The configuration of the two CiviCRM instances are very different but makes sense to exchange information. For example change in the email address in the local branch is of interest for the main office. A new member must be reported to the local branch.

Any tips, what is the best way to do this. Maybe someone has created an extension that can be used, as an example?

If you can, try to use the same instance with ACL to limit what the branch can see (eg only their contacts).

If not, you will need to write at least one extension on the main, to automatically create the relevant contacts on the branch civi, and probably another one on the branch to update the contacts on the main.

Synchronising in both direction is tricky, and you might have situation where one is updating the other with older/incorrect data, think about who "owns" the master data and should be considered always right.

I'm aware of a few projects that helps synchronizing different civi install, but I don't think any is ready to be used the way you want - at least without coding -


Limit price field of type Text/Numeric to only numbers and with a minimum of 4 Is it possible to enforce a numbers only input with a numerical minimum on a Text/Numeric price field? I'm guessing it could be done with jQuery, but I would rather have this set up in the Civi Admin UI, since it would be much cleaner.
More details:
I have a price field set up like this:

On the front end, it looks like this: (but I want 4 to be the lowest allowed number, with no letters input)

Basically, I want the HTML equal of <input type="number" min="4"/> in the cleanest and safest way possible. (safe as in not hacking up some jQuery and then moving an element 3 months later and breaking it)

Ideally you would develop a little extension that uses the validateForm hook (check https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_validateForm/). This will allow you to refuse input that does not meet your criteria.


CiviCRM - Drupal - Webform Submissions - how can I track the date submitted Here is the problem I am having...  I am using a Drupal Civi web form to allow people to join a waitlist.
Obviously the time the form is submitted is important to where they are on the wait list.
I see two possibilities:

Use the Contact Record Creation Date - but this has some practical challenges.  The contact creation date record is not easily usable in the various CiviCRM reports and searches (that field never shows up as usable in civi).  And using that contact creation date as a proxy for the waitlist sign up date makes assumptions about the contact that might be incorrect in some use cases.
Using a new Field-Set for a Contact for waitlist purposes.  This is nice because in that field set I can collect extra data such as a little bit about the person joining the waitlist.  But this has a problem in that I can't figure out how to get that Civi Date Field pre-filled with [current-date] and either hidden or non-editable.  I can get that new Civi Custom Field Set on the form just fine but I can't figure out how to get it set to [current-date].

Anyone following along or did I totally mangle the description of my problem?
Thanks

On the webform element config set the default value for your civicrm custom date and time fields to ‘now’.
Hide the field using a conditional, or set it to read only.


CIVI mail - URLs inserted directly into an email template do not direct the user to the correct web page I inserted a url into a CIVI email template - On testing the email, clicking the link which has not changed it re-directs the user to our site and gives an Error 404 page not found.
https://www.digital10.io/wp-content/plugins/civicrm/civicrm/extern/url.php?u=366&qid=586
Any experience of this behaviour we are on civi 5.24.5? pending upgrade to 5.29 but having issues, reluctant to do so. We are sending via a Sparkpost plugin.

I have a workaround if you make sure that the URL is not tagged as such then if comes through in the email ok and unchanged, this does not solve the issue if you want to mask the url and provide text to describe the link


on logging into civi we are getting the following error message, can anyone direct me as to a solution? Initialization Error
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => simpleHandler
)
[code] => -24
[message] => DB Error: connect failed
[mode] => 16
[debug_info] =>  [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']
[type] => DB_Error
[user_info] =>  [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']
[to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']"]

)
Initialization Error
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => simpleHandler
)
[code] => -24
[message] => DB Error: connect failed
[mode] => 16
[debug_info] =>  [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']
[type] => DB_Error
[user_info] =>  [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']
[to_string] => [db_error: message="DB Error: connect failed" code=-24 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=Access denied for user 'pascrm49_drupa86'@'localhost' to database 'pascrm49_civicrm']"]

)

You'll need database access and grant all permissions to the user 'pascrm49_drupa86'@'localhost' for the 'pascrm49_civicrm' database.
Something like
grant all on 'pascrm49_civicrm' to 'pascrm49_drupa86'@'localhost';
Theres probably an official direction somewhere but this is just to get you out of a bind if your civicrm install is broken.


Buildkit Issue - permissions? I've encountered a problem (only recently) with buildkit, where when it comes time for me to run:

~/buildkit/bin/civibuild install "civi46" --url "http://civi46" --admin-pass "password" --web-root "/var/www/civi46"

I get

++ CMS_DB_HOSTPORT=127.0.0.1:3306
++ pushd /var/www/civi46
++ '[' -f sites/default/settings.php ']'
++ rm -f sites/default/settings.php
rm: cannot remove `sites/default/settings.php': Permission denied

But when I run

sudo ~/buildkit/bin/civibuild install "civi46" --url "http://civi46" --admin-pass "password" --web-root "/var/www/civi46"

I get

+ bower install -f
bower ESUDO         Cannot be run with sudo
Additional error details:
Since bower is a user command, there is no need to execute it with superuser permissions.
If you're having permission errors when using bower without sudo, please spend a few minutes learning more about how your system should work and make any necessary repairs.
http://www.joyent.com/blog/installing-node-and-npm
https://gist.github.com/isaacs/579814
You can however run a command with sudo using --allow-root option

This takes place even if I (shudder) set settings.php to have 777.

Even if I try to install civi manually after that, it is missing the files lang.php and civicrm-version.php.

With these copied from elsewhere, and the correct install details, clicking install results in "cannot lock table civicrm_acl - doesn't exist". Of course it doesn't exist. I need you to create it, silly install.php!

The civibuild command is designed to run as a regular shell user (e.g. john) -- without root permissions. The source code should all be owned by the shell-user, and the data files should be owned by a mix of www-data/apache/www/john. No files should should be owned by root.

The exact errors have varied (depending on the revision and the commands used), so I generally run a search to identify files with errant permissions, e.g.

## Searching for files owned by root (or not by john)
find ~/.npm/ ~/.composer/ ~/.drush/ ~/buildkit/ -user root
find ~/.npm/ ~/.composer/ ~/.drush/ ~/buildkit/ ! -user $(whoami)
find ~/.npm/ ~/.composer/ ~/.drush/ ~/buildkit/ ! -user john -a ! -user www-data

## Changing owner from root to john
find ~/.npm/ ~/.composer/ ~/.drush/ ~/buildkit/ -user root -exec chown john {} \;

Note that this search covers several folders, including:

The caches generated by various build tools (eg npm, composer, drush)
The caches generated by buildkit (eg ~/buildkit/app/tmp)
The actual build (eg ~/buildkit/build/mybuild)

Additionally, if I've recently run amp config to change the permission policy, fixing the permissions on existing files can be pretty fiddly. I find easiest to delete the old build (e.g. civibuild destroy mybuild or rm -rf ~/buildkit/build/mybuild) and then recreate it.


Payment Processor. MD5 Hash Removal/Disablement from Authorize.Net Today Morning I got an Email from the authorize.net regarding MD5 Hash Removal/Disablement. Here what exactly they stated.

Authorize.Net is phasing out the MD5 based transHash element in favor
of the SHA-256 based transHashSHA2. The setting in the Merchant
Interface which controls the MD5 Hash option will be removed by the
end of January 2019, and the transHash element will stop returning
values at a later date to be determined.

Merchants utilizing this feature will need to work with their web
developer or solutions provider to verify if they are still utilizing
MD5 based hash and if still needed to move to SHA-256 hash via
Signature Key.

Currently I am using CiviCRM 4.7.29 version. Integrated with Drupal 7.

In payment Processors settings. I am using Authorize.Net as Payment Processor Type. And Using MD5 hashing also.

Now my question is. Does the latest version 5.9 supports this feature? Or Please let me know is their any other alternate solution.

Thanks to your question, the immediate issue has been resolved.  Issue financial#39 removes MD5 hashing from CiviCRM starting with the March release.

Note that Authorize.Net is removing the ability to ADD MD5 hashing to your account in January - but MD5 hashing won't stop working for several months after that.


Change CiviCRM Event notification emails When participants register for events/trainings, notifications are sent automatically to a pre-specified email. How can I change so the notifications come to different email addresses? Newbie using CiviCRM 4.6

In the event settings under 'Online Registration' you will see a section for 'Confirmation Email'.  If you select this CiviCRM will send a confirmation email to the participant.  You can also send a copy (CC or BCC) to another email address.

See the user guide for more information: Registration confirmation


Site transfer from Joomla I have a prospective clients who would like me to take over their site currently on Joomla and using CiviCRM
I prefer to "hand code" my sites. How easy is it to integrate existing CiviCRM into such a site?

You mean with your own CMS? you will mostly have to deal with the authentication and permission system.
look at what is done in civi for WP, J+, Drupal to give you a sense of the scope. I personally would not invest this time for no obvious value, but I would not either "hand code" my site, so YMMV ;)

Good luck!


Importing Gift Records Does anyone know here know how to import .csv files containing contribution information?
I know how to import constituent records but don't know how to import their gifts.

The documentation for that lives here:
https://docs.civicrm.org/user/en/latest/common-workflows/importing-data-into-civicrm/#import-contributions


What does the option "Always post to Accounts Receivable" in CiviContribute do? In the settings page of the CiviContribute module, there is the option "Always post to Accounts Receivable?" which can be activated or de-activated.

I have searched through the documentation and googled for it, but I cannot find a clear description of this option. I would have expected it to create additional bookkeeping entries for contributions in order to always involve the 'accounts receivable' account, even if an immediate payment is performed. But so far, I have not been able to make it work. In my tests, I get always the same set of bookkeeping transactions, irrespective of this setting.

I am not sure if this is a problem with my installation, if the feature just does not work or if I need to configure something else in addition.

(I am using Civi 5.11.0 and Wordpress 5.1).

There is probably a bug in storing the settings for this option, which prevents it from having any effect. See also here.


Angularjs called from an extension? Good morning from Canada.  I am trying to create an extension with angularjs forms.  I have followed the development guide and have created the angularjs page but I cannot get it to display in CiviCRM.  I have a Tabset function used with Events, it calls the php page, which in turn I have the AngularLoader configuration.  When it gets to the useApp() command I get an Unknown Path error.  The examples in the doc don't go as far as to show how to do this within an extension or as a new tab under event.  Even if you can point me to an example extension, I can analyse it to try and figure it out.  The default_route value in the useApp() command I'm assuming is the ang entry in angular?  When I do a cv ang:html:list the page I want is listed (as well as ang:module:list has the module).  Thanks for any advance or help you can give.
I ran all of the suggested civix commands from the documentation.
From the php called from the extension:
...
$loader = new \Civi\Angular\AngularLoader();
$loader->setModules(array('trialadmin'));
$loader->setPageName('TrialDetails');
//$loader->useApp(['defaultRoute' => '/trialadmin']);
$loader->load();
parent::run();

And in my module I have
if ($eventID) {
$url = CRM_Utils_System::url( 'civicrm/event/manage/TrialAdmin', "reset=1&force=1&eventid=$eventID&snippet=5&angularDebug=1" );
error_log($url);
$tab['Administration'] = array(
  'title' => "Administration",
  'link' => $url,
  'valid' => 1,
  'active' => 1,
  'current' => false,
);

output from cv ang:module:list
trialadmin        | civicrm/a                   | crmUi, crmUtil, ngRoute
output from cv ang:html:list
trialadmin/TrialDetails.html
I've tried different arrangements of the defaultroute but I'm not clear on why I'm getting the unknown path error.  If I comment out the useApp line it continues on to use the *.tpl that I originally had in place.  I wanted to do this with the newer forms format rather than the quickforms as suggested in the docs.

Ok, sorted it out with some suggestions and examples.

$loader = new \Civi\Angular\AngularLoader();
$loader->setModules(array('trialadmin'));
$loader->setPageName('Administration');
$loader->useApp(['activeRoute' => '/trialadmin/trialdetails']);
$loader->load();

Worked with this, but I also used the trace and debug in the browser to determine there likely was another issue with the form actually loading.  Regardless, I've been able to sort it out.


Unable to manage case tags Im getting this error when attempting to add tags to a case.

If I create a case and add tags at the same time, they get added.

If I subsequestly try to remove a tag, no problem.

If I subsequently try to add a tag, I get this error

Something wrong with getting info for tag: Expected one Tag but found 25

Also a huge array in the backtrace but the relevant bit I think is

Something wrong with getting info for tag: Expected one Tag but found 25" } ["message":protected]=> string(72) "Something wrong with getting info for tag: Expected one Tag but found 25" ["string":"Exception":private]=> string(0) "" ["code":protected]=> int(0) ["file":protected]=> string(64)

If I then try to view the case again, it's unviewable and has to be deleted.

Drupal up-to-date using 5.21.0

backtrace

CiviCRM_API3_Exception: "Something wrong with getting info for tag: Expected one Tag but found 25"

#0 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Case/Form/CaseView.php(359): civicrm_api3("entityTag", "get", (Array:6))
#1 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/Form.php(595): CRM_Case_Form_CaseView->buildQuickForm()
#2 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(76): CRM_Core_Form->buildForm()
#3 /home/vwdnetor/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Case_Form_CaseView), "display")
#4 /home/vwdnetor/public_html/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Case_Form_CaseView), "display")
#5 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/Controller.php(335): HTML_QuickForm_Page->handle("display")
#6 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Case/Page/Tab.php(93): CRM_Core_Controller->run()
#7 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Case/Page/Tab.php(180): CRM_Case_Page_Tab->view()
#8 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(268): CRM_Case_Page_Tab->run((Array:4), NULL)
#9 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(68): CRM_Core_Invoke::runItem((Array:13))
#10 /home/vwdnetor/public_html/sites/all/modules/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke((Array:4))
#11 /home/vwdnetor/public_html/sites/all/modules/civicrm/drupal/civicrm.module(456): CRM_Core_Invoke::invoke((Array:4))
#12 /home/vwdnetor/public_html/includes/menu.inc(527): civicrm_invoke("contact", "view", "case")
#13 /home/vwdnetor/public_html/index.php(21): menu_execute_active_handler()
#14 {main}

Also I'm getting console error 500 on

/civicrm/contact/view/case?reset=1&id=859&cid=1777&action=view&context=case&selectedChild=case&key=d880725325c5ab758814d913d9a0790e_7084

I'm going to bet this is something to do with the civimobile api extension, even though you mentioned you tried disabling. That's the only place I can see the phrase "Something wrong with getting"

https://lab.civicrm.org/extensions/civimobileapi/blob/4.2.1/CRM/CiviMobileAPI/ApiWrapper/EntityTag/Get.php


How do I configure a phone number format? Where do I set a phone number format (like date or address options at Administer/Localization)? Thank you.  I'm on rev 4.6.6

In short - you can't.  Phone numbers are entered as free entry text.  That's different from addresses, where the format is about which order different fields fall in; phone numbers are only one field.  Dates aren't stored as freeform text; they're stored in a specialized "date" field to handle this.

That said, there's an extension called CiviDesk Normalize, and one of its functions is to store the phone numbers in a uniform format.  However, you don't get to choose the format (except "National" or "International" style).

From the code:

  INTERNATIONAL and NATIONAL formats are consistent with
  the definition in ITU-T Recommendation E123.

If you have access to a developer who knows PHP, they can probably edit the format with a line or two of code - but I suspect it's more important that the phone numbers be uniform than the actual formatting!


PayPal Pro - how to remove link to paypal I have civicrm 4.6.10 installed under drupal 7.41 and we paid extra for PayPal Pro to avoid linking to paypal (i.e. leave the site). How do I remove the button that lets you link to PayPal? The rest works fine.

My understanding is that part of your agreement with PayPal is to offer the option to pay with PayPal.  While you could use jQuery to hide the button or alter CiviCRM's code to remove it from display, you've promised PayPal that you won't.

There are stories (urban legends or actual instances, I'm not sure) of PayPal going after folks who hide the Pay with PayPal button.

Even if you don't care about that, CiviCRM will never remove the button so long as it's required by the agreement, so any code you write will have to be maintained as you upgrade.  This is a real cost that you should weigh against this.

Separately, we have clients who swear that many of their donors prefer to use PayPal, so that's another reason to leave it as-is.


Why are subsequent recurring contributions not recorded? It seems that only the 1st contribution in a recurring series is recorded in CiviCRM, and the others have to be noticed and entered manually. Is there any way that someone has found to fix this problem?

You need to set an IPN.  Instructions are here.  Basically, PayPal needs to send a payment notification (an IPN) to CiviCRM every time they process a payment, so that Civi knows to update the record.  You need to tell PayPal what URL to send those IPNs to.  In my experience, PayPal does NOT automatically find the IPN address - so find the exact path to civicrm/extern/ipn.php in your path and supply THAT to PayPal for IPN.  Also note that PayPal changes their interface all the time, so the place in the PayPal control panel where you enter the IPN URL might have moved.


CiviVolunteer front-end assignment listing Does CiviVolunteer provide the capability for front-end users to see a volunteer listing of assigned volunteer slots for an event?
Thanks!

I assume that by front-end user you mean that the user doesn't have the "Access CiviCRM" permission?

Options for viewing the roster are outlined in the still-nascent documentation. Summary:

Using the admin menu, go to Volunteers > Manage Volunteer Projects (on Drupal the URL looks something like  https://example.org/civicrm/vol/#/volunteer/manage). Note: this screen does not require "Access CiviCRM."
Find the Project of interest, and click "View Volunteer Roster."


Error whilst saving contact Since yesterday I'am getting the following error when I save contact:

Notice: Undefined variable: ret in CRM_Utils_Geocode_Yahoo::format() (regel 155 van /sites/all/modules/civicrm/CRM/Utils/Geocode/Yahoo.php).
Notice: Undefined variable: ret in CRM_Utils_Geocode_Yahoo::format() (regel 156 van /sites/all/modules/civicrm/CRM/Utils/Geocode/Yahoo.php).

Check your Mapping and Geocoding Providers setting using below link.

your-site-name/civicrm/admin/setting/mapping?reset=1

Change Geocoding Provider to google and then save your contact.


is it possible to show a logged-in frontend user all the events they are registered for? I'm wondering if it's possible to create something like a frontend information portal where a user can review their existing registration data.  Such as, user logs in, user can see a list of all the events they are registered for, then can click on an event to see what selections/options they chose when they registered.

Is this possible out of the box? I'm on a Joomla 3.9 system using CiviCRM 5.13, and I don't see a menu item or similar that will accomplish this.

You are probably looking for the Contact Dashboard feature. I have only experience with Wordpress, where the logged in user can see his memberships, events, payments, invoices etc.

There seems to be a similar feature available for Joomla as well according to this question on StackExchange. Unfortunately the question has been unanswered.


How to see who the individual is who registers multiple people for a paid event Where in Civi can I see who paid for/registered themselves and multiple other people for a paid event?  In other words, if Joe registers and also registers his two friends Gary and Bill for the same event how do I see that Joe paid for/registered Gary and Bill?

CiviCRM v4.5.8 with WP 4.2.2

Results from CiviCRM demo (4.5 on Drupal)

Additional participants do not have a contribution source, so they can be identified on a Event Participants List Report (you will need to select the Contribution source in the report criteria)
Click view on the participant and "Registered By" will be shown.
Clicking the "Registered By" participant will take you the that person's registration showing all the people he/she registered.


Log table: nativecode=1118 ** Row size too large. You have to change some columns to TEXT or BLOBs Pretty strange, since column mentioned is already of type TEXT. Full error message:

 [debug_info] => ALTER TABLE `civicrm_logs`.log_civicrm_value_grants_external_application_45
MODIFY  `project_outline_673` varchar(4000) COLLATE utf8_unicode_ci DEFAULT NULL
[nativecode=1118 ** Row size too large. The maximum row size for the used
table type, not counting BLOBs, is 65535.
You have to change some columns to TEXT or BLOBs]

Appears after each security update right at drush cc step. No visible harm (excluding, may be, Change Log records at Contact Tab, which are in a very base format now,mean only name and date, no further details, but not sure if it's relevant).

The column mentioned is of type varchar, which is different from text.

Varchar data is stored differently than text (which gets a level of indirection so it's not filling up the individual row data).

Sounds like you're creating a lot of custom field data.


How to get rid of past events in the Event field lising (Select Box) on New Event Registration page Page In the New Event Registration page, Event field gets all the events from very beginning. How can I configure to display only the upcoming events.

Don't think there is a setting in the UI to do this. The event is basically added to the input widget using the getlist api of Event entity. Adding the following param to the same should be able to list only upcoming events in the input field.

'params' => array('start_date' => array('>' => "now")),

You should be able to do this via an extension. Or if you want to see the param buildup in core, it is present in Event/Form/Participant.php

Extending the above array to include our param should remove the past events.

$eventFieldParams['api']['params']['start_date'] = array('>' => "now");

Note that changes made to core would be lost after an upgrade, so it is better to override this file in an extension OR see if any hook can help you in attaining this.


"Missing parameters" error in unsubscribe confirmation, and on some admin pages Running CiviCRM 5.3.2 on the latest Wordpress. I recently migrated the site from an older version of Civi on another server.
Unsubscribe links from mailings load the confirmation page correctly, with the correct partially obscured test****@domain.org. But when I fill in the email address and click Unsubscribe, it displays:

Sorry, due to an error, we are unable to fulfill your request at the moment. You may want to contact your administrator or service provider with more details about what action you were performing when this occurred.
Missing Parameters
Return to home page.

I turned debugging on, and it shows it failing on line 574 of CRM/Core/Form.php
That line is calling preProcess(), which is defined in Utils/Request.php. The "Missing Parameters" exception is thrown there when jid, qid, or h can't be found.
I wrote the $this object to a log file, and it does show the correct jid, qid, and h in _submitValues -> entryURL. But jid, qid, and h aren't extracted and stored one by one anywhere.
That's as far as I can think to go. I'm not sure how those are supposed to be extracted and made available for preProcess to retrieve(), so I'm not sure what to look at next. Thoughts?
Also, on some of the backend pages, I sometimes get a popup in the upper right with the same "Missing Parameters" error. The pages seem to work normally though, and it hasn't happened enough for me to intuit a pattern.
I did try disabling all Wordpress plugins except CiviCRM, but that didn't change the behavior.
Maybe relevant: when I migrated, and ran the database upgrade after unpacking the latest CiviCRM files, the upgrade timed out twice(?) in the middle of running. (I believe php-fpm timeout was set to the default 30 seconds.) I reloaded the upgrade page and it seemed to resume the upgrade just fine, with no errors. But maybe that caused a problem?
Thanks for any pointers!

I just updated CiviCRM to 5.26.1, and unsubscribe links seem to work now.


Added scheduled reminder not showing in admin I have been battling for 48 hours trying to figure out why schedule reminders I added are not showing up in admin.

Here's the screenshot: https://www.screencast.com/t/AZ1CoyMqDbH

Also, there are couple of errors in console, perhaps you guys have an idea when you spotted them.

The same error on "Setting - Schedule Jobs" admin https://www.screencast.com/t/JxHWb8MSlE57

Any thoughts would be greatly appreciated. Thanks

It's not just a double HTTPS - one of those is missing the colon between the https and backslashes.

Check Administer menu > System Settings > Resource URLs, and also civicrm.settings.php for https//.


What domain name should I use for my extension's fully qualified name? I'm getting started with creating extensions and I see that each extension needs a "full name" or "fully qualified name" or "key", which often serves as the name of the git repository too. I see that the domain names used in these fully qualified names are either (1) civicrm.org or (2) the domain name of the development shop creating the extension.

I'm not currently part of a development shop, but I'd like to create an extension which I can share with others later on. How should I pick a domain name to use within my extension's fully qualified name?

You can pick anything you want as the domain name. I sense that these answers could get hilarious. Some suggestions from me (others please add your own):

lolcats.com
shouldiblamecaching.com
dotcom.com
3.141592653589793238462643383279502884197169399375105820974944592.com
thelongestdomainnameintheworldandthensomeandthensomemoreandmore.com

But of those, lolcats.com says "extension developer" to me the most:


Want to send Testmail for Mailing, but get Error. I want to make a test for my mailing, but get this error:

Error in call to Mailing_send_test : Error in call to MailingJob_create : DB Constraint Violation - possibly mailing_id should possibly be marked as mandatory for this API.

Want could be the failure? I use CiviCRM Version 4.6.2. on Apache with MySQL

Try upgrading to 4.6.3. Several mailing-related bugs were fixed in that release.


Where is minDate on membership start date set? Or can I change what minDate is set to? So we have historic records which have been imported which include start dates going back to 1990s.
However, when those records are brought up for editing, the minDate kicks in and sets the date to 20 years ago.
I would like to be able disable the minDate test altogether, but cannot find it in the form setups at all.
If I can't disable it, can I set it to something much older?
Any suggestions as to where I should be looking, can't find anything in membership.php or .tpl that seems to set this.

minDate for these entities can be updated at Administer > Customize Data and Screens > Date Preferences, i.e, civicrm/admin/setting/preferences/date?action=reset=1

Click on Edit and update the Start Offset(minDate) to eg 30. This will default the membership start date to start from current year - 30.


After Import to group, individuals in that group not showing up as recipients to in CiviMail. OK, this is a new one to me. I'm running CiviCRM 4.6.6 on WordPress 4.3. For the individual contacts I added manually, CiviMail works awesome. But here's where things get weird.

I just finished importing a list of contacts into a new group (not a big list, just 104, that were exported from a previous CiviCRM install). I made sure to select only basic fields to import. Imported them into a new group. Import seemed to go fine. Changed the group setting to Mailing List.

But then when I tried to use CiviMail to send a mail to that group, CiviMail says "No Recipients."

So I added an previously entered contact into the new group, and when I tried CiviMail again, it says "1 recipient" (even though there are 101 showing up in the group).

What gives?

When you look at Groups tab for one of the imported contacts, is the status of the Group "Added"?  My suspicion is that the status is "Pending" and thus it will be excluded from use.

Pending is used by CiviCRM to allow permission by end users to use the email address and is used when the Group is set as "Public Pages".

You should make sure the group is set as "User and User Admin Only" which should remove the permissioning component.  (I think you need to reimport the contacts, or at least re-add them to the group once the setting is fixed.)

More on this can be found in the Visibility section here: http://book.civicrm.org/user/current/organising-your-data/groups-and-tags/


Adding URL path to webform stops contact prefill - why? I added a URL path to a working Drupal webform, and emailed users were given this link to the webform (which went through Civimail) : https://www.example.org/christmasconnection?cid1={contact.contact_id}&{contact.checksum}.  Later I
found that the existing contact wasn't being prefilled.  Eventually I figured it was this change that had caused the problem.  When I changed the link back to the usual Drupal format with 'node':
https://www.example.org/node/82?cid1={contact.contact_id}&{contact.checksum} the contact prefill worked.  Why is this?  We will now email users to give them the working link, but is there a way of fixing this so either works?  Is this a bug or a 'feature'! (screenshot added)

Let's take out CiviMail from the equation -> are you able to do this:


Using API to retrieve contact records by modified date I basically have the same questions as described in these topics https://forum.civicrm.org/index.php?topic=22774.0
https://forum.civicrm.org/index.php?topic=24121.0

I would like to know which parameter to use in an api call url to get the last modified date in the list of returned fields

and

which parameter to add to an api call url so that it only returns the contacts that where created/modified since a specific date (or if this isn't possible: the parameter for all contacts created since a specific date, and the parameter to get all contacts modified since a specific date).

Thanks!

You can use modified_date in Contact.get eg:

Return the date:

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

Search for Contacts modified after a date:

$result = civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
  'modified_date' => array('>' => "2017-04-12"),
));

The API explorer is useful for exploring things like this.


Display different profile (in Drupal) based on CiviGroup (or tag) Thanks in advance
Drupal 7 / CiviCRM 5.13

I am looking for a way to display different profiles, in Drupal, based on different groups that the contact belongs to in Civi (or based on different tags if that works).

Specifically, I have people to be appointed as members (they already have accounts both in Drupa and Civi), to be given a yes/no field (I accept the appointment) plus some extra bio stuff they need to fill in. I do not want users that are not members to see that under their profile, in Drupal.

I hoped to have to Civi profiles, one for "appointment to be" and one for everyone else and trigger which one is displayed, based on Civigroups (or tags).

Any ideas?

Best A.

Mostly when working with complex form requirements in Drupal, folk are opting to use webform_civicrm as the flexibility it provides opens up many new options.

For example in your case you could use Webform Conditionals to determine which fields show based on the choice of Membership Type (or type an existing user has if they are logged in or using a checksum). HTH


CiviCRM with Worpdress defaults to incorrect host? I installed CiviCRM on my desktop installation of WordPress and everything worked fine. So I installed it on my working website, and after quite a bit of wrangling with the sysops, I got it to install. My problem is, when I go to configure it, it defaults to a different host than mine (eg., my host is nmsta.org and it goes to sfclt.org). I suspect the problem is in the database because it persists when I uninstall and reinstall it, even with two different versions. Any ideas where to start?

A clean installation of CiviCRM wouldn't come with any built-in hosts, so this sounds like a configuration issue, either in the CiviCRM settings or the WordPress settings. Perhaps if you search your codebase and database for the incorrect domain it would highlight the incorrect setting?


Option Group vs Custom field New install (civicrm 5.35.1) and I can't find this answer.
We have 22,000 alumni that I've imported. One of the fields is cast year there are about 120 of these so I want to make an option group (it would be taxonomy in other systems I guess). There are multiple uses of this in a contact.
For example, everyone of our alumni has a primary cast. They could also have multiple "secondary" casts where they were staff or several other participants.
I'm trying to map these to a contact through a custom field.
Data sample:
1965A
1965B
1988E

etc.
Question 1: I can import the data into the database directly if needed, but I'm not sure of all the fields that are listed in the option group table.
Question 2: Assuming I get these entered as an option group, how can I create a custom field that will use this for lookup? And secondarily, how to choose which cast type it is (i.e. primary, secondary, etc.)
In answer to the 2nd part of question 2, I know I can also create an option group of cast_type, but again, I'm not finding an easy way to have this show and also allow me to import it. It would be similar to phone or address I imagine.
Thanks and please let me know if you have an questions.

First create a custom field of type select or multi-select with empty options. From civicrm_custom_field table grab the option_group_id for the field.
You can use Option value importer extension to import all the options using csv or have a insert query to insert records in civicrm_option_value table using option_group_id from civicrm_custom_field.option_group_id


Membership Fixed period, wrong start date i am doing fixed period. membership start date is May 1, 2019 membership end date is April 30, 2020.
Early bird registration starts March 1, 2019.
I have set the Fixed Period Start Day to be May 01, anticipating May 1, 2019
I have set the Fixed Period Rollover Day to be March 01, anticipating March 1, 2019.
I anticipate membership end date to be April 30, 2020, which it is.
I anticipate membership start date to be May 1, 2019 which it is not, it gives me May 1, 2018.

Yes this is an aspect of / issue with Rollover - ie when someone signs up, civimember effectively gives them the start date of the membership cycle on the day they sign up, and then adds on the extra year. so yes seeing 'start date' of 1 May 2018 for someone signing up on 5 March 2019 fits with the civimember logic.

i don't say i necessarily like what it does but the logic is consistent but means that you may need to pay more attention to the Join Date than the Start Date.

That is, assuming everything else looked right, ie End Date was 30 April 2020


Process Inbound Emails Failed: No mail protocol I'm unable to pull activities from an email account. I'm using civicrm 4.5.5 and Wordpress. When looking at the job log I get

0
Summary
Finished execution of Process Inbound Emails with result: Failure, Error message: Process Activities failed
Details

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

Full message:
Finished execution of Process Inbound Emails with result: Failure, Error message: Process Activities failed

Referencing Process Inbound Emails Failed  I looked at the civicrm error log and got the following error.

Oct 10 10:54:38  [info] $Fatal Error Details = Array
(
    [message] => Could not connect to MailStore for @
Error message:
Empty mail protocol

    [code] =>
)

So it seems like Civi isn't even the information I put in the CiviMail settings. Unlike the question referenced, my problem does not seem to be authentication based. I have an account set up for Email-to-Activity but it doesn't seem to be recognized. Any ideas?

At Administer > CiviMail > Mail Accounts (civicrm/admin/mailSettings) you want to see two accounts configured, one for Bounce processing and one for Activity processing

It's possible what you're describing is what happens when there is no account configured for activity processing. If so, the error message is a bit misleading, but I suspect that's what you're seeing. If not, continue :)

Both of these mail accounts require working credentials, see "checking credentials" below.

As well as the username / password correctly set, those mail accounts require a protocol - this is probably IMAP, and probably with SSL. (If your mail provider doesn't use SSL, that's bad IMO.)

Checking credentials

Check the mail logins you have work ASAP. You can see the saved password in the DB or by viewing source when editing the account.

I use fetchmail to verify this from the server, so I can check access works from the server in question as well. For a Gmail account bounce@example.org, this looks like:

fetchmail --ssl --check -u bounce@example.org -p imap imap.gmail.com

You can also check by adding a mail account to your desktop mail client, just remove it afterwards.


CiviCRM selectively generating receipts/invoices for contribution pages This could be an email deliverability issue - but I thought I would check to see if there is more I can do to troubleshoot. Many people are saying they are not receiving receipts and invoices when they make a contribution via our Drupal webform - but it seems to work when I do it.

I am on 5.18.2 - Is there any way to see a copy of the receipt that was generated?

Or tips on troubleshooting?

You could consider using the Transaction Mail extension as this creates an Activity for all such outgoing mail

or

since receipts are presumably going out because you have selected a civi Contribution page that has Receipting turned on why not BCC yourself on that


Why is my Contribution Detail Report (native CiviCRM Core report) not accurate? Version: CiviCRM 5.7.4/5 (patched for Contact images)

A Donor sent in a chq for $100 - Staff entered originally as a Donation. Then Edited the Contribution to make it a Memoriam Donation. CiviCRM generates the three entries - see below:

Issue: in Contribution Detail Report this Donor is listed as having donated: $300 - please see below. So somehow sums up the absolute value of the three amounts/financial account transactions that are linked to the single Contribution.

Question: why? Columns checked: Donor Name, Donor Email, Donor Phone, Financial Type, Payment Type, Check Number, Transaction ID, Date Received, Amount, Credit Card Type, Country

Update: there are no soft credits on this Contribution and the report is configured to pull Contributions only

Ok figured it out: the report is fine if I remove the column ‘Credit Card Type’. Then I see $100 in the report!

So if you select column ‘Credit Card Type’ a non-credit card contribution like this chq are aggregated over the number of financial transactions associated with the contribution, b/c the field ‘Credit Card Type’ lives in the Financial Tables.

So this is definitively a different bug from the one referenced here as well; this bug is related to (unnecessary) financial transactions.


how to trigger a Drupal rule on CiviMember Roles Sync? We want to trigger a Drupal rule to display a message "Your membership has expired" when a user logs on.

We have CiviMember Roles Sync set to "Synchronize whenever a user logs in or logs out. This action is performed only on the user logging in or out."

It happily removes the role "Current Member" when the user logs in, but the user is not informed of this...... We have D7, CiviCRM 4.6.26, Drupal Rules module, civicrm_rules. I've messed about with many Rules settings, but can't get the rule to trigger on User login.

Do you know what I'm missing? Thanks

In case anyone needs this we ended up doing this with a simple drupal rule -

Event = Content is viewed

Conditions = AND user has role authenticated user, NOT user has role current member

Action = Show a message "your membership has expired", repeat message = false


Trouble moving a Wordpress/CiviCRM install to a subdomain I'm having trouble moving a Wordpress/CiviCRM install to a subdomain: from domain-name.com to sub.domain-name.com. What follows is the procedure I'm using (culled from forum articles Wordpress, and CiviCRM docs)--please advise where I'm going wrong. Any help would be greatly appreciated.

P.S. there are many permutations of the following steps and I've tried many of them. I do know that using PHPMyAdmin to export/import is not advised because Foreign Keys data is lost.

I dumped the original CiviCRM 4.6.9 database using SSH:

mysqldump --no-create-db=true -h db111111111.db.1and1.com
-udbo111111111 -pPassword db111111111 > exportedDatabases/db111111111.sql

I also dumped the original CiviCRM 4.6.9 without the domain and cache tables:

mysqldump -h db111111111.db.1and1.com -udbo111111111 -pPassword --no-create-db=true --ignore-table=db111111111.civicrm_domain --ignore-table=db111111111.civicrm_acl_cache --ignore-table=db111111111.civicrm_acl_contact_cache --ignore-table=db111111111.civicrm_cache --ignore-table=db111111111.civicrm_group_contact_cache db111111111 > exportedDatabases/db111111111-nocache.sql

I created a fresh WP site at sub.domain-name.com using same username and password as original.

I used PHPMyAdmin to create a fresh database db999999999 with the same password as db111111111.

I created a fresh install of CiviCRM 4.6.9 closely following CiviCRM install procedure for Wordpress and using db999999999:

http://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress

The new CiviCRM 4.6.9 functions.

I uninstalled the native modules to match the original install.

I deactivated the new CiviCRM 4.6.9 plugin.

I dumped the new CiviCRM 4.6.9 db999999999 using SSH:

mysqldump --no-create-db=true -h db999999999.db.1and1.com -udbo999999999 -pPassword db999999999 > exportedDatabases/db999999999.sql

I also dumped the new CiviCRM 4.6.9 domain and cache tables:

mysqldump --no-create-db=true -h db999999999.db.1and1.com -udbo999999999 -pPassword db999999999 civicrm_domain civicrm_acl_cache civicrm_acl_contact_cache civicrm_cache civicrm_group_contact_cache > exportedDatabases/db999999999-5TABLES.sql

I used PHPMyAdmin to DROP all tables in db999999999.

I re-imported db999999999-5TABLES.sql into db999999999 using:

mysql -h db999999999.db.1and1.com -udbo999999999 -pPassword db999999999 < exportedDatabases/db999999999-5TABLES.sql

I used a text editor to modify all instances of '111111111' to '999999999' in db111111111-nocache.sql

I imported db111111111-nocache.sql into db999999999 using:

mysql -h db999999999.db.1and1.com -udbo999999999 -pPassword db999999999 < exportedDatabases/db111111111-nocache.sql

I deleted all files/folders in .../templates_c/*

There were no error messages until I (re)activated the CiviCRM 4.6.9 plugin when I get the cryptic error:

"DB Error: no such field"

Running the following did not change anything:

sub.domain-name.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/updateConfigBackend&reset=1

sub.domain-name.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/admin/setting/path?reset=1

sub.domain-name.com/wp-admin/admin.php?page=CiviCRM&q=civicrm/menu/rebuild&reset=1

Any help would be greatly appreciated.

The instructions for moving an installation should work even though you are only changing the base_url: see http://wiki.civicrm.org/confluence/display/CRMDOC/Moving+an+Existing+Installation+to+a+New+Server+or+Location.

We tend to truncate tables rather than exclude on backup and migrate so that the structure is migrated.

You may be able to check the mysql log (see my.cnf for its location) for the specific table.field that is missing, if you want to try to fix the database you are currently working on. Wild guess: it is custom field, which are stored in the civicrm_value* tables, and defined in the civicrm_custom_field and civicrm_custom_group tables.


Address Settings missing Not sure what happened. The image below shows a blank page when I open Address Settings from the Localization menu.

Seems to have been related to an extension, when I removed the extension I was able to get everything working again.


Moodle Integration Sample Sites or the way to do it Where can I find a successful Moodle Integration example or see a sample site? If not how to go about doing the integration? Thanks

No such integration exists today so there is no sample. To implement such integration, I would recommend building an extension for CiviCRM that could interface with Moodle's APIs:

https://docs.moodle.org/dev/Core_APIs

You could also consider the opposite, creating a Moodle plugin that would interface with the CiviCRM API:

https://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API


Where do I find the saved filed mapping I saved in Step 3 of 3 when saving export of participants list? In Find Participants I have selected the fields I would like to export
At Step 3 of £ to give the options to Save the Mapping with a Name and Description which I have done and suggests
"If you want to use the same export setup in the future, check 'Save this field mapping' at the bottom of the page before continuing. You will then be able to reload this setup with a single click"
But where do I now find this saved mapping to run this again?
Sorry very new to CIVICRM and not a techie

The next time you export participants, on step 2 of 3 choose "Select fields for export". A drop-down list should appear, labelled "Use Saved Field Mapping", where you can select the mapping that you previously saved.


Phonenumber error Joomla 3.4.8 civicrm 4.6.11 I got an error in Joomla 3.4.8 Civicrm 4.6.11. When I try to save contacts with a phone number it says:

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

Without phone number working. When I write "what so ever" in phonenumber it be error. Trying all kind of phonenumbers us and eu number only numbers and +46 in still results in this error.

Separately, on the same instance, when creating a contact from start it I get the following error:

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

Although this error does not appear when I save it without a phonenumber.

Is there an easy fix to this?

Kind Regards

Thomas Rosenhoff

If this is not an intermittent problem that has gone away by now, then likely your installation or upgrade has caused some problems. My guess is that you need to check the base_url in your civicrm.settings.php file, or more properly, in the CiviCRM Resource URL field under Administer > System Settings > Resource URLs.


How do I set the value of external_id to be the same as a custom field? Running Civi 4.7.13 with Drupal 7.52. I want to set the value of external_id in the Contacts table to be the same value as a custom field (using the API explorer, it seems this field is called custom_32). When I try to set the value from the SQL command line, nothing happens. I'm new with SQL and have little experience. I've tried the following. What do I need to change to get it to work? Is there an example I can follow (using the SQL command line or even API explorer)

SELECT civicrm
UPDATE civicrm_contact c
SET c.external_identifier = c.custom_32
WHERE c.custom_32 is not null

It appears as though custom_32 is not part of the Contact table.

The Contact.get API will return custom fields if requested:

<?php

$contacts = civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
  'return' => array('custom_32'),
  'options' => array('limit' => 0),
));

foreach ($contacts['values'] as $contact) {
  $res = civicrm_api3('Contact', 'create', array(
    'id' => $contact['id'],
    'external_identifier' => $contact['custom_32'],
  ));
}

You might want more parameters on the Contact.get (eg 'contact_is_deleted' => 0) and some error checking on the Contact.create.  As noted in previous comments, there are restrictions around external id's which the custom field may not comply with.

If there are many contacts, you may need to change 'limit' and do it in chunks.

You can save the above to a file, and use cv to run it:

cv scr /path/to/file


Can you use moneris with CiviCRM? Is there a CiviCRM extension that supports the moneris payment gateway?

Thank you

Yes - this is where you can find the Moneris payment processor extension.


Redirecting Wordpress users on login I'm just starting to work on CiviCRM for Wordpress, after having worked on CiviCRM for Drupal for such a long time. The one thing I dislike about wordpress is that when a user goes to log in, they are directed to the admin portal.

So I was wondering what others did to just direct members only to their profile page on the website, rather than to the admin portal after loggin in.

Thanks!

Matt

Have a look at the login_redirect filter. You can return whatever URL you like for whoever's logging in:

https://codex.wordpress.org/Plugin_API/Filter_Reference/login_redirect


How can I create a membership renewal link for organisations? I'm creating a scheduled reminder email that is sent to members six weeks before their membership expires.  I want the email to link to the membership page with the contact details of the organisation filled in.

I have managed to do this successfully for individuals by using the following link in the email:

[site.com]/civicrm/contribute/transact?reset=1&id=1&{contact.checksum}&cid={contact.contact_id}

However, this doesn't work for organisations.  It only fills in the email address of the organisation but not the organisation's name, address and postcode.

I presume that this is something to do with the fact that the organisation membership form is filled out on behalf of the organisation.

Is there a way I can change this link to ensure that the organisation's full details are filled in when the user clicks on the link?

I am using CiviCRM 4.6.10 on Drupal 7.41.

I got round this by creating a group for the non-primary memberships. I then set up a membership scheduled reminder and limited the emails to the group I created.


How do I correct mismatched Timestamps for MySQL and PHP without access to server? I'm using civiCRM 4.6.2 under Wordpress.

The PHP and MySQL timezone settings are reported as incompatible, MySQL as 12:38 (which is the current clock time here in Zurich) and PHP as 10:38. However, according to my ISP, PHP is also correctly set to use Zurich time. Is there any way either to suppress the warning (which comes every time I start up civiCRM), or to correct the settings – NB: I do not have any programming access to my ISP.

I haven't noticed any problems cuased by this incompatibility.

With WordPress, 90% of the time it's just the WordPress timezone that needs to be reset.  Make sure that's set right as a first step.


REST API, iATS: How do I create a membership through the API without using CiviCRM's forms? I'm building a software system that uses CiviCRM as a membership database and a billing engine for recurring dues. Our members do not have direct access to CiviCRM or the server on which it runs, and the software I'm writing can only communicate with CiviCRM through CiviCRM's REST API.

My signup flow needs to perform the following steps:

Create a contact in CiviCRM
Collect payment information and retreive an iATS token
Pass that token to CiviCRM, and associate it with the contact.
Record, somehow, whether the prospective member wants a monthly, biannual, or annual membership. Important: At this point, CiviCRM must not activate a membership or charge money.
Wait for a period of time, potentially days, for some offline stuff to happen.
Finally, process payment and activate the membership.

Again, all of this has to happen through the REST API. The software that processes signups cannot use CiviCRM's forms and cannot read or write to CiviCRM's database directly.

Is what I want to do possible without writing custom CiviCRM extensions?

From looking at the V3 endpoints for the iATS extension, I see code that lets me get information out of CiviCRM, but no way to get payment information in. What am I missing?

Edit: In retrospect, this might not be clear: I don't want to write my own CRM -- I just want to use CiviCRM as our CRM and only interact with it through its REST API. If, for instance, my custom software is decommissioned or replaced, I want CiviCRM to keep on storing and processing memberships without having to migrate data from one custom webapp to the next. I can do most of what I need to do through the V3 API, but membership signup seems to be a more complicated problem.

The iATS extension does not expose any api functions for assigning iATS "payment tokens" to contacts (not to be confused with CiviCRM tokens, a completely different thing).

The next version of the iATS extension (1.7) will use the CiviCRM standard payment token mechanism, so you can assign them that way.

You did check the super-awesome api explorer, yes? It makes using the api so much more fun.

Also, if you look at this file ...
https://github.com/iATSPayments/com.iatspayments.civicrm/blob/master/CRM/Iats/Transaction.php

... you might find some useful code for your purposes.


Custom Database Triggers disappearing One of the ways I have set up my system to auto-increment a value (registration number) in a custom table is by using a custom database trigger.  They are quite straight forward - after insert, update with the next value.
I have developed 2 triggers that seems to work well for me, however, I'm not entirely certain why but the triggers are disappearing on me over time.  One trigger is on the civicrm_membership table (updates a civicrm_value table) and a civicrm_value table.  This is one of them:

CREATE TRIGGER `Increment_Dog_Number`
  BEFORE INSERT ON `civicrm_value_registered_dogs_5`
  FOR EACH ROW
    SET NEW.ddog_number_19 > = (
      SELECT MAX(ddog_number_19)+1 FROM civicrm_value_registered_dogs_5
    )

I'm not sure what is causing the triggers to be dropped -- any suggestions on how to work around it?

Thanks
Norm

CiviCRM periodically rebuilds triggers, and when doing so it drops ALL existing triggers - see \Civi\Core\SqlTriggers::rebuild().

One solution to this may be to create an extension which adds your custom trigger to the list which CiviCRM will generate when performing this task. That way your trigger will persist through CiviCRM's schema rebuilds. See hook_civicrm_trigger_info() for this.

Another may be to configure that custom field to be an auto-increment or calculated value. I thought there was a way to add incrementing fields directly via the CiviCRM interface, but the only method I see on a local test site is setting the value to "View only" then populating it from PHP. You could implement equivalent functionality to the trigger above from a custom extension, perhaps hook_civicrm_post() will suit your needs for this.

Generally, it's only recommended to interact with CiviCRM's schema via the API interfaces CiviCRM provides. The application defines (and redefines, as you've discovered!) the underlying data structures, and directly modifying the database (at least, the tables belonging to CiviCRM) can have unexpected results.


How can I merge two memberships in the same contact (without losing contribution info, etc)? Occasionally, we end up with a single contact that has two membership records (e.g., an old expired one and a newer current one). I would like to programmatically merge the two memberships cleanly, so that, for example, the remaining membership gets the oldest start date, the current membership type, all contributions are retained, etc. Have browsed Dedupe.php looking for a call that might do this, but to no avail. Any suggestions?

Currently there's no support for what you're describing built in to CiviCRM.  You could implement this with API calls in an extension.  If you do, please consider submitting it to the extensions directory!


drush civicrm-sql-dump dumps the drupal database - how do I get it to dump the civicrm database? I've recently made some backup scripts to automate backup of my site and databases. One of the scripts uses drush to dump the drupal and civicrm databases with these commands:

drush @myserveralias cc all && drush @myserveralias sql-dump --gzip --result-file=mydrupaldatabase-150731.sql

drush @myserveralias cc all && drush @myserveralias civicrm-sql-dump --gzip --result-file=mycivicrmdatabase-150731.sql

My problem is that both of them dumps the drupal database - I would like the second one to dump the civi-database.

Should i somehow specify the civicrm database? My aliases.drushrc.php doesn't specify anything about databases under myserveralis - should it be specified there?
My settings.php has this to say about databases:

$databases['default']['default'] = array(
'driver' => 'mysql',
'database' => 'drupal',
'username' => 'myusername',
'password' => 'mypassword',
'host' => 'localhost',
'port' => 3306,
'prefix' => 'drupal_',
'collation' => 'utf8_general_ci',
);
$databases['default']['default']['prefix']= array(
  'default' => 'drupal_',
  'civicrm_acl'                              => '`civicrm`.',
  'civicrm_acl_cache'                        => '`civicrm`.',
  'civicrm_acl_contact_cache'                => '`civicrm`.',
  'civicrm_acl_entity_role'                  => '`civicrm`.',
  ...

Thanks in advance for any help.

EDIT:
I've updated drush to version 7.0.0, and the call to civicrm-sql-dump now fails with the following error:

PHP Fatal error:  Call to undefined function drush_sql_dump_execute() in /sites/all/modules/civicrm/drupal/drush/civicrm.drush.inc on line 995

I guess there's no longer a function in Drush called drush_sql_dump_execute.

SECOND EDIT:
I've updated to civicrm 4.6.8 and now it works as it should. I didn't get the chance to explore Alan's suggestions, though i know for sure that my civi-database is in a different database than Drupal.
Thanks for your help and input. If anyone drops by here having this problem, I would recommend upgrading, as Jon says he hasn't seen this error in any of the newer versions of civi, and upgrading solved it for me. Leaving this open for now, if someone actually solves this for civi 4.4 and Drush 6, then they can provide an answer.

One answer to your question is that you can use the sql-dump drush command to dump your civicrm database by using this option:

 --database : The DB connection key if using multiple connections in settings.php.

For that to work, you'd have to edit your drupal settings file to include something like:

$database['civicrm'] = array('default' => array('driver' => .. etc.

A second answer is that the civicrm-sql-dump drush command does not use the drupal settings file, but the civicrm settings file, to get the db name and credentials, so the fact you're getting the same dump from both suggests that you might not be using a separate db for civicrm as you think. Maybe you're looking at the wrong civicrm.settings.php file?

It does look like you want to revert to the 6.x drush. I haven't ever seen the behaviour you describe, but I tend to use bash scripts for mysql backups anyway, to keep things simpler.


CiviCRM Initalization Error: DB Error: extension not found I've got CiviCRM installed within a WordPress context, and both are updated. The problem is that, with the last update that occurred, I can no longer get to CiviCRM. Instead, I get the following displayed on a blank page without any styling:

Initialization Error

Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => simpleHandler
        )

    [code] => -25
    [message] => DB Error: extension not found
    [mode] => 16
    [debug_info] =>  [DB Error: extension not found]
    [type] => DB_Error
    [user_info] =>  [DB Error: extension not found]
    [to_string] => [db_error: message="DB Error: extension not found" code=-25 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [DB Error: extension not found]"]
)

Does anyone have any idea how I can fix this? It says an extension is not found, but there is no mention of what the extension is or why it's missing as the result of an update.

This turned out to be the issue with PEAR trying to load DB (mysql) extension. PHP mysql extension is removed from PHP7.

For those who landed here with same errors, when trying to execute commands with civix or drush which uses command-line php (php-cli), if your OS has installed both PHP5 and PHP7, the default php command available in /usr/bin/php refers to PHP7 while PHP5 executable will be available as /usr/bin/php5

One needs to update /usr/bin/php to /usr/bin/php7 and direct /usr/bin/php5 towards /usr/bin/php. Maybe using update-alternatives would be best suited.


How to hide configuration tabs of a report with the "print to pdf" action remaining active? I want a category of users can access some reports, view the results on the screen and print them to PDF.
And to prevent any modification of the criteria, I want all the report configuration tabs to be hidden.

This is done by this users role having the permission “access CiviReport” enabled but the “access Report Criteria” one disabled.

But when disabling the “access Report Criteria” permission, the "Print report" and "Print to PDF" actions become inactive.

Is there any way to get what I want ?

Thanks for help.

This seems to be a bug in CiviCRM. Below patch will allow anonymous user to Print report or Print PDF.

diff --git a/CRM/Report/Form.php b/CRM/Report/Form.php
index 75a614c836..9acd75c584 100644
--- a/CRM/Report/Form.php
+++ b/CRM/Report/Form.php
@@ -2580,7 +2571,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
     if (empty($this->_params) &&
       $this->_force
     ) {
-      $this->setParams($this->_formValues);
+      $this->setParams($this->_submitValues);
     }

     // hack to fix params when submitted from dashboard, CRM-8532
@@ -2588,7 +2579,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
     // in dashboard mode for report
     //@todo - this could be done in the dashboard no we have a setter
     if (empty($this->_params['fields']) && !$this->_noFields) {
-      $this->setParams($this->_formValues);
+      $this->setParams($this->_submitValues);
     }

Not sure what is the difference between formvalues and submitvalues even though params are considered from submit values for processing.

HTH

Pradeep


Offline Contribution receipts does not contain custom fields information Currently using CiviCRM 5.9.1 and drupal 7.63

Contribution receipts works as expected if the checkbox to send receipt is checked while creating offline contribution. Receipts for offline contributions sent from Print Contribution Receipts task does not contain custom fields added for contribution.

Steps to reproduce issue:

Add custom fields of your choice for Contributions.
Create an offline contribution.
Go to Find contribution and select the contribution and select the option of Receipts Print or Email this will send email for the selected contributions.
Check the receipt received and see if you get Contribution related
custom fields in the email.

Anyone is facing this issue?

I don't think the receipt template for off-line contributions includes the tokens/code to pull in the custom fields. You might want to compare your templates for each - https://www.domain.com/civicrm/admin/messageTemplates?reset=1 and select System Workflow Messages - and compare the two. Then you can attempt copying/pasting in code from the online template and test the email that goes out.


Membership payments missing from contact's contribution screen Solution found:
The Member Dues financial type was missing a designated Income financial account. It must have gone away during an upgrade. Adding it back in fixed this issue.

Membership transactions have disappeared from the Contributions screen in Contact records. The top of this screenshot indicates the contact has 12 contributions, but only 7 are displayed. There are no next/previous links.

The missing contributions are all membership transactions. Any reason why these would stop showing up? Any way to restore them?

Thanks.

This is Civi 4.6.9 on WP 4.3.1

Here is an example of a search for all contributions and all contribution types from another member. Notice the summary says there are 9 results, but it only displays 4 transactions....

Adding answer by Eric as an answer so it can be 'accepted' and hence have this question 'answered'

The Member Dues financial type was missing a designated Income financial account. It must have gone away during an upgrade. Adding it back in fixed this issue


There is so much old stuff on the interweb.... D8 and CiviEntities / Calendar integrations? Just did a D-8.9.2 w/ CiviCRM and am struggling with the some very very old documentation.
Is civi entity still a valid module to help with crossing civi data --> drupal 8?
I tried to composer require it and it failed.
The goal is to show a calendar on the Drupal page that was created in Civi.
Thanks

Did you try installing and configuring Event Calendar extension? It provides UI to configure the calendar and these calendar can be exposed in front end as well. You read the installation guide on how to setup a calendar for your site.


DataTables warning with dedupe on find & merge (after upgrade to 4.7.18) Is anyone else seeing a new DataTables warning in 4.7.18? We get the following warning on the dedupe page when finding duplicate contacts:

[Server Name] says:

  DataTables warning: table id=dupePairs - Cannot reinitialise DataTable.
    For more information about this error,
    please see http://datatables.net/tn/3**

(Joomla version 3.6.5, php 5.6.30, mysql 5.6.36)
Thanks.

There's a fix for this issue in https://github.com/civicrm/civicrm-core/pull/10503. Hope this will be included in 4.7.21.


Managing a smart mailing groups (un)subscriptions According to
https://docs.civicrm.org/user/en/4.6/organising-your-data/smart-groups/

  Smart groups respect people's subscription preferences. If people
  unsubscribe from the newsletter, they will be removed from the smart
  group.

Are there ways to

see who unsubscribed from smart groups
manually unsubscribe members as an admin

On the manage group screen (civicrm/group?reset=1) click on contacts next to the group in question. There you should be able to search for added pending and removed contacts for this particular group.


CiviContribute Donation Form error Everything was working fine for weeks (civicrm on drupal) then this error on the civicontribute form web page:

  Fatal error: Call to undefined method
  CRM_Core_Payment_Manual::setBackOffice() in
  /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/Form.php
  on line 67

And these errors on the log in page:

  Notice: Undefined index: user_name in
  CRM_Core_Payment_AuthorizeNet->__construct() (line 56 of
  /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/AuthorizeNet.php).

  Notice: Undefined index: password in
  CRM_Core_Payment_AuthorizeNet->__construct() (line 57 of
  /var/www/html/missional/donations/sites/all/modules/civicrm/CRM/Core/Payment/AuthorizeNet.php).

Any ideas on how to resolve this?

We fixed this on https://chat.civicrm.org.

The latest versions of the Authorize.net eCheck payment processor extension (versions 1.2 to 1.2.2) break CiviCRM (the problem exists as far back as 4.7.23, probably further).

The solution for now is to disable the eCheck extension.  The author of the extension (or someone else - it's open source!) will need to fix the problem with the extension.


Portable Directory Path Variables Real-time List Wordpress: 5.0.3

CiviCRM: Upgraded from 4.7x to 5.9.0

Everything is working, but now I'm getting these status notices about portable path variables. From my status page:

  To maximize portability, consider using a variable in each directory
  (eg "[cms.root]" or "[civicrm.files]").

It would be great if a list of existing path variables and what they currently point to were actually made available on the "Directory Paths" and "Resource URLs" admin pages. Anything I can do to reduce possible mistakes makes me less anxious about updating my existing paths to the new preferred method.

Sort of Like this:

  List of available path variables with their current real-time paths:

  [cms.root] --> /home/myusername/mysite.org/wp-content/plugins/civicrm/

  [civicrm.files] --> /home/myusername/mysite.org/wp-content/plugins/civicrm/uploads/files/

  [cms.other.path] --> /home/myusername/mysite.org/wp-content/plugins/civicrm/whatever/

  Also tips on whether to add a slash when using something like:

  Example temp file location: [cms.root]uploads/temp/

Is this in the works?

Cheers in advance.

If you click the help icon in the help text at the top of the page, it shows you the current values.


Can i used different Database on remote server for civicrm logging? Is it possible? Used the different database on remote server for civicrm logging.
Means: Currently i am using two databases one for drupal and second is using for Civicrm. Both are on different remote server.  Now i want to create a third server for civicrm logging database. It is showing error "DB Error: no such database". I already configured in civicrm.settings.php file.
define('CIVICRM_LOGGING_DSN',mysql://myserverdetail);

Yes perfectly possible, we do it all the time. You can set the logging DSN in your settings file (CIVICRM_LOGGING_DSN) if its not set then CiviCRM falls back to the CIVICRM_DSN
Sorry - just read your whole question!
I would check that the user has permissions from the CIVICRM_DSN to the CIVICRM_LOGGING_DSN i.e. if the CiviCRM database user cannot access the logging database then maybe thats causing the issue.


Can no longer modifiying priceset amounts in hooks in 5.1.2 I'm looking for help on adjusting a priceset amount in a hook at the end of a membership signup.
Until now under 4.7 for reasons of multi-level priceset complexity I've been adjusting priceset amounts via the hook_civicrm_validateForm by adjusting the values in the $form object. This has been working fine, but this is now longing working in 5.1.2.
I realise that strictly speaking I shouldn't modify the $form in the validateForm hook.
"The hook is intended for validation rather than altering form values."
However I can't see anywhere else to change the amounts.
I have two questions, i) Can anyone explain the difference in behaivour between 4.7 and 5.1.2? ii) is there a better place or method to adjust the priceset amount?

You can use Build Amount hook to alter the price. If you want to trigger the change on form submit than you can use $form->_flagSubmitted. This is set to true when form is submitted. You can also use buildform or post process hook. But validateForm is a bad option.

function xxx_civicrm_buildAmount($pageType, &$form, &$amount) {
  if (get_class($form) == 'CRM_Event_Form_Registration_Register' && $form->_flagSubmitted) {
    foreach ($amount as $key =$value) {
      foreach ($value['options'] as $pid =$value) {
        $amount[$key]['options'][$pid]['amount'] = $value['amount'] - ($value['amount'] * 0.1);
      }
    }
  }
}

HTH

Pradeep


Downgrading CiviCRM to use an older extension I am trying to use the civicrm document storage extension. It turns out that CiviCRM 4.4 and 4.3 supported this extension. My question is, is there a way to downgrade CiviCRM 4.6.3 to either 4.4 or 4.3 or is there a way that 4.6.3 supports document storage.

PS:I have 4.6.3 installed and is running it on Drupal 7. I have done quite a lot on the site thus can not simply install a new instance of CiviCRM.

I think (with @Xavier) a safer path then downgrading would be to upgrade the extension. You need this extension: https://github.com/CiviCooP/org.civicoop.documents and you should certainly speak to @JaapJansma about upgrading it. But I would bet it is an easier job than downgrading CiviCRM?


Error: No block-level parent found. Not good Using 4.7.22 and Drupal 7, I'm suddenly getting the fatal error "No block-level parent found. Not good" on various pdf generation screens (for example: when hitting Print Invoice button):

It started after a recent update to my OS (Centos6).

That error is coming from dompdf, bundled with CiviCRM.

Here are a couple of references to that error outside of CiviCRM:

https://github.com/dompdf/dompdf/issues/902
https://github.com/barryvdh/laravel-dompdf/issues/389

The error happens for both 4.6 and 4.7, different php, so the trigger to the issue appears to be somewhat removed.

I fixed one case using the pdf setting (here: /civicrm/admin/setting/misc?reset=1). Using the wkhtmltopdf binary instead of the dompdf bundled with CiviCRM solved the issue.

I upgraded to the latest 4.7.27 version with an updated dompdf, and that did not solve the issue, but instead generated a new problem of running out of memory.

I did a bit more research and fixed the 4.6 version of the problem by removing whitespace in the html that is being fed into dompdf, in the file CRM/Utils/PDF/Utils.php, as per the suggestion by benabbotnz in the second issue linked above.


Users with Subscriber role in Wordpress cannot see & access CiviCRM Users connected with the "subscriber" role in WordPress do not see CiviCRM nor access to it (404 error). It works well with WP admin role.
I believe I have configured correctly the permissions in Administer -> Users & Permissions -> WordPress Access Control.
Any ideas? Many thanks

After having tested all the possibilities by checking and unchecking all the options marked in the WordPress Access Control pane, I found that the box "CiviCRM: access CiviCRM backend and API" must be be ticked. Otherwise you dont have access to CiviCRM. Strange because it is told to give this to trusted roles only. The well done documentation is unfortunately lacking on this subject.