CiviMail - KCFinder upload issues - "You must be logged in with proper permissions", Chrome only We are having some issues being unable to upload images to CiviMail. This only seems to happen on Chrome (52 on OSX, but perhaps not exclusively), while the same user has no issues in Safari. Seems to affect some users all the time, but not others with similar setups, and other users intermittently.

These two messages are logged for user Anonymous (though the user is obviously logged in):

LOCATION    https://secure.wildsight.ca/sites/secure.wildsight.ca/modules/civicrm/packages/kcfinder/upload.php?cms=civicrm&type=images&CKEditor=crmUiId_1&CKEditorFuncNum=3&langCode=en
REFERRER
MESSAGE $Fatal Error Details = Array ( [message] => You must be logged in with proper permissions to edit, add, or delete uploaded images. [code] => )

LOCATION    https://secure.wildsight.ca/sites/secure.wildsight.ca/modules/civicrm/packages/kcfinder/upload.php?cms=civicrm&type=images&CKEditor=crmUiId_1&CKEditorFuncNum=3&langCode=en
REFERRER
MESSAGE $backTrace = #0 /var/www/civicrm/4.6/CRM/Core/Error.php(364): CRM_Core_Error::backtrace("backTrace", TRUE) #1 /var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php(68): CRM_Core_Error::fatal("You must be logged in with proper permissions to edit, add, or delete uploade...") #2 /var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php(140): checkAuthentication() #3 /var/www/civicrm/4.6/packages/kcfinder/core/bootstrap.php(39): require("/var/www/civicrm/4.6/packages/kcfinder/integration/civicrm.php") #4 /var/www/civicrm/4.6/packages/kcfinder/upload.php(15): require("/var/www/civicrm/4.6/packages/kcfinder/core/bootstrap.php") #5 {main}

Civi 4.6.18, Drupal 7.44

I had the same problem in civicrm 4.6 drupal 7.50.

I made this patch to fix the issue, i hope that will be useful.
https://github.com/rubofvil/civicrm-packages/commit/563a422384ae20cc0077225bebb748813fa6b22d.patch


GoCardless and one-off payments I understand GoCardless can accept a one-off payment but it looks as if the extension written for Civi may not yet have any way to connect to the GoCardless one-off bill resource. Does anyone know if that's the case?

We had been trying to set up two contribution pages (membership options): one for recurring monthly payments and the other for annual, non-recurring payments. For the annual payments, on the amounts tab, we did try leaving the checkbox for Recurring Contributions unticked but naturally, on testing, GoCardless throws an error: Interval length can't be blank - Interval unit must be "day", "week" or "month".

Any thoughts? Should we just use another payment processor for the non-recurring payments?

From @kakajaran's 26 November comment on veda-consulting/uk.co.vedaconsulting.payment.gocardlessdd#5, it seems at this time the extension is expected to work with recurring payments only.

I would suggest filing an issue on the project's Github to signal that you'd like support for this, then either reaching out to the extension developers directly or finding other ways to support the fix you require (eg by submitting a patch directly, or sponsoring work to make it happen).


List of fields and explanations? I am working on importing information from our current donor database to Civi.
Is there a table that lists the field names within each table and an explanation of what that is?
Specifically I am looking at ContributionRecur entity and I would like an explanation of the fields beyond the field name that's in one place.
Ideally each entity would have something like that.

I have looked in the User Guide but I can't find that sort of thing.
Can anyone point me as to where it would be ?

One way is to look in the MySQL database directly, if you have access to it. Each table is defined with comments for most of the columns, and I have found them to be quite useful.

A great way to inspect the databse directly is to use MySQL Workbench. You can right click on the table and choose Table inspector. Here's a screenshot of it which demonstrates its ability to display field comments...

Other database inspection tools like phpMyAdmin should have similar functionality.


How to setup cron for updating membership statuses in cPanel How do I setup cron (via cPanel) to execute, specifically membership statuses? I.e. I know how to get to cPanel's cron management, but not sure how I tell that cron management tool to execute the membership status cron as setup inside of drupal.  An example for doing that (and to run all of them) would be nice. :-)

I've read the CiviCRM manual for membership status AND watched the cPanel video, but really need an example for doing specifically the above, and with that information I think I can construct all the others I need.

Using CiviCRM 4.7.13, Drupal 7.51

Thanks,

Carl

I've expanded Kainuk's SOLUTION here (thanks Kainuk!):  To start executing civicrm jobs without doing them one-time-only as done with Sheduled Jobs List (Civicrm > Administer > System Settings > Scheduled Jobs), then its easiest just to install drupal's module, civicrm_cron and it will automatically start executing the jobs on your scheduled jobs list. This is much easier than doing this at the command line or inside of cPanel. For even finer grain control of your scheduled jobs, you can use elysia cron.


Click tracking on anchor links We recently re-designed a regular e-mail to include a "menu" at the top.  The menu is a list of anchor links to sections further down the e-mail.  However, we are not seeing any clicks being tracked on these anchor links.  Is there a way to track these clicks?

No. Links that do not go to a website cannot be tracked by CiviCRM. The reason is that anchor links simply scroll the document the user is reading - they will not take them to an external site, which is how CiviCRM does the tracking.


New Hosting - Blank Page in Wordpress The organisation that hosts our Wordpress site (a Church Diocese) is migrating all their sites to a new host by moving the full cPanel configuration across. Our Wordpress site seems to have migrated OK with the exception of CiviCRM. When I access the CiviCRM menu in the Wordpress backend all I get now is a blank page.

Any ideas as to where I should look to resolve this problem?

Thanks for any help/hints.

Blank page normally suggests a PHP error, so your error logs are a good place to start.


Generating extension menu when extension is installed When my extension is installed i want the menu to be generated and added to the CiviCRM main menu as a new tab ie a main menu with subs under it so the user do not have to manualy do that, what is the best way of doing that? can that be done in my extension before given to be installed and tested? If possible, I need some pointers to that solution.

It's strongly recommended you use the navigationMenu hook in your extension.php file.

function civisocial_civicrm_navigationMenu( &$params ) {
    $maxKey = ( max( array_keys($params) ) );
    $params[$maxKey+1] = array (
        'attributes' => array (
            'label'      => 'Civisocial',
            'name'       => 'Civisocial',
            'url'        => null,
            'permission' => null,
            'operator'   => null,
            'separator'  => null,
            'parentID'   => null,
            'navID'      => $maxKey+1,
            'active'     => 1
    ),
        'child' =>  array (
            '1' => array (
                'attributes' => array (
                    'label'      => 'Settings',
                    'name'       => 'Settings',
                    'url'        => "civicrm/admin/setting/preferences/civisocial"
                    'operator'   => null,
                    'separator'  => 1,
                    'parentID'   => $maxKey+1,
                    'navID'      => 1,
                    'active'     => 1
                ),
                'child' => null
            )
        )
    );
}

This will add a entry Civisocial in your navigation table along with a child called Settings.


Cannot determine default context. CRM_Contact_Form_RelatedContact should implement getDefaultContext When clicking Manage Case # on my contact dashboard, I am met with an error

  Cannot determine default context. CRM_Contact_Form_RelatedContact
  should implement getDefaultContext

Is there a setting I am missing, or is this a bug?

When I look at it on the public demo it almost seems like the link itself is a mistake, since it doesn't look like a link to manage case, it's a link to some other function. If you go to the case dashboard or the civicrm dashboard (as opposed to My Contact Dashboard), the links there are correct.

Edit: some more info:

What seems to be happening is that normally CRM_Contact_BAO_Relationship::getContactRelationshipSelector (which is the thing that builds that table) will call CRM_Contact_Page_View_Relationship::links, which has the correct link for manage case. However for My Contact Dashboard it calls CRM_Contact_Page_View_UserDashBoard::links, which doesn't set anything for the CRM_Core_Action::NONE entry in the links array, and so something gets confused somewhere.

Untested but I think adding this code:

CRM_Core_Action::NONE => array(
      'name' => ts('Manage Case'),
      'url' => 'civicrm/contact/view/case',
      'qs' => 'action=view&reset=1&cid=%%clientid%%&id=%%caseid%%',
      'title' => ts('Manage Case'),
    ),

into the CRM_Contact_Page_View_UserDashBoard::links function might fix it.


templates_c cache files not being deleted This is a problem I've had for three or four years, but never solved. I send a monthly mailing to about 50k contacts using CiviMail. Each mailing is scheduled using the standard CiviCRM job scheduling. All works fine except that during the sending, the templates_c/en_GB folder grows to about 30GB or more, and has to be emptied manually (either from the command line or using the the CiviCRM Clean Up Caches page) to stop the server from running out of disk space. The files and directories which are being created under templates_c/en_GB/ all seem to have plausible permissions (read and write for the Apache user, read only for everyone else), so I don't understand why they're not being cleared.

Can anyone suggest anywhere to start looking for a solution? Thanks.

This happens with the following set-up, but I have had the problem for a long time, with all previous versions as well.

CiviCRM 4.7.19
Joomla 3.7.2
php 7.0.19
MySQL 5.6.36

Cache files are cleared by a scheduled job, which isn't enabled by default.

Go to Administer menu » System Settings » Scheduled Jobs.
Find the row labeled Clean-up Temporary Data and Files.
On that row, click more menu » Enable.


Delete a Missing Case I ran a Case Detail Report to see a list of cases because my Views table count was not adding up. I realized from this report that there is a case with an "Active" status that does not have a Contact ID. I can't seem to find this case anywhere. The case is not "deleted" from what I can tell. Any ideas is appreciated!

It's weird to see a case without a client. Maybe, it was created correctly and somehow civicrm_case_contact table row was deleted for this contact_id?

If you wish to delete this case from your site, you can make use of the API explorer - http://site-name/civicrm/api#explorer OR can be navigated through Support -> Developer -> API Explorer

Use Case Entity with Delete action and pass the case id as a parameter -

If you don't know the case id - you can check by placing your cursor on the subject column of the case detail report. The URL will be shown on the bottom left of your browser which has the caseId param as shown in the screenshot -


How can I change the wording of the "In Honor of" tab? How can I say "First Name of Person Being Honored/Memoralized," "Last Name of Person Being Honored/Memoralized," etc. in the contribution page instead of "First Name," Last Name," etc.

