Is there a way to automate event feedback using Civi and Drupal webform? What we are looking to do is find a neat way to create a process for sending out an automated email from Civi with a link to a form of some type for a feedback or evaluation on the event that a person has booked on. We would ideally like this feedback or survey to be attached to the participant record in Civi (i.e. so its easy to see which event they are feeding back on and to find the feedback easily in Civi). I'm not sure if I can see any simple way to do this at the moment.

So I guess the idea would be to send the email as a scheduled reminder with a checksum token to a webform, and also have in the url the event ID. The event id would then allow the user to update their participant record for that event with some custom fields which are the feedback fields (or we could copy a link to the webform submission into a text field).

But to use 1 webform for all events and to pass the event ID to a field of event ID on the form, there is an issue that this will unsubscribe the contact from any other events that they were previously registered for.

Any one got any thoughts on a solution?

We could create an option to disable the unregistering from events as this also solves the problem that if multivalue widgets are enabled for multiple sets of event fieldset, they do not work together well. This way we can get a better control towards the behaviour, also makes the solution possible for any widget.

Regarding the loading event form URL, I think it will also be good to become a checkbox under "Event Registration Options" as people might not want to allow users to change some event setups through URL freely.


Separate membership payment on contribution form with donation When creating a contribution page with a membership, which is not a price set, the option to:
"Separate Membership Payment" is shown. This creates a transaction transaction for any donations and memberships on the same sign up form.

A separate membership payment will: "Check this box if you are including both Membership Signup/Renewal AND a Contribution Amount section, AND you want the membership fee to be charged separately from any additional contribution amount."

Unfortunately when using a price set, the donation options do not appear on the forms, and the option to separate payments is removed. It doesn't appear possible to separate a contribution with donations into two separate transactions.

How can I keep using a membership price set, but also enable donations on the same form through separate transactions?

The separate transaction option is not available with price sets - if you want both you should maybe hire a consultant to develop something.


Using 'Date Deceased' in CiviReport I'm attempting to create a basic Contact Summary CiviReport:  A list of deceased contacts sorted by Date Deceased. The field 'Date Deceased' from the Contact Summary doesn't appear to be an available column in CiviReport nor is it sortable.
Am I missing something? Thanks!

Another option is to use Data processor extension, you can output the result as search or report or dashlet.


Where is the record of Email --send now (50 or less) I have been sending email queries to volunteers in the "contacts in the group" area by checking their names and using the " Email send now (50 or less) action.  These emails do not show up in email reports.  Can I pull up the record/history of these emails in any way?  For example I want to send a new message to the same list.  Thanks, probably a beginner question.

Using the "quick email" function (aka "send now to 50 or less") bypasses CiviMail - so they won't show up on CiviMail reports.  If you need CiviMail functionality (e.g. reply/click-through tracking, reporting, reuse, scheduled emails, etc.) you must use CiviMail.

However, you can still pull up a record of these emails, either via Advanced Search or Activity Report.

Advanced Search

Search menu » Advanced Search.
In the "Activities" section, specify "Email" as the Activity Type, and some way of identifying the email in question - perhaps the subject line (see screenshot), or the date.


I do not receive bounces CiviCRM 4.6.4 With Joomla.
I mass mail are successfully sent. But I do not receive neither bounces nor notification of bounces. Some wrong or non existent mail addresses are used as a test.
Here following my settings:

The mail server of my provider is able to manage bounces.
Could you help me to configure both the mail server and /or CiviCRM?
Thank you.

There is some explanation here that you have probably already read http://book.civicrm.org/user/current/advanced-configuration/email-system-configuration/

Note it says: "The local part is optional and only relevant if you were able to set up an account using sub-addressing. It should be the account you created with '+' or '-' appended , e.g., "return+" or "return-"."

I see you have 'bounce' in that field which may be your problem


Can I go back to CiviCRM 4.5.8? We've recently installed CiviCRM 4.6.6 and we're on WordPress 4.3. I've got a major problem with CiviMail (see HERE. No one has responded in six days. Is there backwards compatibility? Would it be safe to install 4.5.8?? At this point, we're just using the Contact table. I'd rather not import all the data again, since I could only do 600 records at a time (the command line doesn't support groups or dup checking). I've got to get this fixed...someone please help me!! thanks...jim

I recommend you engage a professional to help you resolve the issue you experienced with 4.6.x, because then you'll have the bug fixed AND the security fixes which 4.5.x lacks.


Contributions- on behalf of existing organisations only? Our members are all organisations (schools and colleges). Payment is taken outside of Civi after sending an invoice. We're not currently using Contributions. We're looking at a big project to automate/improve our reporting. I'm interested in using a contribution page internally to record payment, most likely using a price set to count how many of certain options they have purchased either with their membership or separately afterwards.

It is important that we only create memberships on existing organisations, but the help for selecting an "On Behalf Of" profile says "The profile must include Organization Name and Email Address". Is there a way of restricting the selection of organisations to existing only, and preferably within certain subtypes or a certain group?

If you are using Drupal you could potentially set this up using webform-civicrm since that allows you to set the Organisation fields to require it to be an existing contact.
For Contribution Pages in general, the 'on behalf of' works on principle that an individual is signing up and registering that the membership belongs to the Organisation. I am not sure that maps so easily to a situation where the administrators are doing all the work, which is what i understood from your description.


Best Practise for recording thank you letter.I don't have email addresses On contribution page, what is the best practice for recording "thank you" letters that have been sent, if they are physical letters (snail mail), right now it only shows thank you letters if they are sent via email and if the person has an email address

You can add a custom Activity Type and then record such an Activity when you send out a snail mail. You can also use the existing Print/Merge Document activity and generate the PDF via the Activity and hence record it at the same time.


How do I modify the new 4.6 CiviMail form? I am the author of a CiviCRM extension that needs to disable, depending on configuration, the URL tracking and open tracking checkboxes of the mailing form. In version 4.4 this was accomplished using hook_civicrm_buildForm (CRM_Mailing_Form_Settings) and calling the freeze method on those elements.

This form hook is not getting called in version 4.6, so how would I go about doing this now?

Thanks for looking.

I ended up adding a small bit of javascript that waits for Angular to build the form, then it disables the checkboxes. Don't know if it's the right way, but it works.

CRM.$(function($) {

function disable_tracking() {
    var i = $('#tab-tracking').length;

    if (i > 0) {
        $('input[name="url_tracking"]').attr('disabled', true);
        $('input[name="open_tracking"]').attr('disabled', true);
    }
    else setTimeout(disable_tracking, 250);
}

if ( (typeof(CRM.crmMailing) == 'object') && (CRM.vars.sendgrid.track_optional == '0') )
    disable_tracking();

})


CiviCRM installer reports Warning: CRM_Core_ClassLoader message I'm trying to set up a new CiviCRM install (4.7.24 plus Drupal 7.56) on a subdomain but I keep getting an error message.

I tried to install using the Drupal 'add a module' but after about a minute it just brings up a blank screen, and when I check the files online, nothing has been uploaded.

Then I tried to (slowly) ftp the files, but then when I run .../sites/all/modules/civicrm/install/index.php I get an error message along the lines of:

Warning: CRM_Core_ClassLoader::require_once(./vendor/autoload.php) [crm-core-classloader.require-once]: failed to open stream: No such file or directory in /var/sites/t//public_html/sites/all/modules/civicrm/CRM/Core/ClassLoader.php on line 107

Fatal error: CRM_Core_ClassLoader::require_once() [function.require]: Failed opening required './vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/sites/t//public_html/sites/all/modules/civicrm/CRM/Core/ClassLoader.php on line 107

I'm not sure what I'm missing - is it because I'm installing on a subdomain? Can I get around this?

I think I may have found the cause? I've just noticed under the Drupal modules list a message to say the PHP version is insufficient (see screenshot). I presume this would hinder the install.


How Do IModify Report Criteria? I am trying to customize a report (Contribute/Summary) to compute LAST YEAR "to date" totals (so I can compare them with how we are doing so far this year).  I have created the new template/php files but am at a loss where to "subtract the one year" from the "current year-to-date field" before the query is done.  Any pointers would be greatly appreciated.  Thanks!

You may want to first check out the Advanced Fundraising Reports extension before you go too far down that road - I think it has the option you want.

Second - I've been working on user-configurable date filters - I'm hoping to get them into the next version of Civi, so you don't have to modify code to get a new filter.

Third - since you need this now and not later - you'll want to override one or both of these core files:
CRM/Core/Form/Date.php
CRM/Utils/Date.php (function relativeToAbsolute).


Can nomination be part of the workflow for CiviCase? Historically, I've used CiviCRM for events and member management. I've never used CiviCase, but I think this situation probably calls for CiviCase. Any insight will be helpful.

In short, the client has asked for a form which allows a contact to nominate another individual to received funds from the organization relief fund. I want to record both the contact submitting the form and the eventual recipient and then the actions that client performs within their own workflow. I don't have that yet, because I was just handed a paper form to add to the system.

Am I in the right ballpark, to use CiviCase instead of just posting a profile form to go to the association? Will CiviCase allow me to track the submitter and the recipient more easily? Any insight is much appreciated.

I'm not sure you need CiviCase but it sounds like it could fit. You might also want to take a look at CiviGrant. For the form you might want to also look at https://civicrm.org/extensions/webform-civicrm-integration, especially if you're using cases since then it can generate a case from the form.

If not using cases, regular activities have both a submitter and "with contact" field to track submitter and recipient, or if you want to keep those fields for other purposes they can have custom contact reference fields.

The answer might also depend on what kind of reporting you need. For example cases might make it easier to count groups of related activities as one, e.g. if the same person gets nominated for funds again the next year.


Dialing Contribution Aggregate by Relationship back a few year TL;DR: I want Contribution Aggregate by Relationship to show more years in the past.

I'm using the report "Contribution Aggregate by Relationship" to produce a report with columns for giving by year. However, it doesn't go back as many years as I'd like. I found how to control how many years it goes forward ("custom" date class in Settings - Date Preferences), but the same date class doesn't affect how far it goes back (three previous years then a catch-all for years before that). Is there something else that controls this? I need it to go back about 10 years or so.

