# Question
Title: Can native CiviContribute capture In-Kind donations?
We are new to Civi. We need a mechanism to capture In-Kind contributions from our contacts e.g furniture, toys, services, books. I cannot see how native Civicontribute allows this and the help doc doesn't give specifics or ways to configure the contribute screen for non-financial data? Help please!!

# Answer
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.
> 6 votes

---
Tags: civicontribute
---


# Question
Title: Twilio extension stopped working; neither individual nor mass SMS go through
Trying to run mass SMS on Twilio which worked great a few months ago, and now it falls apart. Also we hang when trying to send an individual SMS. And right after trying to send SMS, the run-all-jobs-manually link on Scheduled Jobs throws an Internal Server (500) error.

Running my CRON command line via SSH gives me this:

```
Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Resource.php on line 90
Warning: include(/[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Rest/.php): failed to open stream: No such file or directory in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio.php on line 9
Warning: include(/[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Rest/.php): failed to open stream: No such file or directory in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio.php on line 9
Warning: include(): Failed opening '/[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Rest/.php' for inclusion (include_path='/[REDACTED]/wp-content/uploads/civicrm/ext/com.cividesk.email.sparkpost/:/[REDACTED]/wp-content/uploads/civicrm/ext/com.joineryhq.percentagepricesetfield-1.1/:/[REDACTED]/wp-content/uploads/civicrm/ext/net.ourpowerbase.report.advancedfundraising/:/[REDACTED]/wp-content/uploads/civicrm/ext/com.webaccessglobal.module.civimobile/code:/[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/:.:/[REDACTED]/wp-content/plugins/civicrm/civicrm:/[REDACTED]/wp-content/plugins/civicrm/civicrm/packages:/[REDACTED]/wp-content/plugins/civicr in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio.php on line 9
Fatal error: Uncaught Error: Class 'Services_Twilio_Rest_' not found in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Resource.php:47
Stack trace:
#0 /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Rest/Account.php(23): Services_Twilio_Resource->setupSubresources('applications', 'available_phone...', 'outgoing_caller...', 'calls', 'conferences', 'incoming_phone_...', 'notifications', 'outgoing_caller...', 'recordings', 'sms_messages', 'short_codes', 'transcriptions', 'connect_apps', 'authorized_conn...', 'usage_records', 'usage_triggers', 'queues')
#1 /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Resource.php(25): Services_Twilio_Rest_Account->init(Object(Services_Twilio), '/2010-04-01/Acc...')
#2 /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/T in /[REDACTED]/wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Resource.php on line 47

```

This blew my lunch today & I still haven't wrapped my head around it:

`PHP Fatal error: Uncaught Error: Class 'Services_Twilio_Rest_' not found in /wp-content/uploads/civicrm/ext/org.civicrm.sms.twilio/Services/Twilio/Resource.php:47`

Lines 42-51, inclusive:

`protected function setupSubresources()`

```
{
    foreach (func_get_args() as $name) {
        $constantized = ucfirst(self::camelize($name));
        $type = "Services_Twilio_Rest_" . $constantized;
        $this->subresources[$name] = new $type(
            $this->client, $this->uri . "/$constantized"
        );
    }
}

```

Where should I begin?

# Answer
> 1 votes
Matthew Wire nailed it: the most current version of the Twilio extension for CiviCRM doesn't work with PHP 7.0 -- but luckily for us, a huge patch became available through GitHub just one week ago. Since we need PHP 7.0 for other stuff on our site to work, reverting to 5.6 wasn't a viable option.

As soon as the updated Twilio SDK extension was in place, I was able to run those scheduled jobs manually again. This experience also showed me how just one scheduled job that doesn't complete can derail the CRON train altogether. This gives me at least one idea for troubleshooting a persistent CRON headache in which our scheduled jobs run some of the time, yet we haven't yet isolated the problem. It's all connected, isn't it?

---
Tags: sms, twilio
---


# Question
Title: Contribution Summary can't be filtered by payment method
I wonder why Contribution Summaries can be filtered on pretty much everything but not on the payment method, even though payment method (check, bank, cash...) is a mandatory input... Do I miss something and there is a way to do it?

# Answer
I suggest you use the Contribution **Details** Report rather than the **Summary** Report. In the "Columns" tab, choose "Payment Type". In the "Sorting Tab" select "Choose a Payment Method" as the sorting method, plus any other columns you wish to sort by.

Hope this helps.
> 2 votes

---
Tags: drupal, 4.6
---


# Question
Title: Unable to amend membership if it previously was related to an organisation record
I'm having an issue where by a drupal user has renewed their membership using a different membership type. The original membership was held on an organisation contact record and related to the individual contact record associated with the drupal user, but when it is renewed as a membership that no longer requires a relationship, I cannot amend the membership from the individual record OR the organisation record. In fact, on the organisation record, the membership remains 'expired' in status.

If I try to 'view' the membership, I cannot see anything on the pop up screen.

Has any one experienced this and knows how to amend it?

# Answer
It turned out that I needed to delete the membership on the Ogranisation record: I made a copy of the membership and contribution on the owner record (so we've still got the historical data), then deleted the faulty membership from the owner record and this removed it from the individual contact record. Bit messy but did the trick.
> 1 votes

---
Tags: civimember
---


title: URL for cron Jobs gives me a 404 error

text:
# Question
Title: URL for cron Jobs gives me a 404 error
I'm attempting to run all my jobs using the URL Method. The URL I'm trying (anonymized here of course) is:

`https://mysite.org/wp-content/plugins/civicrm/civicrm/bin/cron.php?name=MY_USERNAME&pass=MY_PASS&key=MY_SITE_KEY`

Visiting this URL gives me a 404 error.

To test that cron runs at all on my server, I created a simple `php` script,

```
<?php
mail ("cron@mysite.org", "Cron is Go", "Hello World from my-cron.php!");
?>

```

and put it in a file `my-cron.php`. It sends me an email when visited. I then created a cron job to `curl` its url every minute. It worked in every directory I moved it too until it got to `bin` at which point the cron job did nothing and visiting the URL in browser gave me a 404 error.

Changing the permissions on `bin` from `0775` to `0755` allows the script to run. I thought that the jobs URL would work, but I still get a 404 error.

**Update**: I changed `bin` from `0775` to `0755` and `cron.php` to `0755`, and it works now. Is this safe to do?

# Answer
> 2 votes
Two answers: First, yes, changing the permission should be safe to do. Note, however, that you'll have to repeat this process every time you upgrade.

Second - this isn't a normal restriction, so I'm guessing you're running CiviCRM on shared hosting. The change you described removed the "group owner can write to this file" permission of `cron.php`. You did NOT change who could read or execute the file - so this shouldn't have had an effect.

---
Tags: wordpress, cron
---


title: Profile Layout in civi on Joomla

text:
# Question
Title: Profile Layout in civi on Joomla
Need help with Contribution pages profile layout. It is not related to the template i am using, it is in civi

Profiles come with label on one line then field on line below, I've tried looking in administrator/components/com\_civicrm/civicrm/templates/CRM/profile Can't figure it out, can anyone help me get the label and field on same line? Will pay. Joomla 3.7.4/civicrm 4.7.18

# Answer
> 1 votes
You're looking at the template file - but I think this is best handled in CSS. See this Stack Overflow question: HTML form with side by side input fields.

If you aren't CSS-savvy, you can hire someone from https://civicrm.org/providers or ask on https://chat.civicrm.org for someone. Note also that while having a CiviCRM-specific person is nice, this issue isn't one that really requires CiviCRM-specific knowledge. Any decent front-end web developer (and most web designers) should be able to handle this.

Finally, to ensure your CSS isn't overwritten by an upgrade, put it into civicrm.css and specify the path to it at **Administer menu » System Settings » Resource URLs** under *Custom CSS URL*.

---
Tags: profile, joomla
---


# Question
Title: Negative searches: volunteers WITHOUT relationship to supervisor
I need to get a list of Volunteers (contacts) who DON'T have a supervisor (relationship) ...I've tried Advanced Search and looking for relationships, and I've just tried Search Builder. I can put the ones who DO in a smart group, but can't find a way of putting the ones who don't...Help!

# Answer
CiviCRM is good at doing searches for a "negative" when it's, "find an empty field"; you can use **Search menu » Search Builder** for that. However, for finding whether someone is missing an Activity, Relationship, etc. you need a custom search. By default, CiviCRM has such a custom search for groups and tags, but not relationships.

Until someone writes that search, here's the workaround:

* Do a search with no criteria, which will return all your contacts. Create a smart group from this search called "All Contacts".
* Do an Advanced Search for folks that DO have the supervisor relationship. Create a second smart group called "Volunteers with Supervisors".
* *Note:* If not ALL of your contacts are volunteers, then modify both of the searches above to only search the "Volunteers" group.
* Go to **Search menu » Custom Searches**.
* Click **Include / Exclude Search**. On older versions of CiviCRM, this is called, **Include/Exclude by Group/Tag**.
* For "Include Groups", select "All Contacts". For "Exclude Groups", select "Volunteers with Supervisors".

The search result you get back is the list of "All Contacts" minus "Volunteers with Supervisors" - which should be volunteers without supervisors. You can create a smart group out of it so that less data-savvy users can just use the new smart group to generate the list.
> 1 votes

# Answer
One way of approaching this is to split it into two searches:

**A** volunteers

**B** volunteers with a supervisor

Then subtracting B from A to give you volunteers without a supervisor.

**One off**

If you are doing this on a one off basis, you should:

1. create a group for A
2. do a search for B and select remove from group from the actions menu
3. remove the contacts in B from group A

**Ongoing / Smart group**

If you are doing this search on a ongoing basis, it makes sense to create a smart group.

1. create smart groups for A and B
2. create another smart group using the '*Include / Exclude Search*' that can be found in *Custom Searches*.
> 0 votes

---
Tags: custom-search
---


# Question
Title: ACL role assignments not showing on screen, but still working
When I go to civicrm/acl/entityrole it shows no role assignments and says "There are no Role Assignments. You can add one now."

But they exist, have not been deleted and are still working. I can see them in the database table (`select * from civicrm_acl_entity_role;`)

Anyone else have this problem? It looks like a bug

# Answer
> 2 votes
Once I saw a second person report the same issue, I suspected a bug, so I successfully replicated the problem on the demo site. See the CiviCRM bug reporting page.

I determined that this is a side effect of changes made in CRM-20351.

Because this seemed like an easy enough bug to fix, I went ahead and did so. I filed it as CRM-21076, and submitted a solution as pull request #10866.

It's a one-line fix, so feel free to fix manually. I'm going to argue that this should go into 4.7.24, but 4.7.25 seems almost a certainty.

# Answer
> 1 votes
I have the same situation after upgrading from 4.7.16 to 4.7.23

The Tabs "Manage Roles" and "Manage ACLs" are showing entries, "Assign Users" (= civicrm/acl/entityrole) don't show any entries.

They are still in a database, and if I add a new one, it ends up in the database, but it still don't show up in this view.

---
Tags: acl
---


# Question
Title: Make phone type value "mobile" for every individual
We need to switch every individual contact's phone type to mobile. I have an SQL query that I could run manually, but for the civicrm\_phone\_before\_update trigger using a function that doesn't get defined when running manual queries.

`FUNCTION [db].civicrm_strip_non_numeric does not exist` is the error that pops up when I try to run the query.

And I had no luck trying to edit the trigger so it would temporarily associate with a different table. I'd DROP the trigger, but it seems important for day-to-day function, and I'm not confident I'd be able to manually restore it once I've finished transforming over 1,000 records from landline to mobile values. What's the right way to do this?

Addendum ...

The SQL statement triggering the error:

`UPDATE`civicrm\_phone`SET`location\_type\_id`="3"
WHERE`phone`IS NOT NULL;`

# Answer
> 2 votes
You might be running the manual query under a different mysql user than the one that owns the function, so you can check who the "definer" is using `show create function civicrm_strip_non_numeric;`.

If it really is "missing", then you can also manually recreate the function - it's defined in CRM\_Contact\_BAO\_Contact: https://raw.githubusercontent.com/civicrm/civicrm-core/7f8858ced29deeabc720e1c37c42e1b7d59d8962/CRM/Contact/BAO/Contact.php

\[While I first did not succeed in recreating the function, the suggestions below led directly to the desired outcome. *-- Prónay*\]

---
Tags: database, sql
---


# Question
Title: CiviCRM Home Dashlets - making them wider, possibly span over right and left column
I have a dashlet report that has a good number of columns. Right now I can only place it in either the left or right dashboard column. That cuts of the report view and I have to expand it every time I want to see the entire thing. Is there a way to make it wider on the dashboard or perhaps have it span over the right and left column?

# Answer
> 1 votes
You can make the dashlets wider on the dashboard.

It's hard to give exact instructions because I don't know what CMS you're using - it's a good idea to post your CMS and CiviCRM version with a question for this reason - but if you're using Drupal 7, I like the Civi Bartik theme for my back end. It makes a number of sections wider, including the dashlets. Make sure that `civicrm_theme` is enabled, then go to the "Appearance" section of Drupal and set the CiviCRM back-end theme to Civi Bartik.

---
Tags: dashboard, dashlet
---


# Question
Title: CiviGroup Roles Sync - workaround for Smart Groups?
Has anyone implemented any workarounds to use a Smart Group as the basis for a CiviGroup Roles Sync with Drupal?

I understand that Smart Groups don't work (only contacts added manually to the smart group will be picked up) but I'm wondering if anybody has ever tried any sort of cron + CSV chicanery to mirror a smart group in a manually added group, or anything else to get around the issue?

We're a small org trying to cater for a large (and providing we can make it work automatically, much larger) audience with varying membership, relationship and access requirements, so I need a really easy and automatic way to get this done.

# Answer
> 2 votes
Check out my answer to a similar questions: Syncing Drupal Roles from CiviCRM Smart Groups

I think this is basically the same thing....

# Answer
> 0 votes
I just had to resolve this issue, but upon re-reading your question, I don't think my answer will work as well for you.

First - cron + CSV chicanery SHOULD work. The issue is that when users are added to a smart group, it doesn't fire the `civicrm_post` hook (it's not really feasible performance-wise). However, they ARE fired on import.