One option is to use the .extra.tpl method (original blog post, forum post or from the wiki) to add jQuery to the page.  To identify a potential starting point for which tpl file to use in front of .extra.tpl, right-click on your contribution page and View Source.  Then do a find (usually CRTL+F) for tpl.  The forum post suggests that a good starting point might be CRM/Contribute/Page/Tab.extra.tpl.

You would select your particular field labels and use a jQuery function like .replaceWith().


How to upload multiple files to be downloaded by contacts in frontend I'm running CiviCRM 4.7.7. on Joomla for a Sport Club in which athletes have access to his licences, anual documents, reglaments, etc. from frontend.

In configuration we have added some custom fields to profiles, for example, "Licenses", and inside "Anual Sport License" and "Anual Federative License". For each license we have enabled the option to administrators to upload a file from backend that after, athletes can download in frontend.

The problem is when we update that files in the next season, previous file is deleted automatically and only the more recent stills, but we need that athletes can download all the files historial in every moment.

Can someone help us?

Thank you very much.

see https://book.civicrm.org/user/current/organising-your-data/custom-fields/
under Multiple record fieldsets. you can set (only for contacts) multiple field records. aftewards you can set how the content should be displayed. i think you can do that with files too.


Error "Select at least one membership option" when adding a membership with a price set I'm new to CiviCRM. my version is 4.6.8

The problem happen when I try to add a New Membership.
I have the following:
Membership Organization and Type    "Organizzation-NAME" - "select" OR "chose price set"

Select Membership Organization and then Membership Type. Alternatively, you can use a price set.

Well When I did not select a Membership type but I chose the price set and add one or more types I can't save because I receive the following message:

Please correct the following errors in the form fields below:
Select at least one membership option.

Please help
Thanks

While creating the price set option value you need to select the corresponding membership

If this is not selected then you cannot create an membership using price set


KCFinder - Is there a way to allow the user to specify the upload folder? Or change the default? We use images stored in Civi for our CiviMails and our events, and our site is getting nearly a thousand images in the default image folder, sites/default/files/civicrm/persist/contribute/images.
(Drupal 7.58, Civi 4.7.27)

As a result, KCFinder is increasingly stalling and not loading the directory tree or any images. This particularly happens for users with poor internet. So, following on from this earlier question, I'm now wondering if there's anyway to either:

Allow the user to specify which folder to put uploads into (ideal solution),
Or
Change the default upload folder.

Where could I go to make these changes?

Thanks for your help.

Right-click on the "images" folder in the kcfinder browser. You can choose New Subfolder.


How to use Find Contribution to find folk who Donated via a line item on a Membership Price set Scenario:

(FT = Financial Type)

A price set is created using eg Member Dues FT and Donation FT. Contribution page is submitted (which is FT = Member Dues).

A person submits the form above so have paid for Membership and made a Donation

Admin want to use Find Contributions to search for all folk who made a Donation. And from their perspective the person above should be listed, but they don't because Donation was a 'line item'.

Thoughts?

Could be an option be added to the Find Contribution interface to 'search by line item'? Other, probably better ideas?

Seems like the old chestnut about storing financial type on contribution, where it originated, vs line item, where it later appeared, leading to the sort of issue you've described. There was talk a while back of retiring financial type on contribution, which would seem to require changing contribution search to check financial type on line items instead, in the way you describe.

You've specified Find Contributions but as a workaround for now, does the Bookkeeping Transactions report provide what's needed?


How do I get a chained restful API call to return xml? This query string will return a contact record and related phone records for Contact ID 1234 in json format:

entity=Contact&action=get&json={"contact_id":"1234","api.Phone.get":{}}

How do I construct a query string that will return the results in xml format?  It seems as if the API Explorer only returns json.

@samuelsov got me going in the right direction, along with trial and error from the documentation:

This returns all related phone records for the given contact_id:

entity=Contact&action=get&contact_id=1234&api.Phone.get[values]

And you can filter the chained API call too, for example all related phone records with a phone_type_id of 2:

entity=Contact&action=get&contact_id=1234&api.Phone.get[phone_type_id]=2


How to change where the confirmation email is sent Currently when a member signs up, the email goes through to our generic head office email and is copied in to a member of staff.  How do I change the member of staffs email?

Take a look at Contributions -> Manage Contribution Pages, choose the relevant page, and then click on Configure, all  the way over on the right. Then take a look at Receipt for that page,
might be at
https://[your_website]/civicrm/admin/contribute/amount?action=update&reset=1&id=1
and the e-mail addresses that a receipt is cc'd and bcc'd to.


Custom field set - how to move Delete button (or prevent deletes)? Users are 'accidentally' deleting custom field sets because (so they claim) the 'Edit' button and the 'Delete' button are too close together after clicking the custom field set tab.  So is it possible to move the delete button to the right?  One solution is to disable the ability to delete custom field sets but that doesn't see possible - we are using ACLs that only allow 'Edit'.  Any other ideas?

You can use a bit of CSS (either in your CMS theme or in a custom CSS file you define in Administer menu » System Settings » Resource URLs to move the buttons further apart.


How to Set Up a Particularly Wonky Membership Type? The foundation where I volunteer has been around for 52 years and is finally adopting a CRM and I am responsible for making it work :/ I didn't even know Civicrm existed until three days ago. I'm struggling mightily on multiple fronts. I haven't slept in two days, but to stay on topic;

It has a membership type called a "Lifetime Membership". In many ways its like a layaway program. Supporters can pay as little as they like, as long as they like, on whatever regular or irregular schedule they want. On the magic day that their contributions total the membership cost, they become Lifetime Members. In theory, I guess all I need to do is keep their membership status set to "pending" until they reach the goal, which could take years. But I'm kinda fumbling between the docs, youtube videos, this forum and the crm trying to set this up. If anyone would be so kind as to give me a bullet pointed list of action items to accomplish this, I would ... I think I would cry...
Thanks

A slightly off beat thought on this:

just set up a Contribution Page without any membership types, but with a special Financial Type
use the Summary Fields extension to sum up the amount someone has paid of this type
use CiviRules to then give the person the 'lifetime' membership.


Paypal Payment Processor not connecting with CiviCRM We used the Paypal Pro Payment Processor with Civi. It has worked well in the past (including last month). After the last update they are no longer working properly. However, the payment processor is taking the actual payment.

For example I went through our donation page and donated $1.11. On hitting submit I received this error

On the CiviCRM End I received this error failing to update database.

However, on the Paypal end the payment went through. I received a notification from Paypal indicating I received a donation of $1.11.

So, something is happening on the Civi end of things but I don't know how to fix this error.

Here are the errors:

CRM_Core_Exception: Failed to update contribution in database in /var/www/html/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Confirm.php on line 2336
Exception trace
#
Function
Location

0
CRM_Contribute_Form_Contribution_Confirm->completeTransaction(Array, 99)
/var/www/html/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Confirm.php:2336
1
CRM_Contribute_Form_Contribution_Confirm->processFormSubmission('6')
/var/www/html/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Confirm.php:716
2
CRM_Contribute_Form_Contribution_Confirm->postProcess()
/var/www/html/sites/all/modules/civicrm/CRM/Core/Form.php:447
3
CRM_Core_Form->mainProcess()
/var/www/html/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Main.php:1314
4
CRM_Contribute_Form_Contribution_Main->skipToThankYouPage()
/var/www/html/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Main.php:1048
5
CRM_Contribute_Form_Contribution_Main->postProcess()
/var/www/html/sites/all/modules/civicrm/CRM/Core/Form.php:447
6
CRM_Core_Form->mainProcess()
/var/www/html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Upload.php:169
7
CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
/var/www/html/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Upload.php:136
8
CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
/var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php:203
9
HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_Contribution_Main), 'upload')
/var/www/html/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php:103
10
HTML_QuickForm_Page->handle('upload')
/var/www/html/sites/all/modules/civicrm/CRM/Core/Controller.php:351
11
CRM_Core_Controller->run(Array, null)
/var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php:310
12
CRM_Core_Invoke::runItem(Array)
/var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php:84
13
CRM_Core_Invoke::_invoke(Array)
/var/www/html/sites/all/modules/civicrm/CRM/Core/Invoke.php:52
14
CRM_Core_Invoke::invoke(Array)
/var/www/html/sites/all/modules/civicrm/drupal/civicrm.module:448
15
civicrm_invoke('contribute', 'transact')
unknown:unknown
16
call_user_func_array('civicrm_invoke', Array)
/var/www/html/includes/menu.inc:527
17
menu_execute_active_handler()
/var/www/html/index.php:21
18
{main}

 Sorry but we are not able to provide this at the moment.Failed to update contribution in database
Return to home page.

Solved:

It turns out that the CiviCRM logs contained error messages that indicated a missing database column, specifically a CiviCRM custom field. It's not clear why the column was missing, and the CiviCRM admin continued to display the field. An attempt to edit and save the custom field, in the CiviCRM admin, resulted in the same error as occured when submitting the donation form, which appeared to confirm that the custom field was the culprit. Sure enough, once this column was rebuilt, the problem was solved.


WYSIWYG Editor Messing with URL's I'm trying to send out a mailing via CiviMail, and we have a link to the RSVP URL of our CiviCRM event.  However, whenever we've sent out the test emails, it seems that the URL is getting messed up by the included WYSIWYG: CKEditor.  This is the problem we are experiencing.  If you take a URL, say

http://example.com/index.php?option=com_civicrm&id=172&lang=en&reset=1&task=civicrm/event/register

It gets replaced with the following URL:

http://example.com/index.php?option=com_civicrm&amp;id=172&amp;lang=en&amp;reset=1&amp;task=civicrm/event/register

Now the difference isn't all that noticeable, but the &s get replaced with &amp;s.  I was able to find a workaround by editing the source of the email and replacing all of the &amp;s and not switching back to WYSIWYG view before sending it out.  However this a less-than-ideal, band-aid solution.  Does anyone have an idea of how to fix this issue?

note: I tried installing the TinyMCE CiviCRM extension, and that did not solve the problem, the URL's were still getting jumbled.