Answering my own question:

My fix was to edit a file in "all", which isn't ideal since it'll get overwritten when updating CiviCRM, but I can always re-apply it.

Edit file: sites/all/modules/civicrm/CRM/Report/Form/Contribute/History.php

Change Line 61 from $yearsInPast = 4; to $yearsInPast = 20;


How to set multiple conditional rule on webform registration? I am trying to setup an event page on webform with 4 Radio button labeled How many people would like to register - 1, 2 , 3, 4 and 4 contacts field set contact1, contact2, contact3, contact4

What I am trying to achieve, if I select

Radio 1 - Contact1 field set would show
Radio 2 - Contact1 & Contact2 would Show
Radio 3 - Contact1, 2 & 3 show
Radio 4 - all field set should show.

I am just cant get it to work and keep getting this error and cant go past enabling 2 people.

    Conditional errors on page 1:
More than one conditional hides or shows component "Contact2".
More than one conditional hides or shows component "Contact3".

Would anyone know how to achieve this? Thanks

You are probably pretty close. May just need to reverse your logic. You haven't provided screenshot of your Conditionals. On a site we have this I see this in Conditionals

and

etc


How do I add Financial Type I am setting up a new Price Field for a Webform I am creating and none of the Finincial Types in the drop down menu suit the Contribution so I need to create a new Financial Type. I cannot work out how to do it.

To create a new financial type navigate to Administer > CiviContribute > Financial Types, and click on Add Financial Type.

See the manual for more details: Key concepts and configuration


404 Error During Install (Wordpress) I m attempting to install CiviCRM 4.7 in Wordpress.  I have all green bars, and have verified multiple times that the database password and user are correct.  When I click the "Check Requirements and Install CiviCRM" button, the request processes for about two minutes then returns a 404 error.

I've reached the limits of my knowledge regarding solutions and would appreciate any help you can give.  I'm able to poke around under the hood, with clear instructions and step-by-steps, but don't have any specific knowledge/training.

Thanks.

I've  been getting this issue too. The only thing I did that got it installed was removing the forced https. The installation finished on a new WordPress install without the ssl cert. Only after installing Civi could I use encryption.

Not sure if it's  directly related but that's  all I can conclude thus far.


What's the best strategy for upgrading CiviCRM? I use CiviCRM 4.5.8 with WordPress. I'd kinda like to try a newer version, but I don't want to mess up the production website. I used the WP plugin Duplicator to create a test site. I changed the civicrm.settings.php file and now I can maintain the CiviCRM database from either website. Then I tried to use phpMyAdmin to export the civicrm database with a new name. Then I used the DreamHost panel to create a database with that name. The phpMyAdmin import failed with a foreign key check error, so I turned that check off and started over with a new database name. I did the export, create database and import and now I get error "#1050 table civicrm_acl already exists". It's a fresh database, so that doesn't make sense. The database is 44M, so I suspect I'm having some sort of timeout/retry problem? I found Moving an Existing Installation to a New Server or Location, but the copying database part of it confuses me. 7.b. Substitute mysql_username, cms_db_name and dump_file_name_of_your_choice with appropriate values. My SQL experience was last century!

Another strategy, would be a fresh install of a newer version (what recent version would you recommend?). Then I'd have to export the data from 4.5.8 and import it into the new database. We just use the contact database and CiviMail. But wouldn't I lose all the groups, tags, notes, relationships, etc?

The third strategy would be to upgrade the test site and if it works well, I could use either use Duplicator to copy the test site to the production site or upgrade the production to the new version of CiviCRM. So many choices and none of them easy. Maybe I should just stick with good 'ol 4.5.8?? Thanks for any advice!!

Let me at least narrow some options for you:

The last idea of "sticking with 4.5.8." is not the way to go.  The Long-Term Support (LTS) version currently is 4.6 (and for the foreseeable future as of writing, see this question about the LTS jump from 4.4 to 4.6).  You will want to upgrade to at least that at some point (sooner rather than later since there are no more security updates for 4.5).  See this question for more about LTS.

If you want to try the latest and greatest, 4.7 is the one to use.  4.6 is the more stable route.


Geocoder error in log but no geocoder configured or wanted CiviCRM 4.7.31
WordPress 5.2.2

I get this error in the log file but don't have any geocoding provider selected (nor wanted) in Settings -> Mapping and Geocoding Providers.  I think this is happening when new contacts are entered.  It does not stop the contact from being entered successfully.

Any ideas what to change to stop this error (short of adding a geocoding provider, do not want that).

Message:
Aug 28 10:03:44  [error] Configured geocoder is invalid, must provide a format method
Array
(
    [geocode_class] =>
)

You probably had it set to yahoo at some point, and then when yahoo was removed somehow the setting didn't get blanked out, so it's looking for the yahoo code files but they aren't there anymore. Did you try just re-saving the page at Mapping and Geocoding Providers with none selected? That should clear it.


returning from mollie payment my organisation has a site on which payed events are offered. Visitors can pay via an IDEAL mollie payment with use of a custom build module.
We want to replace that module by making use of the civicrm mollie interpay module.

Up to now, we have been unsuccessful in  testing this module. The test payments don't work at all, while production payments do work, but not yet in a way that we can use it in our site.

I hope you can guide me in making the production payments work.

The site is a wordpress based site. We use civicrm 5.18.3. For payment we use the interpay (mollie) method.

When a payment is done with mollie, the payment is registered and visible in the event dashboard. So the most important part works. But the user who has finished the payment (and clicks the 'back to webshop' button) gets a blank screen.
The URL of that blank screen ends with wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fpayment%2Fipn%2F86%2F8

We find it not acceptable to incorporate this on our site in this form. Can you help me by advising me what to do to present the user a confirmation screen?

thanks for helping, Ruud

The issue was resolved after upgrading to civicrm 5.28 and omnimpay multiprocessor 3.13


Failed to locate Mosaico graphics driver I'm using Drupal 7 and CiviCRM version 5.13.4 and I'm having a problem with using Mosaico.

When I try to create new templates, I'm unable to add new images to them. I can't drag and drop any images or add them using the little upload icon.

When I try to do so, I get a 500 Error in the console.

 GET https://site.com/civicrm/mosaico/img?method=placeholder&params=300%2C200 500 (Internal Server Error)

I also get this error in the top right of the screen:

Failed to locate Mosaico graphics driver. Either "mosaico_graphics" is invalid or the autodetection failed.

I attempted a google on that error but it appears it's never been reported before which isn't very helpful to me.

Below is a screenshot on how the templates look to me if it's of any use:

Happy to answer any follow up questions! Thanks in advance.

I've just had a seemingly identical problem on upgrade to 5.13.5 (ImageMagick reported as missing when present & up to date).

Disabling Mosaico/Fleximailer/Shoreditch & then re-enabling them seemed to resolve the issue.


What's the best way to assign a case role via the API? When you assign a case role through the UI it creates lines in the relationships and activities tables. I can't find an equivalent through the API - I can create the relationship (which then shows correctly in the case UI), but it doesn't create any activity lines. Does that matter? Or is there a better way?

Edit: Running on Civi 4.5.8 on WordPress.

Cheers,

Andrew

Looking through the api code for relationships it doesn't appear to be case-aware. You can duplicate what happens in the UI by checking out CRM_Contact_Page_Ajax::relationship(), and note near the bottom where it calls CRM_Case_BAO_Case::createCaseRoleActivity().

Depending on what you mean by "api", that might not be exactly what you're looking for, but you should just be able to add a call to CRM_Case_BAO_Case::createCaseRoleActivity() to the code you've written that already creates the relationship.


Wordpress newbie: Not show author, date at top and garbage at bottom of Civi registration profile First-timer using Wordpress with Civi (and new to WordPress):
We have set up online event registration for a Civi event that is integrated with a (empty, dummy) WordPress site. The registration shows the author and date at the top (minor), and then below the registration profile it shows a bunch of junk at the bottom- a search bar, recent posts, RSS feed, etc. (unacceptable).

How can I have it JUST SHOW the profile questions on the event registration page?

Thanks!

That's a wp issue, will be standard on all pages unless you remove it from your theme settings on wp.
This has nothing to do with civicrm.


How to add relationship at the time of new user creation in drupal? I want to add relationship (civicrm) at the time of creation of new user using drupal user. (individual -> Household).

You could create a Drupal rule to achieve this provided you have that functionality turned on.

Could use the 'Civicrm contact has been created' event.

Checkout the Drupal 7 rules module: https://www.drupal.org/project/rules
Civicrm comes with Civicrm rule intergration module which you can enabled (although you may not need to enable this).


Upgrading to ver 4.7.4 I am upgrading from CiviCRM ver 4.7.3 on WordPress 4.4.2. I am very new to CiviCRM. What are the exact instructions to upgrade with these versions? Have looked at this: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress but it seems to be extremely complicated for a minor version upgrade?

I am hoping that the newer version will make my site faster and more responsive. It's crawling right now after having installed 4.7.3.

As you have already installed civicrm you should be looking at https://wiki.civicrm.org/confluence/display/CRMDOC/Upgrading+CiviCRM+for+WordPress not the installation instructions.


Change password profile I'm running CiviCRM under Wordpress.

I want to create a donor area, where they can change their information.
But I can't find way to let them change their password.

Why is not possible to add a "password" field in profiles?

CiviCRM does not maintain logins or credentials.  It instead opts to let the CMS (WordPress in your case) to manage it all.  CiviCRM can maintain the link between a user account on the CMS with a contact in CiviCRM though.

As Andrew West points out, you need to manage the password via WordPress.


Using Paypal with Authorize.net? Authorize.net boosts this
http://www.authorize.net/solutions/merchantsolutions/merchantservices/paypal/

How would I configure CiviCRM to use the Auth.net payment processor for processing Paypal transactions ?

I had recently looked into this for our website, so I think I can answer this question.

First, it is important to understand what this is.  It is not accepting PayPal through Authorize.net, which is what it sounds like.