I'd use the command-line export tool, something like:

```
php <civiroot>/bin/csv/export -e GroupContact group_id=<smart group ID> --file /tmp/export.csv
php <civiroot>/bin/csv/import -e GroupContact --file /temp/export/csv

```

In my solution, all the smart groups were created based on the value of a single custom field. So I wrote a quick extension that added people to groups based on the value of the custom field. You may be able to use CiviRules for this, I'm not 100% sure. Here's that code:

```
// Fire when the "Role Info" group is edited.
function primaryrolesync_civicrm_custom($op, $customGroupID, $entityID, &$params) {
  // Hard-coded: The Role Info group ID is 30.  The custom field ID is 152.
  if ($customGroupID == 30) {
    // Get the role name from the custom field value.
    $result = civicrm_api3('Contact', 'getoptions', ['field' => "custom_152"]);
    $roleName = $result['values'][$params[0]['value']];
    // Get the group ID that corresponds to this primary role.
    $result = civicrm_api3('Group', 'get', [
      'title' => $roleName,
      'sequential' => 1,
      'return' => 'id',
    ]);
    $groupId = $result['id'];
    // Add this contact to the appropriate group.
    if ($groupId) {
      $result = civicrm_api3('GroupContact', 'create', [
        'group_id' => $groupId,
        'contact_id' => $entityID,
      ]);
    }
  }
}

```

# Answer
> 0 votes
I will understand if this needs down voting as an answer as i have no idea how big a leap it would take to make use of what i will describe - but in case it useful ...

there is some code here that helps deal with Smart Group issues and Views, which is explained in an answer here.

maybe you could use the table it constructs for your own purposes

# Answer
> 0 votes
If the 'characteristics' of who gets the role is reasonably simple, then Drupal Rules would be worth exploring further, esp perhaps with CiviCRM Entity in the mix

---
Tags: drupal, relationships
---


title: Dependant autocomplete civicrm

text:
# Question
Title: Dependant autocomplete civicrm
Working on custom enhancement, two text fields Parent and Child field.

Existing:-

1. Parent autocomplete - lists all existing contacts
2. Child autocomplete - list all existing contacts

Required:-

1. Parent autocomplete - lists all existing contacts
2. Child autocomplete - Parent specific

Using:- addEntityRef

```
 $form->addEntityRef('parenttwo_id', ts('Parent Contact'), array(
                    'placeholder' => ts('- select or create contact -'),
                    'create' => 'Parent_profile',
                    'api' => array('params' => array('contact_type' => 'Individual')),
                  ), FALSE);

 $form->addEntityRef('parenttwo_id', ts('Child Contact'), array(
                    'placeholder' => ts('- select or create contact -'),
                    'create' => 'Child_profile',
                    'api' => array('params' => array('contact_type' => 'Individual')),
                  ), FALSE);

```

Can't do below method because contact id must be dynamic one, Means on searching of child contact field must lookup the relationship and fetch parent1's children.

```
 'api' => array('params' => array('contact_type' => 'Individual', 'contact_id' => '123123')

```

Can't do through simple textfield and ajax request because for contact creation profiles are being used.

Any other method available which can be used for this case?

# Answer
> 1 votes
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

---
Tags: api, relationships, forms
---


# Question
Title: Images with text in Message Templates in a multilingual installation
I am trying to customize a message template by adding a header image with some text in it. The problem is that my website is in 2 languages and I need that the header image is sent to the user according to his/her language preferences.

This is how I am trying to do:

```
{if $contact.preferred_language eq 'English (United Kingdom)'}
<img src="WEBSITE_URL/images/Banner_EN.jpg" />
{else}
<img src="WEBSITE_URL/images/Banner_IT.jpg" />
   {/if}

```

Unfortunately, it seems not working.

Does someone have already dealt with such an issue?

Thank you very much to every good soul who is willing to give me the right information to solve this issue.

Regards, Giovanni

# Answer
I have found an alternative solution which worked perfectly.

I put the following line in the template (adding the {ts} tag):

```
{ts}<img src="WEBSITE_URL/images/Banner_EN.jpg" />{/ts}

```

Then modified the language file .mo and added a translation for the string:

```
msgid "<img src="WEBSITE_URL/images/Banner_EN.jpg" />"
msgstr "<img src="WEBSITE_URL/images/Banner_IT.jpg" />"

```

It worked perfectly :)
> 1 votes

---
Tags: message-templates, localisation, custom-templates
---


title: Dedupe rules for profiles in civicrm

text:
# Question
Title: Dedupe rules for profiles in civicrm
Is there any way possible to have dedupe rules specific to particular profiles instead of for whole contact feature?

Example:-

Profile 1:-

* Name
* Email
* Dob
* Gender

Profile 2:-

* Name
* Dob
* Gender

Dedupe Rule 1:- Name AND Dob AND Gender

Above rule is defined which applies to both profiles

how make it specific to Profile 2?

# Answer
> 0 votes
There is no inbuilt way for doing this directly for Profiles with CiviCRM.

Event management is the only feature in CiviCRM that I know can do this since you can specify the Profile and the matching rule - not suggesting you have folk sign up to an event purely to achieve this but hey, you could ;-)

For Drupal users, you can build a webform\_civicrm form and specify the fields and matching rules to apply and hence get very close to what you are asking for.

---
Tags: profile, duplicate-contacts
---


# Question
Title: How can I customize the "Fatal Error" screen?
I would like to change the language on the "Fatal Error" screen that users occasionally encounter by adding some text specific to my organization. How can I do this?

# Answer
You can configure CiviCRM to use a customized "fatal error" screen by following the steps below. You may want to include specific site administrator contact information or other problem resolution instructions on the screen, as well as "theme" it for a more professional or consistent look.