I feel your pain. Using wysiwyg editors to write emails is like using salt to heal a bleeding wound. It might have a purpose, but probably not in this context. and in this context, it hurts. A lot.

Anyway, back to your question: are you having the replacement in the href or "only" when you leave the link as part of the text you send?

The latest version of civi should behave correctly, otherwise, you can disable the replacement of the & into & (I've done it, it's not 100% html strict compatible, but seems to work fine with 100% of the real mail clients): here's an explanation on how to do it:
Escaping quotes in ckeditor breaks smarty-syntax

and a more generic question about how to disable the wysiwyg editor:
How to disable or fix the wysiwyg editor on civimail


Where can I get the code that creates the progress bar for Personal Campaign Pages? When creating a Contribution Page, you can enable a widget and copy the code to create a progress bar wherever you want. I'd like to do that with some personal campaign pages, so that they are all on the same front-facing webpage to show who is winning a fundraising competition. I'm not finding an obvious way to do that, but I expect it is possible.

I'm not sure there's an 'easy' way to do it (similar to the widget code for an entire Contribution page). In the past I've done something like it by writing a custom plugin (for Wordpress) that used mysql queries to pull data from active PCPs. I don’t believe there’s a fully operational API for PCPs yet - that would probably let you avoid writing queries yourself - there is however an unofficial API that you might find useful.

Incoporating PCPs in Wordpress


Providing opt-out link when sending an email directly from a contacts record does anyone know if the "{contact.is_opt_out}" token works when sending an email directly from the contact record. On testing, I can't seem to get it to work. No link appears in the message in the email inbox. Thanks!

is_opt_out isn't a link, it's the privacy preference checkbox on the contact record.
I don't believe the bulk mailing link tokens are available in this context, since you're not sending bulk mail.
But you can use the checksum token to include a link to a contact profile you set up. https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#checksum


After upgrading to 4.6.7 Civimail fails to send mail The error message reads:

  Failed to run permission check: Unrecognized target entity table (civicrm_note)

As Francesc pointed out, the symptoms sounds very similar to a contemporaneous question -- Why unexpected attached files are loaded in all mailings by default?

That was patched with https://github.com/civicrm/civicrm-core/pull/6644 and released as part of 4.6.9.


How to display a frontend CiviMember page? I have a profile set up with standard membership fields which I want to display as a front-end page in WordPress.  The profile is enabled and set up as a standalone for.

Problem: on the WordPress page when I try to embed the form the profile is not listed. Are there any dependencies for CiviMember?
I'm on Civi 4.6.7

Please try to create a contribution page first and then test the contribution page by embedding against wordpress page

Once I did face similar issue - word press needs a contribution page to be created as a base - please give a try and test

If everything works fine with contribution page then try embedding your standalone profile that should work

If it fails let me know. so i will investigate more - thanks


How can I export Contact Contribution and event data? Our database was handled very roughly over last couple of years and tested features recklessly. Mixed events payments with contribution payments etc. Numerous price sets. Bot attack was also another problem until recaptcha implemented. We dont even know how many contact & contribution was populated by bots.

What I am trying is to export all contact data only with potential donors, contribution, and events data. Not bothered about activities. And import it onto a clean instance of Civicrm. Another concern we have is recurring paypal donations. After moving how can we keep those linked to contacts?

Any suggestion would be much appreciated. Thanks

Typically, bots contacts/contributions will follow some standard method of populating information - e.g. a recent bot attack on one of our clients created contacts with "%phone_short%" listed as their main phone number, so using search builder in the GUI allowed me to identify all associated spam contacts and delete them permanently.

If these spam contacts are associated with contributions, you'll need to delete the contributions before you are able to permanently delete the contacts - you can isolate those contributions by creating a group from the search builder results, then use Contributions > Find Contributions to search for and delete all contributions made by contacts in your spam group.

Depending on your payment processor, you may have contributions with a status of "Failed" - if so, you can search for all failed contributions (I would do this search using Search > Advanced Search with Display Results as "Contributions"). Review the list to see if you get any legitimately failed contributions associated with legitimate contacts - if you do, narrow the results further by entering a received date and time range since spam contributions are typically created in rapid succession. Once you've isolated the spam contributions, run the same same search, only this time with Display Results as "Contacts", then create a group of these contacts - this will allow you to isolate the spam contacts for permanent deletion after you have deleted the contributions.

With the above tips, you may be able to stick with the existing database and avoid the need to transfer recurring contributions, but if not, I would suggest creating new recurring contributions since migrating existing ones could prove to be very time consuming and complicated given the many different tables in which contribution information is stored, e.g.:

Records in civicrm_contribution_recur are associated with a specific civicrm_contact.id
Records in civicrm_contribution are associated with a specific civicrm_contribution_recur.id
Records in civicrm_contribution are associated with several other tables, many of which are interconnected with IDs from yet other tables - e.g.:

3.1. civicrm_financial_type > civicrm_financial_acount > civicrm_entity_financial_acount

3.2. civicrm_contribution.id > civicrm_line_item.id

3.3. civicrm_line_item.id > civicrm_financial_item.id

3.4. civicrm_entity_financial_trxn > civicrm_contribution > civicrm_financial_item.id > civicrm_financial_trxn

3.5. civicrm_contribution_id > civicrm_contribution_page.id

3.6. civicrm_contribution_id > civicrm_event.id > civicrm_participant.id > civicrm_participant_payment.id

Keep in mind, the above may not be an exhaustive list, and you would most definitely want to do this directly in the database so that you can preserve all of the existing IDs.

Hope this helps,
Tamar


Implementing tokens and tokenValues hooks for Event custom field I'm trying to implement a hook for inserting Event custom fields into Scheduled reminders; however, I'm not a developer so I'm really not sure what the code needs to look like. The custom field is custom_115 (Learning Materials link), which I know is the correct field as I located it using the API Explorer. The problem for me has been the hooks; not really understanding the structure. I'm running CiviCRM 5.7.2 on WordPress. I've pasted the following code (which I pieced together from various sources, and partly guessed) into my functions.php file but I know it's wrong and I don't know how to get it to work:

<?php
/* CiviCRM token addition for custom_115 */
function civicrm_tokens(&$tokens) {
  $tokens['event'] = array(
    'event.custom_115' => 'Custom 115',
    );
}

/**
* Populates a token named "custom_115" with the value from a custom field
* (id 115) for use in Scheduled Reminders
* Implements hook_civicrm_tokenValues().
*/

function civicrm_tokenValues(&$values, $cids, $job = null, $tokens = array(), $context = null) {
static $events = array();

  if (is_numeric($cids)) {
    // We're being called by CRM/Core/BAO/ActionSchedule.php:465
    // Params are structured differently than they're supposed to be, but we
    // can work with it. See https://civicrm.stackexchange.com/questions/3573/can-tokenvalue-hooks-be-used-in-scheduled-reminder-emails

if ($event_id = CRM_Utils_Array::value('event.event_id', $values)) {
  // We've been passed an event ID

  if (!array_key_exists($event_id, $events)) {
    // We haven't looked up the custom field value yet

    // Fetch the custom field value from the database
    $event = civicrm_api3('Event', 'getsingle', array(
      'sequential' => 1,
      'return' => "custom_115",
      'id' => $event_id,
    ));

  $val = CRM_Utils_Array::value('custom_115', $event);

  // Keep this value in memory to use with the other event participants
  $events[$event_id] = $val;

  } else {
    // We stored the value previously
    $val = $events[$event_id];
  }

  $values['event.custom_115'] = $val;
  }

 }
}
?>

I'm assuming that if it is set up properly, I'll be able to locate "Custom_115" as an option in the Tokens list - is that right? Any help/advice would be appreciated. Thanks

The code doesn't go in functions.php, you need to create a little extension. See https://docs.civicrm.org/dev/en/latest/extensions.


Remote Database Connection I apologize if I am asking this in the wrong place, but I've hit something I cannot figure out..

I have remote drupal and civicrm databases that I want to use for multiple developers.  My question concerns the civicrm.settings.php file.  I can successfully connect to the remote drupal (CMS) database using the settings.php config, but my civicrm settings do not seem to be pinging the server db at all.  This code (no matter which credentials/IP/DB I try) is not doing what I think it should be doing...

define( 'CIVICRM_DSN'         , 'mysql://civicrm:YOUR_PASSWORD@localhost/civicrm?new_link=true');

The error:

Initialization Error

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

[code] => -26
[message] => DB Error: insufficient permissions
[mode] => 16
[debug_info] =>  [nativecode=1044 ** Access denied for user 'db_user'@'12.12.12.12' to database 'db']
[type] => DB_Error
[user_info] =>  [nativecode=1044 ** Access denied for user 'db_user'@'12.12.12.12' to database 'db']
[to_string] => [db_error: message="DB Error: insufficient permissions" code=-26 mode=callback callback=CRM_Core_Error::simpleHandler prefix="" info=" [nativecode=1044 ** Access denied for user 'db_user'@'12.12.12.12' to database 'db']"]

)

The error duplicates, which I find puzzling.  Mainly, I am wondering if there is an example of somebody doing such a thing as remote setup with CiviCRM db.

"Access denied" is indicating an authentication problem somewhere, either because of a bad user name or password, or a   MySQL host restriction.

Try testing the MySQL connection from the command line:

mysql -h hostname -u username -p database

You'll be prompted for the password.


Upgraded to 5.28.3 in WP - how to fix crash? Upgraded a WP site from 5.25 to 5.28.3 and now get this WP crash. I'm not familiar with WP so would appreciate any clues. The upgrade hadn't updated the file civicrm.php which is in plugins/civicrm folder so I replaced that with the 5.28.3 version.

Warning: include_once(/home/fovps1e/public_html/wp-content/plugins/civicrm/includes/civicrm.compat.php): failed to open stream: No such file or directory in /home/fovps1e/public_html/wp-content/plugins/civicrm/civicrm.php on line 581

Warning: include_once(): Failed opening '/home/fovps1e/public_html/wp-content/plugins/civicrm/includes/civicrm.compat.php' for inclusion (include_path='.:/opt/cpanel/ea-php73/root/usr/share/pear') in /home/fovps1e/public_html/wp-content/plugins/civicrm/civicrm.php on line 581