What happens is you setup a PayPal account for your organization, and then you link it to your Authorize.net account.  That linking though is only for a record of transactions.  The funds collected through PayPal never make it to your Authorize.net account.  So you are left with money in your PayPal account that you still need to manage.

The only thing this is good for is consolidating records, as all of your PayPal transactions will be recorded in your Authorize.net account along with your Authorize.net transactions.

For us, that was not worth it.  If that is a benefit for you folks this sort of setup could work well.

Let me know if you have any more questions, or if you need me to clarify anything for you.


Retrofitting languages into English-based Install I've been trying to work with CiviCRM 4.7 on Wordpress 4.7 in Bahasa Indonesia, and have been struggling a bit. I came across this post: localization on wordpress, which was somewhat helpful.

My quandary is this: I (like a lot of folks it seems) installed CiviCRM in English, and later went back to make it a multi-lingual site, and added the l10n and sql files for local languages. After doing some research, it seems as though the consensus is to install it in the local language from the get-go. However, now that I've already installed in English, and want to add a language, what is the best way forward?

I understand that one reason behind starting localization from the install is that the sql files help to populate option groups, message templates, etc. when CiviCRM is freshly installed. Is there some way, short of a total reinstall to essentially do a "refresh" so that these settings can be copied into the database?

To change it to the local language you do not need to make it a multi-lingual site as far as CiviCRM is concerned? I assume you mean that you installed the language pack. If you then want to change the language of your CiviCRM install you go to Administer/Localization/Languages,Currencies,Locations and change the language to what you want it to be. Unless I have completely misunderstood your question, but then you might want to expand a little on what you want exactly :-)


Translating salutations like "Mr." to Dutch We are using civi 4.7.16 on Joomla with a Dutch translation; not all terms are translated.

Our problem is that we cannot change the beginning of a message: "Mr." to the dutch version "Beste {contact.first_name}" of some of our contacts.
Civi says: "sorry, we can not do that..." connection refused.

1st problem solved by typing 1957 contacts, pffff...
2nd connection problem solved by disabling geocoding


CiviCASE - edit / report on 'Detail'? When creating a case, one of the fields is 'Detail'. It's a very useful description area for the case. However, can anyone point me to where it is then displayed or is editable? I can't find it on any reports or any screens. Could of course be an operator head-space error on my part.
Many thanks.

It's in the Open Case activity that gets created on the case. When you create a case it's the same as creating the Open Case activity.


CKEditor does not display when editing event I just upgraded to civicrm 5.12.0 and the ckeditor is not available when editing an event. It is there when entering a new event. I think we had this problem with the previous version as well.

My solution to my own earlier question: WYSIWYG editor not present with WordPress may provide an answer. If this was the cause of your previous problem it would have reverted on an upgrade.

Is CKEditor missing in all circumstances (eg sending an email)?


CiviDiscount for Membership I created a discount for a specific membership level, but a discount field is not showing up on the membership page.  CiviDiscount is enabled and has worked in the past with event registration.  When creating the new discount, I specified the membership type (annual) in the 'Discounts for Memberships' box. Do I have to specify a price set? If so, how do I do that? Nothing I type is accepted.

If CiviDiscount is enabled, you should see the discount box at the top of the membership page even if you don't have any discounts configured.  The position isn't great and can be missed if someone is expecting to see it near the amount.

You don't need to use price sets.

If you're quick, you can see an example at https://dmaster.demo.civicrm.org/civicrm/cividiscount but it is regularly reset.

I noticed though that the discount is not being applied correctly, so I have created a ticket for that.


How to show Users their Membership status so that even users without a membership status get to see the block We have a client we would like to show the current logged in users membership status in a Drupal View alongside other contact fields. As the user may not have a membership yet at all then this can't be a CiviMember based View.

Instead we wanted to use a Smart Group in CiviCRM based on the membership status. Then in a standard CiviContact based View show details about the logged in user including the status of the smart group. But it looks like smart group data isn't available to Views. I found a few old posts about this, does anyone know if this is still the case?

Olly

I believe you can connect your civiContact view to the membership fields without using that smart group.

I have had success (in views 3) in the past with a civiContact based view using a relationship civiCRM Contacts: Drupal ID and a contextual filter User: UID that is configured to provide a default value from the logged in user when none is available.

Then you can put in civiCRM member status field with a relationship to the logged in Drupal user with your other contact fields and filters and configure the no results behavior from there.


Can Drupal Views filter contacts based on Smart Groups Taking the liberty of creating this new ticket since the previously similarly titled (since retitled by me) post was not really addressing the issue.

Laryn is correct when he said on the above post that

  From what I can tell, this stale issue in JIRA is as far as it went towards integrating Civi Smart Groups into Views.

A lot of the discussion occurred in this forum post.

I am hoping a current project will help/force us to get back to this. But at this point the question is has anyone else either worked on this, or need this and could help fund us to deliver it.

There is a module in development here https://github.com/fuzionnz/civicrm_views_smartgroup

It comes in two flavours (as separate branches) — a simple and complex variety — that differ only in their implementation. For small databases, the simple version is recommended and is more robust. The complex version speeds up Views and is required for large databases with lots of group contacts, but pays a penalty in being less robust. Unfortunately, mysql's lack of materialised views makes this necessary.


How do I hook into a contribution thank you page? Big picture: I want to display some custom data on a thank you page for a specific contribution page.   In my module I'm using hook_civicrm_preProcess.   Like so:

   function custom_thankyou_civicrm_preProcess($formName, &$form) {

if ($formName == "CRM_Contribute_Form_ContributionPage_ThankYou" && ($form->getVar('_id') == 5)) {

// do stuff, like send my custom data to a smarty template.

} }

But here's the problem, my customized message doesn't show up on the thank you page for that contribution.  It does however show up on the configuration screen for "Thank-you and Receipting" in the civi interface.

I guess it's not too surprising since the url for the config page is:

mycivicrmhost/index.php?q=civicrm/admin/contribute/thankyou&reset=1&action=update&id=5

and the url for the thank you page ends up being one like this:

mycivicrmhost/index.php?q=civicrm/contribute/transact&_qf_ThankYou_display=1&qfKey=3ee9c31da51b3af9dbe8c8efa5765520_1396

Is it possible to do this or should I set up an "external" thank you page instead?

Thank you

I would think that using a custom template would work, there is a thank you page template. If it is only one contribution page you're looking to add, some quick logic based on contribution page id would work. You can also try some custom behaviors with jQuery: https://civicrm.org/blogs/dave-greenberg/now-its-easier-add-custom-behaviors-templates


Choosing a VPS solution for CiviCRM I'm consistently maxing out my "MySQL Time" on my shared hosting provider (rhymes with MiviMosting), causing both my host and users to get upset. I'm pretty much tripling what I'm allowed to have on the shared setup.

So now I'm looking for a VPS solution but am not sure what specs are ideal for running CiviCRM (the Drupal side goes nearly unused). Currently, I have 1GB disk space, 200MB RAM, and 20GB transfer. I'm well below the limits on disk space and bandwidth so my assumption is that it's the RAM that's holding me back. Are there other important considerations? Recommended hosts?

Most recent installs I have done of CiviCRM seem to behave best with 2gig minimum of memory.  1.5gig should work as a minimum, but memory is cheap so go with 2gig.

We typically use eApps for most of our clients. They have a nice interface to easily adjust your resources up and down as you need: memory, cpu, disk space. Being able to easily raise and lower these resources (and just pay for the days used) is really nice, for those times you are importing or exporting or doing some other resource intensive tasks. They also have a relatively great support desk.


CiviContribute giving errors Couple issue I wanted to gets some input on.  First, has anyone ever seen this error message: LESS error: .black is undefined: failed at .black !important; sites/all/themes/shriver/style.less on line 1091, sites/all/themes/shriver/style.less

I'm thinking a file is missing.

Second question: The monthly contribution check box is all the way in the top left corner of the page instead of next to the text.

Any fixes??????

This seems to be a theming issue that is not necessarily specific to civicrm. can you try a different theme. also update your Question to include your CMS.


Getting a DB Error: unknown error when entering and saving phone number I see that there's a few threads out there around this topic. I've just installed a brand new instance of WordPress 4.4 with CiviCRM 4.6.10. I've got three other installs of CiviCRM with Drupal on this same host, so, I can't imagine that it's a problem with the host.

Here's a portion of the log:

Dec 14 21:53:32  [info] $Fatal Error Details = Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

[code] => -1
[message] => DB Error: unknown error
[mode] => 16
[debug_info] => SHOW function status WHERE db = database() AND name = 'civicrm_strip_non_numeric' [nativecode=1548 ** Cannot load from mysql.proc. The table is probably corrupted]
[type] => DB_Error
[user_info] => SHOW function status WHERE db = database() AND name = 'civicrm_strip_non_numeric' [nativecode=1548 ** Cannot load from mysql.proc. The table is probably corrupted]
[to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="SHOW function status WHERE db = database() AND name = 'civicrm_strip_non_numeric' [nativecode=1548 ** Cannot load from mysql.proc. The table is probably corrupted]"]

)

Database is 5.5.47-MariaDB. The user account has "ALL PRIVILEGES".

Any thoughts? Any help is greatly appreciated!

There is a mysql function that is called to save a normalized phone number (stripping spaces and so on). You seem to have a problem as mysql can't load this function

Cannot load from mysql.proc. The table is probably corrupted

This might be several issues and potentially indicating bigger issues, database corruption should be handled seriously.

The indicated fix might work:

mysql_upgrade

Backup the database first. if it doesn't solve the problem, restore it on a different server (or on your laptop) and check if you can get a working civicrm there.


seeking information on CiviCRM 4.1 version of "CRM/Core/BAO/PaymentProcessor.php" file The Vanco Payment Processor module uses a core file (CRM/Core/BAO/PaymentProcessor.php) in CiviCRM 4.1 that I'm unable to find in CiviCRM 4.4.  Does anyone have knowledge of the file and might know if it has been renamed or moved within the file structure?

This was removed before CiviCRM moved to git, so I browsed the old Subversion repo.  I can see that revision 44887 removed it.  It's present if you click the first link but not the second:
http://svn.civicrm.org/civicrm/!svn/bc/44886/trunk/CRM/Core/BAO/
http://svn.civicrm.org/civicrm/!svn/bc/44887/trunk/CRM/Core/BAO/