1. Save a copy of `civicrm/templates/CRM/error.tpl`
2. Edit the text and layout of this file as desired. You can add site administrator contact info, site logos, etc. as needed.
3. Login (with Admin CiviCRM rights) and navigate to Administer » System Settings » Debugging and Error Handling
4. Replace the default value (`CRM/error.tpl`) with the relative path (from `civicrm/templates`) and name of your new file.
5. Save your changes.

You can also configure CiviCRM to use a custom error handler by referencing a custom PHP function in **Administer » System Settings » Debugging and Error Handling**

You might also be interested in the CiviCRM Error Handler extension which sends a detailed email to an administrator every time CiviCRM encounters a fatal error.

*This content was migrated here from this wiki page as part of the 2017 wiki content migration project*
> 7 votes

---
Tags: error, custom-templates, error-page
---


title: creating Sign-up form on Facebook

text:
# Question
Title: creating Sign-up form on Facebook
We are looking to include a sign-up form using a CiviCRM profile or some other method on our Facebook page. Does anyone have any recommendations for tools that can do this? I assume it is a matter of including the HTML code snippet from the CiviCRM profile in iframe on Facebook.

# Answer
You can get an HTML snippet for a Profile and include as an iframe. This option should show under 'more' to the right of the profile listings.

> HTML Form Snippet - If you want more control over form layout, or want to add Profile input forms to non-CiviCRM blocks, pages and/or sites...click the HTML Form Snippet action link for a Profile below - and copy and paste the HTML form code into any web page.

NOTE: there is now a setting in Administer =\> System Settings =\> Misc to enable this.
> 1 votes

---
Tags: profile, facebook
---


# Question
Title: Case type edit not saving, broken case types - how to debug?
On a particular Civi 4.6.4 / Drupal 7 installation, recently upgraded from 4.4, there are some misbehaving case types. They appear to have been created through the CiviCase UI since the 4.6 upgrade, as there are no corresponding xml files in `CRM/Case/xml/configuration/` under the custom template directory. These case types have no activity types and no timeline specified. The xml in the `definition` field of the civicrm\_case table is just this:

```
<?xml version="1.0" encoding="utf-8" ?>

<CaseType>
<name>engagement</name>
</CaseType>

```

When I try to edit one of these broken case types through the UI, e.g. adding activity types or adding a standard timeline containing Open Case, it does not save. No error is reported on screen, in CiviCRM.blah.log, Drupal watchdog, Firebug console or the web server error log.

The following civicrm/ajax/rest call is shown in Firebug on saving:

```
action: create
entity: CaseType
json: {"id":"4","name":"engagement","title":"Engagement","is_active":"1","is_reserved":"0","weight":"2","definition":[],"is_forkable":"1","is_forked":""}

```

Note `"definition":[]`. This I assume should hold details of the activity types & timeline I have just attempted to add. The response is as expected, given the data that was provided:

```
{"is_error":0,"version":3,"count":1,"id":4,"values":{"4":{"id":"4","name":"engagement","title":"Engagement","description":"","is_active":"1","is_reserved":"0","weight":"2","definition":[],"is_forkable":"1","is_forked":""}}}

```

However I was able to create a new case type OK.

Any advice on debugging this would be much appreciated.

# Answer
> 2 votes
The commentary suggests that the history of this case-type may have allowed some weird data in.

In case one did want to dig in more, a couple debug tricks that might be interesting:

* Open the case-type admin UI and edit the current URL to append `?angularDebug=1`. This will cause it to display a panel with the "live" content of the CaseType and its definition. This is available in most Angular pages.
* If you're experimenting on a dev/staging site, you might try unsetting the definition via SQL (`UPDATE civicrm_case_type SET definition = NULL where id = ...`). This is sometimes useful for forcibly revertig a definition (even if the UI is misbehaved).

# Answer
> 1 votes
I've found the same thing happening, but in our case it was because of an overridden `CaseType.php` file. It's possible to reproduce in older CiviCRM versions by saving a case type that contains an activity type with `&` in the name. This will be saved to the database, but when you try to edit it in the UI the ampersand (a reserved character) breaks the XML schema and the UI won't show a standard timeline. Pressing save on this screen will result in the dummy XML you mentioned in the problem:

```
<?xml version="1.0" encoding="utf-8" ?>

<CaseType>
<name>engagement</name>
</CaseType>

```

This was fixed a long time ago in CRM-16360 so shouldn't be a problem anymore.

# Answer
> 0 votes
Does it work to just delete the offending files?

---
Tags: civicase
---


# Question
Title: Mailchimp Extension - Webhook URL can't be verified
I'm having trouble with creating a Mailchimp webhook and I'm unfamiliar with how to troubleshoot this any further. (I've also posted this question to the Extension's Github)

The API key and callback info is correct but when attempting to create the webhook Mailchimp says,

> We couldn't verify the URL is working. Please double check and try again. HTTP Code: 500

In using web-sniffer I get the following result:

```
Connect to 198.27.70.84 on port 443 ... ok

GET /tbe/civicrm?page=CiviCRM&q=civicrm%2Fmailchimp%2Fwebhook&reset=1&key=kasfBgoASBcb HTTP/1.1[CRLF]
Host: yourshulbythesea.org[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.1.0 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]

```

The site's webhook URL and details:

Any idea how to troubleshoot this further?

# Answer
Check whether 'allow webhook posts' permission is granted to anonymous role (go to CiviCRM's **Administer menu » Users and Permissions » Permissions (Access Control)**, then click on **WordPress Access Control**).
> 3 votes

# Answer
How do you "allow webhook posts" for Anonymous Users in Wordpress?

I'm using User Role Editor in Wordpress, but can't see an option like that. I've tried "Access civiCRM" and "Create Posts" but they don't make a difference.
> 0 votes

---
Tags: wordpress, extension, mailchimp
---


# Question
Title: Non-admin role can see CiviCRM links in profile, no privileges selected
I am building a new website but migrated the entire CiviCRM database, files and settings from the old site. Authenticated users and other roles are able to see fields from the CiviCRM that pertain to them as well as a link to edit them. There are no CiviCRM privileges selected so I feel like there may be some custom programming at work here.

What I know:

* No privileges are selected for role in Drupal
* Links go to tabs they can edit from their Drupal profile (see screenshots)
* At least some of these fields are custom in the CiviCRM

Screenshots

# Answer
You can add visibility to specific roles on Drupal profile so they can contribute information when editing their profile.

The custom fields in Administer \> Custom Data and Screens \> Profiles has a setting: view/edit Drupal User Account. Select or deselect as desired.
> 1 votes

---
Tags: drupal
---


# Question
Title: How to load custom css into admin popup boxes?
Many admin functions in Civi send the user to Ajax popup boxes. Eg on the Contact screen, Membership \> Add membership, Events \> Add Event... and many many more through the system.

What is the best way to load custom css into these?

We are using a custom css file for the rest of Civicrm - but it's not being loaded in these ajax popups. From a load-time point of view, that's possibly a good thing! Some of our admin users are in poor internet areas, and those popups can be very very temperamental when the net is slow. So it would be great if we could just add some minor css tweaks to these popups rather than load the whole of our custom css into them.

Thanks for your ideas. Drupal 7.54, Civicrm 4.6.25.

# Answer
> 4 votes
The custom css file do load on every page of civicrm, even the pop ups. Note that the elements in the ajax contains different ids and classes(mostly starts from `ui-**`) compare to page view.

So you need to redefine the css for them on your custom file.

# Answer
> 0 votes
Coming at this from a different angle that still allows customization and seemed to be more performant than ajax calls for us, you could disable the pop up forms altogether and have the admin screens as separate page loads. We did this on our install and found it much more advantageous. Administer \> Customize Data and Screens \> Display Preferences. Uncheck the box labeled:

> **Enable Popup Forms** If you disable this option, the CiviCRM interface will be limited to traditional browsing. Opening a form will refresh the page rather than opening a popup dialog.

---
Tags: ajax, css
---


# Question
Title: How do I create CiviEvents that occur in different timezones?
Our site will be host to many different events. Some will happen in meatspace and others online. However, they will all have participants from different timezones or be based in different timezones.

For example, a regular Social Lunch in Adelaide, Australia, a regular Public Lecture in Melbourne Australia and a regular online committee meeting with participants from (at times) more than 5 different timezones.

The current situation with CiviCRM and events are that they are displayed as the raw date and time they were scheduled at and a lay person would assume it's their local time. When in actual fact, it's been scheduled at the timezone of the Drupal7 site (Australia/Adelaide).

This means though, that I cannot set an event for Melbourne Australia, set it to display the correct time the event is occurring in Melbourne and have the ical feed give the correct time. I either have to schedule it at the equivalent Adelaide time (so that the ical feed is correct) or schedule it as if it were Melbourne local time but have the ical feed giving the wrong time.

Is there already a fix for this? If not, my organisation would be willing to commit funding to this issue.

# Answer
No existing fix I know of. It's maddening, and the prime example of this is civicrm.org! The site runs in US Pacific time, so when we have Washington, DC, meetups scheduled, the iCal has the wrong time.
> 2 votes

# Answer
An issue has been created for a similar requirement: CRM-17618 - time zone field needed for event creation. You could check whether the requirements described there cover your use case and see if there's scope for collaboration, joint funding etc.
> 2 votes

---
Tags: civievent, timezone, timestamp
---


# Question
Title: Trigger event scheduled reminders on registration date or change of participant status
Is it possible to set up event scheduled reminders so they are triggered on event registration date rather than event start/end dates? This would be very handy for sending event details like venue etc etc to people once they register.

Is it also possible to create an event schedule reminder so they are triggered when the event participant status changes - eg, we have an application process for some events, and when the application is approved we change their status to 'application accepted'. We'd like to send them an email with their event details at that moment.

I'm aware that quite a bit of this could be done through scheduled reminders based on Activities.

However, we want our event scheduled reminders to be portable from one event to another - and currently event scheduled reminders on events or event templates will be copied to new events based on them.

Civicrm 4.7.22, Drupal 7.56

# Answer
> 3 votes
Well, it turns out that half of this has a very simple answer - so simple that probably every one else is already doing it!

To send an email when someone registers can be simply achieved by creating a scheduled reminder set to go sufficiently early enough before the event's start date that this time is in the past. This way everyone who registers will do so after the date the email is set to go, and so they will receive the email.

You need to be careful with this method - if you make such an email after people have started registering for the event, then everyone who has registered prior to the date the email is set to go will get the email.

To only send the email to some of the currently registered participants, now or in the future, you could put those participants into a group, and choose to 'limit' the scheduled reminder that group.

Regarding sending emails based on a change of participant status - Jitendra tells me that this would require significant additions to how scheduled reminders currently work.

So instead, we have written a rather skimpy extension to cobble through the job - feel free to connect if you'd like a copy.

---
Tags: civievent, scheduled-reminders
---


# Question
Title: Civicrm 4.7.20 Register event participant - pay by creditcard
just updated to civicrm 4.7.20 - I wanted to register a late event participant used Register Event Participant in the past. I can select the event and price but if I check 'record payment' the payment block with CC #, ccv and expiry doesn't come up. I did this once and seemed to get the Contact info page plus a link to enter credit card information. What is the correct way to get the payment block (not just the priceset for the event) to come up?

# Answer
From a Contact's summary page -\> hit the Events tab

-\> then hit the Submit Credit Card Event Registration button - and select an Event. If it's a paid event and you've got a Payment Processor setup/selected that handles Credit Cards - then the Credit Card fields will appear:
> 1 votes

---
Tags: civievent
---


# Question
Title: How to search contacts with certain prefix say, "Dr"?
I want to search contacts with prefix "Dr." and if possible make it as a smart group. How to achieve these?

# Answer
This is job for the Search Builder that you can find in the *Search* menu

1. Select *Individual*
2. Select *Individual Prefix*
3. Complete with = and the desired title.

When the results are shown you can create a Smart Group for this search.
> 3 votes

---
Tags: search, search-results, custom-search, search-builder, quicksearch
---


# Question
Title: How can my case activities show up on an organisations profile?
When I log case activities I often tag in an organisation or individuals name but when I return to the home screen, search for the organisation and check if there are any new activities or relationships listed, there are none. How can I get these two parts of the CRM to work together.

# Answer
I think by "tag" you mean put their name in the "reported by" field or something like that. Case activities don't appear in "non-case" contexts. This was originally a design goal to both keep case data more private and force people to keep case data inside cases instead of a mix of places.

So the short answer is you need to go to the Manage Case screen to see case activities.
> 2 votes

---
Tags: civicase, relationships, activity
---


# Question
Title: Why can't I easily manage contact images in Drupal Views any more?
I'm updating an old D6/Civi site to D7. It includes some Drupal Views that display listings of contacts along with the contact image (in our case we're working with organisational contact records and using the contact image field to store a logo.

This just worked on the D6 site, where Views simply provided the raw image URL in \[image\_URL\] and I was able to rewrite it in the View and so control the size of the rendered image to suit the view.

In D7 now this looks totally broken. I can get the view to display the image, but \[image\_URL\] now includes the `img` tag and everything, so I can't just get the raw URL any more and rewrite it.

There appear to be other questions here referring to the same issue, and a number of issues in Jira, but i can't find anything that provides a decent workable solution.

Has anyone got this resolved, and if so, how?

# Answer
> 1 votes
Did you try the **Output the image URL only** option as shown below?

---
Tags: drupal-views, contact-image
---


title: Click-throughs not being recoreded

text:
# Question
Title: Click-throughs not being recoreded
We sent out a mailing this week - one in a series - and have so far had 1400+ opens from a list of 2600 or so. However, despite the URL Click-through tracking being set to "On" we have only recored 3 click-throughs. Data we have recorded in Google Analytics for the same mailing is much higher.

What reasons could there be for the click-through tracking not to work?

# Answer
> 2 votes
Not all URLs get magically converted to being click-through tracking ones. Most internal ones, for example, do not (e.g. a link to a donation page with the cid and hash).

If you look at the email being generated (look at the actual html of the email, using something like 'show original'), you should be able to see which ones should be click-through ones because their path looks like this:

/modules/civicrm/extern/url.php

Here's a related inverse question: avoiding tracking of some links

If your links really are click-through tracking ones and people are clicking on them, they'll get counted (unless the click-through links are badly formed due to an incorrect configuration, but that seems unlikely if you're not noticing a lot of other errors).