Fatal error: Uncaught Error: Class 'CiviCRM_For_WordPress_Compat' not found in /home/fovps1e/public_html/wp-content/plugins/civicrm/civicrm.php:582 Stack trace: #0 /home/fovps1e/public_html/wp-content/plugins/civicrm/civicrm.php(379): CiviCRM_For_WordPress->include_files() #1 /home/fovps1e/public_html/wp-includes/class-wp-hook.php(287): CiviCRM_For_WordPress->setup_instance('') #2 /home/fovps1e/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #3 /home/fovps1e/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #4 /home/fovps1e/public_html/wp-settings.php(409): do_action('plugins_loaded') #5 /home/fovps1e/public_html/wp-config.php(89): require_once('/home/fovps1e/p...') #6 /home/fovps1e/public_html/wp-load.php(37): require_once('/home/fovps1e/p...') #7 /home/fovps1e/public_html/wp-admin/admin.php(34): require_once('/home/fovps1e/p...') #8 /home/fovps1e/public_html/wp-admin/index.php(10): require_once('/home/fovps1e/p...') #9 {main} thrown in /home/fovps1e/public_html/wp-content/plugins/civicrm/civicrm.php on line 582

This isn't really a WP error, it's a file that's either missing or has the wrong owner/permissions.
Look for /home/fovps1e/public_html/wp-content/plugins/civicrm/includes/civicrm.compat.php.  Is it present?  If not, you may need to unzip another copy of WordPress.  More likely, it's present, but its file ownership/permissions make it unreadable by whichever user is your PHP user.


Sometimes can't save content There have been multiple instances of this situation in multiple installations of CiviCRM. Details for the incident that has prompted this post:

CiviCRM 5.16.2 on Wordpress 5.2.3
Using Firefox 69 and Edge (can't find version)

Attempting to record a refund to a contribution and when pressing "Record Refund", the CiviCRM spinner runs forever and the refund is never saved. Attempts to complete the transaction in Edge and Chrome also fail in the same way. Would appreciate some guidance on where to look for problems.

Thanks for the reminder about the logs. The CiviCRM logs had nothing in this case, but the apache error log showed (after a little digging and web searching) that I was missing the bcmath module for php. I expect that my similar problems will reveal other php errors and will start tracking them down.
Thanks again


How to pass field data from a Drupal node to the CiviCRM contact record of the author I have a scenario where site users are able to create content in Drupal. Let's assume they will only ever create one node. Their details are in CiviCRM already since they have a Drupal user account, but I'd like to pass values from fields in the node (e.g. URL and the Title) of the node into custom fields in the node author's contact record in CiviCRM.

I got this working by installing the CiviCRM Rules and CiviCRM Entity modules in Drupal. I was then able to create a rule that would populate custom fields in the node author's CiviCRM individual contact record with values from the node when the node was created or updated. In my case, it was the node title, the node path, and a custom date field on the node.

The key was to create a rule that would trigger on node create or edit, and then update each of the CiviCRM fields I wanted. The CiviCRM fields were accessible in Rules as node:author:civicrm-contact:custom-1, node:author:civicrm-contact:custom-2 and so on.

Note the use of node:author not current:user - I wanted the node:author record to be updated. Whilst these would be the same when the author creates/updates the node, they would be different if another user updated the node. If you use current:user, then the fields of the current user would be updated. I guess there is a use case where that would be desirable, but it wasn't what I wanted.

I was then able to use Drupal's Admin Views module (which incorporates Views Bulk Operations) to carry out a bulk save on all the nodes that had been created prior to configuring this set-up - this triggered the rule and updated the individual field

The only thing I haven't solved at this point is how to allow multiple instances of my custom field set in CiviCRM (i.e. to capture the fields for multiple nodes created by the same author). I initially configured the field set this way, but found that each save of a node added a new instance of the field set in the CiviCRM contact record rather than updating the existing field set. When I reverted to a single instance, the fields were simply updated on each save.


Error "Could not find a valid session key" after contributions are made Recently in the past we did do a migration from a development site to production and I'm not sure if we were having the issue before migration or not. Every time someone makes a contribution they receive the error:

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. We can't load the requested web page. This page requires
cookies to be enabled in your browser settings. Please check this
setting and enable cookies (if they are not enabled). Then try again.
If this error persists, contact the site administrator for
assistance.Site Administrators: This error may indicate
that users are accessing this page using a domain or URL other than
the configured Base URL. EXAMPLE: Base URL is http://example.org, but
some users are accessing the page via http://www.example.org or a
domain alias like http://myotherexample.org.Error type:
Could not find a valid session key.

I've checked resource URL's and they appear to be correct.
I've scrubbed all trace of the old CMS DB and base dev URL from the civi settings file and replaced them with production
The base URL in Civi and WordPress are matching besides a final / that civi has on it's base URL (I tried removing this but made no difference to changed it back
I have looked through everything relating to this issue on the stack exchange and have not found anything that worked

If anyone can help me with this I will be forever in your debt.
EDIT:
Okay guys after a billion hours of searching, trying things, and changing things I THINK that I have MOSTLY resolved the issue. I THINK what I did to resolve it is .... I realized that it was linking to development CMS DB (they both use same civi DB but different WordPress CMS DB).
After making this change I was able to make contributions in incognito mode and using another browser.... next I tried chrome (the same browser I've been using all along) and got the error. I cleared all cache in chrome, tried again while not logged into WordPress as admin, and it worked.
Next I logged into WordPress as admin and got the error. Deleted my chrome cache and tried again while logged in as admin and got the error.
Then I deleted all cache files in template_c directory and while logged into WordPress as administrator I successfully made a contribution! Then I tried a second time and got the error.
So I think it is working for all new users contributing ... but gives me the error if I'm logged into WordPress as administrator, unless I delete the cache in the template_c directory each time.
Hopefully that makes sense and someone can lead me to the last piece in the puzzle / figure out what is causing this.

This is an issue documented here: https://lab.civicrm.org/dev/core/-/issues/1997  Fixes have been merged into 5.30 branch https://github.com/civicrm/civicrm-core/pull/18525 and https://github.com/civicrm/civicrm-core/pull/18534
So you can apply the patches, or wait until the 5.30 release in early October.


What's the deal with the CiviCRM election? Am I eligible to vote/run? There's a CiviCRM election I heard about.  What's the deal? How do I vote or run for a position?

The current election (October 2018) is to determine the structure of a board to oversee the CiviCRM project.  It will determine what the permanent board's mandate is as well as its structure.

You can register to vote until October 18th and/or stand for election until October 15th. This blog post has details.


Not sure that I have Contribution Tracker configured correctly Drupal 7.37, CiviCRM 4.4.15

Principles outlined in this page to embed a variable in the URL that gets stored in a hidden field on the contribution page.

Do I need to make the custom fields required or read-only? I made them searchable.  For each contribution I am getting a row inserted into the database table "civicrm_value_campaign_1", but the three fields are all blank.

URL: www.domain.org/civicrm/contribute/transact?reset=1&id=8&custom_1=sponsorship&custom_2=15&custom_3=child&amount=35.00

<?php

function pptsponsorship_civicrm_buildForm($formName, &$form)
{
// enable tracking feature
if (($formName == 'CRM_Contribute_Form_Contribution_Main' ||
        $formName == 'CRM_Contribute_Form_Contribution_Confirm' ||
        $formName == 'CRM_Contribute_Form_Contribution_ThankYou') &&
    $form->getVar('_id') == 8 ) { // use  CONTRIBUTION PAGE ID here

    // use the custom field ID and custom field label here
    $trackingFields = array('custom_1' => 'Campaign',
        'custom_2' => 'Appeal',
        'custom_3' => 'Fund');
    $form->assign('trackingFields', $trackingFields);

    if ($_GET['amount']) {
        $defaults['price_3'] = $_GET['amount']; //set the other value
        $defaults['frequency_interval'] = 1;
    }
    $form->setDefaults($defaults);
}
}

changed the code to the following:

function pptsponsorship_civicrm_buildForm($formName, &$form)
{
    // enable tracking feature
    if (($formName == 'CRM_Contribute_Form_Contribution_Main' ||
            $formName == 'CRM_Contribute_Form_Contribution_Confirm' ||
            $formName == 'CRM_Contribute_Form_Contribution_ThankYou') &&
        $form->getVar('_id') == 8 ) { // use  CONTRIBUTION PAGE ID here

    if (!$_GET['custom_1']) {
        require_once 'CRM/Core/BAO/CustomGroup.php';
        $defaults = CRM_Core_BAO_CustomGroup::extractGetParams( $this, "'Contact', 'Individual', 'Contribution'" );
    } else {
        $defaults['custom_1'] = $_GET['custom_1'];
        $defaults['custom_2'] = $_GET['custom_2'];
        $defaults['custom_3'] = $_GET['custom_3'];
    }

    // use the custom field ID and custom field label here
    $trackingFields = array('custom_1' => 'Campaign:Campaign',
        'custom_2' => 'Campaign:Appeal',
        'custom_3' => 'Campaign:Fund');
    $form->assign('trackingFields', $trackingFields);

    if ($_GET['amount']) {
        $defaults['price_3'] = $_GET['amount'];
        $defaults['frequency_interval'] = 1;
    }
    $form->setDefaults($defaults);
}

}

It is now working.

It looks like you're not using the jQuery snippet mentioned here to populate your hidden values.

Also, there's a Google Summer of Code 2015 project that will hopefully make this question obsolete: Also, this may not be ready in time for you, but some of what you want is coming to core: forum.civicrm.org/index.php?topic=36091.0


WYSIWYG editor disappeared in CiviCRM 4.7.16 I just upgraded to CiviCRM 4.7.16 (Wordpress 4.7.2) and my WYSIWYG editor has disappeared from the CiviMail editor. The HTML email only allows me to enter raw HTML.

Any idea what happened and how I can restore the WYSIWYG editor?

Well, it works again through magic and voodoo.
All I did was go to the Wordpress Access Control page as Christia recommended and clicked "Save". I didn't modify any settings. Just clicking "Save" seems to have reconnected everything.

http://www.YOUR-ORG.com/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Faccess%2Fwp-permissions&reset=1


How to search for contacts by date added or date range added. Alternately: list contacts by date added How to search for contacts by date added or date range added. Alternately: list contacts by date

Under Search - Custom Searches - Date Added to CiviCRM.

Also a variation is under Search - Advanced Search, and expand the Change Log tab.


Add Custom Fields to Send Email Activity Our development staff are using activities for tracking moves management.  We've created a custom set of "moves management action types" and have added those to appropriate civicrm activities.  I can't, however, figure out if there is a way to assign custom fields to the "Send an Email" activity type.  I'd like to be able to assign the same action types to the "Send an Email" activity type for reporting purposes.

Anyone have any ideas how to do this, or an alternative approach?

Thanks!

-tim

Tim, as far as I know, you can't currently add custom fields to the built-in Send an Email activity.

An alternative approach would be to use the scheduled reminder functionality.

create a new activity type for this email and create a scheduled reminder for this new activity type when status = completed (or some other suitable status) and time = '0 hours after activity date time'
You have access to all activity fields and custom fields as tokens in the scheduled reminder field so the simplest approach would be to include {activity.subject} as the email subject and put {activity.details} in the body.
Give it a go. I'd be interested to know if this approach works for you. In theory, it should work but I have not implemented it in practice.


timezone in PHP is incorrect Facing this warning Timestamps reported by MySQL (eg "2017-07-20 13:48") and PHP (eg "2017-07-20 08:18" ) are mismatched.

While MySql time matches with my local time. PHP is running 5:30 hrs less. My timezone is UTC+5:30 hrs.

Tried below options,

changing the setting in UI ( WAMP -> PHP settings) and also in PHP.ini.
Wordpress settings

Didnt seem to work. What else I need to try?

Try setting your preferred timezone in civicrm.settings.php and/or wp-config.php?

ini_set('date.timezone', 'Asia/Calcutta');

You might want to adapt the timezone you set as appropriate to your MySQL server.

mysql -e 'SELECT @@system_time_zone;'

I believe India does not observe daylight savings? For that and similar reasons it's probably better to match the timezones in both systems. If MySQL is set to UTC offset, use that for PHP, and if MySQL is set to a regional timezone, follow suit.


Entering Matching gifts My organization receives gifts which are then sometimes matched by an employer. As it stands now, we are entering the original contribution with no indication of a potential or forthcoming match. Then when we receive a match, we enter a second contribution for that individual and we fill in the Matched From and Matched Amount fields. Is this the proper way to enter these transactions? I had thought that entering these fields in the original contribution would add the matched amount to the total for that individual but it doesn't which is why we enter the second contribution with those fields. Assuming that this is the right way to do this, how can I generate a report which lists an individual's contributions and shows which are matching gifts? Related, what report uses the Matching Funds fields?

This isn't really the correct way to record matched gifts. Matched gifts should be hard credited (recorded against) the donor and not the fundraiser so to speak. It sounds as though your recording them against the fundraiser and therefore you could end up claiming tax/gift aid incorrectly. The way we would normally do this would be to record the second contribution against the Employer that carried out the matched giving. At this point you could create the soft credit to the employee. This way you'd see both original gift against the fundraiser and the soft credit for the matched gift also. You'd also get a good idea of the value of employers by virtue of recording the hard credit against them.

Hope that helps!


Required box not appearing, Event Registration When I try to register event participants I receive a notification saying that I have not filled out three required fields. However, I cannot see or edit these required fields. Anyone know how to fix this? I am using version 4.7.3.

you will get this error due to following reason -

First if your Event registration is creating an New contact and if you have required field in your contact creation you will get this error message
OR If you have some custom field created against Event and if those custom field are required fields then you will be getting these error message
OR If you have any payment processor involved in your Event registration and if the address field are not field properly or card details are missing still you will get these error message

So just make sure you find the required field first and try to set some default value or include the fields in the event registration

If nothing helps please give some example - thanks


Searching for someone not in a relationship We're using CiviCRM to primarily build a network of activist groups around the country. There are "area organisers" and people they are linked with. We are using the relationship function to link people together.
It would be really helpful to be able to search for people who haven't yet been linked to an area organiser (because there isn't one yet in their locality), but I can only work out how to search for relationships between specific individuals. Is there a way to search for everyone who doesn't yet have a relationship with anyone else in the database?

The 'Include/Exclude' search is very handy for situations like this:

create a group of all contacts of interest
create a group of those who DO meet some criteria
use include/exclude to include group 1 and exclude group 2 to
produce those who DON'T meet the criteria

So in your case:

create a group of all people
create a group who do have a relationship (Advanced Search, open Relationships section, select relationship types of interest, search, save group)
go to Search > Custom Searches > Include/Exclude search  include your 'all' group, exclude the 'has relationship' group (select either AND/OR - doesn't matter since you are not using tags but it is still required)  Save as a group if you want.

If you want to use this often, create all 3 groups as smart groups.


Recurring contribution (monthly) with 'Pay Later' Using 5.24.6 on Drupal - I have a contribution page for donations with the possibility to 'pay later' (bank transfer) or to pay by credit card (PayPal), and the possibility for choosing monthly payments (Recurring contribution).
When a user chooses both monthly and pay later, they get the error 'You cannot set up a recurring contribution if you are not paying online by credit card.'
How can I allow people to 'declare' that they intend to make a monthly donation by bank transfer?

This extension solves your use case and was designed for that purpose and several other related ones:
https://github.com/adixon/ca.civicrm.contributionrecur
For example, you can track recurring offline payments (whether by bank transfer or other form of recurring payments that don't have a civi extension) by configuring it to auto-generate contributions for those offline payments. Then you just have a monthly reconciliation task to weed out the ones that didn't go through.
It supports both credit card and bank transfer offline recurring payments (using separate 'placeholder' type payment processors).


Import exceeding max. number of processes on host Getting a 500 error on importing CSV content. Consulted with web host, who found the cause of the 500 Internal Server Error. When I click on the import more than 30 processes is spawned from my account. The limit on my plan is 30 processes and this causes the error as the limit is exceeded. The processes are:

Code:
php admin.php

They advised me to contact Civi or check the import settings in order to lower the number of processes spawned simultaneously. You should configure it to wait for the process to complete and then spawn new ones.

How do I do this?

I found the solution to my issue. The php.ini was causing another issue with my site. When I renamed it, I was able to import as expected.


Word Press Install Missing civicrm.settings.php; dashboard unavailable; no menus I have a problem that appears to be similar to this post:
https://forum.civicrm.org/index.php?topic=34290.msg145436#msg145436

I'm in the middle of setting up an evaluation instance of CiviCRM within my staging WordPress environment.  I used FTP to upload all files and folders into a newly created civicrm folder within the wp-conten/plugins folder.  It appeared as a plugin and i clicked "activate", which seemed to go well.  I followed the link to configure, validated ddatabase information, clicked "Verify and Install" (or whatever it was) and it seems to have run without issue, except that I can't proceed with step 6 of the install instructions.  All prerequisites were met.

I have no civicrm.settings.php file to backup (or even view).

When I click on the "CiviCRM" link in the main navigation, I get a page that looks like this:

Note there's an error, but when I click on the error link it doesn't tell me anything.  Figuring perhaps I'll just proceed without backing up the file, step 7 talks about performing functions I don't have available to me in this state.

I'm stuck.  I've tried this twice, and both times the results are the same (thinking perhaps I missed a step earlier, which is still quite possible, but I don't think so after doing it twice).

Any help would be appreciated.

WordPress Version: 4.4.2
PHP Version: 5.5.9-1ubuntu4.14

Clicking on "Refresh Dashboard Data" first couple of times didn't do anything, but the 3rd time it gave me the following in a red box:
System Status: Error
Cron Not Running
Configure Default Mailbox
Complete Setup

The link to "View details and manage alerts" didn't render anything.

I dug further into the changes that WPE does to the file structure.

It looks like the new magic method of determining the file location using [civicrm.files] is failing. See https://github.com/civicrm/civicrm-core/blob/master/Civi/Core/Paths.php

I am able to get both 4.6.13 and 4.7.2 running on WPE by adding the following to my civicrm.settings.php file right after the opening <?php tag:

global $civicrm_setting;
$civicrm_setting['Directory Preferences']['customTemplateDir'] = '/nas/content/live/kcrist/wp-content/civicrm/templates/';
$civicrm_setting['Directory Preferences']['customPHPPathDir'] = '/nas/content/live/kcrist/wp-content/civicrm/php/';
$civicrm_setting['Directory Preferences']['extensionsDir'] = '/nas/content/live/kcrist/wp-content/civicrm/extensions/';
$civicrm_setting['URL Preferences']['extensionsURL'] = 'http://kcrist.wpengine.com/wp-content/civicrm/extensions/';
$civicrm_setting['URL Preferences']['imageUploadURL'] = 'http://kcrist.wpengine.com/wp-content/uploads/civicrm/persist/contribute/';
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = 'http://kcrist.wpengine.com/wp-content/plugins/civicrm/civicrm/';

This is based on the following article  https://wiki.civicrm.org/confluence/display/CRMDOC/Override+CiviCRM+Settings

Give this a try and I will create an issue for the [civicrm.files] issue.  edit- Issue updated https://issues.civicrm.org/jira/browse/CRM-18009


Membership fee based on custom field Seeking advice on the best practice way to implement membership fees based on the custom field which contains organisation income. i.e. Membership fee would be 1% of income for type 'A' contact.

I understand custom development is likely to be involved, so would it be best to create a module & which hooks or classes to override? Something that is maintainable through releases without constant code changes would be good.

Take a look at the membershipTypeValues hook and implement that in an extension.


Where are the "ConfigAndLog" and "templates_c" directories? Many Stack Exchange answers say to "check your CiviCRM logs" which can be found in the "ConfigAndLog" directory, or to "delete your templates_c folder".  What are the default locations for the ConfigAndLog and templates_c directories?

The two directories are found side-by-side.  The location varies by CMS; see below.  Note that you'll need access to your server's file system.  If you have FTP/SFTP/SSH access, you can use that.  If you have a control panel, check for a "File Manager" plugin:

Drupal: <drupalroot>/sites/default/files/civicrm/
Joomla: <joomlaroot>/media/civicrm/
WordPress: <wordpressroot>/wp-content/uploads/civicrm/
WordPress (old): <wordpressroot>/wp-content/plugins/files/civicrm/

Any CiviCRM version 5.29 and later will never have the "old" location.

Backdrop: <backdroproot>/files/civicrm/


Search counts vary by screen I have set up a smart group to list current memberships by chapter. When I search contacts by a certain chapter I get 222 contacts. If I search by the smart group defined for that chapter I get 221 contacts. If I search memberships by that chapter I again get 222 contacts. I hit the update counts link in the groups page but the smart group count stays at 221.

If you are searching by Memberships then it is possible that a contact will have more than one membership, eg if one Expired and a new Membership record has been created for them.

If you are comparing that with a search of Contacts, then the numbers will differ.


Update user Tags direct from civiMail link We'd like to let existing civiCRM Contacts tell us what they are interested in by following a link in a civiMail email, which takes them to a form with a few checkboxes. They check a few boxes, then press enter, which automatically updates their profile without making them login.

We are thinking we may need to use a checksum Token that links to a Petition or a Survey.

I thought I'd ask what the best practice is on this.

Thanks!

One approach is to create a custom field with check boxes for the subjects you wish to gather info on. Then create a profile that includes the custom field and any other info you might want to have them provide. Then use a link with a checksum token to this profile for editing in the email.

Hope this helps.


Why aren't bounced 'normal' emails reported? You can configure CiviCRM to handle bounced emails.  Any mail to an invalid address seems to cause the mail to appear in the bounced email mailbox.  The Fetch Bounces job fetches them and deletes them, but it seems the Bounces Report only shows those from Bulk Emails.  Why is this?  Surely, all email bounces should be reported?

Fuzion has undertaken some work recently to address this. The work is still underway but we expect to publish as an extension when this is completed.


Deactivating a contact for a certain timeframe I have following issue. We got an email from an business partner. She will not be working for the next 1.5 years. After that time she will be back. She asked us to use during this time a different (general address) email address. This address is already connected to the company.  Now I am wondering if it is possible to deactivate this contact for that specific time in terms of not losing a contact. Of course it should be reactivated automatically because I do not know if I will be responsible for our contacts at this time in the future.

This would be the best way to keep her contact in the database and nobody has to remember reactivating the contact.

Thanks for your help.

One option would be to add an Activity on her record with a Scheduled Date for 18 months time, and assign it to a contact that has an email address that will still be read in 18 months. that way you could change her email address to the one she wants using, or set her Comms Prefs to 'do not email', and then in 18 months they should receive a reminder to undo things so she gets the emails again.


Civi event links - Event Info-> 404 error I'm a newby just getting started and trying to learn how to set up events in Civi (5.6.0), using Wordpress (fresh install tester site).

In manage events, if I am looking at one of my events (which are saved, happy, and do show up via shortcodes on the Wordpress site) if I click 'event links' and then 'event info',  I get a 404 error. All the other event links open fine.

The URL it is trying to go to is this:
https://[myURL]/civicrm?page=CiviCRM&q=civicrm/event/info&reset=1&id=4

Any idea how to get it to show the event page? Thanks!

You need to create a Base Page (if it doesn't exist) and enter its slug in CiviCRM by going to "Administer > System Settings > CMS Database Integration".


Using custom fields to store secondary addresses As of now only primary address of a contact is searchable in advanced search. Search is not possible for other addresses of the same contact. So I want the other addresses of contact also searchable. Can I use custom fields for other addresses apart from primary?

What are the problems that can come up because of this approach ?

In the advanced search under the "Address Fields" you can choose "Address Location" which defaults to primary only. By selecting all of them you can search by any address type.

I tested searching for a non-primary "personal" address and the results showed the contact.

It might be something that could be made clearer, because I found a similar thread on it here.


Custom profile only displaying one result in search I've been trying to build a profile to customise the columns shown in search results.

I have the profile working, showing the columns I wanted, but for some reason the results page is only displaying one per page. As shown in the screenshot, it should be displaying 50 results per page. And it's not possible to move though the results one at a time, either. the other 49 results from the page are actually missing. The result that's displayed is't the first one that should be on the page, nor the last, it's from somewhere around the middle. Then the same for all subsequent pages.

Performing the same search without the profile, using the default view, everything displays as expected.

Any ideas what's up? Thanks!

It all worked perfectly in civi 5.8.2 prior to the upgrade.
It's a bug in 5.9.0, I am experiencing the same thing.
If I remove the "Default Contact Search Profile" everything is good.
I'm using civi on joomla.


PHP Fatal error: Uncaught CRM_Core_Exception: [0: Transaction integrity error: Expected to find active frame We recently moved our database to a new server, but when adding a new contact we now get this error:

This is what our server admin found:
[20-Sep-2020 21:53:47 Europe/Amsterdam] PHP Fatal error:  Uncaught
CRM_Core_Exception: [0: Transaction integrity error: Expected to find
active frame
thrown in
/home/other/***/public_html/wp-content/plugins/civicrm/civicrm/Civi/Core/Transaction/Manager.php
on line 93
What should we do to fix this?

As far as I can see the error signals that there is an uncompleted transaction somewhere. See https://docs.civicrm.org/dev/en/latest/framework/database/transactions/


Recurring Events and Volunteer Shifts In Civicrm I can copy an Event that takes place annually and simply update some details without starting from scratch. But the Volunteer component of that Event does not copy over with it. Is there a way to copy all the Volunteer setup too so we don't have start over from scratch to set up the Volunteer requirements and shifts again?

I don't think there is, but perhaps if you contact the team behind CiviVolunteer (Ginkgo Street Labs - inquire@ginkgostreet.com) they'd be able to update it for you :)

John


Need confirmation: Membership scheduled reminders do not sent to any email on bounce lists? We ran our membership renewal reminder for the first time on our live data and found as expected that contacts whose email address is in the 'on-hold' category are skipped when sending out membership reminders.

But we also have additional skipped contacts, and we found some of them were on bounce lists but haven't triggered the 'on-hold' threshold yet.

Can someone please verify/falsify that even contacts  on 'temporary bounce', are skipped when sending out membership renewal reminders?

Or alternatively point me to the tables/module handling this part of the feature.

I will report back to this thread.

Mail is designed to go out so long as email is not on hold. The point of the bounce thresholds is ensure the system keeps sending to an email address in cases where there is a reasonable prospect that the email will get through. And to not send when the likelihood drops too low.

Suggestions if small propotion of list not seeing email:
1. Have client check spam folder.
2. Set up SPF record for the emailing domain.
3. Reduce 'spamminess' of mailings, eg no attachments, no broken html, no words likely to be flagged.
4. Use a mail delivery service like the Mandrill one we put out when they provided 12k free emails per month (I think minimum spend is now $35-40/month so targetted at bigger installations), or the new SparkPost integration extension.


How do i get the contribution table entries? I want to get all the contribution table entries as a list which are equivalent to a given ID.
My contribution table has 4 entries and the contact ID for all the four contribution is 2.
I'm using the below method to get the details, but which takes the given ID as contactID and return the entries when contactID = contributionID..
foreach ($values as $key => $value){

        $contributionID = $values[$key]; //contribution IDs are 1,2,3,4,5

        // get the details for all selected contacts
        list($contributionDetails) = CRM_Utils_Token::getTokenDetails(array($contributionID),
          $this->_returnProperties,
          NULL, NULL, FALSE,
          $this->_allTokens
        );

Mean this only returns a row where contribution ID = contact ID = 2..but i want to get all the raw where contribution id is equal to 1,2,3,4 and 5.. how should i get it?
Thanks in advance!

You can use CRM_Contribute_BAO_Contribution::getContributionTokenValues() function to get details of contribution based on contribution id.
To get all data of contribution you can use api
$contributionData = civicrm_api3('Contribution', 'getsingle', ['id' => $contributionId]);


Views : SQLSTATE[42S02]: Base table or view not found (concerning a Custom Value Table) I want to create a View based upon civi_participants, including Participant Custom Fields.

I can Add the custom fields, but I get the following message :

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

... and the displayed view is empty.

(Running Civi 4.7.16 / Drupal 7.54 / Views 3.16)

This error usually means .... "Drupal doesn't know the table exists" ... which either means

1/ you have your civicrm tables in a different database and need to update the list of tables that you entered in settings.php so that drupal can connect to it

2/ the fields have been created, but no data has been stored yet (i may be wrong but i think the table for the data is created the first time a record is saved that contains data that needs storing in the table)


How to control which activity types options appear in dropdown when creating new activity in WP version Vers. 4.7.16.  When I go to create a new activity in the WP user interface, the choices in the Activity Type dropdown are limited to 4 options.  I want to create more activity types and when I go to Activity Types under Administer, I see lots of existing Types.  How do I indicate which of these types (or a new type I create) appear in that New Activity form's activity type dropdown?

Certain activity types are reserved by the system for certain purposes. You cannot directly create an "Inbound Email" activity, for example, because those are created by the email processor in CiviCRM.

You can add new activity types by going to Administer -> Customize Data & Screens -> Activity Types in the menu.


Editable "Other" option in multiple choice / select field? Is there a way to create a CiviCRM form like this:

  What would you like to eat at the event?

  Falafel
  Kebap
  Other: .........................    <-- user can make a free entry here

As far as I can see, multiple choice fields in CiviCRM do not provide this functionality, or am I overlooking something? Any other ideas how to achieve this (or something similar)?

This has been a feature request from time-to-time, and would be a great one to submit to the Paid Issue Queue.

If you want to DIY a solution I'd suggest you create a simple textfield as your custom field, and then use jQuery to add some extra radios that hide and populate the field unless the "other" box is selected, then show the field.


Multiple Status on a Membership? I know that there can be overlapping status' for a membership, and that the order can be set to determine which status takes precedence.

I'm curious if it's possible to have both status' display.  For example our non-profit categorizes members who are paid up on dues as in 'good standing' but we have a period of 2 months they could miss dues and still be in good standing before falling into 'bad standing.'  We would like to have a status for 'good standing', 'good standing 1 month behind on dues', and 'good standing 2 months behind on dues' so that we could better follow up with members who are behind on dues.

I know we could probably just do a status for each month behind, but we had previously set up 'good', 'bad', and 'inactive' standings,  and have various smart-groups and permissions set up around that.  So it would be easier if we could add other status' on top of the memberships' main status.

Any ideas?

The membership status ID field on a membership record is a single-value field - so this isn't doable without adding the new membership statuses.  I'd recommend either a) adding the new statuses and updating your smart groups, or b) creating reports based on membership end dates to use those to follow up with members.


What does this import error mean? "Invalid value for field(s) : ... Country input value not in country table" I am getting a crazy import error message:

  Invalid value for field(s) : Addressee must be one of the configured format options. Check Administer >> System Settings >> Option Groups >> Addressee for valid values; State/Province; Country input value not in country table: The Country value appears to be invalid. It does not match any value in CiviCRM table of countries.

What is wrong?

Sounds like the issue is that CiviCRM doesn't recognise the contents of your Country column (for some rows).

In the import UI, you should see an option to download rows with errors, and that CSV will report which exact country values CiviCRM does not recognise.

Eg, CiviCRM would accept either US (ISO-3166), United States (CiviCRM's label) or 1228 (CiviCRM's DB ID), but if the CSV contains United States of America or U.S.A, then CiviCRM might not recognise that alternative.

Cleaning this up is usually as simple as a Find & Replace in your import spreadsheet before re-importing. You might then rinse and repeat (N.Z => NZ or New Zealand) for further countries, or other invalid data that needs cleanup.

To get a working import format, try exporting a few contacts (even if you have to create a few first), then use the resulting CSV as basis for your next import.


Widget tracking total contributions I'd like to have a widget track all contributions on the site but it appears that is not possible as each widget is tied to a contribution page. Is there any custom code anyone has developed to do this?

Alternatively, I've just done a work around solution that is not that optimal. I could manually switch the "Online Contrubution Page" it is under by going to Edit Contributions>Additional details. The one concern I have is would this have any adverse effect on paypal monthly recurring donations? Would PayPal and CiviCRM still communicate properly?

Thanks all, this is my first post to the forum though I've been using CiviCRM for a few years.

I'm not sure, but these extensions may help:

1) CiviStats: https://civicrm.org/extensions/civistats
2) CiviWCI: https://civicrm.org/extensions/civiwci


Bulk Update Participant Status via REST API I am trying to find a way to bulk update participants' status via the REST api. I could only think of using the API chaining method. I tried to do a for loop to update individually but I got random number of successful updates.

Would like to know if there is a better way to do it ? I am calling from an android app using Retrofit2.

thanks,
j.

The right place to experiment with possibilities of the API is API Explorer that you can find at Support -> Developer - API Explorer in your local CivCRM instance or on the Demo site.

All the participants of an event can be selected with:

http://dmaster.demo.civicrm.org/sites/all/modules/civicrm/extern/rest.php?entity=Participant&action=get&api_key=userkey&key=sitekey&json={"sequential":1,"event_id":3}

The update of status can be accomplished with the create action in combination with an already existing participant_id. For example:

http://dmaster.demo.civicrm.org/sites/all/modules/civicrm/extern/rest.php?entity=Participant&action=create&api_key=userkey&key=sitekey&json={"sequential":1,"id":3,"status_id":"Cancelled"}

moves the status to Cancelled.

Success with your app.


Putting another field on event location record I have information about the capacity of venues that I would like to store. Venues currently are only being stored as locations on event records. Is there a way to add an extra field to locations on events?

I have seen this ticket but what I am looking for is much simpler Using contacts as event locations

One workaround approach would be to make an event template for each location that includes the venue size. This won't work if you are already using templates in other ways and need to mix eg luncheon template with different venues.


Create a new membership rather than renew an existing one Our members can join by credit card (paying manually each year, nothing clever) or by Direct Debit (set up as an auto-renew membership). We want to give credit card-payers the option to 'renew' to paying by Direct Debit. But this is complicated as the logic of payment dates/end dates is rather different between the two types.

I'd rather Civi just created a brand new Direct Debit membership in these circumstances, rather than trying to renew the old one. But the standard membership signup forms will always try to renew an existing one.

Does anyone have any suggestions for how to make Civi create a new membership in these circumstances? I can't see any obvious hooks for membership renewals. Should I intercept the entire form in hook_civicrm_postProcess?

Caldera Forms CiviCRM now allows you to choose whether you want to renew an existing membership or create a new one entirely, see here https://civicrm.org/blog/danaskallman/caldera-forms-civicrm-cfc-for-donations-and-membership.


Any CiviCRM integrations with Zapier or IFTTT? There was a forum thread some months back regarding integrations with external tools like Zapier and If This Then That (IFTTT), which automate tasks based on triggers between separate apps.

Has anyone worked on something in this regard? I don't have an immediate project in mind for this but I just got an email from IFTTT which reminded me of this thread and I was curious if anyone had taken it further as it seems like it could unlock a lot of potential.

No progress been made on the Zapier integration. The customer in question thought it was nice for testing purposes and as a proof of contact but did not deem Zapiera good solution in the long run. So no funding.


Control Access to CiviCRM functions/actions available to Contacts We have Drupal-CiviCrm setup with the sample data + Webform and WebForm_CiviCRM and have successfully created a webform which displays a form that allows you to filter the list by Org or Contact name

Now not having much experience with Drupal or CiviCRM I am trying to work out how I can allow a CiviCRM Contact to Manage contacts she has access to
eg take the Deforest Family where Ms. Alida Deforest can view and update information about Deforest family.

How do I allow Alida to do this when she comes to the website.
Further once this is set up how can you restrict Alida from changing (eg) relationships

Please be specific as the documentation around Drupal Roles - CiviCRM ACls doesnt seem to provide an end-to-end example.

The way we approach self-management is

use CiviCRM Permissioned Relationships extension
in Views set up a display using the above relationships as View Relationships so you get a list of 'my' contacts
set a Filter on Drupal user to 'is current user'
provide the user with a block which will show them 'their children' and which provides links to a webform which will populate the URL with the ID of the child and hence allow them to edit 'their' child


How to set specific social meta tags for specific contribution pages It would be very useful to be able to set specific social meta tags for specific contribution pages, but I can't seem to find any way to do this (definitely not in CiviCRM, there doesn't seem to be a module to do this in Drupal 7).

The idea would be to set og:image and twitter:image for specific contribution pages, which is fairly important for donation pages. Right now, it doesn't appear that these tags are set at at all; Facebook and Twitter just use the top image on the page.

Two challenges here that I see:
1) I can't add content to a specific contribution page, only to /civicrm/contribute/transact, which adds to all contribution pages.
2) I can't add content in the head of the page.

