"Failed to load resource" error when trying to view fees under manage events

I came accross this article: Event Fees - DB Error: syntax error

It turns out that if you disable the CiviContribute component it causes errors with Event fees!


How do I find more information about the ACL regression introduced in 4.6.7?

I've posted an advisory now: CIVI-SA-2015-008: Access bypass in CiviCRM 4.6.7

CiviCRM 4.6.7 introduced an access bypass issue which applied a limited number of sites.
The issue affected only certain configurations, where the site used ACLs to limit access, and applied to users whose permissions included “access CiviCRM” and “view my contact” but not “view all contacts”. Changes introduced in CRM-16512 allowed the “view my contact” permission for those users to incorrectly grant access to all contacts.
This issue is mitigated by the fact that only sites so configured are affected, but for sites affected the potential severity led us to make an out of schedule security release.

If your users with "access CiviCRM" also have access to all contacts (many smaller sites), you are not affected
If you are not using ACL functionality, you are not affected
If you did not upgrade to 4.6.7, you are not affected (but you should check you have applied the security fixes in that version!)


This isn't quite the same thing, but there is discussion in the posts below of membership approval process, which has some similarities - might give you some ideas.

Membership statuses and approval workflow
Using the Pending status for membership approval


The database tables you mentioned are wordpress CMS db tables. you would need to reinstall civicrm again and when installing it would ask for database fields where you can put in the civicrm database name and connection details. This documentation explains well the process of installing civicrm in wordpress CMS: https://docs.civicrm.org/sysadmin/en/latest/install/wordpress/


Drupal Webform / CiviEvent showing private events and closed registration events

If your organization can fund an hour or two of development via the paid issue queue we could get that filter added to the webform-civicrm module to prevent unwanted events from showing.


How to add "Family Member Information" Columns to Event Attendee List report?

All the checkboxes in the screenshot you posted refer to built-in CiviCRM fields. "Family Member Information" doesn't refer to any built-in CiviCRM field, so it's a bit hard to know exactly what you're asking to do.  Here are some options:

If "Family Member Information" is the name of a custom field group, then you can add those checkboxes to the report by going to Administer menu » Customize Data and Screens » Custom Fields.  Find the Family Member Information custom group and click View and Edit Custom Fields.  Change any field you'd like to appear on this report such that Searchable is set to Yes.
If "Family Member Information" is set via a relationship, you have a few options.  I won't detail them here unless you update the question to indicate this is the case, but:

Add folks to a group, use the Relationship Report.
The Extended Reports extension has an Event Attendee List report with relationships.
If you're using Drupal, this is easy to implement using Views.


@ichi that rule shouldn't be existing anymore because it was removed in 5.33 https://github.com/civicrm/civicrm-packages/commit/148eb5483caa1059d031f11aaf32b391bead1c66 I would suggest applying that patch onto your system and that should fix the problem


What's the best version combination for Drupal 7 and Civi 4.5

the stable versions are 4.6.x and 4.7.x, I'm not sure they are kits that install both drupal and civi, but the recommended path is to install drupal first, then follow the instructions to enable civi.

https://civicrm.org/download


Multi-value fields in profiles - how to?

I don't think you can add multiple values in multi-value field in create mode (out of the box) at the moment.

You could have the user fill in one value and have them add more later. If you don't want the user to have to login you could send them a checksum token.


Randomize display of results from a Proxmity Search

Take a look at https://github.com/civicrm/civicrm-core/blob/master/CRM/Contact/Form/Search/Custom/RandomSegment.php

It's a little tricky because if there's multiple pages of results you don't want the second page to repeat anything on the first, so it creates the full random-ordered list first and draws from that.

If you don't really care, or know there's only one page, you could override addSortOffset() in CRM/Contact/Form/Search/Custom/Proximity.php to do something similar to what the Base does in CRM/Contact/Form/Search/Custom/Base.php, and instead of "ORDER BY $sort", make it say "ORDER BY RAND()", e.g.

public function addSortOffset(&$sql, $offset, $rowcount, $sort) {
    $sql .= " ORDER BY RAND() ";

    if ($rowcount > 0 && $offset >= 0) {
      $offset = CRM_Utils_Type::escape($offset, 'Int');
      $rowcount = CRM_Utils_Type::escape($rowcount, 'Int');

      $sql .= " LIMIT $offset, $rowcount ";
    }
  }


Can native CiviContribute capture In-Kind donations?

Civi is pretty flexible.

First, click Administer | CiviContribute | Financial Types. Then add a new financial type and name it "In-Kind".

You can also create custom fields that will appear on the contribution form. Click Administer | Custom Data and Screens | Custom Fields.
Click Add Set of Custom Fields, and create a custom field set to hold your custom fields, then continue to add any number of custom fields such as Description (a Note field), Qty (an Integer Text field), etc. You can add drop-downs or multi-selects to categorize donations. You can even choose to make your custom fields searchable.


Automatically setting a date for an activity being added by a sequence

I have figured out the issue that I am having. It turns out there is a bug in version 4.7.18 that is fixed in 4.7.20. So I will just need to wait for the release version.


"Mailing" tab won't disappear after disabling CiviMail component

This appears to be a bug - I was able to reproduce it as well. Normally disabling a component should hide the menu items associated with it.
If this is important to you, you could try to figure out what's going wrong and submit a pull-request with the code to fix it, or else provide funding to fix it in the paid issue queue. Unfortunately the core team doesn't have capacity to fix non-critical bugs unless someone provides code or funding.


I don't believe anyone has, but Power BI has a MySQL connector component, so it appears that would be all you need:

https://powerbi.microsoft.com/en-us/integrations/mysql/


Error adding new new contact: getaddr info?

This says that PHP is trying to connect to an external server and failing. Generally, that would suggest that the DNS settings of the server are no longer correct.

Since you're experiencing this problem on save, the lookup is probably that of geocoding.  I would try to disable your geocoding provider to see if it solves the immediate issue.  However, the long-term solution is to figure out whether a particular service is gone, your server can't find it, etc.


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

There are three steps:

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

Hope this helps.


ok, finally got it working by adding the following lines to the config file located at
/etc/mysql/my.cnf

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

But looks like a bug anyway..?!


Relationship created by API does not add Membership until edited/updated

I wouldn't use the setvalue method, it was introduced as a stop gap measure when the api v3 was young and it's deprecated now.

Is the relationship already active when you call the create call? setvalue isn't going to do anything more anyway.

I don't know the specific of that api, but in general, the api calls tend to be "close to the metal" and if there is a chain of events (eg if relationship is created and lots of configuration magic, then add a membership too), they are often not included by default.

On your specific case, if you are lucky it's just a matter of finding the right parameter to trigger the "advanced mode", or create the membership manually.

You should check out how it's done in the code for the UI, the code handling the membership creation might be already into the BAO layer and you can easily modify (or add an extra param) to the api to benefit from it.

If not, it might need some re-factoring....


Attachments not sending when emailing a contact in CiviCRM v. 4.7.10

Please ignore what I wrote. The fix does work. I just fixed the wrong installation. What a dork. All sorted now.


A workaround might be to run the contribution detail report filtering to event fees and select columns Source and Check Number, then do an excel vlookup() to cross-reference Source against the Event name in the event participants list (which I'm guessing is the report you're looking at).


What is 'advanced report configuration' and when will it work?

This is part of Extended Reports, and appears on some (not all) extended reports.  Notably, it allows you to change the order of columns in your report.  This works for me.


'Create Linked Drupal User Account' problem - bug or user error?

This could be caused that in CiviCRM an e-mail address is its own entity and created after the contact has been created.

Meaning that at the point the trigger contact created is fired there is no e-mail address in the database (yet). That one is added afterwards.

CiviCRM has functionality which is called profiles and which also create a user account. So maybe you can use a profile to create the contact and its related user account.


Can you provide on which reports you getting them different? Normally the contacts sort name is used to display on all reports. The way it need to be stored is defined in Administer -> Customize Data and Screens -> Display Preference.


What worked for me with google-fonts is the following:

After the  tag add the include path generated from google-fonts, in this example Modak and Open Sans.

  @import url('https://fonts.googleapis.com/css?family=Modak|Open+Sans');

Then in the @supports block, in the face part add the fonts separated by '|', to be included in the blocks:

  face { label: Font; widget: select; options: Arial|Impact|'Open Sans', sans-serif|Times New Roman|'Modak'}

Edit: local fonts can be included by putting them on accessible on your server, and then import them in the template like this:

@font-face {
  font-family: 'your_font_name';
  src: url(https://example.com/files/fonts/your_font/your_font_file.ttf) format('ttf'),
    url(https://example.com/files/fonts/your_font/your_font_file.woff2) format('woff2');
        }

Then add those to the dropdown menu in the @supports block same as above.

That way your fonts can be loaded from your server.


Icons are not populating to be selected for Activity Type Options

This was caused by an issue with my local disk cache.  Clearing the cache from my browser allowed the icons to be displayed again.


At Administer > CiviMail > Mailer Settings (civicrm/admin/mail) you will find settings for CiviMail delivery.

Do your settings have a Mailer Batch Limit of 400? If so, this was probably set on your site at some point.

The default is 0 (unlimited) I think; if it was set to 400 on your site this may indicate the task was timing out before completion. If you're having that issue, running the mail task more frequently may be a good alternative to adjusting the batch limit.


Am i able to do a search for duplicates in the database?

Yes - go to Contacts menu » Find and Merge Duplicate Contacts.  There is dedupe documentation available.

The tricky question is, "What represents a duplicate contact?".  For some organizations, two contacts with the same record might be a duplicate; for others, that's not enough to determine if it's a duplicate.

So while the Using rules and merging duplicate contacts manually section of the documentation might be all you need (e.g. if you can use the built-in "match on emails only" rule), you may need to read the rest to tell CiviCRM what constitutes a duplicate for your organization.


How to restrict access to CiviMail's reports, e.g. click rates

I think you can bypass using permission_check hook.


Profile is disabled OR it is not configured

The gid is the ID number of the profile.  Something is calling for that profile, but it can't/won't pull it up for one of those various reasons.

Two factors to consider:

What is profile 24?
Why is Advanced Search trying to use it?

My hunch is that CiviHR creates a special profile and sets it to be used as the default search view.  You can customize the columns you see when you run a search, and to do it, you set up a profile with the fields you want.

First, go into your profiles administration page and look for the one with ID 24 (looking both in the User-Defined Profiles and the Reserved Profiles).  If there is none, that explains why it can't be found.  If you find it, click Settings and check all the "used for" boxes.  See if that helps.

Next, check your search preferences (Administer - Customize Data and Screens - Search Preferences) and see if a Default Contact Search Profile is set.  Set it to None and save.


We had the same issue and same resolution, but agree, it doesn't feel right. I opened an issue in the lab but couldn't find anything else: https://lab.civicrm.org/dev/drupal/issues/45

EDIT: Maintainer/owner "colemanw" replied to the issue:

  Looks like "access CiviCRM" was recently renamed "access CiviCRM backend and
  API" I assume to enhance clarity but it seems to have caused some confusion.
  But it's true, you should only allow trusted users to access your CRM.

EDIT2: More info from colemanw:

  Right, "access CiviCRM" or whatever it's called now is the gatekeeper, the minimum permission needed to access any part of CiviCRM. It is required to have that permission before doing anything.

Looks like we had the right idea!


"Print PDF Letter for Contacts" missing from Contact Actions

Found it of course right after posting. The trick is to look in Actions for "Print/Merge Document"


Where should bower_components reside under Drupal 8

It's both. One of the main issues with civicrm+drupal8 is that drupal 8 (correctly) doesn't allow web access to files in the vendor folder, since that can be a security issue. Both roundearth and civicrm-asset-plugin try to deal with it, just a bit differently, by copying the files to a web-accessible folder, via composer events that are triggered when you run composer.

It doesn't copy all files, just the ones needed. It is possible for them to get out of sync if for whatever reason the composer event doesn't trigger, but you can re-sync by deleting the one under /web/libraries and running composer install again. You may need to delete one the /vendor bower_components subfolders to get that to trigger it. I never know what composer is really looking at when it decides what to do.

UPDATE: If you're using the civicrm/civicrm-asset-plugin (as opposed to roundearth), running composer civicrm:publish from the top folder (above vendor) will re-sync the appropriate files from vendor to web. For roundearth, I haven't tested this but it might work to use composer civicrm:sync-web-assets, also from the top folder.


Uncaught CRM Core_Exception Transaction/Manager.php

SOLVED: It was a mariadb error on mysql.proc. mysql_upgrade neither ran nor threw an error. Aftert mysql_upgrade, all seems well!


Adding a google pixel to a Contribution Page

You have two options:

Set up a sidebar in your WordPress theme that only appears on contribution pages that contains the pixel.  I know how to do this in Drupal using Blocks; I don't know how to do it in WordPress off the top of my head, but I'm sure it's doable.
If you are or have access to a coder, you can write a CiviCRM extension to do this.  I've written one for Facebook Conversion Pixels for successful donations.  My guess is you could modify this pretty easily, or hire someone to do so.


CiviMobile (new version) works nicely for checking people into an event, but I think it's going to do its own sorting regardless of anything you display in the normal Civi GUI.

If you're on Drupal then a view using the DancePartner relationship with a VBO might do what you need to display the partners and register attendance.

Do you want to register and check in individuals or couples?

If you are more interested in couples, then you could potentially repurpose/abuse 'household' as 'dance partnership' since you can register households as event participants.  You could then use CiviMobile and check in the 'Marie & Peter partnership' household.  You would need to check the rest of your workflow but it fits the objective of checking in a couple via CiviMobile.


Incorrect Resource URL error when they're correct

We deduced that this error message comes from the timeout being too small in the public function  fileExists($url, $timeout = 0.50) in civicrm-core/CRM/Utils/Check/Component.php.

The timeout is not long enough for all sites which is why the message pops up despite the settings being correct.

This can be resolved by either hacking the source code and increasing the timeout to something bigger, for example 1.0 or turning off the check.

You can see the gitlab issue here for more information regarding this: https://lab.civicrm.org/dev/core/issues/1035

I believe that the Civi team are working on a fix for this as well to avoid having to hack the source code.


Is there a reason you're using the "CiviCRM Cron" module?  That's adding an needless level of complexity to your site.  Since you are able to get the job to work by manually executing the job, I suspect that there's a problem in the way you've configured the "CiviCRM Cron" module.

Disable the module, and set up cron the normal way.  You'll want CiviCRM's cron job to run way more often (every 5-15 minutes) than Drupal's cron should (every 1-3 hours).  Doing a real cron job will also bypass problems that may crop up with the "CiviCRM Cron" Drupal module.

Here's how.  Visit the Managing Scheduled Jobs page on the CiviCRM wiki for reference.

If you have Drush installed, just use the "Drush Method" from that page.  Test it out on the command line, and if that works, set the cron job to be something like

*/6 * * * * /usr/bin/drush -u 1 -r /path/to/drupal -l www.example.org civicrm-api job.execute auth=0 -y

That runs every 6 minutes, which makes a nice even 10 runs per hour.

If you don't have Drush, use the following steps (the "PHP CLI method"):

Create a user account that has "Access CiviCRM" and "Administer CiviCRM" privileges.  (You could theoretically use your own, but you will be putting the password in plain text in the cron job, so it's safer to create a separate one.)
Put together what you need in this format:

php /path/to/civicrm/bin/cli.php -s site -u user -p password -e Job -a execute

You can drop the "-s site" if you only have one site running.  Replace the word "user" with your new user's Drupal username, and the word "password" with its password.
If you have SSH access and are comfortable with the command line, you'll have a leg up.  Try running that command.  Check your Scheduled Jobs page to see that it ran (making sure that your mailing sender job is enabled and set to run on every cron run--not hourly or daily).
Assuming that worked, set up the cron job

*/6 * * * * php /path/to/civicrm/bin/cli.php -s site -u user -p password -e Job -a execute

Again, I like six minutes to make the arithmetic easy by having 10 cron runs per hour.

This should dodge any problems with the "CiviCRM Cron" module, and it should allow you to run your mailings and SMS messages much more promptly.

For reference, "send immediately" does depend upon cron to run.  It actually isn't literally immediate--it just schedules it for the current time, and cron takes it from there.


Use the Advanced Search (in the Search menu) and check the box labeled 'Search in Trash (deleted contacts)'. It is a small check box in the Search Settings part of the Basic Criteria section.  Whatever search you do will look in the 'Trash' rather than among active contacts.

Once those search results come up, you can select your desired contacts and, from the Actions list, 'restore' them.


Requiring "Assigned" and "Target" contacts when recording Activity

The best way to handle this is with an extension that calls hook_civicrm_validateForm.  Documentation is available here: http://wiki.civicrm.org/confluence/display/CRMDOC/hook_civicrm_validateForm


Ok I see your config is still on the demo. A key piece of information missing is that the new relationship type is defined for a different type of contact (Student) than the client. If I change the relationship type to be between Individuals it works fine.

The role is a relationship with the CLIENT. If the client is an Individual, the relationship type needs to be one that is also with an Individual.

You could argue it would be nice to have an error popup, but this just seems like a configuration issue - it needs to be the same type as the client.


How can I change the currency of my sandbox authorize net merchant?

Welcome to SE CiviCRM, The question you raised is basically for Authorize.net support team instead here. You will need to contact Authorize.net support team to change the currency for your merchant account.


How to add extended reports blocks to Contact Layout Editor

Solution:
Once the ExtendedReport extension has been added, there will be additional reports shown in the CiviReports section.  To be able to use one of these as a block, go to Administer -> CiviReport -> Create New Report From Template and then find the Extended report you want and click on that report.  The next screen it takes you to is the important one.  You can make amendments to the report there and you must go to the Display Options tab and select "Make available for contact summary page (requires contact layout editor extension)", then refresh the results and then view the output.  Next, you have to use the Actions dropdown to "Save a copy" and call it the name of the block you want to appear in the Contact Layout Editor.
Once you have done this, the block will appear in Contact Layout Editor (you may have to go out and back in to the Contact Layout Editor for this to show) and then you can drag it in as you can the other blocks.


Is smart group cache set to 0 OK for this situation?

In your situation its reasonable to set cache time to 0 since your smart group is very less and hopefully those smart group criteria are not complexed.


Easy way to read email on staging sites?

Redirect to database puts them as mass mailings, or used to. You can read them in the UI the same as those.


Document merge in CiviCase from scheduled activity in timeline

The print/merge activity type is usually a "system" type that gets created when you use the print/merge search results action, or the Export Document button on Manage Case, not an activity you usually create yourself. The fact that it works from the add activity dropdown seems to be because of some sneaky code that was added to make it do the same as the export document button: https://github.com/civicrm/civicrm-core/blob/915e9edd65c7b594372897923734ec52e67f1835/CRM/Case/Form/CaseView.php#L248-L251


Having issues with recording new payments for registrations paid with credit cards

I don't have the same error, but a similar issue with workflow for processing additional cc registrations where we can't "submit a credit card edit to an event registration" to add these items for folks. That would be ideal.

Last year we worked around by either having them run through registration again for only the additional item or submitting a credit card registration for the additional item in the back end, then consolidating the line items in one record, updating the amount paid, forcing the status 'registered' at the top, and deleting the second event registration.

This caused a bunch of problems for example the event report dollar amount was off because when editing event registration line items you can't add in discount codes or edit the event total, only the contribution total. Therefore only the contributions dollar amount with that financial code was correct.

In the end the event ran and the badges printed. Not a great answer but this is what we ad-hoc threw together and wanted to say you aren't the only one who has had this workflow issue for events.


i think ADG have swopped out the civicrm logo with their own. If so then you can disable this on your system as a whole by going to /civicrm/admin/setting/misc?reset=1 and turn off the 'empowered by civicrm' setting


Recurring contribution cancelled in CiviCRM but still active in PayPal

I could be wrong, but I don't recall reading that CiviCRM tells Paypal to cancel the recurring charge. I think you have to do that in Paypal.


Set the Webform-CiviCRM Contribution Amount to a parameter value

Just adding to this -> this is now possible (since today: many thanks for Fuzion for re-asking this question and helping to see it through!); we had to relax a form_error that was preventing tokens to be injected in the default field for
contribution_total_amount;

You can now do:

/webform-civicrm-example?civicrm_1_contribution_1_contribution_total_amount=120

and if you have configured your Contribution Amount -> default as:

[current-page:query:civicrm_1_contribution_1_contribution_total_amount]

Then it will fetch that $120 -> and give you:


Importing CiviCRM Transactions into quickbooks

How about invoicing in CiviCRM - you can do so as of 4.6!

Here's how: https://docs.civicrm.org/user/en/4.6/contributions/invoicing/


Bug or feature? Logged in, can't do event registration. Not logged in, Event Registration loads

Also need permissions for Profile View and Profile Create?  That solved a similar problem in my case


Yes - you can change the default email greeting by navigating to Administer > Communications > Email Greetings - the system will use whatever format is marked as the default unless a different format is indicated in the Communication Preferences of contact's record.

Hope this helps!


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

Under Search - Custom Searches - Date Added to CiviCRM.

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


if i was testing this, i would

a/ confirm vbo works for you for normal drupal process (eg node based view, can you use vbo to publish/unpublish), then if that works,

b/ set up a civi contact based VBO that uses other entities. if it fails,

c/ export the view and attach here so someone else can confirm if it is an issue on their set up


CiviMember - Adding a premium when recording a membership payment

If these are new subscriptions only then you can create a price set where one price field contains the subscription fee and another the gifts on offer.  The back office staff would select the premium at the same time as they record the subscription payment.


Custom fields not showing in import and export filter

Deleting the custom fields sets and creating them again solved this issue. :-{


How to customize Contact Map popup on clicking on icons?

When you select Google as the map provider, I assume the Map Contact shows up.
Ensure that When you select GoogleCityOnly, you also retain the Google Map API Key. The code checks for the presence of both a mapping provider and a mapAPIKey before displaying the Map Contact link
If you want to "modify" the code to avoid the Map API key for now, check: CRM/Contact/Selector.php and search for mapAPIKey


How to get a CiviCRM popup form (eg create new Group / Tag etc) working via a Drupal link

At this point it looks as if putting

civicrm_initialize();
$manager = CRM_Core_Resources::singleton();
$manager->addCoreResources();

in to a module in hook_init() does the job.


WkhtmlPDF issues with the path in CiviCRM

You need to give it the FULL path, and include the actual executable file, e.g.

/usr/local/bin/wkhtmltopdf

The path you have in the screenshot has 3 problems:

it's missing the wkhtmltopdf executable at the end
it's not absolute, i.e. starting from the very top level / directory
it would be really unusual to have usr/local/bin under public_html. Your installed executables shouldn't be under public_html (security risk) and I doubt an rpm would put them there unless you manually put them there. When you say "unpacked" do you mean installed (rpm -ivh) or just extracted the files inside and put them under public_html?


You can make your own custom field on Contribution records: for example a radio button anonymous donation: yes/no

Then when you generate CivCRM reports you can decide to exclude contact who say yes or say no for any given contribution by using Filters.

If you use Drupal/Views you can pull that data into a page view and with Views PHP module you can rewrite the Names if radio = yes to 'Anonymous'.

Legislation in your country will determine whether or not your org must have the real donor's name in your CRM.


Multi-Value custom dataset is only available for Contacts and Contact Type custom fields. But i believe it is possible to make it available for Events by creating an extension and adding code using hooks to hack the current behaviour in CiviCRM. I am not sure if anyone has a plan or willing to add this functionality in future version of CiviCRM.


We solved our issue - it appears to be related to a separate bug. The OG name we created had some formatting that either OG or the extension (or Civi) did not like

"Course Name 19-20: More things about the course: Subtext"

We changed it to "Course Name 19-20" and then it saved the groups, etc. and worked properly in PHP 7.1


Been searching high and low... best approach for dispaying member information in WordPress?

If you are looking to contribute funding, it would be best to direct some funding to those pursuing creating Drupal Views like tools for Wordpress. Please see this thread How do you approach "things that you would use Drupal views for" in WordPress?.


'options' => [
    'sandbox' => false,
    "open_tracking" => false,
    "click_tracking" => false
  ],


I can add inline styles by opening the source code of any text in a block and add in HTML tags with style="" and it works. Are you trying something else? or have I misunderstood your question?


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


If you want a quick hack, you can change it in CRM/Core/Payment/Manual.php in the getBillingAddressFields() function. Just rearrange the order in the return statement.

To do it without a hack you might be able to use the buildForm hook in an extension. You could also move it with some jquery but that's also a bit of a hack.


Import donations from an external source using Form processor

We use the Form Processor at a few of our clients for scenario' s like yours. In most cases we use this in a configuration with CiviCRM on another server and outside traffic (including the Form Processor API request) coming in through CiviProxy (https://docs.civicrm.org/civiproxy/en/latest/).

For this we use the CiviMRF framework (https://github.com/CiviMRF/cmrf_core).


Can I control visibility of CiviCRM profiles that are used for "View/Edit Drupal User Account" using permissions and/or ACLs?

If this is problematic it could be easier to provide these as Webforms which have fine grained access settings


Is there a token for the email used in a CiviMail mailing?

This token doesn't exist as a CiviCRM token.  However, if you're using Smarty rendering for CiviMail then you can use the Smarty tokens,which wil include the email address.

While Smarty rendering will add overhead to CiviMail, so does rendering non-contact tokens.  I'm not sure which way will be faster - or if that matters to you.


Returning from all contributions of a contact to all contributions at all? a bug?

If you examine the link to view all contributions from the bottom of the contributions tab, it actually takes you away from the contact record and directs you to the contribution search, with your search parameters (namely, the contact ID) prepopulated.  Once you're done viewing the contribution, you get taken back to the contribution search page (without your previous search parameters, alas).  I would agree that it's not as user-friendly as it could be, but I wouldn't classify this as a bug per se.  One workaround might be to open up the contribution info in a new tab, which will leave your contact's contribution search intact.

Lesley


How can we view past civievents in the events summary dashboard on civi? we can only see current and future ones

Welcome to SE! I don't think you can configure the dashboard, but you can get a similar result by using the Event Participants report and searching by event them name and grouping by name. And you can filter by a specific period. You can save this as a new report.


Participant Search - Failed to interpret input for search

This appears to be a bug since i can replicate at https://dmaster.demo.civicrm.org/civicrm/contact/search/advanced?reset=1

gives

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.

Failed to interpret input for search

Have mentioned in https://chat.civicrm.org/civicrm/channels/product-maintenance


As @petednz mentioned, it does sound like that your entries are being merged. You can check what dedupe rule Caldera form is using under the Contact 1 processor.  if you didn't create a dedupe rule that always create a new record, then it is likely that it will use an existing rule that merges the new entries.  To create a dedupe rule that doesn't merge, you need to get to CIVICRM and go to Contacts>Find and Merge Duplicate Contact and create a rule under the Individual Section.  Click Add Rules for the section and i suggest the following entries:
Rule Name = Always No Merge
Usage = General
Reserve = No tick
Field =    Address Name
Weight (same row as Address Name) = 10
Skip    the rest of    the rows
Weight Threshold to Consider Contacts    'Matching':100
the idea is to set a dedupe rule that will never be matched, more on how the dedupe rule works is here: https://docs.civicrm.org/user/en/latest/common-workflows/deduping-and-merging/
then go back to Caldera Contact 1 Processor and refresh the browser.  You should see the new dedupe rule "Always No Merge" listed there for you to select.  Any new entries would be a new record now.  However, if the records do belong to the same individual, you would have the merge the records manually.


Is unicode not supported in clickatell SMS extension?

I suspect the unicode issue arises from the clickatell extension. It uses the utf8_decode() function to decode the message text from a UTF-8 string to ISO-8859-1 before posting to Clickatell. Hence Clickatell manages UTF-8 messages, the use of utf8_decode() is not necessary, and removing it resolves my issue above.

Replace original code:

$postDataArray['text'] = utf8_decode(substr($message, 0, 460)); // max of 460 characters, is probably not multi-lingual
$postDataArray['content'] = utf8_decode(substr($message, 0, 460)); // max of 460 characters, is probably not multi-lingual

to this one:

$postDataArray['text'] = substr($message, 0, 460); // max of 460 characters, is probably not multi-lingual
$postDataArray['content'] = substr($message, 0, 460); // max of 460 characters, is probably not multi-lingual

I'll provide a patch to Clickatell extensions, if this solution gets confirmed by the community.


Hmm, I looked at a new download of that version of the civicrm module and it doesn't have that file. It seems that civi on this project has been "customized"


Why did Case Type get stripped from all Smart Groups after upgrade to 4.6.9?

No answer necessary for this question.

More recent versions of Civi seem to have resolved this issue.


Error whilst sending email via Mandrill extension on Wordpress / Civi 4.7alpha5

JMA will be releasing a version of the extension that works with 4.7 in the first week of February. Sorry for the inconvenience.


Summarizing the discussion from the comments.

The error indicates that the table contains a duplicate row.
After the row was updated the index could be created.
To find the correct values for the row was done by examining the linked tables.


You have two options for this.

One is to use CiviCRM profiles.  There's an instructional video and a section in the profiles documentation on using profiles as a form.

You can also use Webform-CiviCRM integration (if on Drupal) or Caldera Forms with CiviCRM integration (if on WordPress).  These will give you more flexibility on the look and feel, and are generally more powerful - but from what you describe, you can use either.


Webform does not allow create new contact if contact not in select list

solved my own problem.   Looks like the +create+ new does not do in-place entry but is used in conjunction with the program field which is either  populated with the select list option or can be used to enter/create a new contact (program)


From the error it looks like the user doesn't have necessary permission to access the page. You will need to give permission to user to register online.

Thanks

Pradeep


Is there any reason to not run the scheduled job Clean-up Temporary Data and Files every hour?

Check how long it takes to run on your system. if it doesn't take too long, I don't see any reason not to run it hourly.


I'm a little unclear about the requirements, but if the status of a contact's year is known then perhaps you can use CiviDiscount.

Automatic discounts can be applied to existing members and contact types.


What is the easiest way to see the MySQL queries run by a CiviCRM page?

If you want to see everything, you can enable MySQL logging as follows (don't do this on production!):

From the mysql console (or within an application like MySQL Workbench), run:

SET global general_log = 1;
SET global log_output = 'table';

Look at all queries run within the last 15 seconds

select *
from mysql.general_log
where
  command_type = 'Query' and
  event_time > now() - interval 15 second;

Try to find queries on the civicrm_contact table

select * from mysql.general_log
where
  argument like '%civicrm_contact%' and
  argument not like '%general_log%'
order by event_time desc;

Clear the log

truncate table mysql.general_log;

Turn off logging

SET global general_log = 0;


Restrict users to viewing only data in their state?

Seems like CiviCRM ACL might be your answer.

https://docs.civicrm.org/user/en/latest/initial-set-up/permissions-and-access-control/

Native CiviCRM ACLs give more fine grained control, so, for example, you can limit access to view, edit, create, delete and search to :

groups of contacts
a profile (this is a collection of existing and/or custom fields, see "Profiles")
a set of custom fields
events (e.g. a user may access one event, but not others)


How can I add Option Group for custom data field in CiviCRM

Are you trying to add these in an extension?  If so, see adding custom fields with civix which suggests creating them via the GUI then exporting them.


Sales Tax not added to total when memberships include donations that are separate transactions

Looks a bug - can you log an issue in gitlab - https://lab.civicrm.org/groups/dev/-/boards


Unable to map fields when exporting to CSV

This is working on https://dmaster.demo.civicrm.org/civicrm
It will help if you can add your CMS version, CiviCRM version etc to your question. This could be something interfering with the display of the 'add field' feature

If you know how to use your browser 'inspect' you may be able to identify an error in your Console


Can I use tokens in Civi profile Cancel Redirect URL?

I'm pretty sure that token availability is the exception rather than the rule.  You shouldn't expect tokens to be replaced in the redirect URL.


Can you propagate custom data in New Activity?

If I'm reading the code correctly, it sends the slightly misnamed "Cases - Send Copy of an Activity" template, found under Mailings menu > Message Templates, "System Workflow Messages" tab.

If you add a Smarty debug tab, like this: {debug} to the top of the template, you should be able to send yourself a message and see a list of all available variables, which you can add as Smarty tags.  If what you're looking for isn't there (I suspect it's not), you can add it.  The core code is here: CRM/Activity/Form/Activity.php.  You'd be better off using an extension that adds them as part of hook_buildForm though.


Are there any CiviCRM loyalty/rewards extensions available?

This may not be exactly what you were after, but CiviCRM does have the ability to add "premiums" to contribution pages as a reward to donors. For example, "Donate $20 and get a coffee mug".

From the book:

  Premiums

  Configure premiums, such as T-shirts or subscriptions, that you want to offer on your contribution pages:

  1) Navigate to Administer > CiviContribute > Premiums (Thank-You Gifts).

  2) You can edit an existing premium or click Add Premium to add a new one.

  3) Once you edit or add a premium, you can then enter additional information: Name, Description, SKU (an optional product code), Premium Image (an optional image of the item), Minimum Contribution Amount to receive the premium, Market Value of the premium, Actual Cost, and Options (e.g., colors and sizes).

  4) If you're offering a subscription or service, you can also click on the Subscription or Service Settings and define additional information here, such as Period type (e.g., Fixed or Rolling), the Fixed Period Start Day, the Duration, and the Frequency.


I figured it out with the help of the back trace from the error.

It was the CiviAlerts extension which I had installed apparently, I really liked this CiviAlerts too because it let me give my mail admins a message window to see when I wanted all of them to do something differently (like use a different smart group for example in a mailing).

Anyway I just went in and turned off that Extension then redid my test and guess what?  The form showed up with the email (and a few asterisks) and a confirmation page.  Problem solved.  Thanks for the assistance.

The changes described in this Pull Request for the CiviAlerts extensions should resolve the issue: https://github.com/mr-vara/me.vara.civialerts/pull/1


How can I find contacts who have multiple home email addresses when on hold?

There isn't any UI in vanilla civicrm install that provides a way to find multiple same email address or phone or address for a contact. You can either use Mysql knowledge to get all the duplicate records or create an extension to manage from UI


Why Can't I use an Organization Profile type in a Contribution Page?

You kind of have two questions here: the second being an issue you ran across after addressing the first.

To start with, yes, the main profiles on a contribution form are limited to contribution fields, individual fields, and fields for all contact types.

The presumption is that only individuals have fingers to fill out a form; even if the form is an organization's membership or donation, it's really an individual acting on behalf of the organization.  However, you already solved this: you started using the "on behalf of organization" options.

I know the feature you describe with the cid=0 for filling the donation form as someone else, but that box should only allow you to select individuals, since it's filling the parts of the form that are individual-specific.  Meanwhile, it wouldn't necessarily make sense to fill the organization fields, because an individual may have any number of relationships with organizations.

If someone were to extend CiviCRM to add a second box for selecting the organization that is related to the individual making the contribution, that would be a nice feature.  However, it doesn't do it at the moment.


A solution would be to create a smart group per relationship type and then another smart group that contains all 3 groups.

I am not sure why in advanced search you can only select one relationship type and not more at the same time.


Allow multiple registrations from the same email address requires a profile of type 'Individual'

The list line is probably the information you need

  "Supervised rule for Indivual does not exist"

Go to your Duplicate matching rules and confirm if this is missing and create it.

/civicrm/contact/deduperules?reset=1

Read the book on DeDupe rules if you need more info on creating Rules.


Is there an introduction to CiviCRM Entity anywhere?

I found the best introduction was this workshop: https://denver2015.civicrm.org/sessions/civicrmdrupal-integration-showcase  The PDF on that page is helpful; the video of the workshop is available here: https://www.youtube.com/watch?v=i2GpnrVGdrc.

Note also that there are significant plans underway for CiviCRM Entity announced this week, see here: https://www.drupal.org/node/2676756


With contact view, I guess you mean when a contact summary page for a specific id is loaded you want me to increment a count number and store it in DB to display it in the report.
Currently, there is no such feature in core civicrm. You need to add a custom extension to add this functionality. See more details to build a simple ext at https://docs.civicrm.org/dev/en/latest/extensions/civix/. Some basic steps would be -

Add a custom field to extend Contact eg View Count.

Use hook_civicrm_summary to increment the value of this field for a specific contact ID.

You can use this custom field to show on any report provided by civicrm.


There's no way to do that through the UI. You're probably better off cancelling the mailing and recreating it.

If you're comfortable and familiar with the database you could edit the civicrm_mailing_recipients table for the relevant mailing, but that would be pretty fragile/risky.


How can I safely revert to earlier version of CiviCRM without reverting the database?

There are no database changes between the 5.10 versions so you can switch the code back & forth without issue - however you will lose the security patches, making your site vulnerable - which is not great since the SAs have been published - it might be you do that temporarily but prioritise getting the extension fixed. If you tighten the permission on accessing uploaded files it will mitigate the security issue - does the extension use uploaded files & images?


Per Karin's advice, filed bug report on Core - https://lab.civicrm.org/dev/core/-/issues/1767. Filed a separate one for webform_civicrm - https://www.drupal.org/project/webform_civicrm/issues/3137284. Both are needed for our use case.
I proposed patches with each issue, should anyone else run into this before it is fixed properly. BTW, good to know that the phone match is based on digits only. All formatting & decorations are stripped off.


The word replacement feature will only replace words that are part of the CiviCRM interface, and not words that are in your 'configuration'. This may not be at all obvious, but the key is that those occurrences of "Contribution" in the reports section are actually pre-configured report instances. So you can change them by going in and editing the reports (or rather, the report instances) themselves, via the web interface.

I should also say that you're probably working too hard to make it look 'right'. Although you may only use CiviContribute for donations now, you may end up wanting to use it for event registration in the future, for example.


Would using the Group Based Pricing extension be an option? You could then in theory create a smart group for those contacts that have attended the event and use that group in the price configuration?


Is it possible to modify content in the invoice template based on contribution currency?

Yes, you can change the invoice value based the currency

To start with please create an extension using

hook_civicrm_tokens and hook_civicrm_tokenValues

Make the necessary changes in Message Templates -> System Workflow Message -> Contribution Invoice Receipt

This will allow you to make the changes in Invoice


Here is an example of one I have used:

 public function upgrade_1002() {
    $this->ctx->log->info('Applying update 1002 (add country)id to civicrm_project table and renaming manager_id in civicrm_programme table)');
    if (CRM_Core_DAO::checkTableExists('civicrm_project')) {
      if (!CRM_Core_DAO::checkFieldExists('civicrm_project', 'country_id')) {
        CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_project ADD COLUMN country_id INT(11) DEFAULT NULL');
      }
      if (CRM_Core_DAO::checkFieldExists('civicrm_programme' , 'contact_id_manager')) {
        CRM_Core_DAO::executeQuery('ALTER TABLE civicrm_programme CHANGE contact_id_manager manager_id INT(11)');
      }
    }
    return TRUE;
  }

Does this explain it a little? And obviously you also have to make sure your install query is fixed as this will be used when installing, not the upgrades.

And another one with the sql in a separate file:

  /**
   * Upgrade 1003 - add table civicrm_case_project
   */
  public function upgrade_1003() {
    $this->ctx->log->info('Applying update 1003 (create civicrm_case_project table');
    if (!CRM_Core_DAO::checkTableExists('civicrm_case_project')) {
      $this->executeSqlFile('sql/createCaseProject.sql');
    }
    return TRUE;
  }


Search for contacts within Geocoded regions/borders

We had a similar need and used mapit: https://mapit.mysociety.org/. Every time an address is created/updated we use the mapit API to grab the associated parliamentary constituency, European region etc. It looks like the mapit API can give you England/Wales/Scotland/NI too (though it's trivial to translate from the European Region).

We did similar to @ErichBSchulz and created a custom field that is populated by this API lookup. We then have smart groups running off that.

Happy to share our somewhat hacky extension if it'd help, though you'd need to adapt it to your needs. Caveats are: it only works if you have the full postcode; currently we don't have a way to run it for imports; you'll need to populate your existing database somehow (we have a million-row excel spreadsheet we got from one of the government's open data things).

At one point Veda Consulting were working on a service that did something similar - possibly building on top of their postcode lookup service. Might be worth pinging them in case they have something more robust.

EDIT: published this extension at https://github.com/bhahumanists/bha.politicaldata


CiviDiscount big red box error appears at the top of an event that uses discounts

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+


I found this, it just took a while to show up! It is under the mailings section, I guess I just need to give the server some time to refresh.


Case Activity does't respect 'Do not notify assignees for'?

It's not intentional but it's come up before. See https://lab.civicrm.org/dev/core/issues/1582 and https://lab.civicrm.org/dev/core/issues/1649

UPDATE:
@pradeep-nayak submitted a PR https://github.com/civicrm/civicrm-core/pull/16800 so it will restrict for case activities too in version 5.25.


Trying to kill civicrm/civicrm-cxm-rpc to fix a conflict, and it won't die

Problem appears to have been a newbie-to-Composer issue. Every time I ran various composer commands, I'm told it overwrites the .json files I've been furiously editing for four hours, putting back all the code I'm trying to kill? Charming. Had no idea.

Was also told that the way to do this is to fork the project and point my top-level composer.json at it instead, then edit in the repo. That, however, requires learning eight skills I don't have yet—so I put in a quick-and-dirty hack: deleting the repositories lines from the top-level composer.json. That disconnected my local structure from the repo, and when I killed civicrm/civicrm-cxm-rpc again and required the google/apiclient that needed a newer phpseclib, it installed without a quibble.

Would still like to hear if axing civicrm-cxm-rpc has wider effects than I'm inferring from the docs.

EDIT TO ADD: Installing Open Social over the composer package of Drupal 8/CiviCRM died screaming in ways I didn't understand, so I'm now trying the reverse: using the distro of Drupal 8 and Open Social and patching it with CiviCRM, since dsnopek has a composer script that does only that.

This is running into several conflicts, and this time I am forking in github, because the above hack didn't work the second time through.


I would say you can create a group first using Advance search and in the contribution report try to list all the contact based on the group

This will provide you all the contribution column and also contact related columns

I guess this helps !!!


If you can produce a test for the email, and the token is replaced by the field value, then you might have a permission issue.

It might be buried deeply, but see which role your Cron user has.  Be sure the "CiviCRM - access all custom data" is on for your Cron user.


I had the same issue and found the problem.  Perhaps this will help you.  On my site, I modified the css to hide some information from the public facing CiviCRM pages. When I did that I also hide the Actions Drop-down. When I commented out this one line, the Actions Drop-down displayed again:

/* .crm-container #search-status {display:none;} */


How to design ACL for a multi-level organisation

IMHO it seems like you really need a consultant for this stuff.  Hopefully an organization of your size (400 chapters with an unknown # of people per chatper) has budget for help.

But let me offer a few bits of advice:

the "corresponded Organisation Group" as you put it CAN be a smart group, thus people (not admins) can self-select their own groups when they signup and/or register if you use a custom data field for "select your chapter".

CiviMember Roles Sync doesn't work as you describe, that's Civi Group Role Sync for that functionality
I'm not sure why you feel people need to use CiviGroup Role Sync
Don't understand your point 2.3

So I hope that helps, I've done this on a smaller scale for a group with 12 national chapters and 20-30 people per chapter, it works pretty well.  Please remember I do think a consultant with experience on ACL is needed.


I'd suggest you create 2 custom fields for this in the activity (pickup location & contact phone number). You can then use a bit of javascript to insert the contact's email & phone into those fields and it will come through in the activity email. As an added bonus, this approach gives the flexibility of allowing the user to override those defaults if the person needs to be picked up elsewhere.

To do this, your buildform hook needs to do 2 things:

Request the extra address/phone info from the target_contact_id field. You can do:

$form->_fields['target_contact_id']['attributes']['api']['extra'] = array(
  'street_address',
  'city',
  'state_province',
  'postal_code',
  'phone',
);

Add your javascript to the form using CRM_Core_Resources (hint: create a js file in your extension, and use CRM_Core_Resources::singleton()->addScriptFile('myExtension', 'js/myScript.js'))

Your javascript can then use some basic jQuery like:

CRM.$(function($) {
  $('#target_contact_id').change(function() {
    if ($(this).val()) {
      // This contains the extra fields you requested
      var data = $(this).select2('data')[0].extra;
      // For example, populate a custom field with the phone
      $('#custom_42').val(data.phone);
    }
  });
});

You can read more about javascript in CiviCRM here.


Sorry but we are not able to provide this at the moment. DB Error: no such field Return to home page

Based on the error in the debug message, the problem field is this one: civicrm_value_developing_an_accredited_course_5.provide_instructions_on_any_furt_119

I can't find it now, but there was a bug report recently that discussed problems with very long custom field names.  Please find your custom field with an ID of 119 and see if the form works when it's removed (or at least see if the MySQL error changes).  Consider recreating those fields with shorter names - you can always display them with the longer "names" in the profile's field label.


Would it be feasible to store the fact that a scheduled reminder has been sent, without storing the content of the email?

A variation that might be easier is put whatever you did to test removing the content into a script and run it daily via cron. I'm assuming you did something like

UPDATE civicrm_activity set details='' WHERE (something)


Report with household, individuals and contributions

There is a Contributions by Household report available under Reports > Contribution Reports by default in CiviCRM.  This should provide at least the basics of what you need.  You may need to edit the filter criteria to set "Household Member is" as the Relationship Type rather than "Head of Household is".


Submission of a form on wordpress OK with chrome but not valid with Firefox, Safary

Its down to permission, make sure anonymous user can access the profile. It is possible that on chrome you are logged and safari you accessing the profile as anonymous user.

Navigate to CiviCRM >> Administer >> Users and Permissions >> Permissions (Access Control). Click on 'Wordpress Access Control' link.
Look for 'CiviCRM: profile create' and check the box under anonymous or authenticated role column and save the form.


Found the solution at the page mentioned:
Turns out out it works with +15005550006 which means, there are still the test credtentials in the CiviCRM SMS Provider settings. Once they were replaced by the Live API information the earlier number also works.

Makes perfect sense to me.


Spark Hosting Integration with Existing Wordpress Site

Check out this answer to a similar question and see if it answers your question:
https://civicrm.stackexchange.com/a/27915/181


CiviCRM Entity you can reference contacts, like from nodes with the Entity Reference module...To get the UI you describe, should try the Dynamic dependent fields module, with its submodule DDF Entity Reference

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


SpamAssassin marking mailings as compromised WordPress site

Can you detail out some more information.   Without the filter added there is no change at all to mailings pre and post civicrm 5.25.   The urls are the same until you add the filter.   I am unsure how to evaluate without a list of the URLs they are dinging you for and I understand you would not want to post them here.  As far as the REST API for mailing, you can try this https://develop.tadpole.cc/plugins/cv-rest-mailing  it's a small plugin that implements the filter needed.


A week after upgrade whole site is erroring

I had the same issue and the same solution - the antivirus renamed the

  httpdocs > sites > all > modules > civicrm > CRM > Extension > System.php.suspect

Not sure how to make the server leave that file alone, or what triggered it.


Can we report on contributions by payment processor?

There are no such reports in CiviCRM that will filter Contribution by Payment Processor. Payment Processor and Payment Method have different meaning. Payment method can be used by N processor. Here are some solutions

Going forward have your system to use unique payment method for a payment processor with same name and then you can filter the report using Payment method. So that in future it can be tracked easily using payment method. However, for historical data I won't recommend you to update the Payment method since you will need to update in two tables i.e civicrm_contribution.payment_instrument_id and civicrm_financial_trxn.payment_instrument_id. Changes to civicrm_financial_trxn might impact on Bookkeeping entries for those which are exported in batch and closed for accounting period.
Build a custom report for contribution having Payment processor as filter and/or column.
Use AlterReportVar hook to add filter and/or column for existing contribution reports and build query accordingly.

The basic query to retrieve contribution done using payment processor is

SELECT cc.id FROM civicrm_contribution cc
  INNER JOIN civicrm_entity_financial_trxn ceft
    ON ceft.entity_id = cc.id
      AND ceft.entity_table = 'civicrm_contribution'
  INNER JOIN civicrm_financial_trxn cft
    ON cft.id = ceft.financial_trxn_id
WHERE cft.payment_processor_id = 1;


Go into CiviCRM admin>Contributions>Find Contributions to find the relevant contribution(s).  When the search is complete, on the very right hand side of the Find Contributions screen and in the relevant row, you will see the word "Delete".  All you then need to do is click on "delete" and the contribution will be deleted.

Alternatively, if you are viewing a contact record, choose the "Contribution" tab where the contact's contributions will be listed.  The "Delete" button is on the right hand side.


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


How do you get contact_id in a custom form?

Can you explain a little more what you are after in what circumstances?

Generally speaking: when in a form Custom Data I would expect to see something like entityId or _entityID. Depending on the defintion of the custom group this would be the contact_id (or membership or activity etc.)


Why is inbound email activity uneditable in case activity list?

This turned out to be an issue with the specfic version (4.7.29). In later versions, inbound emails are not editable at all through the GUI. Where an edit button exists, clicking it leads to "access denied", even for administrator with all permissions.

In my case I had a requirement to allow changing the status of the activity to record whether someone had looked at the email or not. Since this is not possible through the GUI, I ended up writing some custom code to do this, and customised the template to add a "Mark as read" button to fire said code.


CiviCRM loads its own copy of jquery. This interferes with WP plugins

To be clear, the article that you linked to says why it's irresponsible to remove the default jQuery in WordPress. Are you sure that CiviCRM is doing that? My understanding (possibly incorrect) was that Civi just uses its own.

Do you have the console errors that SpamShield was throwing that proves that this is what the error is? This may be a namespacing issue.


Is Civi compatible with Wordpress5.0? *SOLVED*

****SOLVED****

The issue is caused by the Civi-Calendar extension. I have contacted the developers about it and asked them to upgrade their extension to make it compatible with civi 5.8. The below files caused specific problems and were disabled.

public_html/wp-content/uploads/civicrm/custom/custom_php/CRM/Core/SelectValues.php

Breaks the Add Relationships function.
Breaks the search box on the top left corner.

public_html/wp-content/uploads/civicrm/custom/custom_php/CRM/Core/Event/BAO/Event.php

Breaks page: Events > Manage Events Result Error 500


How do I view cookie or session information on the server?

More debug titbits.

Your question sounds like you're looking for the submitted/missing value name in the codebase - this form field name is probably not mentioned in the codebase if it's a value configured in the DB, as the form will then be generated.

Also, this name (say "volunteer_reason") may have been "munged" to a degree thanks to HTML_QuickForm's naming form inputs (you might see "contact_1_volunteer-reason_1" or whatever).

The most frequent cause of these not being populated as expected is when there is a mismatch between the originating and resulting request URLs. For those purposes, http://www.example.org and https://www.example.org are not the same thing; neither are http://example.org and http://www.example.org

This comment almost makes it sound like you're hitting session initialization issues - and that including the iframe prevents this. Weird.


tags inserted in rich text fields custom fieldsets when displayed as tabs

Oh I get it now. You mean
 tags in the html source when you are in view mode causing extra line spacing to appear on the screen, not the literal
 appearing as a visible string
 on the screen.

So I personally agree that's not a faithful representation of the stored html which normally ignores whitespace when displayed, but it looks like it's been that way for a long time. Where this is coming from is https://issues.civicrm.org/jira/browse/CRM-11598 which doesn't specifically say it but I'm assuming it's referring to when you choose TextArea as the type for the Note field, where you would want this. The code looks like it's here: https://github.com/civicrm/civicrm-core/blob/master/templates/CRM/Custom/Page/CustomDataView.tpl#L90

So ideally it would also check to see whether it's TextArea or RichText. You can file a bug report at https://lab.civicrm.org/dev/core/issues


Once you set the default value, you have to somehow trigger an update for your contact records so the default value gets populated. One way to do this might be to export a minimum of contact fields and re-import them (careful with this technique, unless you do it properly you'll create a lot of duplicate contacts in your db!).


Several contributions generated after paypal payment

This may not be specific to PayPal - I think it may be related to a bug that has been resolved in the latest release candidate:

http://dist.civicrm.org/by-date/2016-06-26/4.7.9-rc/

Should not be long before it's out.

Here's the JIRA issue on that:
https://issues.civicrm.org/jira/plugins/servlet/mobile#issue/CRM-18661


It looks like you still need to configure the job parameters for geocoding, for instance for the 'geocoding' parameter it expects 0 or 1, but literally "[0 or 1]" is being passed.

So if I want to geocode starting at cid 1 and end at cid 1000, but skip address parsing, I would pass the following parameters:

geocoding=1
parse=0
start=1
end=1000
throttle=1

If you're running this as a scheduled job, you can go to the scheduled jobs page (administer>system settings>scheduled jobs) and 'edit' your geocoding job. The box called 'Command Parameters' is where you would edit this information.

Some more info here: http://wiki.civicrm.org/confluence/display/CRMDOC/Managing+Scheduled+Jobs


Do you have the CiviMember Roles Sync module enabled? The code in this is very similar to the other 'role sync' modules and is currently quite slow. There is an open issue about it here: https://issues.civicrm.org/jira/browse/CRM-14770

Otherwise you could try putting markers in your code at various points to see where the slow-down is happening. Or use a PHP profiling tool.


I find that this is really dependent on the client's needs.  If all they need is a list of grants they applied for, I might use neither - and just use activities.  If they need to track upcoming deadlines for applications, deliverables, statuses, etc., then CiviCase is a better fit.


IMAP authentication error with Smartermail

I think the best approach would be to file an issue at https://github.com/zetacomponents/Mail/issues. It should be addressed in the mail library. There's a comment in the code near that line you changed where they have foreseen that there's this possible todo for other servers.

CiviCRM does support patching the library and does currently do that for something else, so it could be done on the CiviCRM side, but this one seems more appropriate to do in the library itself.


How to link to a stored invoice pdf with civicrm api

Invoices can be send via email or can be downloaded. Both create an activity (of type "Emailed Invoice" or "Downloaded Invoice"). The invoice pdfs are attached to that activity.

When you first get the activity via the API and collect the Activity ID, you can get information about the attachment via the "Attachment-Get" API function, where "entity_table" then should be "civicrm_activity" and "entity_id" should be the activity id.

For example in php:

$result = civicrm_api3('Attachment', 'get', array(
  'sequential' => 1,
  'entity_table' => "civicrm_activity",
  'entity_id' => #activity_id#,
));


First of all welcome to CiviCRM :)

As CiviCRM is published under the free GNU AGPL license there are no licensing costs and you do not even have to sign up. All your grasrootgroups can use your database or get their own copy /environment of CiviCRM (depending on your use case / requirements).


This can happen if triggers aren't stripped from the db dump before you read it in to your db. This requires running something like

perl -pi -e 's#\/\*\!5001[7|3].*?`[^\*]*\*\/##g' dumpfile.sql

Where "dumpfile" needs replacing with the name of your db dump.


New account creation during profile sign-up not creating Backdrop (Drupal 7) Account [SOLVED]

I found out by accident, or trial and error really, that if I select a Price Set in the 'Contribution Page' -> 'Membership Tab' then the new user is not created, but If I do NOT select a 'Price Set' and just the 'Membership Type', then the Backdrop User is created.
Now to get that to assign the correct Role is the next task.


Fetch membership type along with the contact details with civicrm_api

You need to do it the other way around. Membership is the main entity and then you join on Contact. The api explorer can help put it together but you're looking for something like:

$result = civicrm_api3('Membership', 'get', [
  'sequential' => 1,
  'return' => ["contact_id.id", "contact_id.display_name", "membership_type_id"],
]);


Wordpress user registration only through CiviCRM

It looks like you could do the following:

Disable registrations in WordPress entirely (instructions in this SE question), OR
Add a WordPress hook implementation in a custom module which prevents WordPress registration via the regular methods (instructions in this SE question), then
Use that hook to ensure that only the CiviCRM registration flow is allowed. (Use variables unique to only the CiviCRM workflow or WordPress registration workflow to identify whether the user has followed the desired path, and reject otherwise.)


Configuring cron using PHP cli method results in Permission denied

This cron job calls /etc/php.ini as the command, but that file is not an executable (it's the default configuration file for PHP).

(The "Permission denied" error is the same as if you asked "run the script README.TXT" - the file doesn't have exec bit set because it's not a program at all.)

Try this -

1 * * * * apache /usr/bin/php /var/www/example.org/public_html/wp-content/plugins/civicrm/civicrm/bin/cli.php -s domain.com -u wpuser-cron -p wordpresspasswordhere -e Job -a execute

Your PHP path may not actually be /usr/bin/php, so check the correct path by typing which php at a commandline and use that.

  Running it as the user apache definitely seems wrong.

This is OK. It means that CiviCRM when executed from cron and from the web will generate files using the same user - CiviCRM can have issues when it hits file access issues between multiple users, so using a single user for both www and cron is the simplest solution.


How does CiviCRM make the link between uploaded pdfs and the database table?

Try using the attachment api, it will handle the nitty-gritty for you.


This is what I have discovered through further trial and error.

To search on Changelog by Added or Modified, use first name, last name, or last, first. Using both names separated by a space will not work.
The Changelog search actually makes no distinction between Added and Modified. Even if you select the Added radio button to restrict your search to Contacts Added by a particular user, it will still also return Changelog matches on Modified (which does include Added). In other words, whether you select neither radio button, or one or the other, you get the same search results, in which Added OR Modified contains the name you entered.
The case of the search name makes no difference in results returned.

The answers to my question, then, are that a Changelog search term may be in the formats of [first name], [last name], or [last, first] and that Changelogs are only filtered by Added OR Modified, despite the UI indication.

Also note the very helpful discussions here about using Webforms with Drupal do create many more options for filtering by contact Add and Modify history.

Kathy


Payment Processor Error message 9003: MD5 Verification failed after upgrade

I found the issue. The ca.civicrm.moneris extension folder was deleted during the drush civicrm-upgrade process.

As a result, my "Moneris Credit Card" Payment Processor Type disappeared and defaulted to Authorize.net (which uses an MD5 hash algorithm) after the upgrade. After restoring this, I entered my API token as opposed to the store admin password in the Payment Processor Edit form and my transactions are now working again. I have renamed this field label to "API Token."


Enforcing the uniqueness of fields/entities (e.g. phone numbers)

I think hook_civicrm_check with the following SQL would handle notifications of duplicates:
SELECT phone FROM civicrm_phone GROUP BY phone_numeric HAVING count(*) > 1;

For back-end forms, you could modify the Supervised dedupe rules, though this wouldn't catch non-unique numbers belonging to different contact types.


How do we set up WordPress front end pages to allow our team to access CiviCRM admin tabs etc.?

One issue is that in Drupal, there isn't really a division between front-end and back-end.  The whole idea of an administration theme in Drupal is relatively new, and the default prior to Drupal 7 was that settings forms would look no different than content pages.

Meanwhile, WordPress (and, to an even larger degree, Joomla!) has a clear delineation between front- and back-end.  CiviCRM's main interface (the part for trusted users to see other contacts' stuff) is considered a back-end feature, and you have to access it via the WordPress administrative menu.

(That said, at least in WordPress it's a relatively smooth process to get to the back-end.  In Joomla! the login sessions are independent.)

To accomplish what you need, create a dummy user to serve as a prototypical case manager and do the following:

If you haven't already, install a role editing plugin for WordPress to allow you to define a new role for case managers.
Go to Administer > Users and Permissions > Permissions (Access Control) in CiviCRM and then click WordPress Access Control.
You should see a column for your newly-created role with a bunch of checkboxes.  Each row is a separate capability within CiviCRM, and by default, your new role will have none that are special.  You may need to experiment a bit with granting capabilities, but the ones I know you'll need to grant your new role are:

CiviCRM: Access CiviCRM
CiviCase: access all cases and activities

Most permissions have a description (shout out to Jane Hanley and Tommy Bobo for actually documenting all of them at a code and documentation sprint), so you can get an idea of what others you should grant.  Unless you grant specific ACLs (see below) for your users, for example, you'll probably want to also grant CiviCRM: edit all contacts and CiviCRM: view all activities to your role.
Use the "Private Browser" feature in Firefox (or "Incognito" feature in Chrome) to log in as that prototype user.  See if the permissions seem correct for that sort of user.  If not, go back to the WordPress Access Control page as an admin and adjust accordingly.  (When you, the admin, grant or revoke capabilities, you, the case manager user, should probably log out and then back in to make sure the permissions are working correctly.)

If you want to set up detailed permissions over subsets of contacts, fields, etc., you'll need to use CiviCRM ACLs to grant access.   Permission is additive, so if, for example, a user has the CiviCRM: edit all contacts capability, the ACLs for editing contacts will have no effect since that permission is already granted across the board.

Finally, check out the CiviCRM User Guide page for Permissions and Access Control for a more thorough guide to this.


Why did civicrm_status_pref table not get created during upgrade

We turned logging off and back on, and table was created and several other problems were fixed (eg cron warnings in system status.

Reminder, to self and others, that for upgrading old systems in particular, turning logging off/on can be a help


In CiviMail reports, how do I enable "Add these contacts to Group" for user levels other than Admin?

Joe - Did some snooping in the code, and currently 'administer Reports' is required to expose 'Add Contacts to Group' in any report. Of course 'view all contacts' or some ACL granting permission to a set of contacts is also required or report results will be empty.

I think 'administer Reports' is not the right requirement. 'edit all contacts' or an equivalent ACL allowing editing is required in the rest of the user interface to allow 'add to group' - so I think the same should be true in reports.

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


How to trigger JQuery event when drop down select list is changed in CiviCRM?

You cannot always predict the id or name for custom field for an activity, it is either custom_385_14(incase of saved custom field for activity where 14 is id from custom value table) or custom_385_-1 incase of new one.

I always follow below snippet to work incase of custom field and it does call my change event when i change option from select dropdown. I believe you choosed wrong id to actually call change event.

CRM.$(function($) {
  $("div#customData select[data-api-field='custom_385']").change(function() {
    $("#subject").val($(this).val());
  });
});

Or

  Try after installing the extension
  https://github.com/pradpnayak/org.civicrm.jsoncaseactivity . I have
  added the JS in
  https://github.com/pradpnayak/org.civicrm.jsoncaseactivity/blob/master/templates/CRM/Case/Form/Activity.extra.tpl

HTH

Pradeep


How can I switch off the CiviCRM print icon on public pages?

I think hiding it with CSS might be the most straightforward solution to this... I don't believe this is an option that can be toggled on/off in the admin settings.

Hope this helps,
Lesley


How to populate the tokens used for a Scheduled Reminder in the Activity

There is a JIRA ticket now CRM-20361 and will hopefully be in the next release.


Exporting data (users) into another location?

You can achieve this using Drupal + views, and can include all the necessary fields of the contact.
From Civi you can use Civi reports and download them as csv using reset=1&output=csv&force=1 in url.
Could also use getrows for reporttemplate entity rest api
You may need to check with user permission on both the options.
HTH
Pradeep


If contact has multiple cases, how do I filter a view to show only case roles associated to that case type

Thanks for the hint ErikH, you led me down the correct path.  We are trying to avoid coding and prefer to just manipulate the views as much as possible.

The view I was working on was a CiviCRM Case view.

I rebuilt it as a CiviCRM Relationship view and added these relationships:

After that, the Case Coordinators were listed correctly and I was able to add all other pertinent fields to the view.

The fields I displayed were:

Client Name (links to another view of client information)

Case Type

Case Coordinator

Case Status

Case Opened Date

Last Activity Date (turned on aggregation for the view and set only this field to Maximum)

View Case Activities (links to another view of activities filtered by contact id)

Add New Activity (links to a webform for that case type)


You need to configure the rollover date in the Membership Configuration. Please see:

https://docs.civicrm.org/user/en/latest/membership/defining-memberships/


How do you restore contacts that have a deleted custom contact type?

You could change clean out all the contact_sub_types of the relevant contacts directly in the DB with an SQL Query. That would be something like:

SELECT * FROM civicrm_contact WHERE contact_sub_type IS NOT NULL AND contact_sub_type NOT IN (SELECT name FROM civicrm_contact_type)


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

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

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

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

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

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

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


CIVIRM adding characters to Event name on submission to Paypal, payment received but shows as "pending, incomplete payment"

"1679-2049-3V2016 - Modul..." is the contactID and contribution ID stored within civi respectively, followed by the event title, but concatenated to fit the total length allowed for the Item title.

This seems to be a change in the new version. Quite why this has changed from  just the event title, I'm not sure, but I guess its been added to help reconcile who the contribution is from and what for to make it easier to match up paypal and civi records.

The second issue is different theres a resolution coming out for this for Joomla (see https://issues.civicrm.org/jira/browse/CRM-18245) - maybe it will fix drupal as well.


CiviMail - KCFinder upload issues - "You must be logged in with proper permissions", Chrome only

I had the same problem in civicrm 4.6 drupal 7.50.

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


How to display Contact Summary address in an Activity Form?

Like Jon G suggested a little more information would help a lot, I am now assuming I understand what you mean but I do not really :-)

Obviously it is possible to place the address on the activity form (I am assuming you mean the form of the activity when you click 'edit'/'view'? But you can not do this from the UI, you will need to do some customization.

My way would be to write a little extension and use the CiviCRM buildForm hook to add the address on the list of form variables, and add a little jQuery to the template (using CRM_Core_Region::instance('page-body')->add(array('template' => 'yourtemplatewithjQuery.tpl'). This answer assumes you are familiar with PHP and jQuery and with concepts like CiviCRM extensions and hooks. If you are not, the place to start would be the CiviCRM Documentation at http://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+Documentation.

ALternative would be to add jQuery to your own .tpl, retrieve the Contact Address with the CRM.api3 function and then display the address. Example of the CRM.api3:

CRM.api3('Contact', 'get', params).done(function(result) {
         <your function>
        })


When removing a group from a contact I get: Error - DB Constraint Violation - GroupContact, get API

This bug seems to occur on old (i.e. version 2.x) installations, due to an error in an old upgrade script that removed the location_id field from the civicrm_group_contact table.

You can fix it using this sql:

ALTER TABLE civicrm_group_contact ADD COLUMN `location_id` int(10) unsigned DEFAULT NULL COMMENT 'Optional location to associate with this membership'

Credit for the solution goes to Eileen, via this commit:

https://github.com/wikimedia/wikimedia-fundraising-crm/commit/e5b853cd55ebf83b68a783a86bf3274dcf20dfb9

Credit for the original issue linked in the question above goes to Lizz Trudeau.


How can I make custom (participant attendees) reports with inline editing functionality?

To clarify - the nz.co.fuzion.extendedreport extension offers Editable Reports for Activities and Events - but not for Participants.
Eg with the Events report you get fields like this

Another option would be to try Drupal Views and Views Bulk Operations. I am pretty sure we have made it work for an 'event register' ie have a list of folk who are Invitees, and then tick those who show up and VBO will change their Attendee Status (don't recall if we added the necessary so that the Status is a dropdown or you have to enter the status ID)


The entity is called UFGroup, and UFField for the fields. The naming is historical. The Profile entity is used to do something equivalent to filling out and submitting a profile form on the front end.


Has anyone mapped the CiviCRM Schema to Classes in SQLAlchemy?

Directly accessing the SQL tables is certainly possible, but not a recommended approach. Reporting (ie read only) is safer than attempting to write to the tables but there can be many tables to join correctly depending on what you are trying to do.

If the standard reports and the various reports extensions don't provide what you need, try getting your data via the API.


How do I set up custom permissive relationships?

Yes, that checkbox must be checked. (The one reflecting the specific "direction" you wish.

I don't think you can configure this to occur automatically, however since you have custom code, it should be possible to add the permission automatically using an API call (the parameter name I believe is is_permission_a_b or is_permission_b_a).

Here's an API call:

$result = civicrm_api3('Relationship', 'create', array(
  'sequential' => 1,
  'contact_id_a' => "",
  'contact_id_b' => "",
  'relationship_type_id' => "",
  'is_permission_a_b' => "",
  'is_permission_b_a' => "",
));


civix civicrm:ping not printing any output

I would try

civix civicrm:ping -v

or even:

civix civicrm:ping -vvv

as the first thing as that could show something useful in the future.

civix will fail silently if your civicrm.settings.php file:

is turning down phps error reporting and it hits an error
contains a die or exit command

Eventually I figured out the problem as here:

// civicrm.settings.php
// set up php to show errors:
if (isset($_SERVER['HTTP_HOST']) && strstr($_SERVER['HTTP_HOST'], 'dev')) {
  error_reporting(E_ALL | E_STRICT);
  ini_set('display_errors', TRUE);
  ini_set('display_startup_errors', TRUE);
}
else {
  error_reporting(0); // <<< this is bad if you cant find your problem!!
}

Inserting this in the else section confirmed that $_SERVER['HTTP_HOST'] was undefined:

echo '$_SERVER: '.json_encode($_SERVER,JSON_PRETTY_PRINT)."\n";

So I was able to correct this just by setting up a mock value in bash to fix my civicrm.settings.php logic, and also to allow Drupal to find the right sites/XXX/settings.php file:

declare -x HTTP_HOST=contact-qld-dev1.myorg.example.com


How can you use Credit Card test credentials to test out a Webform-CiviCRM form that uses a Contribution page?

There is a field on the Contribution tab within the CiviCRM tab of webform. The field is called "Payment Processor Mode" and gives you the following options
-User select-
Live transactions
Test Mode


Extended Reports Extension - reports do not appear

The extended report lists the newly added report as a template, so you need to look at civicrm/admin/report/template/list?reset=1, i.e, Administer -> CiviReport -> Create New Report from Template menu path.

Click on any template to create your required report.


How can we increase the number of events displayed when creating Joomla menu link?

Wow, blast from the past!  I actually remember this bug:
https://issues.civicrm.org/jira/browse/CRM-8620

It should, by default, show only the upcoming events.  This may not solve your entire problem, since you may have dozens of upcoming events, but at least the past events shouldn't clutter you up: upgrading to 3.4.8 should help you.

Now, for a thousand reasons, you really should migrate to a current Joomla version and upgrade to CiviCRM 4.6.1.  That's a tall order at this point, since you've got years of deferred maintenance, but you should at the very least get yourself up to Joomla 1.5.26 and CiviCRM 3.4.8 as soon as possible.  The Joomla code is so old that it's on a "legacy" download page.  CiviCRM 3.4.8 can be downloaded from SourceForge.

It's vital to keep your system up-to-date.  Regardless of what you do about this issue or doing a point-release upgrade of CiviCRM and Joomla, you should make plans now for migrating to a new website (there's no direct upgrade path from Joomla 1.5.x) and moving and upgrading your CiviCRM database there.


How to install civix and build an extension in drupal

Have a look at the Developer Guide here: https://docs.civicrm.org/dev/en/latest/ as a start.

If at all possible I would recommend trying to find an expert near you who would be able to give you a developer training. You would have to pay for it but it will probably save you a lot of exploration time :-)


ContactLayout extension not working with civicrm 5.10

Short answer: you need to update your extensions. Visit your extension admin page and apply all updates.

Longer answer:
There are incompatibilities between older and newer versions of the ContactLayout and Api4 extensions. The breaking change was introduced in ContactLayout 1.4 and Api4 4.3 (which were both released on the same day).

Either both extensions need to be at or above those versions, or both need to be below those versions. If one is below and the other is above, things will be broken.


Online contributions are marked as Pending (Incomplete transaction) status

I believe what's being described here is a particular case of CiviCRM issue financial/27 - PayPal Standard doesn't handle IPNs.  The issue mentions recurring payments, but any payment involving an IPN is likely affected.

You can help solve this by testing the proposed fix and reporting on whether it solves your problem, creates new problems, etc.

Note also that this sounds related to the same section of code improved in financial/14 which deals specifically with PayPal Express.  You may want to see if upgrading to Civi 5.3.0 helps matters.


How can I completely remove previous improperly uninstalled CiviVolunteer?

You could try having a look at the volunteer_uninstall.sql file?

https://github.com/civicrm/org.civicrm.volunteer/blob/master/sql/volunteer_uninstall.sql


Yes you need brackets: the curly { } kind

When composing a mail mesage - hit the Insert token button on the right - select the one you want - and it will insert it in the text (where your cursor was located) - including the { }


My problem was solved by using the command phpunit4 from inside the extension directory. Use --group e2e or --group headless as needed.


This was due to an unused Payment Processor which had no API key.
Deleting this Payment Processor fixed the issue.


The only way to designate an option group as reserved is to do so directly through the database - there is no option to do this through the UI either when it is created via a multiple-choice custom data field or when added directly via Administer > System Settings > Option Groups - there might be a reason that this option group was flagged as reserved, so you might wish to ask whoever is responsible for administering CiviCRM to shed light on the reason and/or ask them to remove the reserved flag altogether so that you can make changes when needed.

Hope this helps,
Tamar


What ended up working was that I manually installed the OSM Extension which IS NOT in the Extensions Directory (built in) and located here:

https://github.com/bjendres/de.systopia.osm

Crazy that a) the OSM Extension is not a STANDARD and BUILT IN Extension; and b) that the Google API does not work.


What are the minimum permissions for Cron User?

Check out this answer.

Safe to run cron jobs using wget and user with full admin rights?

Essentially just give the permissions necessary to run the cron jobs.  If no event crons - don't give event permissions.


Can tokenValue hooks be used in scheduled reminder emails?

I ran into a similar issue of custom tokens not populating for scheduled reminders. The workaround in Brian Shaughnessy's comment on CRM-11153 fixed it for me:

  early in tokenValues put:

$single = false;
if (!is_array($contactIDs)) {
    $contactIDs = array( $contactIDs );
    $origValues = $values;
    $single = true;
}

  then at the very bottom put:

if ($single) {
    $values = $origValues + $values[$id];
}

$id may be something different in your hook implementation.

Other recent comments on that issue suggest that a fix may find its way into CiviCRM core.


wordpress edit multi-record profile fine when logged in but not retaining checksum for anonymous user

I was having a bugger of a time troubleshooting a similar problem with the checksum capability for anonymous users.  After trying and identifying many different potential causes such as:

cid versus id for the contact
the order of the checksum or contactid tokens
ACL permissions
whether SSL or non-SSL made a difference
update to CiviCRM 5.0 (currently on CiviCRM 4.7.30 with WP 4.9.5)

What fixed it was having %2F instead of the '/' in the query parameters of the URL.  I needed to explicitly put the '%2F' (without the single quotes) in the URL instead of the '/'.  For instance, in your example above the URL section:

  &q=civicrm/profile/edit

should be changed to

  &q=civicrm%2Fprofile%2Fedit

NOW my mailings work with checksums!  Wahoo!  Hope this helps someone else on WordPress.


Considerations when activating WordPress Multisite

You only need to be aware that Civi doesn't fully work with WPMS as yet. You can Network Enable it, but the Civi backend will not function as expected on sites other than the main site. There are workarounds, but since you aren't using on sub-sites then you should be fine if you just enable it on the main site.


Contribution pages fail after WP upgrade to 5.5

WordPress made changes in v 5.5 that will cause any version of CiviCRM before 5.26 to break.  Details are in this post.  https://civicrm.org/blog/kcristiano/civicrm-526-and-wordpress-important-notice
You will need to upgrade CiviCRM before WP.


Through further testing I found that if I FIRST include the {extrainfo.namearray} token (which simply prints 'array') and THEN run a loop through the contact array, it does in fact show all of the tokens!

In the case anyone else finds this useful, my final code:

{extrainfo.namearray} // hide this so not seen in email
  {foreach name=outer from=$contact key=k item=it}
     {if $k == 'extrainfo.namearray' }
       {foreach name=mid from=$it item=inn}
           {$inn}
       {/foreach}
     {/if}
  {/foreach}

I'm not sure why I have to include the custom array first before it will include it in the contact array so that I can properly loop through it - but alas it's a workaround that works!!!