**Update**

If you go into your email client and copy a message you recieved from CiviCRM and then paste that as a new message into CiviMail, you will be copying the magically-generated click-through tracking urls from that past mailout (and ones that are specific to you). The new mailout will generate click-through tracking for the previous mailout, all as if it was you that clicked on the links. This is a super bad idea, don't do it.

In a better future world, CiviCRM should give you a big red warning if you try to directly include urls of the form /modules/civicrm/extern/url.php in your message source.

---
Tags: developer
---


# Question
Title: CiviCRM Extension not grabbing latest release
Submitted a new release and matched the info.xml file to the release number but Civi Extensions directory still hasn't picked up the new release yet. Any ideas why?

https://civicrm.org/extensions/authorizenet-echecknet

# Answer
> 1 votes
You have to turn on the automated-discovery of new releases by including the git url when you edit your extension node, or you can manually tell Civicrm.org about your new release by clicking on the 'Add CiviCRM-native release' link when viewing your extension page while logged in.

---
Tags: extension
---


# Question
Title: Move all accounts with certain Drupal role into CIviCRM group
We are trying to delete all spam accounts out of both Drupal and CiviCRM. We have a module set up to find all spam account in Drupal and set them to the role of "spam account". There are now about 40,000 accounts with that role.

Now, we are trying to deal with those accounts on the Civi side. I am trying to use CiviCRM Group ROles Sync to sync all of the Drupal accounts with the role of spam to the CiviCRM group of Spam, but keep getting a "503 First byte timeout" error. I was told that the error is caused by it taking longer than 60 seconds to respond, which would make sense considering there are 40,000 accounts. But, I tried it with 20 accounts, and still got that error.

Is there another way to go about syncing the Drupal and Civi roles/groups, or another way to deal with spam accounts in CiviCRM?

I am using Drupal 7 and CiviCRM 4.6.28.

# Answer
If you're feeling brave, and you've got a test site to try this out on first, this should be doable almost instantly via a SQL statement.