Is there a clever way to make this work?

If you're willing to write your own drupal module you should be able to do it with drupal_add_html_head in hook_init. I haven't tested that. If not hook_init then maybe in hook_preprocess_html. You would need to parse the url to get the id= parameter and that would tell you which contribution page.


What is CiviCRM's position on WordPress 4.3? I've reviewed the WordPress 4.3 release info, and see that it has been downloaded about 3 Mio times now.  Is there an expected CiviCRM compatibility date / release for WP 4.3?  Thanks for any insights.

Edited 2015 10 02:  I've now implemented WP 4.3.0 on an AWS T2 micro instance running Ubuntu 14.04 (Trusty Tahr).  It is updated without problems to 4.3.1, and I am running CiviCRM 4.6.8 on it.  So far, it is behaving nicely.  The site is fully TLS protected, and after patching SMTP.php, I have SendMail linked with AWS SES in operation.  Thanks to all who have posted here and on the CiviCRM Forums for helping this effort to succeed.

DVH

I can't specifically answer your question, but I always develop my Civi plugins and test the main Civi plugin on WP bleeding edge and have not run into any problems doing so. YMMV, of course.


Update contact's field to empty value I have updated some contacts and during import there was a mixup in some fields, i.e. an individual's "Website" field was filled with the value of an Organisation's website.