I then attempted to view the SVN log, and then to check out the SVN repo:
svn log -v http://svn.civicrm.org/civicrm
svn checkout http://svn.civicrm.org/civicrm/trunk civicrm

Both failed with a 503 error, I suspect this is to blame:
https://community.bitnami.com/t/varnish-throwing-503-on-svn-requests/25828

So I Googled "civicrm r44887" and found an IRC log:

[08:54] <civi-bot> r44887 by yashodha: CRM-11334 -- https://fisheye2.atlassian.com/changelog/CiviCRM?cs=44887

So there are your answers!  Check that atlassian.com link and CRM-11334, you'll find what you're looking for.


Is there a best practice or recipe for migrating a two database CiviCRM installation into one database? I am replicating a Drupal 7 CiviCRM installation into a Pantheon CiviCRM Kickstart site. I have gone through the tedious effort of moving the Drupal content and settings from a default Drupal profile into the CiviCRM Kickstart profile and I have a happy, empty installation of CiviCRM living beside my Drupal site but now I need to move my CiviCRM data into the consolidated database.

I have tried unsuccessfully to export the database with SET FOREIGN_KEY_CHECKS=0; and without the cache and domain tables but on my import I am receiving a  "Cannot add foreign key constraint" error.

Has anyone come up with a cookbook for making this migration?

Thanks.

I managed to resolve this dilemma.

The goal was to move a 2 database Drupal/CiviCRM website into the CiviCRM Starterkit platform which requires that Drupal and CiviCRM use a single database. I was not able to import my database dump into the existing Drupal website because although I had set foreign_key check to zero, I was receiving a "Cannot add foreign key constraint" error.

My solution was as follows:

Download a dump of the CiviCRM database with ignore foreign keys, drop tables, triggers etc.
The dump does not include tables for: civicrm_acl_cache, civicrm_acl_contact_cache, civicrm_cache, civicrm_domain, civicrm_group_contact_cache
Remove the drop tables statements before importing. Leave in: IF NOT EXISTS create table.
It was important to Truncate tables before each table's data insert statement.
When I ran the import shell command the import would stop because the Log Tables didn't exit. They are in the Dump but they were not being created so I ran all of the IF NOT EXISTS create table commands before running the import command.

Once I had accomplished the above 5 items, I was able to run the import and populate the tables. All is well.

I hope this helps anyone else who runs into this challenge.


How do I create a token that automatically gets urls convert to trackable links? This is kind of the opposite of Integrating CiviMail tracked links with Google Analytics

In other words, I'm generating html for civimail using tokens, and the html includes links, but those links are not getting converted into trackable links. I think there's probably some code I could include in my hook_civicrm_tokenValues function to convert my embedded urls into trackable links, just like the Civi core code does. Or maybe I have to tell Civi that it's okay to do this using some settings?

The BAO responsible for trackable URLs is CRM_Mailing_BAO_TrackableURL link here.

Because the MailingJob is available in hook_civicrm_tokenValues you could do something like this:

// job details to get mailing_id
$job_id = civicrm_api3('MailingJob', 'getsingle', array(
        'id' => $job,
));
// get event_queue_id
$queue_id = civicrm_api3('MailingEventQueue', 'getsingle', array(
        'job_id' => $job,
        'contact_id' => $cid,
));

$url = 'https://example.com';
$trackableUrl = CRM_Mailing_BAO_TrackableURL::getTrackerURL($url, $job_id['mailing_id'], $queue_id['id']);

RE: "wyswyig button that pulled in auto-generated content"
HTML Buttons plugin for CKEditor does what you describe, I have a couple of dropdowns with buttons that insert complex HTML snippets, is what I use for composing newsletters.


After update CiviCRM IATS Extension to 1.7.4, Card on file and Expiry Date fields are not showing When we create a new iATS recurring donation, we can edit the payment information, but the old iATS recurring donations cannot be updated. I have checked in extension code getting the customer code by payment_token_id. But payment_token_id  is missing in ContributionRecur API response. Only issue is in old (before update extension) iATS recurring donations.

I have upgraded the extension 1.6.2 to 1.7.4. During upgraded extension upgrade function were not ruined upgrade_1_7_002 and upgrade_1_7_003. After manually run the SQL Queries issue is resolved.


Getting CiviCRM Security Upgrade Needed warning after upgrade to 5.23.3 Upgraded to 5.23.3 and now get warning that CiviCRM Security Upgrade Needed

The list of upgrades only shows

CiviCRM 5.9 has reached its end of life. Security updates are not provided anymore.
Please upgrade to the latest stable release (5.23) or an extended security release (5.21).

Release history

5.10.0 was released on 2019-02-06. The latest patch revision is 5.10.4 (2019-02-22).
5.11.0 was released on 2019-03-06.
5.12.0 was released on 2019-04-04. The latest patch revision is 5.12.4 (2019-04-25).
5.13.0 was released on 2019-05-01. The latest patch revision is 5.13.8 (2019-12-04).
5.14.0 was released on 2019-06-05. The latest patch revision is 5.14.2 (2019-06-29).
5.15.0 was released on 2019-07-03. The latest patch revision is 5.15.2 (2019-07-31).
5.16.0 was released on 2019-08-07. The latest patch revision is 5.16.4 (2019-09-03).
5.17.0 was released on 2019-09-04. The latest patch revision is 5.17.5 (2019-09-26).
5.18.0 was released on 2019-10-04. The latest patch revision is 5.18.4 (2019-10-22).
5.19.0 was released on 2019-11-06. The latest patch revision is 5.19.4 (2019-12-04).
5.20.0 was released on 2019-12-04. The latest patch revision is 5.20.3 (2019-12-28).
5.21.0 was released on 2020-01-01. The latest patch revision is 5.21.2 (2020-01-23). 5.21.x is an Extended Security Release.
5.22.0 was released on 2020-02-05. The latest patch revision is 5.22.1 (2020-02-18).
5.23.0 was released on 2020-03-04. The latest patch revision is 5.23.2 (2020-03-13).

Any suggestions?

Try clearing CiviCRM cache, if you still get same issue than try doing whats mentioned in  System Status reports incorrect version number after update stall post


How to see "How often do people log in"? Is there a way to see in civicrm that How often do people log in or to list the users who logged at least once in last 2 months? I have look advanced search but I couldnt find any criteria for this?

Note: I am using CiviCRM 4.7.12

Drupal Views - CiviCRM integration will let you combine Drupal data (e.g. Username, Role, Last Login) - with CiviCRM data (e.g. Source of Contact). I've trimmed the screenshots to strip out CiviCRM Sort Name, and Email address for privacy reasons.

To figure out who has logged in in the last 2 months - would then simply be a Filter on User: Last Login; If you'd like to filter by Group -> you can do that here too;

If you don't already use Views -> in CiviCRM Core -> Administer -> System Settings -> CMS Database Integration;


A couple of typo mistakes Sorry if this is not the right place for this signalization:

I found a mistake on civicrm_state_province table regarding Potugal and Coimbra state/province, typed as "Colmbra".
The other group of typo mistake id that of all Poland state/provionce, typed in lower case.
Best regards,
Pino Vasarelli
pino@vasarelli.it

Pino, thanks for reporting this I have submitted a PR to fix above typo

For Potugal and Coimbra state/province

For Poland state/provionce, typed in lower case

Would you mind doing some test or adding some thoughts on appropriate PR to speedup the merge process?


When editing participants, can I avoid having all questions from all current events displayed? My site frequently has multiple CiviEvent-based registrations running. It is common for some questions to overlap (First Name, Last Name, Company) and for some questions to be unique to each registration (Do you want to attend session X?). As well, some of the unique questions require an answer.

When I go to edit a participant's details via "Find Participant" or "Advanced Search" I am presented with all of the currently enabled fields for all of the current registrations and the system compels me to answer all of the required fields from all of them.

Some of my events use Profiles that contain custom fields from more than one record type (Contact, Individual, Participant). This seems to be an impediment to using that Profile as an option when using the "Batch Update Participants Via Profile" action.

Is there a way for me to view and edit just the questions/responses in the fields related to one of my events?

You should be able to limit the custom participant data to a specific event or event type and then it shouldn't show up in the back end for events you didn't mean it to.

This is done on the custom data itself (under "used for") rather than in the profile. Also to note, you usually only want to 'require' data inside the profile not inside the custom data set.


How to Export full back up of entire database I would like to export a full copy of the database contact details - all the details not just the primary.
Short of selecting each individual field, how to I collect "all records' report?

Exports and backups serve different purposes: 'export' refers to an extract of data to use in another system, 'backup' refers to recovery in the event of system failure, recovery from bad user actions (eg unintended deletes), creating a second copy of the site etc.

If you want a backup, then take a dump of the mysql database with mysqldump or an equivalent provided by your hosting environment.  That will include 'all the details' including all activities, events, contributions, memberships etc relating to each contact.

If you want to export data into eg a spreadsheet, then there are a few options:

I think you were referring to the Export Contacts action from contact search results.  If you don't want its selection of primary fields then unfortunately you need to specify each one.
You could look at using a report (eg Constituent Report (Summary)) that allows you to export as CSV (in the Actions dropdown).
If the reports don't provide what you need and you are on Drupal, then you could create a View and use eg Views Data Export to create your own CSV.
If you have command line access you could also look at, and maybe customize, the script at <civiroot>/bin/csv/export.php


WordPress / CiviCRM permission? The is a screen for an individual contact to update their own information. We use Profiles and just added it to the WordPress page via shortcut.

As you can see in attached screenshot, some pieces of information available in the database are displayed in form fields to be edited but other are only for viewing. We however also would like the member to update their own addresses as well.

We are aware that this contact has 'use other contact's address' enabled, so it's pulling it from it's household address.
This contact has permission to edit the Household's address. Is there a way to have that address made editable in this profile?

Is that possible?
How can this be accomplished? Any ideas would be greatly appreciated.

CiviCRM 4.6.6 / WordPress 4.2.4