To simplify this query, first look up the group ID (`SELECT id FROM civicrm_group WHERE name = 'Spam Group'`) and the Drupal role ID (\`SELECT rid FROM role WHERE name = 'spam account').

**Note:** If you have separate databases for Drupal and CiviCRM, you'll need to preface references to tables with the database name. I'm assuming some basic SQL savviness here - my apologies if this isn't helpful as a result!

Once you have the role ID and group ID (we'll assume "12" and "23" respectively below), do the following:

```
INSERT INTO civicrm_group_contact (group_id, contact_id)
SELECT '23', civicrm_uf_match.contact_id
FROM users_roles
JOIN civicrm_uf_match ON uid = contact_id
WHERE rid = 12;

```
> 3 votes

# Answer
in the past, I've used this simple php script to get rid of spam accounts/contacts in bulk.

I use a csv file, created by doing a search in civi and then exporting that as csv, but in your case you could also just replace the csv with code that creates an array from all users in the role you created.

here is the source of my script, save it as delete-bad-contact-and-users.php if you want to use it.; I run this via ssh using drush. Put my csv and the script somewhere in the drupal site directory and then drush php-script delete-bad-contact-and-users.php

it will spit out the cid and uid of each account as it deletes them so you will know it's running and when it's done

```
<?php

// This is a brute force script to delete civicrm contacts
// and drupal user accounts
// initially created to get rid of a ton of spam accounts
// on a site we (Openflows.com) were responsible for cleaning up

// it takes a csv file as input via drush

// from within the site's root, whereever you have the csv
// drush php-script delete-bad-contact-and-users.php
// sudo might be necessary depending on the server/site

// the only column in the csv we care about here is the
// civiCRM Contact's cid

// this function borrowed from
// http://www.oodlestechnologies.com/blogs/Converting-CSV-file-into-an-Array-in-PHP

function ImportCSV2Array($filename){
  $row = 0;
  $col = 0;

  $handle = @fopen($filename, "r");
  if ($handle){
    while (($row = fgetcsv($handle, 4096)) !== false) {
      if (empty($fields)) {
        $fields = $row;
        continue;
      }

      foreach ($row as $k=>$value) {
        $results[$col][$fields[$k]] = $value;
      }
      $col++;
      unset($row);
    }
    if (!feof($handle)) {
      echo "Error: unexpected fgets() failn";
    }
  fclose($handle);
  }

  return $results;
}

$csv_source =  "users_to_kill.csv";

civicrm_initialize();

//import spreadsheet

  $csvArray = ImportCSV2Array($csv_source);

//loop over rows
  foreach ($csvArray as $row){

//set contact id to variable
//print_r($csvArray);
  $cid_to_kill = $row['cid'];
//get uid from contact id, set into variable
$uid_to_kill = CRM_Core_BAO_UFMatch::getUFId($cid_to_kill);
print " contact id: ".$cid_to_kill;
print "-----";
print "uid: ".$uid_to_kill;
print "------ \n";
//delete contact

    $result = civicrm_api3('Contact', 'delete', array(
      'sequential' => 1,
      'id' => $cid_to_kill,
      'options' => array('skip_undelete' => 1,'check_permissions' => 0),
    ));

//delete user

      if (isset($uid_to_kill)) {
        user_delete($uid_to_kill);
      }

  }

```
> 0 votes

---
Tags: drupal
---


title: Mailing behavioural data throgh API

text:
# Question
Title: Mailing behavioural data throgh API
How do I get mailing behavioural data through the CiviCRM data through the API? Like number of bounce per mailing job or number of opens.

# Answer
> 1 votes
That data is stored in tables like "civicrm\_mailing\_event\_opened" and "civicrm\_mailing\_event\_bounce" joined with the civicrm\_mailing\_event table. I see that subscribe and unsubscribe have been implemented for example, but not the examples you're looking at (bounce or open).

So you could use the existing implementations to figure out how to write some new api functions for the ones that are missing.

Alternatively you might get what you want using CiviReports, and be able to consume that data from another machine.

---
Tags: civimail, api
---


# Question
Title: Help needed in setting up rest api in CIVI CRM
I tried below steps but I am getting an error in calling rest API via the browser.

1. I checked which user is an administrator and added api key via phpmyadmin interface.
2. Get the site key from CiviCRM settings.
3. I cross checked that user have permissions for editing and view contacts.
4. I want to get operation for contacts based on some condition.

Please have a look at error that I am getting.

Setting file is present in same folder public\_html/crm/sites/default

Please help me.It's the little bit urgent. I am very thankful to you.

With Regards,

Mohit Thareja

# Answer
> 1 votes
In your pictured error messages, I see `sites/all/modules/cv/civicrm` which looks a little strange. CiviCRM is typically installed at `sites/all/modules/civicrm`. I'm not positive this will help, but I would suggest trying the following:

1. Move the `civicrm` folder up into the `modules` folder.
2. Make sure CiviCRM still works via the regular front-end interface (and troubleshoot, as necessary)
3. Try your REST call again

# Answer
> 0 votes
I've seen CiviCRM not behave correctly in a couple of other cases, both of which I believe have been addressed in recent releases but still might be worth investigating:

* Where a symlink existed as part of the site path. (eg, `/home4/mark` is actually a symlink to `/srv/userdata/m/mark`, or `/home4/mark/public_html/crm` is a symlink to `/home4/mark/project1/civicrm`)
* Where the CMS/CiviCRM was not installed to the webroot of the site. (This appears to be the case, eg Drupal/CiviCRM is installed at `http://example.org/crm/` rather than `http://example.org/`

If Sean's recommendation doesn't resolve your situation, you might investigate these potential causes as well.

In any case, please do update with the solution you find - it may help that being addressed in CiviCRM core and save you or other users similar challenges in future!

---
Tags: api, webform-civicrm, rest
---


title: Custom data field - problem with import

text:
# Question
Title: Custom data field - problem with import
I have to import small quantity of contacts with custom date field. Field is set as rrrr (which should be filled with 4-digits year - 2017). Every single time, when this year is added in csv file I've got error 'Invalid value for field(s)'.

Value is set as 2015.

What may be the cause of that?

# Answer
petednz - fuzion was right. Type of data that can be selected during custom field setup is related to data. display, not to data type. Database needs full date (even if field was setup as yyyy). Adding 01-01 helped.
> 2 votes

---
Tags: custom-fields, import
---


# Question
Title: Can Drupal be used to send an email if an existing contact's name is changed
I'm wondering if it is possible to use the Drupal Rules module with CiviCRM Entity to send me an email when, for example, someone has taken an action (like made a donation) that updated the contact record and (for example) changed their first name. I can see a trigger "Before updating a civicrm contact" that then offer "Changed" and "Unchanged" values which could be compared (Condition: data comparison) but, that trigger does not seem to work? Any ideas?

# Answer
> 1 votes
The extension CiviRules is maybe an option. You can find it in the extension directory https://civicrm.org/extensions/civirules and the latest documentation is at https://docs.civicrm.org/civirules/en/latest/ .

---
Tags: civicrm-entity, drupal-rules
---


# Question
Title: Can not access System Status & New Mailing
I've install clean WordPress 4.8.1 by softaculous and CiviCRM 4.7.23. But when I access to System Status (wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/status) & New Mailing (wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fa%2F#/mailing), it shows only blank page.

I've tried install WordPress 4.8.1 and CiviCRM Long Term Support version 4.6.31, It works normally.

It's very strange that when I turn on Debug Mode, 2 link above can access normally like picture above. Please show me how to fix this.

# Answer
> 2 votes
Check whether image `Image Directory` and `Image Upload URL` share the same path in System Setting -\> Directoty & `Resource URL` page.

This issue of 404 has been seen on some installs. See - Status page angular load error

# Answer
> 1 votes
I have not seen this on a clean install, but have on an upgrade. Can you go to Administer --\> System Settings --\> Cleanup Caches and Update Path

First click Cleanup Caches once that completes, click on Update Paths.

Then try to access both System Status and New Mailing.

If they still do not appear we'd need to see what errors are being shown in the browser console.

---
Tags: wordpress
---


# Question
Title: Is there a copy of phpunit 4 documentation somewhere?
The `phpunit` no longer even lists the 4.8 documentation on its website although that seems to be the version buildkit is on.

:-(

are there docs for 4.8 somewhere?

# Answer
> 3 votes
https://phpunit.de/manual/4.8/en/index.html still exists even though it's not shown as an option in the menu anymore.

---
Tags: civicrm-buildkit, phpunit
---


title: Indices repair stopped by error

text:
# Question
Title: Indices repair stopped by error
I stuck with the error. When I try to repair indices I get error message:

```
CREATE UNIQUE INDEX index_entity_id_entity_table_account_relationship ON
civicrm_entity_financial_account (entity_id, entity_table,
account_relationship) [nativecode=1062 ** Duplicate entry '0-
civicrm_financial_type-12' for key
'index_entity_id_entity_table_account_relationship']
[type] => DB_Error

```

If I look into table see no problems.

# Answer
> 1 votes
Summarizing the discussion from the comments.

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

---
Tags: upgrade
---


# Question
Title: Lookup field for parliamentary constituency
Hello I would like to have the ability to lookup the parliamentary constituency of a person when they put in the postcode. The data should return into a custom field. The data source would need to be an external database (probably sql) I am aware that there is regional lookup extension (does it work on 4.7?) and there is county lookup (can that be tweaked to lookup a different field). Does anyone have any views on this? Are there other extensions I'm not aware of?

Thank you!

# Answer
> 0 votes
This service would be one option: https://mapit.mysociety.org/

# Answer
> 1 votes
For interest's sake in the end I went with a solution that sat outside civicrm (for now). I used PHP to look up and return the MP name from a sql table which I created by uploading data from http://www.list-logic.co.uk/lists/parliamentary-constituencies/list-of-uk-constituencies.html

The list of people who submitted the form are being manually uploaded into civicrm daily.

---
Tags: extension
---


# Question
Title: Two events with configured PRICE - Price option is only showing on one
I have 2 similar Civi events setup on a drupal site.

Price tab is not using existing Price sets (for both) but customly added price options. Screenshots (in dutch, sorry) attached.

FIRST EVENT

SECOND EVENT

So for one event, the price options are printed on the registration form. For the other, the price isn't printed.

I checked into /sites/all/modules/civicrm/templates/**CRM/Price/Form/PriceSet.tpl**

And for the second event, **$priceSet is empty.** This is why the price isn't printed.

I'm still clueless though as to why this could be.

Any suggestions are welcome :-)

# Answer
> 1 votes
Found it. The option "approval required" breaks the price option.

When that option is checked, the price options are not printed on the registration page. No idea why this behaviour is standard though.

My client needs to check this option AND needs to ask about price option, so in the current civi-logic (this is becoming a peculiar word, civi-logic) he needs to add a price field in the used profile instead?

---
Tags: civievent, registration, price-sets
---


# Question
Title: Event confirmation e-mail is showing empty values for the mandatory profile fields
I'm using the Events - Registration Confirmation and Receipt (on-line) under the workflow messages in the e-mail templates.

My event is using a custom Profile for the form fields.

**The confirmation page in de event form flow is correctly showing ALL entered values.**

**The confirmation e-mail however, is showing empty values for all fields that were made mandatory** in the profile. Screenshot added:

The code from the e-mail template (from: civicrm/admin/messageTemplates?reset=1 =\> Events - Registration Confirmation and Receipt (on-line) ) I could work with is:

{if $customPre} {foreach from=$customPre item=customPr key=i} {$customPre\_grouptitle.$i} {foreach from=$customPr item=customValue key=customName} {if ( $trackingFields and ! in\_array( $customName, $trackingFields ) ) or ! $trackingFields} {$customName} {$customValue} {/if} {/foreach} {/foreach} {/if}

This isn't telling me much, though.

Any thoughts?

# Answer
Mandatory was not the trigger of this. Fields of type: "Money" don't get printed in the e-mails.

Another nice one!
> 1 votes

---
Tags: civievent, civimail
---


# Question
Title: Walklist Splitting by Street and Odd/Even
In the configuration for CiviEngage, I have selected options to have a group break between each street and between evens and odds, and then for there to be a page break between groups.

How do I generate a walk list that follows these rules? When I go to Campaigns \> Campaign Reports and then print a report from the Survey I want, it gives me a list that's organized properly - by street alphabetically and then by odds/evens - but with no page breaks. The page breaks are critical, of course, to organizing the walk list in a way that makes geographic sense.

# Answer
> 2 votes
Ok, I worked it out for myself! Posting the answers here in case someone else runs into the same issue. The fundamental problem is that the location of Create Templates From Reports has changed from when the CiviCRM User Guide was created.

So now it's Administer \> CiviReport \> Create New Report From Template

Once there, you go to Survey Report (Detail) which should be at the bottom.

Then, select the columns you want displayed, and then in sorting select how you want it sorted -- Street Name, Ascending and Odd/Even Street Number, Ascending.

Then, on that same screen, check the Section Heading/Group By and Page Break boxes to the right of Street Name but NOT for Odd/Even (at least for me, grouping by odd/even did weird things).

The last bit of setup is under Filters, set "Survey" to the specific Survey you've set up, and "Respondent Status" is equal to Reserved.

The final step is you have to export to PDF if you want it broken up by page, as Print Report just gives you a single run of text. Ultimately it looks like the CiviEngage settings I mentioned int he OP don't do much for you.

Hope this is helpful to anyone else who's been perplexed by the User Guide not matching up to what you're seeing in your CiviCRM! If anyone else more experienced has anything to add, I'd love to hear it!

---
Tags: civicampaign
---


# Question
Title: Civicrm views bulk operations contact delete operation not working
I added the Civicrm tables to the settings.php according to the database integration guidlines at civicrm/admin/setting/uf?reset=1 I enabled watchdog logging for civicrm I installed civicrm entity. I installed views bulk operations I selected the Civicrm contact views bulk operations field in a view, and the Delete operation.

The delete operations appear to throw no errors..but the contacts are not deleted.

What could cause this?

# Answer
> 2 votes
It worked when I just tested it. You should know that Civi can be configured to hold the contacts in 'trash', so they might look like they are still there, but you will notice they are marked for permanent deletion and don't show up in any reports.

You should change your View to filter by "Contact is Deleted" set to 0.

---
Tags: contact-view
---


# Question
Title: Error 500 when using Mosaico with large content and number of users
I am using Drupal 7.56, CiviCRM 4.7.20 and Mosaico extension 2.0-beta2.1494950412. When sending an email with a few images to ~950 contacts I get an Internal Server Error (500). Removing a few images and the email succeeds. The server is presumably running out of some resource but I have not been able to determine what it is. Is anyone else experiencing this issue? If so do you know what resource I need to increase (if indeed that's the problem)?

# Answer
> 1 votes
The problem is caused by insufficient php memory. My php memory setting was 256MB and when I increased that to 512MB the problem was resolved. I don't know what setting would be 'correct' since I am not keen to retain php memory at 512MB.

# Answer
> 1 votes
Whilst increasing php memory solved the problem I was not comfortable in leaving the memory allocation just for Mosaico. So I throttled down the number of emails being sent at a time and reduced the php memory back and I have had no issues since that time. My settings are now php memory 256MB and I send 250 emails at a time.

---
Tags: email, mosaico
---


# Question
Title: Where to change details on payment processor?
I am using Wordpress 4.8.1 and CiviCRM 4.7.22.
Please see the screen shot of my payment processor on a contribution page. I am using Paypal Payments Pro. You will see where it says click the **"Continue"** button on the bottom. The button on the bottom says **"Contribute"**. That is very unprofessional. Where can I fix that?

Thank you

# Answer
If you want the exact filename of the text, you can simply grep inside the civicrm directory -

```
$ grep -rl "If you have a PayPal account" templates/
templates/CRM/Financial/Form/PaypalPro.tpl

```

Which gives the result of this file. You need to either -

1. Change the `Continue` text and create a PR to get it accepted into core.
2. Override this file into an extension. (Not recommended based on Coleman's explanation on the link.)
3. Write a simple js in an ext and change the text of the paypal msg or the `Contribute` button.
> 3 votes

---
Tags: payment-processor, payment
---


# Question
Title: Keeping track of membership history of an organization once a member has been removed?
I know relationships can be disabled, but it does not seem to preserve the time they were part of the organization.

Has anyone else had a similar use case where historical data of members within an organization has to be preserved and the best way to go about this?

# Answer
You might check `MembershipRenewal` Extension.

This creates a new record when a user renew its membership, so that the older/removed/expired membership remain unaffected to let know when the user was a part of the org.
> 1 votes

---
Tags: civimember, relationships
---


# Question
Title: Email Group Only Pulls subset of total emails
Having an interesting issue here whereby if I create a group in Civi to email, the actual recipient list is much smaller than the total number of contacts with an email in that group.

For a recent mailing, we had about 1766 contacts selected to email. However, on the next screen, only 289 contacts are expected to receive the email. I thought perhaps this was only an estimate, and scheduled the email. Once it sent (successfully) it indeed only went to 289 contacts. Just to clarify, it was 100% successful in sending, so it's not as if the system attempted to send to all of the contacts in the group but failed.

I compared some members in the group that didn't get the email to members that did, thinking it might be a communication preference or something like that. I couldn't find anything between the contacts that received the email that differed from those who didn't.

I'm on Wordpress running Civi 4.7.21.

# Answer
Reasons that come to mind for bulk emails not being sent to certain contacts:

* Contacts with duplicate email address (only one contact will receive the email unless you uncheck the "Dedupe by email" option next to the Recipients box).
* Contact has no email address which is marked either Primary or Bulk-Mailings and is not marked On-Hold.
* Either of the following privacy settings:

+ Do not email
    + NO BULK EMAILS (User Opt Out)
> 2 votes

# Answer
So it looks like this is related to NULL values in the "is\_deceased" field in CiviCRM. It looks like setting this value to 0 manually (using actual SQL) mitigated the issue. However, I'm not sure how to prevent this in the future other than perhaps explicitly setting the is\_deceased on all of our bulk imports in the future.

**Update** This appears to be the same issue encountered in this thread: CiviMail Does Not Send To A Whole Group
> 0 votes

---
Tags: wordpress, civimail
---


# Question
Title: Error: Sorry we are unable to provide this at the mom
CiviCRM 4.6 WordPress 4.8.1

This is a brand new installation with one record in the contacts table. When I did a search I got this error. There are no custom fields.

More error details:

```
Database Error Code: Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wp_thecivithing.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by, 1055
Additional Details:
Array
(
    [callback] => Array
        (
            [0] => CRM_Core_Error
            [1] => handle
        )

    [code] => -1
    [message] => DB Error: unknown error
    [mode] => 16
    [debug_info] => SELECT contact_a.id as contact_id, contact_a.contact_type  as `contact_type`, contact_a.contact_sub_type  as `contact_sub_type`, contact_a.sort_name  as `sort_name`, contact_a.display_name  as `display_name`, contact_a.do_not_email  as `do_not_email`, contact_a.do_not_phone  as `do_not_phone`, contact_a.do_not_mail  as `do_not_mail`, contact_a.do_not_sms  as `do_not_sms`, contact_a.do_not_trade  as `do_not_trade`, contact_a.is_opt_out  as `is_opt_out`, contact_a.legal_identifier  as `legal_identifier`, contact_a.external_identifier  as `external_identifier`, contact_a.nick_name  as `nick_name`, contact_a.legal_name  as `legal_name`, contact_a.image_URL  as `image_URL`, contact_a.preferred_communication_method  as `preferred_communication_method`, contact_a.preferred_language  as `preferred_language`, contact_a.preferred_mail_format  as `preferred_mail_format`, contact_a.first_name  as `first_name`, contact_a.middle_name  as `middle_name`, contact_a.last_name  as `last_name`, contact_a.prefix_id  as `prefix_id`, contact_a.suffix_id  as `suffix_id`, contact_a.formal_title  as `formal_title`, contact_a.communication_style_id  as `communication_style_id`, contact_a.job_title  as `job_title`, contact_a.gender_id  as `gender_id`, contact_a.birth_date  as `birth_date`, contact_a.is_deceased  as `is_deceased`, contact_a.deceased_date  as `deceased_date`, contact_a.household_name  as `household_name`, IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name, contact_a.sic_code  as `sic_code`, contact_a.is_deleted  as `contact_is_deleted`, IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer, civicrm_address.id as address_id, civicrm_address.street_address as `street_address`, civicrm_address.supplemental_address_1 as `supplemental_address_1`, civicrm_address.supplemental_address_2 as `supplemental_address_2`, civicrm_address.city as `city`, civicrm_address.postal_code_suffix as `postal_code_suffix`, civicrm_address.postal_code as `postal_code`, civicrm_address.geo_code_1 as `geo_code_1`, civicrm_address.geo_code_2 as `geo_code_2`, civicrm_address.state_province_id as state_province_id, civicrm_address.country_id as country_id, civicrm_phone.id as phone_id, civicrm_phone.phone_type_id as phone_type_id, civicrm_phone.phone as `phone`, civicrm_email.id as email_id, civicrm_email.email as `email`, civicrm_email.on_hold as `on_hold`, civicrm_im.id as im_id, civicrm_im.provider_id as provider_id, civicrm_im.name as `im`, civicrm_worldregion.id as worldregion_id, civicrm_worldregion.name as `world_region`  FROM civicrm_prevnext_cache pnc INNER JOIN civicrm_contact contact_a ON contact_a.id = pnc.entity_id1 AND pnc.cacheKey = 'civicrm search e6d5a7db1a38e03b5d819b941e64dda2_6120'  LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 ) LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)  LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)  LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)  LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id  LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id  WHERE (contact_a.is_deleted = 0)  GROUP BY contact_a.id  ORDER BY pnc.id  LIMIT 0, 50 [nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wp_thecivithing.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
    [type] => DB_Error
    [user_info] => SELECT contact_a.id as contact_id, contact_a.contact_type  as `contact_type`, contact_a.contact_sub_type  as `contact_sub_type`, contact_a.sort_name  as `sort_name`, contact_a.display_name  as `display_name`, contact_a.do_not_email  as `do_not_email`, contact_a.do_not_phone  as `do_not_phone`, contact_a.do_not_mail  as `do_not_mail`, contact_a.do_not_sms  as `do_not_sms`, contact_a.do_not_trade  as `do_not_trade`, contact_a.is_opt_out  as `is_opt_out`, contact_a.legal_identifier  as `legal_identifier`, contact_a.external_identifier  as `external_identifier`, contact_a.nick_name  as `nick_name`, contact_a.legal_name  as `legal_name`, contact_a.image_URL  as `image_URL`, contact_a.preferred_communication_method  as `preferred_communication_method`, contact_a.preferred_language  as `preferred_language`, contact_a.preferred_mail_format  as `preferred_mail_format`, contact_a.first_name  as `first_name`, contact_a.middle_name  as `middle_name`, contact_a.last_name  as `last_name`, contact_a.prefix_id  as `prefix_id`, contact_a.suffix_id  as `suffix_id`, contact_a.formal_title  as `formal_title`, contact_a.communication_style_id  as `communication_style_id`, contact_a.job_title  as `job_title`, contact_a.gender_id  as `gender_id`, contact_a.birth_date  as `birth_date`, contact_a.is_deceased  as `is_deceased`, contact_a.deceased_date  as `deceased_date`, contact_a.household_name  as `household_name`, IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name, contact_a.sic_code  as `sic_code`, contact_a.is_deleted  as `contact_is_deleted`, IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer, civicrm_address.id as address_id, civicrm_address.street_address as `street_address`, civicrm_address.supplemental_address_1 as `supplemental_address_1`, civicrm_address.supplemental_address_2 as `supplemental_address_2`, civicrm_address.city as `city`, civicrm_address.postal_code_suffix as `postal_code_suffix`, civicrm_address.postal_code as `postal_code`, civicrm_address.geo_code_1 as `geo_code_1`, civicrm_address.geo_code_2 as `geo_code_2`, civicrm_address.state_province_id as state_province_id, civicrm_address.country_id as country_id, civicrm_phone.id as phone_id, civicrm_phone.phone_type_id as phone_type_id, civicrm_phone.phone as `phone`, civicrm_email.id as email_id, civicrm_email.email as `email`, civicrm_email.on_hold as `on_hold`, civicrm_im.id as im_id, civicrm_im.provider_id as provider_id, civicrm_im.name as `im`, civicrm_worldregion.id as worldregion_id, civicrm_worldregion.name as `world_region`  FROM civicrm_prevnext_cache pnc INNER JOIN civicrm_contact contact_a ON contact_a.id = pnc.entity_id1 AND pnc.cacheKey = 'civicrm search e6d5a7db1a38e03b5d819b941e64dda2_6120'  LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 ) LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)  LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)  LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)  LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id  LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id  WHERE (contact_a.is_deleted = 0)  GROUP BY contact_a.id  ORDER BY pnc.id  LIMIT 0, 50 [nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wp_thecivithing.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]
    [to_string] => [db_error: message="DB Error: unknown error" code=-1 mode=callback callback=CRM_Core_Error::handle prefix="" info="SELECT contact_a.id as contact_id, contact_a.contact_type  as `contact_type`, contact_a.contact_sub_type  as `contact_sub_type`, contact_a.sort_name  as `sort_name`, contact_a.display_name  as `display_name`, contact_a.do_not_email  as `do_not_email`, contact_a.do_not_phone  as `do_not_phone`, contact_a.do_not_mail  as `do_not_mail`, contact_a.do_not_sms  as `do_not_sms`, contact_a.do_not_trade  as `do_not_trade`, contact_a.is_opt_out  as `is_opt_out`, contact_a.legal_identifier  as `legal_identifier`, contact_a.external_identifier  as `external_identifier`, contact_a.nick_name  as `nick_name`, contact_a.legal_name  as `legal_name`, contact_a.image_URL  as `image_URL`, contact_a.preferred_communication_method  as `preferred_communication_method`, contact_a.preferred_language  as `preferred_language`, contact_a.preferred_mail_format  as `preferred_mail_format`, contact_a.first_name  as `first_name`, contact_a.middle_name  as `middle_name`, contact_a.last_name  as `last_name`, contact_a.prefix_id  as `prefix_id`, contact_a.suffix_id  as `suffix_id`, contact_a.formal_title  as `formal_title`, contact_a.communication_style_id  as `communication_style_id`, contact_a.job_title  as `job_title`, contact_a.gender_id  as `gender_id`, contact_a.birth_date  as `birth_date`, contact_a.is_deceased  as `is_deceased`, contact_a.deceased_date  as `deceased_date`, contact_a.household_name  as `household_name`, IF ( contact_a.contact_type = 'Individual', NULL, contact_a.organization_name ) as organization_name, contact_a.sic_code  as `sic_code`, contact_a.is_deleted  as `contact_is_deleted`, IF ( contact_a.contact_type = 'Individual', contact_a.organization_name, NULL ) as current_employer, civicrm_address.id as address_id, civicrm_address.street_address as `street_address`, civicrm_address.supplemental_address_1 as `supplemental_address_1`, civicrm_address.supplemental_address_2 as `supplemental_address_2`, civicrm_address.city as `city`, civicrm_address.postal_code_suffix as `postal_code_suffix`, civicrm_address.postal_code as `postal_code`, civicrm_address.geo_code_1 as `geo_code_1`, civicrm_address.geo_code_2 as `geo_code_2`, civicrm_address.state_province_id as state_province_id, civicrm_address.country_id as country_id, civicrm_phone.id as phone_id, civicrm_phone.phone_type_id as phone_type_id, civicrm_phone.phone as `phone`, civicrm_email.id as email_id, civicrm_email.email as `email`, civicrm_email.on_hold as `on_hold`, civicrm_im.id as im_id, civicrm_im.provider_id as provider_id, civicrm_im.name as `im`, civicrm_worldregion.id as worldregion_id, civicrm_worldregion.name as `world_region`  FROM civicrm_prevnext_cache pnc INNER JOIN civicrm_contact contact_a ON contact_a.id = pnc.entity_id1 AND pnc.cacheKey = 'civicrm search e6d5a7db1a38e03b5d819b941e64dda2_6120'  LEFT JOIN civicrm_address ON ( contact_a.id = civicrm_address.contact_id AND civicrm_address.is_primary = 1 ) LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)  LEFT JOIN civicrm_phone ON (contact_a.id = civicrm_phone.contact_id AND civicrm_phone.is_primary = 1)  LEFT JOIN civicrm_im ON (contact_a.id = civicrm_im.contact_id AND civicrm_im.is_primary = 1)  LEFT JOIN civicrm_country ON civicrm_address.country_id = civicrm_country.id  LEFT JOIN civicrm_worldregion ON civicrm_country.region_id = civicrm_worldregion.id  WHERE (contact_a.is_deleted = 0)  GROUP BY contact_a.id  ORDER BY pnc.id  LIMIT 0, 50 [nativecode=1055 ** Expression #37 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'wp_thecivithing.civicrm_address.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]"]
)

```

Where do I go from here?

# Answer
are you using mysql 5.7?

There were a number of issues that came up for folks switching from 5.5 to 5.7

I think many (most? all?) were fixed in 4.7 but that has not been backported to 4.6

https://issues.civicrm.org/jira/browse/CRM-18439?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel&showAll=true

you might want to look at disabling mysql's ONLY\_FULL\_GROUP\_BY option

https://stackoverflow.com/a/36033983
> 1 votes

---
Tags: database, search, mysql
---


# Question
Title: CiviCRM Home says CURL is not installed but it is
CivCRM version 4.6 PHP Version 5.6 CURL was installed with `apt install php-curl`

The CiviCRM home page insists that CURL is not installed but all indications are that is is installed. My phpinfo() shows that is it is. I can execute it from the command line.

I've searched for solutions but can't find it yet

# Answer
CiviCRM has detected that the function `curl_init` is not available, and is showing a warning.

Commandline `phpinfo()` will show changes immediately (since PHP is started for each execution), while PHP in the webserver needs you to restart it separately to pick up new PHP modules. (These modes of running PHP also have different configurations loaded per default - but apt should already have enabled `curl` for each.)

You can verify this by checking `phpinfo` through the webserver (eg in Drupal, visit `admin/reports/status/php`; in WordPress you might need to use this phpinfo plugin or just create a `phpinfo` file in your site. If you see curl missing there, it could be a reload is all you need.

Depending on your webserver configuration (PHP can run as FPM, mod\_php, etc), you'll need to restart the service (eg apache2, php-fpm) which runs PHP on your server. Most likely,

```
sudo service <your php service> reload

```
> 4 votes

# Answer
if you're running apache, did you restart it after installing php-curl?
> 1 votes

---
Tags: wordpress
---


# Question
Title: Way to display non-public events to employees
Our organization has a variety of public events as well as private events. In many cases, I need volunteers/employees to see the private events so they can register to assist, etc.

Is it possible to have a means that when an employee logs into the website, the non-public events are listed in upcoming events? I am somewhat familiar with ACL and have an employees ACL rule that works in other aspects. I would like a way to have the employee log-in and see all events.

# Answer
> 2 votes
I think you could do this with an additional acl.

tested this on a client's site and it seemed to work

But I don't know you exact needs, you might want 'all' instead of 'edit' in the form

---
Tags: civievent, acl
---


# Question
Title: Confirm Contribution button not clickable for non-default payment processor
When selecting the non-default payment processor (ACH in this case), the "Confirm Contribution" becomes non-clickable (greyed out). Switching back to the default (credit card) it is still unclickable until I refresh page.

This may be related to the following StackExchange question: Can someone help me fix a "greyed out" save button for a new contribution?

which made me originally think it was a URL inconsistency due to a recent upgrade from 4.6.x to 4.7.23

* All URLs and paths look consistent (I made them absolute) and caches have been cleared
* Rebuilding contribution page doesn't fix it
* Other sites running 4.7 and iATS don't exhibit this problem
* All payment methods work through the backend New Contribution page
* Non-default payment processor works when on its own contribution page

Running WP with iATS 1.6.0.

# Answer
> 1 votes
Unfortunately there are some outstanding 4.7 issues with non-default payment processors in CiviCRM; it's not related to iATS - it affects all payment processors; Here's one JIRA issue: https://issues.civicrm.org/jira/browse/CRM-19508 \- no resolution yet as there is a workaround;

---
Tags: civicontribute, upgrade, payment-processor, iats
---


# Question
Title: Date picker not appearing in 4.7.23 and Joomla 3.7.5
Not sure what's going on here. Inspecting code for a date field show's right markup (I think), but the date picker doesn't appear on profile date fields on frontend. In backend admin view of profiles, the date picker does appear.

The URL to the page is: http://www.cahpi.ca/demodate , and files in question have "Date" in their label.

I'm using a custom template (which is what you'll see at the above URL), but even when I use the default Beez3 template for Joomla, the date picker icon doesn't appear in the date fields.

I have multilingual civiCRM (English/French), but don't see that this would prevent date picker from appearing.

Any suggestions?

# Answer
The problem appears to be a misconfiguration on your site which results in javascript files failing to load. Inspecting the source of http://www.cahpi.ca/demodate shows a list of scripts which should be loading. For example, `<script type="text/javascript" src="/components/com_civicrm/civicrm/bower_components/jquery-ui/jquery-ui.min.js?r=YiBsO">` but trying to open that url, http://www.cahpi.ca/components/com\_civicrm/civicrm/bower\_components/jquery-ui/jquery-ui.min.js?r=YiBsO results in a redirect to the homepage. That's what you need to fix.
> 0 votes

# Answer
Are you using AdminTools to generate your .htaccess file in Joomla? If so, try adding an exception in the "direct access including php" section for that url path. Actually, it's a js file, so it shouldn't really need it. However --- if you are using AdminTools, see the documentation suggestions here: https://docs.civicrm.org/user/en/latest/website-integration/integrating-with-joomla/#admintools -- as it could be related. It's also possible the js conflicts are caused by plugins. Take a look at your system plugins in particular and try disabling any that indicate they load js, then reload the page, and in that way try to identify the conflict source.
> 0 votes

---
Tags: profile, joomla, dates
---


# Question
Title: Establishing Group Based Permissions to Limit Display of Content to Logged In User
I have a Drupal / Civi application running which uses ACL to restrict contact data to the Drupal user whom is a member of the Group (the Group Admin).

Currently I have 5 Groups. However, each Group Admin is able to see administrative content of all other Groups.

I'm struggling to understand permissions and restricting the administrative contents of one group from another group.

Group contacts are properly restricted. However, even in Search \> Find Contacts all Group Admins are able to see all other Groups in the Group Drop Down Selector. Search results produce no contacts, however Group Admin 1 should not be able to view Group 2 in the selector.

For another Example Mailings \> Message Templates shows the templates for all groups to all users. The requirement is to limit the display of templates to those CREATED by the Group Admin whom is also a Drupal Logged In User.

What is needed is a permission Like View / Edit / Delete Own Templates

Similarly, Campaigns \> Dashboard \> Campaigns will show all campaigns to all users. The requirement is to limit the display of campaigns to those CREATED by the Group Admin whom is also the Drupal Logged In User.

View / Edit / Delete own Campaigns

There are other locations where permissions need to be managed but they are in the same context.

Is it recommended to do this with menu based permissions? What other approach should be considered? Any extensions that will help?

# Answer
There is no such way to do this in Civi that I know of. There is no connection/ownership between a Campaign and a Group.

If you have a small number of groups, then yes i could see you doing this via some Views and Webforms whereby each 'group' has its own set of forms/lists and these show only the Campaigns etc which they should see.

I think I get what you are after but not aware of a simple method to do this.
> 1 votes

---
Tags: groups, permissions, acl
---


title: Specify a recurring gift period?

text:
# Question
Title: Specify a recurring gift period?
I'm interested in setting up a 3-month sustainer option — one gift each month for October, November and December. Is it possible to configure CiviCRM to do this? Or, if that's not possible, could I configure it to set donors up as monthly givers, but automatically cancel after the third gift?

# Answer
Absolutely - you can configure things such that the recurring series will be for 3 instalments only. That way you don't need to manually cancel them after the third gift.
> 1 votes

---
Tags: recurring-contributions
---


title: Custom File Field Filename Error

text:
# Question
Title: Custom File Field Filename Error
I have created some custom file fields so I can add some files (pdf, doc, zip etc) to each user profile.

When I upload the files, everything works great. I the backend the file names are displayed correclty, BUT in the frontent the filenames are changed: a string like "\_8b9c34bb85a1219b9e1f60e02d82907c" is atteched.

How can I fix this? I use civicrm 4.6.11 and wordpress 3.8

**UPDATE 5/4/2016:** I have tested version 4.6.14 and 4.7.4 on wordpress 4.4.2 (latest version) on different *Plesk* (TopHost) and *Cpanel* (SiteGround) shared servers.

**The problem remain the same.**

The files are stored correctly but at the frontend an HTML text on the link is added.

See Screenshots:

user profile custom fields backend

user profile custom fields frontend

backend civicrm 4.6.14

wordpress 4.4.2 frontend profile page civicrm 4.6.14

server settings

# Answer
Please make sure you have selected the correct datatype while creating the custom field value - it should look like below
> 1 votes

# Answer
I did manage to test the same against Civicrm 4.6.14 and custom field of type file is not working as excepted but still the file is been saved against the field but the display is incorrect

this is how it looks - in the display

if you try to edit the custom file is been displayed as below

So please check your installation - and then try again - thanks
> 0 votes

# Answer
I'm pretty sure the problem you're describing is CRM-18183. Try upgrading to CiviCRM 4.7.5+.
> 0 votes

---
Tags: wordpress, custom-fields
---


# Question
Title: Importing contacts through Kettle and CiviCRM data integration
I am importing legacy data into a CiviCRM instance, and I am stuck. Using Kettle I am able to import the contacts, but the address data isn't being imported. When I use a sample of the data in the CSV I can import it into CiviCRM through import contacts with the same field mapping, without any problems.

Is there a way to debug API output generated by CiviCRM Output in Kettle? Am I missing a necessary address field of something? What would be a minimal example of API code to create contact with a country address field?

EDIT This is the warning I get.

{"is\_error":0,"undefined\_fields":\["country","state\_province","city"\],"version":3,"count"

Although these fields are avaliable for contacts entity in CiviCRM Output.

# Answer
> 2 votes
I use this recipe (manipulate data in Kettle and then API to CiviCRM) regularly. Adding the address is done with the Address API. Are you aware of the API explorer in CiviCRM?

If not, try /civicrm/api/explorer before version 4.6 or use **Support/Developer/API Explorer** since version 4.7.

This gives you a possibility to "play" with the API explorer to find out what is required. Be careful, it does actually perform the suggested actions :-)

---
Tags: civicrm-home
---


# Question
Title: Interested in setting up capacity for receiving recurring donations
My organization is looking to set up a monthly giving program -- does CiviCRM have the capacity to process/store recurring donations?

# Answer
> 1 votes
Civi works with a number of payment processors, some of which do recurring payments.

I think the best list of which do what is here: https://wiki.civicrm.org/confluence/display/CRMDOC/Payment+Processors

# Answer
> 0 votes
Yes - but it depends what payment processor you are using - do you have one set up already?

# Answer
> 0 votes
And on top of that, for European organizations that need it there is an extension CiviSepa to work with SEPA recurring contributions. But not sure what region you are in :-)

---
Tags: recurring-contributions
---


# Question
Title: Relationship shows up on contact page but is undefined in reports, searches, and exports
I have a database in which I have recorded relationships and they are not showing up on the relationship report, in searches, etc. In other cases the same type of relationship does show up. After investigating in the database directly I've found that the relationships which don't show up are not in the database either. But they do show up on the contact page under the relationships tab. How do I get those relationships to integrate into the database?

# Answer
I realized what the issue was. You must be very careful in defining the relationships - A to B vs B to A. I had different relationships defined for B to A when the A to B and B to A were the same. For example: if you have Employer and Employee defined, you don't need to define a separate relationship for Employee to Employer -- the system handles which one is A and which one is B.
> 1 votes

---
Tags: relationships
---


# Question
Title: How can i combine new person and a new contribution on the same page?
I want to have one page with the possibility to register a new contact that have made a contribution instead of needing to do this on 2 separate pages.

# Answer
> 1 votes
Generally you can go to the Contribution page, either incognito, or if logged in by using the "or want to do this for a different person" option at the top of the page, which takes you to the same url with cid=0 inserted (or just add this to your menu for quick access), then fill in the form same as 'they' might have.

# Answer
> 1 votes
As a user with access to CiviCRM, you can go to the "New Contribution" form and when it says "Select Contact" you can click on "New Individual" to add someone.

---
Tags: contacts, contributions, registration
---


# Question
Title: What is the Process to have an Extension Enhanced?
I use some Extensions (e.g. Twilio : org.civicrm.sms.twilio).

I would like some enhancements (e.g. : have a specific associated permission or connexion to an existing permission)

What is the best process to get that ?

(I am not a developer, nor familiar with development environment)

# Answer
You don't need to be a developer to contribute to enhancements -\> you could sponsor the work and let an experienced developer do it for you. For org.civicrm.sms.twilio -\> go through the Paid Issue Queue: https://civicrm.org/paid-issue-queue The CiviCRM Core team will either be able to work on it - or they will find a CiviCRM partner for you to work with.
> 3 votes

---
Tags: extension
---


# Question
Title: How to mail to the default contact person of a member organization with more employees?
I am working for a customer that has organizations as members. The employees are also registered, and a member organization must have a main contact. All official communication is sent to the main contact.

But sometimes a member has a compliance officer, depends on the size. Special mailings about compliance must be sent to the compliance officers if an organization has one. Otherwise, it must be addressed to the main contact. We have not decided yet register the compliance officer. It can be a separate relationship or a group on the contact.

Any tips how to achieve this?

# Answer
> 2 votes
One way of approaching it is with a handful of smart groups:

Lets assume you create compliance officers as individuals and link them with a 'Compliance officer is/of' relationship

1) Create a smart group of 'Compliance officers of member orgs' by using Advanced Search to search for organisations that have a current membership and setting 'Display Results as' to 'Related contacts' and the relationship as 'Compliance officer of' - this is the first group to add to your mailing.

2) Create a smart group of 'Member Orgs'

3) Create a smart group of 'Member orgs with compliance officers' by searching for members with a 'compliance officer is' relationship

4) Create a smart group for 'Member orgs without compliance officers' using Search \> Custom Search \> Include/Exclude search and the last two groups you just created

5) Create a smart group of 'Main contacts of member orgs without compliance officers' similar to 1) using 'Member orgs without compliance officers' and Related contacts/Main contact of - This is the second group to add to your mailing.

Use too many layers of smart groups and your server will be gasping for air, but it might work if your numbers are not too large.

# Answer
> 2 votes
A different approach would be to have a 'compliance' email address on the organisation and use rules triggered on relationship changes to update that address to be compliance or main contact as appropriate.

A variant of that is to use a Contact Reference custom field on your org updated by rules on relationships - or just updated manually depending on the workflow.

Several options with different implications ... depends what works for you.

# Answer
> 1 votes
Not sure I fully get the issue. Using different relationships types would seem the obvious answer, but am thinking that isn't what you are asking for.

Key thing is that whoever does the renewal must have a Permissioned Relationship, so if you need to separate the 'default' from the others then you may be able to do it by creating custom groups that differ based on whether the relationship is Permissioned or not

---
Tags: groups, relationships, configuration
---