I want to set the value of "Website" field for this individual to empty. I tried updating the contact with both Update and Fill options, leaving the "Website" field empty, but this didn't work.

What is the best way to do this?

I would probably create a profile with the website, and then use the 'update multiple contacts' to clear the website a hundred at a time (which is the maximum of contacts you can update with one profile action).

First you need to create a profile, and read up on profiles in the User Guide if you are not familiar with them.
Next you search for your contacts, and select a maximum of 100 at a time, and select the 'update multiple contacts' from the action list. You then select the profile and use the 'copy' functionality to set the website to empty.
I have not tried this, but this is what I would try to do if updating SQL is not an option.

If that does not work you will probably either clean them in the database OR delete the contacts and re-import (if that is an option).


PayPal Website Payments Pro: This transaction cannot be processed. The merchant's account is not able to process transactions We are getting the following PayPal error when trying to process a direct credit card payment via the PayPal Website payments processor on our event page:

  10549 This transaction cannot be processed. The merchant's account is not able to process transactions.

  The merchant account attempting the transaction is not able to process
  Direct Payment transactions. Contact PayPal for more information.

We do have a business account, so that can't be it. Am I correct in assuming that this is because this processor no longer works with current PayPal accounts? Do we need a legacy PayPal account? Or is there something else going on?

We are on Wordpress/CiviCRM 4.7.7

The ability to do a Direct Payment transaction is what you get with PayPal Pro, as I understand it (i.e. allows you to host the payment page on CiviCRM).

But you do likely want to update to the latest 4.7.x, I have heard of issues with PayPal, though not this drastic.


PayPal receipts showing as Pending (Incomplete Transaction) I have an issue with PayPal receipts.  They are appearing as "Pending (Incomplete Transaction)".

I have discovered that there was a fix to the file BaseIPN.php in CiviCRM 4.3, but looking at the modified 4.3 file and my version (4.7), they appear totally different.

The receipt is successfully received in PayPal and the user is taken to the "Thank you" screen, with no errors, however the transaction in Contribution Dashboard is showing as Pending.

Is this a similar problem as was reported in version 4.3?  If so, what would I need to change in the 4.7 version of BaseIPN?

Joomla 3.4.8 / CiviCRM 4.7.1 / PHP 5.6 (FastCGI)

PayPal IPN History reports the following:

Message ID 0T926689FX401850L
Date/time created 11/02/2016 16:14 GMT
Original/Resent Original
Latest delivery attempt date/time 11/02/2016 16:14 GMT
HTTP response code 200

These are the only errors I can see in the log with debug switched on for the same time period.  They may be related, or may not...

Feb 11 10:12:36  [info] $GET = Array
(
)

Feb 11 10:12:36  [info] $POST = Array
(
)

Feb 11 10:12:36  [info] Could not find an entry for txn_type in POST

Feb 11 10:12:36  [info] $error data = Array
(
    [error_code] => 0
)

Feb 11 10:12:36  [info] $REQUEST = Array
(
)

Thank you.

This came up on the old site:
Not receiving IPNs from Paypal Standard

Short answer was there were mod_security rules on my server blocking the IPNs from coming back.


Contribution - Invoice Address layout is wrong. How to fix? I am on Civi 5.0.1 and Wordpress 4.9
Please see screenshots.
I need to print and mail some Contribution invoices. I noticed that the address layout for the invoices is incorrect.  I went to Administrator > Communications > Messages Templates > System Workflow Messages.  Then I clicked to Edit Contributions - Invoice.

I tried rearranging some of the tables and short codes to make it show up the way I need it to, but that just messed it up even more.

Can someone tell me the proper table and shortcode arrangement in Contributions - Invoice to get the address layout I need?

Thank you.

Initially i thought the address are rendered using format defined at Address Settings but i was wrong when i checked the message template. The message template is designed to use address format as

Street Address Supplement Address
Supplement Address State Abbreviation
City Postal Code
Country

I did some modification to message template so that State Abbreviation is between City and Postal Code. Can you try after replacing the content of Contributions - Invoice message template with the content from here?

HTH

Pradeep


I Need a Mailings Tab I do not have a "Mailings" tab in the menu at the top of my screen. How do I add "Mailings" to my list of tabs? See screenshot below, a "Mailings" tab should be there.

Can you check required drupal permission for role is enabled? Like Administer CiviMailings?
Navigate to Administer >> Customize data and screens >> Navigation Menu. Check if Mailings is disabled, if so right click and enable the menu.


Invoice with multiple Membership lines I have CiviContribute Invoices working in CiviCRM 4.7 within Drupal 7, but as the documentation tells you to first View a Contribution and then either Print or Email the invoice, it seems that there can only be one Membership per Invoice.

Is it possible (or planned to be possible) to raise a multi-line Invoice?

I guess it would need to be something like "Print/Email Invoice for Contact's  Contributions that have a Status of "Pending".

Thanks

It is absolutely possible to have multiple line items on an invoice :)

This can be done by using "Price sets". More information about this can be found in the book here:

http://docs.civicrm.org/user/en/4.6/membership/membership-price-sets/

Once you have set up your price set, persons (either administrators or public users who purchases memberships on a contribution page) could purchase 2 memberships in the same transaction. Then 2 memberships will then be shown as separate line items on the invoice.


How to set permissions on an angular page I have developed a basic angular page and forms which stores data in the database. However the data stored are settings and should only be accesible when a user has a permission for Administer CiviCRM.

How do I that? I don't have a Menu.xml where I would usually do that but I do have routing options in the angular controller.

I found a solution for this. The developer docs (https://docs.civicrm.org/dev/en/latest/framework/angular/loader/) mention how you could create your own angular page, which is a regular civicrm page but at a different url.

Because it is a regular page I could set permissions for that just as I was used to do. See https://docs.civicrm.org/dev/en/latest/framework/routing/#access_arguments for how to do that.


Settings - Upload Directories I got this message when I go to this area? How to fix this error about civicrm.settings.php. TIA]1

This means that the settings are hard coded in the civicrm.settings.php file in the sites/default/ directory on the server (the location may vary depending on your setup/CMS). You can manually remove the lines from the file that set the values.


Contribution form looks different on live site I'm using civicrm 4.7 on a 3.6.5 joomla site with the LT Charity Template. The field on my contribution page looks different from the page when I do a live preview. I researched the issue and I suspect it's a CSS issue? How do I get it to look like the live preview? What needs to be changed?

Here's the test-drive page but I see the labels are white which means that if they are white on the live site, with it's white background, they would not show.

This is how I want the form to look for the live site like this picture of the profile form using the preview function in civicrm:

I edited the custom CSS in the template with some code to change the form label color to black.


How can we access only one of multiple financial types in a single contribution? For some of our contributions, we have two different financial types, and that money needs to be treated differently. For instance, donors can make a donation and choose to add 3% to cover the processing fees. The donation is a "Donation" type, and the fee is a non-deductible "Processor Fees" type. The default Financial Type of the Contribution is "Donation". See image.

So, I can see the two different financial types within the Contribution, but when we are printing donor letters or running reports or searching for Contributions, we can only treat it as a "Donation" type (the default type of the Price Set).

We want to be able to print thank you letters with only the donation portion of the contribution ("Thank you for your $10 gift" in this case, not "$10.30"). And, we want to be able to run reports showing how much people have contributed through paying their own processing fees (or whatever the secondary type is).

How is this information stored in the database?
Is there (could there be) a token available to get only the "Donation" amount?
Why doesn't the Processor Fee amount (which is configured as "Not Deductible") show up in the "non-deductible amount" field for the Contribution?
Has anyone else come up with a solution or work-around for this issue?

Check out Extended Reports Extension https://civicrm.org/extensions/extended-reports/24

Here is a quick rundown of how Civi handles Financial Types.
The Civi Core  native reports will only pull reports for Financial Types connected with your Price Set Default Financial Type. Which is stored in table civicrm_contribution.financial_type_id.
The Price Field Financial Type is actually called Line Items in the background. You have to use Extended Reports to be able to pull reports based on Line Item (civicrm_line_item.financial_type_id).

When creating a Message Template use tokens for the civicrm_line_item table Ie.{$lineitem.label} {$lineitem.financial_type_id}

You might have/want to create another Financial Type similar to Donation (maybe Contribution). Then use Donation for the Price Set Default Financial Type and Contribution for the Price Field Financial Type. The just helps you know which one you are seeing in reports and when Pulling Reports, you are sure not to get mixed data (Donations and Processing Fees) like you are seeing now.


Support technique pour CiviCRM Bonjour,
nous cherchons un prestataire expérimenté qui pourrait nous aider à finir de configurer CiviCRM (cron, wkhtmltopdf, multi-sites,...).
Si cela est votre champ de compétence, vous pouvez me solliciter sur guillaume.sorel at all-in-group.fr.
Merci

Bonjour!

CiviCRM en Francais:

https://civicrm.org/partners-contributors?country_1=All&services=All&language=fr&cms=All
https://www.civicrmfr.org/


Custom work for Wordpress CiviCRM Is there anyone who can help me with some customised data for my CiviCRM (for wordpress)

I need the fields from New Contact to be replaced with my own.

It will be included a start date.

I need to have reminder with 30 days before expiring the "start date" - custom email template

I need to have reminder with 7 days before expiring the "start date" - custom email template
I need to have reminder with 1 day before expiring the "start date" - custom email template

The dashboard should show only some columns that I choose, not everything - with sorting, searching and filtering.

That's it.
I will pay, just tell me who can do that for me.
Thank you

You can find paid CiviCRM consultants on this list here.

With that said - much of what you'd like to do should be something you can do yourself, you may just need training.  I would recommend finding a consultant who will train you to set these things up together.


Thank-you letter incorrect contribution currency My setup: CiviCRM 5.20.0 on Drupal 7.

I entered contributions in different currencies.
In Find Contributions, check some entries. At Actions select Thank-you letter print or email.

I put tokens Contributions:

{contribution.currency} {contribution.total_amount} {contribution.fee_amount} {contribution.net_amount}

and it gives me lines like these:

CNY HK$ 1,299.90 HK$ 0.00 HK$ 1,299.90

GBP HK$ 500.00 HK$ 0.00 HK$ 500.00

where CNY and GBP are the currencies of those contributions and HK$ is the symbol of the default currency.

It seems the amounts variables just took the system default.

Would you suggest some work-around? e.g. how to strip the wrong currency symbol.

Thank you.

Well - there's a bug worth reporting here, but I understand your priority is getting these letters out.  This should do the trick:

Go to Administer menu » Localizations » Languages, Currency, Locations.
Change Monetary Amount Display to %a.


Network error after upgrade to 4.6.5 CiviCRM: 4.6.5
Wordpress: 4.2.2

I have followed the instructions here: https://forum.civicrm.org/index.php/topic,35850.0.html

All CiviCRM and Wordpress extensions are disabled.

Details:

When going into Contributions/Manage Contributions and trying to view the details of a contribution, I get the civiCRM error:

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

On my google chrome console, I get error:

  Failed to load resource: the server responded with a status of 500 (Internal Server Error)
  GET http://www.lafabriquecoop.org/wp-admin/admin.php?page=CiviCRM&q=civicrm/con…id=405&action=view&context=dashboard&selectedChild=contribute&snippet=json 500 (Internal Server Error)

I found the problem,

I had the stripe payment gateway configured with the extension disabled.

Thanks!


unable to add price sets? I am trying to set up registration for an event that requires price sets. When I press Price Set I'm unable to add any. Has anyone else experienced this? Is there something I need to do first?

here's all I see:

That's CiviCRM 4.1.6 - it's unlikely you'll find anyone here who can help you with that version.

It's possible that upgrading to 4.6 or 4.7 itself will solve the issue - lots has changed since. And if any issues remain you'll be on a version that's currently supported by the community.


Trying to send my first e-newsletter with the Mosaico system Trying to send my first e-newsletter with the Mosaico system. However, when I try to submit my mailing I get an error message (see attached) despite the fact I've put an unsubscribe token in the bottom of the mailing.

Sending of CiviMail requires both the domain.address token and the action.optOutUrl or action.unsubscribeUrl tokens

You can add these in to the bottom of your mailing. Add a text block, add the above tokens, then edit it by clicking on < > (source code) and put a link on to the optOutUrl token with the destination also being the token so it ends up like

{domain.address}

{action.optOutUrl}

There are some longer instructions here I wrote up yesterday. They may help