Birgit

I had not seen this before, but on testing ( CiviCRM 4.6.6 and WP 4.2.4 using an admin with full permissions) I get the same behavior you do.   In the back end (or in Drupal) we can click on a link to the Address record and if we have permission to edit, we can.

When you insert the shortcode in the page, you are editing the current user's profile/contact info.   In the profile form there is no way that I can see to edit the 'master address'.

I took a look at using the Contact Dashboard as we've used this for a similar purpose between Orgs and Contacts, but the relationship that is created when sharing the address does not show here.

It does look to me like this is a limitation of editing the contact on the front end via shortcode as opposed to editing in the admin.


CiviMail report showing bulk emails have sent when they haven't On two Civi 5.35.1 & Joomla sites, I've got the same issue of bulk emails not being sent, but the CiviMail report stating every email has been sent (0 bounces or replies). The 0 bounces bit of the Mail report is what alerted us to something being wrong. Other Civi emails are working fine. On checking, another Civi 5.35.1 & Joomla site using a different host and DNS provider also worked fine for bulk email.
Eventually by looking at the server's mail delivery logs I realised that the emails had never sent, with an error that looks like
587 I=[185.181.117.20]:48996 X=TLS1.2:AES128-GCM-SHA256:128 CV=yes DN="/CN=*.filteredmx.net": SMTP error from remote mail server after MAIL FROM:<b.1231.77517.036450515a4f21ca@qwerty.org> SIZE=3092: 550-Verification failed for <b.1231.77517.036450515a4f21ca@qwerty.org>\n550-Called: 185.181.117.37\n550-Sent: RCPT TO:<b.1231.77517.036450515a4f21ca@qwerty.org>\n550-Response: 550 No Such User Here"\n550 Invalid sender <b.1231.77517.036450515a4f21ca@qwerty.org> DT=2.353s

With help from here - Mosaico mailings not sending - I saw this means bounce processsing had stopped working.
I tried with a different email account from an external domain (ie another email address I have) - and it all worked again. So it seems there's two issues here:

a Civi error notice issue, because Civi appears to be telling the user mails have been sent when they haven't. It took quite a bit of digging (e.g. turning on MailLog in civicrm.settings.php - gave no insight) before I eventually checked the 'Email Deliverability' screen in Cpanel where I found these errors.

and the 'something has changed in the last few weeks' issue - that might have nothing to do with Civi 5.35.x and be more about Cloudflare or Cpanel or our webhosts. What's especially odd is both sites will let me use an external Dreamhost-hosted email for bounce processing, but each of them if I use a correctly setup email account for the same domain the site is hosted at don't work - even tho one is using Gsuite for mail processing and one is using Cpanel.

None of this is urgent any more as we've got CiviMail working again - but still not sure what the wider issue might be (perhaps nothing to do with Civi at all), and thought it useful to track this here because it happened to me on two sites so maybe happens to someone else.

Glad you got it working back.
smtp protocol is made to be very resilient, but it means as well it's really hard to know for sure when/what is going wrong.
I'm not sure I understood the details of your configuration, but a somewhat common problem is when you have a local satellite mail server (that will always tell civi the mails are sent as it accepts them) and that isn't able to send it forward for whatever reason... and report that issue in a mailbox that isn't properly read by civi (for another problem).
So from civi point of view, it's all working fine, and in that specific case, it's very difficult to identify there is a problem (or two, as one hides the other), unless you add human brains that is able to identify that it shouldn't have zero bounces and investigate further.
Beside recommending to validate the bounce process and checks that it works on a regular basis, not quite sure how civi can do better on its own.


Links corrupt on send I use our CiviCRM database to send out mailings to members.
The mailings contain links to articles on our website.
It has worked well for years but now when I press 'Send' the links in the email corrupt and reference a CiviCRM link instead of the website link so recipients can't access it. For a while I didn't notice because of course when I click the link myself in the copy I receive, it opens, and CiviCRM doesn't give an alert or warning.

Any idea what's happening and how I can fix it? (Remember I'm not an expert!)

When you create a mailing with CiviMail, there's an option:

  Track Click Throughs

  Track the number of times recipients click each link in this mailing.

  NOTE: When this feature is enabled, all links in the message body will
  be automatically re-written to route through your CiviCRM server prior
  to redirecting to the target page.

Perhaps you have enabled this option? This wouldn't normally prevent the links from working, however.

Are the links in the email something like, http://mysite.com/sites/all/modules/civicrm/extern/url.php?u=123&qid=12345 ? If so, that is normal when tracking click throughs is enabled.

What happens when a user clicks on one of the links?

Which CiviCRM version and CMS (Drupal, Wordpress or Joomla) are you using?


Event registration allows free registrations (but shouldn't) We have 2 price levels for our events: adult and child but cannot make either of them required as it is possible in our case to register either a child, or an adult. We use the numeric/quantity fields. Some people hit "register" without filling in anything and get through to the confirmation screen. In the back-end the registration shows up with a "registered" status and "attendee" role and payment amount "$0". How can this be prevented?

Joomla 3.4.8
CiviCRM 4.6.10

http://www.nywolf.org/?option=com_civicrm&task=civicrm/event/info&reset=1&id=350

I'm not allowed to post more than 1 image so here's the back-end:

A way to do this would be the following:

Enable in the Event Configuration the option "Register multiple participants?"
Use in the priceset a radio button for child/adult. You can make it required and add a different price for each.

You will have the option to set a different "Profile for Additional Participants", so you can collect different data for the person entering the form compared to the other participants.

That way you know who will attend the course and know per registrant whether it is a child or parent.


Accessing selectedMail in a new controller I've created a new angular controller

angular.module('crmMailing').controller('crmMailingRecurScheduleCtrl', function($scope, $filter) {

I'd like to have access to the selectedMail object that other controllers (the ones built with .factory('crmMailingSimpleDirective') so I can use the ID in an API call but I don't have the chops to work out how to go about doing getting access.

Adding selectedMail to the call back params didn't work.

Defining the callback as EditMailingCtrl didn't work either.

Help a noob out?!

Here is the code in case you are interested in more context.

selectedMail is a function on the route´s resolve property, I believe you cannot inject it into another controller because the controller is instantiated in the route, but you can access the resolve property anywhere injecting the $route service like this:

...
angular.module('crmMailing').controller('crmMailingRecurScheduleCtrl', function($scope, $filter, $route) {
  var mailing_id = $route.current.locals.selectedMail.id;
...

Alternatively the way your directives are defined, the scope value is default to true, therefore you should be able to access the parent scope like var mailing_id = $scope.mailing.id;, mailing is the object holding the mailing settings.


Why do some of my participants get sent a receipt when I update event details via a profile form I'm using CiviCRM V4.4.13 and Drupal 7.41.

I have created a profile for batch updating several custom fields and the status of participants on our events. However, some participants seem to get sent a receipt after saving the updates (around 5-10% of participants) as if we had gone into their participant record and selected send confirmation and receipt. Is this a bug or is this expected behavior because of X reason?

When you update the status of multiple participants using a profile, any participant whose status is changed from a non-counted status to a counted status or vice versa will be sent an email.

Go to Administer > CiviEvent > Particpant Statuses to check which statuses are counted and which aren't. (In this case "counted" means "included in count of total registrations for the event".)


Unknown extension after upgrading CiviCRM in Wordpress Updrading from CiviCRM 4.6.4 to latest (4.7) and using wordpress 4.4.5..

The upgrade process showed no errors, in fact it showed "Done" and began to redirect to a url that never loaded. I clicked on "Civicrm" on the left sidebar of wordpress and nothing. I went to the base url of the wp install and this message appears:

Sorry but we are not able to provide this at the moment.
Unknown extension: nz.co.fuzion.payflowlink
Return to home page.

Found this in /wp-content/plugins/files/civicrm/ConfigAndLog

Dec 16 10:59:28  [info]
$Fatal Error Details = array(3) {
  ["message"]=>
  string(43) "Unknown extension: nz.co.fuzion.payflowlink"
  ["code"]=>
  NULL
  ["exception"]=>
  object(CRM_Extension_Exception_MissingException)#978 (10) {
    ["errorData":"CRM_Core_Exception":private]=>
    array(1) {
      ["error_code"]=>
      int(0)
    }
    ["cause":protected]=>
    NULL
    ["_trace":"PEAR_Exception":private]=>
    NULL
    ["message":protected]=>
    string(43) "Unknown extension: nz.co.fuzion.payflowlink"
    ["string":"Exception":private]=>
    string(0) ""
    ["code":protected]=>
    int(0)
    ["file":protected]=>
    string(104) "/Users/me/Sites/donate_new/wp-content/plugins/civicrm/civicrm/CRM/Extension/Container/Collection.php"
    ["line":protected]=>
    int(150)
    ["trace":"Exception":private]=>
    array(30) {
      [0]=>
      array(6) {
        ["file"]=>
        string(104) "/Users/me/Sites/donate_new/wp-content/plugins/civicrm/civicrm/CRM/Extension/Container/Collection.php"
        ["line"]=>
        int(111)
        ["function"]=>
        string(12) "getContainer"
        ["class"]=>
        string(34) "CRM_Extension_Container_Collection"
        ["type"]=>
        string(2) "->"
        ["args"]=>
        array(1) {
          [0]=>
          string(24) "nz.co.fuzion.payflowlink"
        }
      }

Turn off contributed CiviCRM extensions, (such as PayFlow) before upgrading. Then turn them back on or reinstall them.

From the guide, "Because of the huge number and ever-changing nature of community contributed Wordpress plugins, CiviCRM cannot guarantee compatibility with contributed plugins. A list of know incompatibilities can be found at WordPress plugins/themes incompatible with CiviCRM."
Check the compatibility list.

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


Set group field of a contact as required I need that when saving contact validate the entry of the group field.
How can I do it?

You will need to write small extension and then implement hook_civicrm_validateForm to validate group field and then throw error. Example

/**
 * Implements hook_civicrm_validateForm().
 *
 * @param string $formName
 * @param array $fields
 * @param array $files
 * @param CRM_Core_Form $form
 * @param array $errors
 */
function xxxx_civicrm_validateForm($formName, &$fields, &$files, &$form, &$errors) {
  if ('CRM_Contact_Form_Contact' == $formName) {
    if (!empty($fields['group']) && !in_array(10, $fields['group'])) {
      $errors['group'] = ts('Group field contains invalid option.');
    }
  }
}

HTH

Pradeep


Why does the Contribution page amounts appear as a quanity? The way Contribution Information Page displays The Giving amounts when a contributor can donate any amount is confusing.  Please see the attachments for clarity.

It looks like you're using a price set with "Text / Numeric Quantity" price fields.  These are designed to give you the option to pay for multiple units of something.  For example, you might have a field "number of children to sponsor", where the price is $300.  Entering 2 will make the contribution total be $600.  People use this for events a lot when someone can buy multiple tickets--it can even increment the attendee total by the number entered.

Now, this type of field is often used as a workaround for the fact that CiviCRM doesn't offer open-ended or "other" amounts in a price set.  Implementors will set the price as $1.00, and the number entered is the number of dollars to donate.  It looks like this is what is happening on your site.

This works fairly well, but with two caveats.  First, you can't do cents: since this is a quantity of $1.00 items, it's restricted to whole dollar amounts.

The second is exactly what you found: the confirmation page, receipt, and so forth display a single $12 line item as actually 12 units of a $1 line item.

There are three reasonable solutions (aside from the obvious but expensive one--building a true open-ended price field type into CiviCRM).  The first requires some coding, but nothing too difficult: you can modify the templates to hide the quantity and unit price for these fields, just showing the total.

The second is to not use a price set.  Standard contribution pages in CiviCRM allow "other" amounts with no trouble.

The third is to replace them with Select or Radio fields.  In most circumstances, donors don't balk at selecting among fixed price options.  Sure, you'll have some $12 people paying only $10, but you'll also have some people thinking of giving $22 and selecting $25 because it's closest.

It looks like you have a complex contribution form with lots of fund options for giving, so the second option won't work well for you.  Likewise, a ton of radio buttons might be overwhelming if you use the third option.  However, with a little creativity and coding, you could design an interface that plays nicely with CiviCRM's limitations here but gives donors a simple workflow.

You could, for example, create select fields with a ton of options (maybe rounded to the $5) but replace each dropdown on the form with a slider.  Donors could slide Tithe to $15, Building Fund to $110, and so forth.


Are there public repos including WordPress WooCommerce and CiviCRM integration code? On a WordPress / CiviCRM installation, we need to do a bunch of customization on its payment pages. We want to do it in WordPress since there are WordPress plugins that can help do things like validate addresses and calculate sales taxes that are not yet available in CiviCRM, and the budget is constrained. The main integration we want is to write to CiviCRM 1) contact info, 2) invoice data for memberships, participants, and 'contribution' items like book purchases, and 3) payments received.

We're going to start by upgrading the CiviCRM API to allow multiple line items including Sales Taxes to be added properly.

Is there a good starting repo for the WordPress plugin anywhere? I've contacted Josh at http://www.joshcanhelp.com/wordpress-ecommerce-site-integrated-civicrm-migrated-drupal-6/#comment-30644. Alternatively, custom non-generalized implementations would also be fine.

Doesn't seem like there is a public repo that has code integrating wooCommerce and CiviCRM yet.


Scheduled emails not working I have set up scheduled reminder emails for events, but they do not seem to go out. I tested it by signing up for an event myself and did not receive a reminder email. Anyone got any idea on what I'm doing wrong?

Have you enabled the Send Scheduled Reminders scheduled job? You can check by going to Administer > System Settings > Scheduled Jobs. Scroll down to Send Scheduled Reminders and ensure that the Enabled? box is set to Yes.

You'll also need to ensure that you have a cron job enabled for your Civi installation.


"Could not copy Mosaico Template' in 4.7.20 I upgraded to 4.7.20 and am now unable to copy Mosaico templates. I also get strange behaviour when I try to edit a template. On clicking 'edit' CiviCRM displays 'Configure your Dashboard' and displays a Chrome print dialog box.
Is anyone else seeing the same behaviour?

This issue is resolved by upgrading to Mosaico Version 2.0 beta2.


How can I turn off Extension Download Errors? Fresh install today of CiviCRM 4.7.9 on Wordpress.  There are no installed extensions and I don't need to install any extensions.  However—maybe due to how new the release is—I get this error message on every screen, every time I navigate anywhere in CiviCRM:

  "Extension download error Unable to download extension from
  https://civicrm.org/extdir/ver=4.7.9|cms=WordPress/single. Error
  Message: Failed to connect to civicrm.org port 443: Connection timed
  out"

This wasn't happening with the install of 4.7.8 I was working with just a few hours ago, on the same server. I am confident it can make external HTTP requests.

Can this error be fixed or, if not, at least turned off?  I don't currently need any extensions so I'm fine with CiviCRM (silently) failing to reach that URL.

To do so, you need to add this following line on your civicrm.settings.php

global $civicrm_setting;
$civicrm_setting['Extension Preferences']['ext_repo_url'] = false;

https://wiki.civicrm.org/confluence/display/CRMDOC/Extensions#Extensions-Disableautomaticinstallationsofextension


Unable to take Credit Card payment via PayPal after civi update Normally take credit card payments via civi with no problems - update to 5.10.0 and since then have been unable to take CC payment - error message staing 'Date Received is a required field.'

Process to replicate

Go to a contact (Member) -select payment tab - click Submit Credit Card Payment - Select Membership dues - enter amount - ignore Campaign - complete rest and click submit -error saying Date Received is a required field.

This happens whether send receipt is ticked or not and even though all dates are completed.

joomla 3.9.2 - Civicrm 5.10.0

@andygoodall thanks for posting this, we believe we have a fix for your issue, We are looking to conduct a point release for 5.10 to fix the issue however i would recommend if possible manually applying the change described in this PR


How to setup CiviCRM for multiple simultaneous telefundraisers? We are using CiviCRM for telefundraising. Basically, we have a list of contacts to call (smart group). After each call, the fundraiser registers a phone call activity in CiviCRM. When the activity is registered, the contact is temporarily removed from the group (using include/exclude search).

How can we setup the system so that different fundraisers are not messing with each other and avoid simultaneously calling the same contacts? Preferably, in long term we would like the same fundraisers to call the same contacts.

Something along the lines of

grab some contacts
bulk create Activities for them all (one per each) with the person you want to make those calls as the Assignee
set them up with some Reports (or Drupal Views linked to webforms) that will show each person what Calls are in what Status

Note you may want to create a custom Activity Type with a custom field for the outcome of call (eg busy so callback, etc) and use that field data in combination with the Activity Status to ensure that you have a useful record of which people need trying again etc.

We have worked on developing something along those lines but with more sophistication using Views and Webforms but is only relevant to Drupal installs. This also allowed for folk to 'self-assign' more calls from the pool if they had done their allocation.

There is also the CiviEngage package that comes with the drupal install which you can read about here: https://docs.civicrm.org/user/en/4.7/civic-engagement/what-is-civiengage/


{$contribution_aggregate} not outputting in message template I'm sure I'm missing something basic, but following the various documentation and examples I've seen I can't get {$contribution_aggregate} to actually output the aggregate contributions for a donor, it just outputs literally that text.

Steps I'm taking:

Find contributions, select the ones I want to include in a thank you letter
Select "Thank You Letters - print or email"
Select Group contributions by contact
Separator: Vertical table cell
Print and email options: Generate PDFs for printing (just don't want to email until it's correct of course)
Document body: to test I'm literally just putting {$contribution_aggregate} in the body
Click "Make Thank-you Letters"

And the resultant PDF literally just has {$contribution_aggreate} in it.

I'm on CiviCRM 5.9.0 on WordPress 5.0.3.

Thanks for any guidance anyone can provide!

Look in your civicrm.settings.php (in wp-content/uploads/civicrm). There's a line that says:

define( 'CIVICRM_MAIL_SMARTY', 0 );

Change it to

define( 'CIVICRM_MAIL_SMARTY', 1 );

See https://docs.civicrm.org/user/en/latest/common-workflows/tokens-and-mail-merge/#smarty


civicrm_processProfile hook ignored After submitting the profile with success from the front-end of the site, a civicrm contact is created but the following hook is not working..

function wordpress_civicrm_processProfile($name) {
        if ($name === 'supporter_profile_91') {
                die('we are here');
                //also tried error_log(); nothing!
        }
}

Its written in wp-content/plugins/files/civicrm/custom-PHP/civicrmHooks.php and other civihooks/wp functions in that file are firing correctly.

Profile set from Manage Contribution Pages > [Specific Contribution Page] > Personal Campaigns [tab] > Supporter Profile

Turns out, this hook is not called when a profile form is submitted on the front-end of the site. The hook is fired during the creation/edit of a profile. Found through a Google search

Page Title: hook_civicrm_processProfile - CiviCRM 4.3 Documentation ARCHIVE ...
Page Link: wiki.civicrm.org:8090/confluence/pages/viewpage.action?pageId=86638695

Dropped the port 8090 in the SERP link to see the wiki page that says:

  This hook is invoked when processing a submitted CiviCRM profile form (e.g. for "civicrm/profile/create" or "civicrm/profile/edit"). This hook may be used to inject additional markup, scripts, or styles on the profile.

I dont know why that important detail was dropped among other important details. The most recent wiki has no such text.

Edit: added as issue in 2017devdocs.


Edit profile the triangle just keeps spinning I am using a new install of 4.6 with no additional plugins installed.  I go to contributions>manage contibution pages > member Sign up> Configure then profiles. I click the edit edit button next to any of the dropdowns and the triangle page pops up and just spins. I have to refresh and start over.

Any thoughts?

This sounds like a javascript error. Try going through the following troubleshooting steps:

Troubleshooting popups, autocompletes, or other javascript problems.


CIVIEvent - List of participants Bonjour,

i want to add a custom participant listing option (there is a topic 3 years ago but i don't understand the comment).

I create a specific option in Administer CiviCRM / Lists of choice / List of participants.

But how and where i can specified the field i want : Name + default role for example.

Thanks for your help

Pierre94, Welcome to CiviCRM stack exchange. To add custom listing is not straight forward if you not a developer.

To add custom listing you will need to

1. Add listing option

Navigate to CiviCRM >> Administer >> System Settings >> Option Groups. Find for 'Participant Listing' and click edit option besides it. Add new option with label as listing name and and Description as class name to invoke when viewing this option eg CRM_Event_Page_ParticipantListing_NameStatusAndDate.

Implement the listing using code in your extension

Copy paste any php file from here into your extension directory(use the path same as defined in your listing option). Similarly do for tpl from here. Modify the php and tpl file as per your needs.

Thanks

Pradeep


Update Multiple Contributions with Missing Attributes via Search Builder? We have 300 or so contributions that are missing a custom field.
We want to manually update those records.
We are running a search for contributions that have a custom field but are missing the custom field we want. We run a search builder.

Example

Contribution - Custom Field 1 - = - Attribute
Contribution - Custom Field 2 - Is Empty
Contribution - Date Received - > - ##/##/####
Contribution - Amount - > - 1

I run the search and I find the 300 or so contributions.
I can only update each record by clicking on the contact, going to their contributions, finding the contribution, edit the custom fields.
If I try to update multiple records - I can only update the contacts - not the contributions.
So I add them to a group - run a contribution search for the date range and limit to only the group.
Now I have over 700 contributions as those contacts may have given multiple times.
I can bulk update the contributions now with a profile - but I now have to sift through half the contributions that do have the correct custom field chosen and find only those that are blank.

Is there a better way to do this?

Export/Import is not a good solution.

Try creating a Profilewith the necessary Contribution fields and then accessing it via Actions (Bulk update) from the Find Contributions page


Error when installing civicrm-4.7.29-drupal on Drupal-7.56 when I install civicrm-4.7.29-drupal on Drupal-7.56 just using one database for drupal an civicrm the installation runs perfectly without any errors.
If I use two databases for drupal and civicrm I get the following error message:
CRM_Core_Exception: Found installation canary. This suggests that something went wrong with tracking installation process. Please post to forum or JIRA. in Civi\Core\InstallationCanary::check() (line 53 of /[my website]/sites/all/modules/civicrm/Civi/Core/InstallationCanary.php).
What did I do wrong? Or is it a bug?
Best,
Frank

I came accross this error a few weeks ago and it indicates that you are trying to install CiviCXM into a drupal environment which already contains an installed version of CiviCRM.


prefix Mister Misses in another language I want to import french customers.
In french we say Chère for women, Cher for men instead of misses and mister.

but it is not possible to import the contacts and choose theese salutations.
Always the error that the salutation is unknonw:"Invalid value for field(s) : La salutation par courriel doit etre l'une des salutations pre-configurees."

In civi there is the french salutation and as default.

Do you have a solutions for that?
Thanks

I think it should be possible to import prefixes (such as Madame or Monsieur) but you need to make sure that the prefixes are created in CiviCRM before you import the data (/civicrm/admin/options/individual_prefix?reset=1).

Also, the Labels in CiviCRM need to be exactly as those in the column of your import file.

Or do you want to import greetings (email or postal greetings)? I am not sure, if this is possible because they are usually generated.

You could try to use something like this for generating a greeting depending on the prefix (just enter it here: /civicrm/admin/options/email_greeting?reset=1):

{capture assign=c}{contact.communication_style}{/capture}{capture assign=p}{contact.individual_prefix}{/capture}{if $p=="Madame"}Chère{else}Cher{/if}{ }{if $c=="Familiar"}{ }{contact.first_name}{else}{$p}{ }{contact.formal_title}{contact.last_name}{/if}

CiviCRM would the create an appropriate greeting depending on the communication style (formal or familiar) and the prefix. Please note that for this approach you need to have smarty enabled.


Custom payment processor for credit balance - need ideas and advice Our organization maintains a "deposit account" or "credit account" for our constituents. Account balance info is stored in a 3rd party MS SQL application.

I would like to hear high-level ideas and advice on how go about building a custom payment processor so that folks can pay for CiviEvent fees, etc., using their credit account balance.

Has anyone encountered this situation before?

I would try grabbing the code for one of the current payment processors and creating a new instance of it for your credit account "processor".  This should give you the plumbing necessary for CiviCRM; of course you will still need to build out the interface with the MSSQL application, but you will need to do that anyway.

To start this, do a 30 minute dive into the current civi payment processors... I recall there being some fairly simple implementations that you probably can most easily leverage.


Where to get PDF copies of CDN tax receipts? How can I find, search and access tax receipts that have been issued in a PDF format? Where and how do I do that??
I want to be able to attach a PDF copy of a TR to send to client.

Welcome to StackExchange!

In the Configuration for the CDN Tax Receipts Extension -> look for archive email address. That’s where carbon copies of any issued Tax Receipt will go.

If you want a copy becuase you want to re-issue a Tax Receipt then (when viewing the Contribution) hit the Tax Receipt button and then hit re-Issue.


Error when registering CiviEvent: "Could not find valid value for id" I have the same issue as the one here: CiviEvent - Error when registering: Could not find valid value for id
However the solution mentioned does not work for me. Besides on the demo site http://wpmaster.demo.civicrm.org/ no base page is set and it works. Any help is greatly appreciated.

I'm on WP 4.4.2, civi 4.7.7

The error from the log is below:

May 20 10:06:31  [info] $Fatal Error Details = Array
(
    [message] => Could not find valid value for id
    [code] =>
)

May 20 10:06:31  [info] $backTrace = #0 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(371): CRM_Core_Error::backtrace("backTrace", TRUE)

1 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Utils/Request.php(120): CRM_Core_Error::fatal("Could not find valid value for id")

2 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Event/StateMachine/Registration.php(52): CRM_Utils_Request::retrieve("id", "Positive", Object(CRM_Event_Controller_Registration), TRUE)

3 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Event/Controller/Registration.php(47): CRM_Event_StateMachine_Registration->__construct(Object(CRM_Event_Controller_Registration), TRUE)

4 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(307): CRM_Event_Controller_Registration->__construct("Event Registration", TRUE, "null", NULL, "false")

5 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:15))

6 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))

7 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/civicrm.php(1229): CRM_Core_Invoke::invoke((Array:3))

8 /nas/content/staging/theexecnet/wp-content/plugins/civicrm/includes/civicrm.basepage.php(132): CiviCRM_For_WordPress->invoke()

9 [internal function](): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))

10 /nas/content/staging/theexecnet/wp-includes/plugin.php(601): call_user_func_array((Array:2), (Array:1))

11 /nas/content/staging/theexecnet/wp-includes/class-wp.php(692): do_action_ref_array("wp", (Array:1))

12 /nas/content/staging/theexecnet/wp-includes/functions.php(952): WP->main("")

13 /nas/content/staging/theexecnet/wp-blog-header.php(14): wp()

14 /nas/content/staging/theexecnet/index.php(17): require("/nas/content/staging/theexecnet/wp-blog-header.php")

15 {main}

use the civicrm events register link after /civicrm/ not after root.


Listing Groups in a mail template I'm creating an email template to be used to confirm a contact's membership status, and I would like to include a list of the Groups (representing Committees in our case) that the contact belongs to.

I have tried including the token {contact.Group(s)} (with various capitalizations, inclusion of parentheses, etc.) without success.

I can include a token that sends the user to the form where they can see and edit those memberships, but I would rather just list them.  I thought this would just be in the drop-down list of tokens, but no, and I can't find any reference to this in the manuals.  Any suggestions?

Thanks as always.  I'm using CiviCRM for WordPress, current versions.

As far as I know, that token doesn't exist, in core or in an extension.  It's not a bad idea though; it would be quick to write.  As with most tokens that list multiple fields, the real trick is in formatting.  Some will want them in a particular order; some want them comma-separated vs. each on their own line, etc.


How to select templates We are running a conference, when sending a receipt to someone how do we select one of the stored templates which we have created e.g late payment?

Thanks

There is no way you can select template to replace the receipt/invoice that is send by Civi automatically. If you want to send a separate invoice/template for certain people than you will need to either write an extension to replace the template with user-driven message template or you can use Schedule reminder or Send Email activity.

Extension:

Implement hook_civicrm_alterMailParams in your extension to replace the message template based on $params parameter

Create Email Activity or bulk email to a group

You can use Email activity to send email with the help of Civi-token extension.

Schedule reminder

Add contact's to a group whom you want to send invoice, create a Contribution schedule reminder and use your template to send email.

HTH

Pradeep


Use - Create Mode - URL error message I am currently trying to setup an online membership signup form for our organisation.

I am in the early stages at the moment but so far I have created the bare bones of the form by creating a profile containing the various fields that need to be on the form.
After doing this I wanted to test completing the form online so that members / organisations are added to Civi. When clicking on Use - Create mode I am able to view the form and complete it etc (This only appears however to be when I am still logged into my session). If I try the URL in private mode or on a difference browser then I get the following 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.
The requested Profile (gid=16) is disabled OR it is not configured to be used for 'Profile' listings in its Settings OR there is no Profile with that ID OR you do not have permission to access this profile. Please contact the site administrator if you need assistance.)

What could be the cause of this?

The other issue I am coming across is that I want to use this profile via a Contribution page, however when setting up the Contribution page, under the profile tab section, the drop down Include Profile (top of page) will not list the profile I have created so I cannot add it.

As per below I have created a profile called "Membership Form" however this profile is not showing in the dropdown list to add to the Contribution page.

Any help would really be appreciated - I am pretty new to CiviCRM.

Thanks in advance everyone :)

For the first part, see if this answer helps: https://civicrm.stackexchange.com/a/22434/225

For the second part where the profile is not showing up, that can mean that you have added fields that are not valid in the context where you are trying to use the profile.  Civi determines the type of the profile based on the fields it contains, so adding fields can reduce the places where it can be used.  Looking at your screenshot shows Testing_Only in the type so look at your fields and remove whatever relates to Testing_Only and see if that results in the profile showing up where you want it.


CiviCRM Contact,get with group - change in result format Where (which JIRA issue, if any) did this change in API behaviour come from, and was it documented/expected?

The same Contact,get API call returns different results between 4.6 and 4.7.

IMO the new style is better, but I'm not sure the change was intended/documented. (I want clarification so I can expect the new behaviour to stick!)

I've confirmed this behaviour today by testing on the 4.6 (Joomla) and 4.7 (Drupal) demo sites.

API call for Contact,get with return=group shows groups in the results.

civicrm_api3('Contact', 'get', array(
  'sequential' => 1,
  'return' => "group",
  'id' => 3,
));

In 4.6 the result has groups shown by their group "title" (not name). Since group titles may contain a comma, there is some lack of certainty in the results (leading to workarounds like this).

[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => 'Example group,Example smart group',
      'id' => '3',
    ]
  ]
]

In 4.7 the result has groups shown by their group ID, which is a bit more predictable to work with.

[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => '4,7',
      'id' => '3',
    ]
  ]
]

I've checked the CiviCRM API Changelog and enquired on chat.civicrm.org without any luck so far. Help me, SE!

This is not an answer to your question, but were I to post it as a comment the whole thing would be on one line/unreadable. It seems to me that the most desirable format is:

[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => array(4, 7),
      'id' => '3',
    ]
  ]
]

... or even:

[
  'is_error' => 0,
  'version' => 3,
  'count' => 1,
  'id' => 3,
  'values' => [
    [
      'contact_id' => '3',
      'groups' => array('Example group', 'Example smart group'),
      'group_ids' => array(4, 7),
      'id' => '3',
    ]
  ]
]


CiviDiscount big red box error appears at the top of an event that uses discounts When you go to the registration page of an event that uses a discount code from CiviDiscount, this error appears several times in a big red error box at the top. If you scroll down far enough the actual registration form does appear. We have recently upgraded from an earlier version of Civi to 4.6.9, and from Joomla to Drupal. We have upgraded the CiviDiscount extension to 3.1 after doing the upgrade and migration.

This error message is repeated:

Warning: array_keys() expects parameter 1 to be array, null given in CRM_CiviDiscount_DiscountCalculator->filterDiscountsByContact() (line 108 of /home/registrationrig/www/www/sites/default/files/civicrm/extensions/org.civicrm.module.cividiscount/CRM/CiviDiscount/DiscountCalculator.php).
Warning: Invalid argument supplied for foreach() in CRM_CiviDiscount_DiscountCalculator->filterDiscountsByContact() (line 108 of /home/registrationrig/www/www/sites/default/files/civicrm/extensions/org.civicrm.module.cividiscount/CRM/CiviDiscount/DiscountCalculator.php).

Beside having that big ugly message at the top, does it work properly?

This is a WARNING, that can either be a missing validation of something from the developer, and could safely be ignored, or showing you the root of the problem.

You mention moving from joomla to drupal, the issue might be that the link between a user (in the CMS) and her contact (in the CRM) aren't properly linked anymore. Is this warning displayed when you are authenticated or to an anonymous user?

Anyway, if the discount works as expected, a quick workaround is to change the php configuration so it doesn't display NOTICE or WARNING online (I disable displaying them in production, mostly because they tend to be too verbose and disclose information like the path where I installed civi for instance that I'd rather keep private, for security reason)

yo can change that by changing the default value or add a error_reporting line on your civicrm_settings.php
http://php.net/manual/en/function.error-reporting.php

X+


Outbound email configuration. Different sending addresses with different servers We have an issue to solve to operate as well in our Country (Italy).

Any organization in our Country must use Certified Email (https://en.wikipedia.org/wiki/Certified_email) to send fiscal and official requests to public organization.
This create a config problem inside CiviCRM, which I try to explain:

we must use more than one address to outbound email
the normal address can send all, using the normal and easy configuration
the Certified Email address must use IMAP and the specific server to send messages
we didn't find a possibility to configure this difference
there are more than these problems to manage inbound email.

Any idea to solve it?
TIA

I am not sure if all this is possible in current version of CiviCRM

#1 - Yes, one can define and select From Address for sending emails.

#2 - CiviCRM sends email using settings defined in Outbound Settings.

#3 - There is no such way where one can specify outbound settings based on from address. But this is possible by creating extension that would create a settings page for each from address to save in civicrm_setting table and then have [hook][1] to alter the mailer setting before sending emails.

But i would still prefer you to wait for other people to provide solution.

HTH

Pradeep


what time zone does Civi think its in? I am trying to send a scheduled mailer and need to know what time CIVI believes it is in ?
Right now CIVI appears to be 2 hrs. ahead of my time zone but there is not indication of time zone anywhere. Thanks.

Welcome to SE. As far as I know, the timezone is just inherited from the host CMS. I did not have to select any on install and I can change it in the CMS (WordPress in my case). So check what time the CMS believes it to be in.


Adding validation: cannot use $this in formRule() of Form I am using CiviCRM 4.7.22 with Drupal 7 on Windows. I have a basic question.  In the formRule() function inside the MembershipRenewal.php containing Membership Renewal Form if I use $this as below

$this->assign('endDate', CRM_Utils_Date::customFormat(CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership', $this->_id, 'end_date')));

I get a PHP error:

PHP Fatal error: Using $this when not in object context in ...\MembershipRenewal.php on line xxx

Although this code works in preProcess() and buildQuickForm() without any issues. If its part of the same class then why the issue.

What is the alternative for me get the value of end_date or join_date in formRule() to perform some validition. In general, how do I get any value which is NOT part of a form in formRule().

If you take a look at the formRule() method, you will notice that it is static:

public static function formRule($params) {
...

When methods are invoked statically, you don't have access to $this. There is a similar construct to $this->, which is self:: (see http://php.net/manual/en/language.oop5.static.php) for more info, but I don't think it will help in your case as assign is expecting a form object  to work with.

If you want to add validation to a form, you probably want to use the addRules() method. You can define a custom function (callback) that will accept the values submitted into the form and expects you to return an array of errors.

/**
* If your form requires special validation, add one or more callbacks here
*/
function addRules() {
  $this->addFormRule(array('CRM_Example_Form', 'myRules'));
}
/**
* Here's our custom validation callback
*/
static function myRules($values) {
  $errors = array();
  if ($values['foo'] != 'abc') {
    $errors['foo'] = ts('You entered the wrong text!');
  }
  return empty($errors) ? TRUE : $errors;
}

see https://wiki.civicrm.org/confluence/display/CRMDOC/QuickForm+Reference for more details.

Another method I have used is

public function validate() {
  $this->setElementError(); // <-- more details here...
  return parent::validate();
}

See https://pear.php.net/manual/en/package.html.html-quickform.html-quickform.setelementerror.php for more info, though I think the above method is a little off piste.

Though having said that, the correct method really depends on why you are modifying the MembershipRenewal.php form.

If you are making a modification for your local site, you should really create an extension and use the https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_validateForm/ hook.

If you are looking to make a more generic improvement and submit it to core, then the approach described above is the way to go, but you'll want to discuss your planned modifications with others before doing too much work somewhere like https://chat.civicrm.org/civicrm/channels/dev.


Using CiviCRM to manage a Community Center? We're preparing for a new community center which will hopefully break ground this year and open in early 2018. In the meantime, we've gots lots of planning to do and I've been tasked to recommend a CRM.

Initially, we'll need a crowd funding solution for our capital campaign. Then we'll need to manage, members, donors, volunteers, have a color coded event calendar, registration and attendance tracking for events, programs and classes, space reservations, online social community for constituents, management of partnerships with collaborating orgs, and sales of t-shirts and caps, etc.

Which CMS would be best?
Cost for creating such a system?

Any other feedback?

You could use CiviCRM for what you describe, though you may want a developer to set it up for your specific use-case. Since CiviCRM is open source, the only cost would be the cost of whatever development team you use. If you have a tech-savvy person of your own, it might not take a developer at all, though it will take a lot of work. To go through your specific needs, with links ot the documentation explaining how it can be done:

Crowd funding: CiviContribute, or if you want to include marketing, CiviCampaign.
Manage members: CiviMember.
Manage donors: I refer you again to CiviContribute.
Manage volunteers: The extension CiviVolunteer will do this. To clarify, all the previous links are to core functionalities. This one is not, but it is easy to download and install extensions such as this one.
Calendar: This would be managed through CiviEvent. Color coding would probably be through your theming, I'm not entirely sure about that one. But you can create event types, so it shouldn't be too difficult to manage the event types being different colors.
Registration, attendance, progams, classes: These are all jobs for CiviEvents.
Space reservations: I don't think civiCRM has this capability, but it can be gained in other ways. This thread might be useful to you.
Online social community: It sort of depends on how robust you want this to be. It is simple enough to allow members to view each other's profiles, but complex interaction may be more difficult. If you want to set up a facebook page and then link to it, that's simple though.
Management of partnerships with collaborating orgs: Each org can be a contact in the CRM, and employees of that org can be grouped to them. You can track emails etc. I'm not sure what other functionalities you're looking for here.
Sales of t-shirts etc: CiviContribute again can probably help you, but I'm not sure exactly how others have done this, though I'm sure you can figure it out.

And finally, for CMS, I recommend Drupal as the most robustly extensioned & maintained. But There are more in-depth answers to be found here.

In conclusion: Yes, I think you can run your community center with CiviCRM with few issues.


Contribution Page - Unlink last year's contributions? I am new to the position of keeping our website up-to-date. The previous person told me that I could edit over previous versions of pages so we don't have multiple pages that are similiar of events we do each year. I updated one of our contribution pages (YLS Supports Income Programs), however I notice on the widget page that it is pulling the contributions from last year's event. Is there a way to unlink that so we can start fresh at $0 this year? Or is there a better way to go about this?

Thank you,
Kim

Ah yes -> make a copy instead of editing!

Events -> Manage Events -> under the more (on the far right) -> hit Copy.

This will copy all your settings/etc but will not copy your participants. Contribution pages: very similar -> same thing!

Contributions -> Manage Contribution Pages -> under the more (on the far right) -> hit Make a copy.