title: Using CiviCRM for Fundraising Pipeline

text:
# Question
Title: Using CiviCRM for Fundraising Pipeline
Have you found an easy way to manage a fundraising pipeline using CiviCRM?

If so, can you please share how you set it up?

Thank you.

---

Thanks everyone for your responses! To clarify, this is for tracking foundations, not individual donors. We would like to be able to see where we are in the process with a particular funder. Initial Inquiry, Proposal Sent, Under Consideration, Accepted, Denied

# Answer
That's a huge question- but the answer is "yes", it's all there, but you need to do your homework. A combination of rules (check out the civi rules extension) tags and smart groups can automate just about anything you'd find in a donor pipeline.
> 4 votes

# Answer
Yes - there are a number of organizations who use CiviCRM to manage all aspects of a fundraising pipeline!

From prospecting & donor segmentation to identify donors and calculate appropriate ask amounts, to assigning such prospects to phoners or door-to-door fundraisers right down to civimail to send immediate thank you-s and scheduled reminders to follow up later.
> 3 votes

# Answer
As the others stated, yes it should all be possible but it will require some thought and configuration. If you want to find out what CiviRules can do you can have a look at the cookbook on the wiki: https://wiki.civicrm.org/confluence/display/CRMDOC/CiviRules+Cookbook. There is a section with an example of donor segmentation which will not answer the full scope of donor pipeline but might give you some ideas on what is possible.
> 3 votes

# Answer
With that clarification, what you would actually want is a setup using CiviCase. Per the Civi Book:

> CiviCase is a tool for tracking and managing sequences of interactions between people in your organisation and contacts in CiviCRM.

Per the wiki for CiviCase:

> * Cases involve a sequence of interactions (*activities*). The record of these activities form a narrative for the case.
> * Case management settings can classify their cases into a known set of *case types*.
> * Cases of a given type often have a predictable sequence of activities (a standard timeline). Creating a schedule with the expected activity sequence is a useful way to measure case progress...
> * Case management settings may have additional people and / or organizations who are frequently contacted / involved with most or all cases (case resources).

There are a number of resources for CiviCase, including:
> 3 votes

---
Tags: activities, best-practice
---


# Question
Title: CiviCRM REST API query doesn't return all fields of a 'Report'
I have been trying to retrieve reports based on default report templates through REST API calls. But the fields returned for each report instance is not same as what it is supposed to according to a report instance's description.

Here is an example query in the API explorer,

Query to retrieve Constituent Summary report:

Here is the result of the query:

The default description of the Constituent Summary report is:

> Provides a list of address and telephone information for constituent records in your system.

But as you see the result of the query, all the returned rows have only name, and there is no other option in the API explorer to specify fields to be returned.

Things I did to analyse/rectify my query's result it further:

* Made sure that the report instance created in the UI has more than one column selected (that is, not only name but other fields like address, email etc.)
* Deleted the default report instance and created by own in the UI based on the default report templates. But still, the API query returns only these specific fields (in image.)

The above behavior is true for all query against report: It returns only specific fields/columns irrespective of the column selected in the UI.

Please let me know how can I retrieve a report with all columns (as specified for a particular report in Reports tab)

# Answer
> 1 votes
If you choose a particular report id rather than a general template it should get the config from that report. I'm not sure if it picks up stuff from anywhere from the default templates (e.g first configured instance of that template).

You can pass in other parameters somewhat in line with the POST vars I believe

# Answer
> 0 votes
A report id could be a number of a report instance as well a string representing a template

---
Tags: api, civireport, reports, rest
---


# Question
Title: Problem in civicrm upgrade 4.74 to 4.7.5 in drupal 7
When I Intented upgrade my site from civicrm 4.7.4 to 4.7.5 in drupal 7 one error appear and don't is possible continue. (sorry for my english)

Could yo help me with this error?

This is the error screen

---

\[Error: Upgrade DB to 4.7.5\]

```
Campo de error  Valor de error
Type    DB_Error
Code    -1
Message DB Error: unknown error
Mode    16
UserInfo    CREATE TRIGGER civicrm_events_in_carts_after_insert after insert ON civicrm_events_in_carts FOR EACH ROW BEGIN IF ( @civicrm_disable_logging IS NULL OR @civicrm_disable_logging = 0 ) THEN INSERT INTO log_civicrm_events_in_carts (id, event_id, event_cart_id, log_conn_id, log_user_id, log_action) VALUES ( NEW.id, NEW.event_id, NEW.event_cart_id, CONNECTION_ID(), @civicrm_user_id, 'insert');END IF; END [nativecode=1235 ** This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table']
DebugInfo   CREATE TRIGGER civicrm_events_in_carts_after_insert after insert ON civicrm_events_in_carts FOR EACH ROW BEGIN IF ( @civicrm_disable_logging IS NULL OR @civicrm_disable_logging = 0 ) THEN INSERT INTO log_civicrm_events_in_carts (id, event_id, event_cart_id, log_conn_id, log_user_id, log_action) VALUES ( NEW.id, NEW.event_id, NEW.event_cart_id, CONNECTION_ID(), @civicrm_user_id, 'insert');END IF; END [nativecode=1235 ** This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table']
PEAR_Exception: DB Error: unknown error in unknown on line unknown
- DB_Error: DB Error: unknown error in unknown on line unknown

```

Exception Trace

```
Function    -- Location

0   CRM_Core_Error::exceptionHandler(Object(DB_Error)) --   unknown:unknown
1   call_user_func(Array, Object(DB_Error))     -- MY_PATH/sites/all/modules/civicrm/packages/PEAR.php:931
2   PEAR_Error->PEAR_Error('DB Error: unknow…', -1, 16, Array, 'CREATE TRIGGER c…')     -- MY_PATH/sites/all/modules/civicrm/packages/DB.php:976
3   DB_Error->DB_Error(-1, 16, Array, 'CREATE TRIGGER c…')  -- MY_PATH/sites/all/modules/civicrm/packages/PEAR.php:564
4   PEAR->raiseError(null, -1, null, null, 'CREATE TRIGGER c…', 'DB_Error', true)   -- MY_PATH/sites/all/modules/civicrm/packages/DB/common.php:1905
5   DB_common->raiseError(-1, null, null, null, '1235 ** This ver…')    -- MY_PATH/sites/all/modules/civicrm/packages/DB/mysql.php:895
6   DB_mysql->mysqlRaiseError()     -- MY_PATH/sites/all/modules/civicrm/packages/DB/mysql.php:328
7   DB_mysql->simpleQuery('CREATE TRIGGER c…')  -- MY_PATH/sites/all/modules/civicrm/packages/DB/common.php:1216
8   DB_common->query('CREATE TRIGGER c…')   -- MY_PATH/sites/all/modules/civicrm/packages/DB/DataObject.php:2438
9   DB_DataObject->_query('CREATE TRIGGER c…')  -- MY_PATH/sites/all/modules/civicrm/packages/DB/DataObject.php:1627
10  DB_DataObject->query('CREATE TRIGGER c…')   -- MY_PATH/sites/all/modules/civicrm/CRM/Core/DAO.php:335
11  CRM_Core_DAO->query('CREATE TRIGGER c…', false)     -- MY_PATH/sites/all/modules/civicrm/CRM/Core/DAO.php:1268
12  CRM_Core_DAO::executeQuery('CREATE TRIGGER c…', Array, true, null, false, false)    -- MY_PATH/sites/all/modules/civicrm/CRM/Core/DAO.php:2105
13  CRM_Core_DAO::createTriggers(Array, null)   -- MY_PATH/sites/all/modules/civicrm/CRM/Core/DAO.php:1964
14  CRM_Core_DAO::triggerRebuild()  -- MY_PATH/sites/all/modules/civicrm/CRM/Core/I18n/Schema.php:348
15  CRM_Core_I18n_Schema::rebuildMultilingualSchema(Array, '4.7.5')     -- MY_PATH/sites/all/modules/civicrm/CRM/Upgrade/Form.php:390
16  CRM_Upgrade_Form->processLocales('/var/local/drupa…', '4.7.5')  -- MY_PATH/sites/all/modules/civicrm/CRM/Upgrade/Form.php:421
17  CRM_Upgrade_Form->processSQL('4.7.5')   -- MY_PATH/sites/all/modules/civicrm/CRM/Upgrade/Form.php:663
18  CRM_Upgrade_Form::doIncrementalUpgradeStep(Object(CRM_Queue_TaskContext), '4.7.5', '4.7.4', '4.7.5', '/tmp/civicrm-pos…')   -- unknown:unknown
19  call_user_func_array(Array, Array)  -- MY_PATH/sites/all/modules/civicrm/CRM/Queue/Task.php:88
20  CRM_Queue_Task->run(Object(CRM_Queue_TaskContext)) -- MY_PATH/sites/all/modules/civicrm/CRM/Queue/Runner.php:214
21  CRM_Queue_Runner->runNext(true)     -- MY_PATH/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php:52
22  CRM_Queue_Page_AJAX::{closure}()    -- MY_PATH/sites/all/modules/civicrm/CRM/Queue/ErrorPolicy.php:106
23  CRM_Queue_ErrorPolicy->call(Object(Closure))    -- MY_PATH/sites/all/modules/civicrm/CRM/Queue/Page/AJAX.php:54
24  CRM_Queue_Page_AJAX::runNext()  -- unknown:unknown
25  call_user_func(Array)   -- MY_PATH/sites/all/modules/civicrm/CRM/Core/Invoke.php:278
26  CRM_Core_Invoke::runItem(Array)     -- MY_PATH/sites/all/modules/civicrm/CRM/Core/Invoke.php:86
27  CRM_Core_Invoke::_invoke(Array)     -- MY_PATH/sites/all/modules/civicrm/CRM/Core/Invoke.php:54
28  CRM_Core_Invoke::invoke(Array)  -- MY_PATH/sites/all/modules/civicrm/drupal/civicrm.module:454
29  civicrm_invoke('upgrade', 'queue', 'ajax', 'runNext')   -- unknown:unknown
30  call_user_func_array('civicrm_invoke', Array)       -- MY_PATH/includes/menu.inc:527
31  menu_execute_active_handler()      -- MY_PATH/index.php:21
32 {main}

```

# Answer
> 1 votes
The MySQL error message ({\[nativecode=1235 \** This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'\]}) indicates that you are probably on an outdated version of MySQL.

Can you please type the command 'mysql -V' (capital V) and report here the version number that is displayed?

---
Tags: drupal, upgrade, 4.7, mysql
---


# Question
Title: Error on running cron job for mailing process on CivicRM 4.7.8
Running the php cli for the mailing process, got the failure

```
Entity: job Action: process_mailing
Summary
Finished execution of Send Scheduled Mailings with result: Failure, Error message: API permission check failed for Group/get call; insufficient permission: require access CiviCRM
Details
Parameters parsed (and passed to API method):
a:1:
Unknown macro: {s}
Full message:
Finished execution of Send Scheduled Mailings with result: Failure, Error message: API permission check failed for Group/get call; insufficient permission: require access CiviCRM

```

Here is my command for the cli

php ../administrator/components/com\_civicrm/civicrm/bin/cli.php -u user -p password -e Job -a execute

Running manually from the schedule job, CiviCRM » Administer CiviCRM » Scheduled Jobs, there is no failure

Similar problem/bugs has been mentioned here CRM-17968 (fixed 4.7.4)

I saw that the fix already patched in the civicrm 4.7.8. but the problem still persisted, and i did not yet found the solution.

Thank you

# Answer
Check that:
> 0 votes

---
Tags: civimail, joomla
---


title: Exporting deduped information

text:
# Question
Title: Exporting deduped information
I need to do a de-dupe on a set of records. Two groups were brought in with different External ID's for each contact. I need to merge the contacts, but export the External ID that was kept and the External ID that was dropped. Having the First Name/Last Name would be bonus. This way, when I bring in additional data linked to an external ID, I can pre-write the corrected existing external ID from the map.

Contact A has an External ID of 123. Contact B has an External ID of 456. Contact A and B are the same person, but has two different External ID's from separate systems. I need to create a mapping, an exported CSV file, that maps 456 to 123, so that when I later bring in Note C related to Contact B via External ID 456, I can re-write the External ID to 123 and have Note C imported to Contact A with External ID 123.

Unfortunately, I don't see any kind of Export on the de-duping pages. I'm hoping that I am just missing it. Any ideas how one might accomplish such a task without going line by line and copy/pasting to an Excel file? (We're talking thousands here.)

Clear as mud yet?

Wordpress 4.5.3, CiviCRM 4.7.8 (Yes, I'm aware of the current de-dup flipping bug that is being fixed in 4.7.9.)

# Answer
> 2 votes
You will not be able to do that with the GUI since it lists the matched pairs but does not allow to export it in a configurable way.

Your best bet will be to use the API (that means programming in PHP), and specifically the entity Contact, action duplicatecheck. Here is a sample code:

```
$result = civicrm_api3('Contact', 'duplicatecheck', array(
  'sequential' => 1,
  'dedupe_rule_id' => 4,
));

```

This will return a list of matched contact pairs with the dedupe rule 4.

---
Tags: wordpress, export, duplicate-contacts, field-mapping
---


# Question
Title: Is it possible to set up to search name of attached document or better yet, contents of attach doc?
We're still trying to figure out if CiviCRM will work for our organization. Our users would like to have the functionality to search the name of a document that has been attached to a case. Ideally (though I realize it's probably not possible), they would like to be able to search the contents of an attached document.

As an example, a client might call in and request a publication on apple orchards. Say we send them a publication called "apple orchard management 101" and document that in the case and possibly attach a pdf to the case. Going forward they might like to search to find all the cases where that publication was sent to a client. Or they would like to search for all cases where they were sent a publication (pdf) which included the text "organic apple production".

I know I'm reaching here, but would love to know if anyone has accomplished anything like this.

Thanks in advance.

# Answer
> 1 votes
If you are on WordPress, there are at least of couple of plugins that do full-text search on files:

Since the files uploaded with CiviCRM are stored in the same folder hierarchy as the other WordPress uploads those plugins should be able to index and locate these files.

However, they will not be able to link the document back to the CiviCRM contact they are attached to. This feature could be achieved with a custom development.

---
Tags: civicase, search, attachments
---


# Question
Title: How do I find users who have resubscribed via {action.resubscribeUrl}?
As a matter of ensuring consent is up to date, and because our bounce handling is broken, I have asked my newsletter subscribers to either resubscribe, unsubscribe or opt out.

The unsubscribe and opt out appear to work properly.

So now my list contains two sets:

* people who recently resubscribed (via the {action.resubscribeUrl token}
* people who did not recently resubscribe (inactive addresses, broken addresses, people who opened but didn't respond, people who didn't open this particular email).

I would like to search for the first bunch (in part so I can infer who is in the second bunch).

The mailing reports do not appear to track users' resubscribe actions and I can't find it in the Advanced Search. I also can't find any reference to the resubscribe action in the record of a particular user I know resubscribed.

Can anyone explain how to do this?

Thanks!

# Answer
> 1 votes
I checked in the code \[*CRM\_Mailing\_Event\_BAO\_Resubscribe::resub\_to\_mailing()*\] and the resubscribe function does not unfortunately leave any traces of the action (in logs or otherwise), does not do anything if the person is already included in the groups used for mailing, and just adds the contact to the groups used for mailing for which the contact has the 'Removed' status.

So this leaves you with 2 sub-optimal solutions:

* if you want to start tallying these from now on, and have PHP programming skills, you can create a simple CiviCRM extension that would implement the hook unsubscribeGroups and log all operations of type 'resubscribe' (cf. https://wiki.civicrm.org/confluence/display/CRMDOC/hook\_civicrm\_unsubscribeGroups)
* if this is too late, or you do not have the skills, you can always search for contacts that have been recently added to the groups you are using for mailings, but this will be vastly incomplete as missing all contacts that have never been unsubscribed in the first place.

---
Tags: civimail, custom-search, unsubscribe
---


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

Is this a bug?

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

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

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

---
Tags: database, developer
---


title: Importing Custom Field Checkbox Data

text:
# Question
Title: Importing Custom Field Checkbox Data
I have setup a custom field with 4 options. In my spreadsheet I've tried various combinations of columns which would allow me to import data and select required options. But nothing is working!

Custom Data - Checkbox Options - Red, Blue, Green, Black

In my CSV file I've tried combinations such as

"Red,Blue"

'Red,Blue'

Red,Blue

Is it possible to import data for check box custom data?

Thanks

Alan

# Answer
The correct answer is to put the text

```
Red,Blue

```

without quotes in a single cell of the CSV that you're trying to import.

You also need to make sure that the field you're importing into allows multiple values to be set, not just a single value.
> 5 votes

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


# Question
Title: How to update ContentType Label through API chaining?
I try to relabel Organization as "Entity":

```
$result = civicrm_api3('ContactType', 'create', array(
  'label' => "Entity",
  'api.ContactType.get' => array('name' => "Organization"),
));

```

This errors out with

> Mandatory key(s) missing from params array: name, parent\_id

Apparently I don't understand chaining and the required 'id' for updating is not returned. What is wrong in my reasoning?

# Answer
> 1 votes
OK, I got it! I had to think backwards:

```
$result = civicrm_api3('ContactType', 'get', array(
  'sequential' => 1,
  'name' => "Organization",
  'api.ContactType.create' => array('label' => "Entity", 'id' => "\$value.id"),
));

```

---
Tags: api, contact-types, chaining
---


title: Website Hosting and CiviCRM

text:
# Question
Title: Website Hosting and CiviCRM
I redesigned a website for a local nonprofit using Wordpress that is currently hosted with Network Solutions. After I finished the website for them, they started looking into finding a database for those who donate/buy tickets for their organization, and they ultimately settled on CiviCRM. However, when they tried to install and configure CiviCRM for the site, the final configuration could not take place due to a glitch saying that the setting of the "auto\_increment\_increment" needs to be set to 1. The nonprofit and I have been looking into the issue online, and ultimately we were informed that the underlying issue was that CiviCRM is not compatible with Network Solutions for security reasons or something along those lines. (Problem with CiviCRM configuration (auto\_increment) with wordpress (4.x) website)

I am at the point where I'm considering transferring the website's hosting from network solutions to one of the recommended hosts listed on your website. Before I do so, I just wanted to run our situation by you folks one last time to make sure that we're taking the right course of action. I will admit, I am very new to web design, so my knowledge of things such as this is rather limited, so hopefully I'm not missing anything obvious. Hopefully my query isn't too vague. Let me know if you require any additional information.

# Answer
> 4 votes
CiviCRM has very specific hosting requirements, so it is always best to select a hosting provider that advertises compatibility with CiviCRM. The CiviCRM hosting providers directory (https://civicrm.org/hosting-providers) is your best place to find such hosts.

# Answer
> 2 votes
Alternatively: working with a partner https://civicrm.org/partners-contributors \- will not only help you select/find a suitable hosting environment for your civicrm project - this will also help you get the most out of your civicrm!

---
Tags: hosting
---


# Question
Title: Can I use Webform CiviCRM Integration to always create a new contact?
For a specific project we are using the Webform CiviCRM Integration extension for a form where the website visitor can sign a petition. Once this is done we want to use specific matching to find a contact or create a new one (using the apiWrapper hook). This means I would like an option in Webform CiviCRM Integration to say that it should always create a contact and NOT try to find a matching one using the dedupe rules, is that possible?

(using CiviCRM 4.6.13 with Drupal 7.41)

# Answer
I am not sure that I understand the question.

If you want every submission to create a contact without checking for an existing contact in CiviCRM, don't you do that by selecting **-None-** for the Matching Rule for contact 1.
> 6 votes

# Answer
Have you tried creating a crazy dedupe rule - and selecting that for your contacts in the webform\_civicrm tab for each contact - a rule that is such that webform civicrm can never ever find a mattch?
> 1 votes

---
Tags: webform-civicrm
---


# Question
Title: finding people with activities added by a certain user
we add activities and at times contacts using the BCC function (i.e. BCCing the CRM). How can I do an advanced search that gives me the contacts that have been added or are associated with an activity that I have added?

Thanks. Michael

# Answer
You could use the search "Find activities" as in the screenshot. However this will only give you a list of activities as a result and not of the contacts (you can only see them in the results column). Maybe this helps anyway?
> 2 votes

---
Tags: search-results
---


# Question
Title: Trying to remove old version and install new
CiviCRM was causing an error 500 on the site. I renamed the com\_civicrm directory in root joomla and in administrator folders I now get Warning: `require_once(/hsphere/local/home/kencostore/yesmilwaukee.org/administrator/components/com_civicrm/civicrm.settings.php): failed to open stream: No such file or directory in /hsphere/local/home/kencostore/yesmilwaukee.org/plugins/user/civicrm/civicrm.php on line 103 Fatal error: require_once(): Failed opening required '/hsphere/local/home/kencostore/yesmilwaukee.org/administrator/components/com_civicrm/civicrm.settings.php' (include_path='.:/hsphere/shared/php55/include/php/PEAR') in /hsphere/local/home/kencostore/yesmilwaukee.org/plugins/user/civicrm/civicrm.php on line 103`

Can someone please let me know where else there's a reference to civicrm that needs to be removed. I plan on reinstalling and I have backed up the site's database

# Answer
> 1 votes
It looks like your `civicrm.settings.php` file may still be looking in the `com_civicrm` directory for your Civi files. You will also need to make sure that your "CiviCRM Resource URL" directory on the Settings-Resources URL screen has been updated (Top black menu \> Administer \> System settings \> Resource URLs).

---
Tags: installation
---


# Question
Title: How do I Delete Documents I uploaded to CiviEvent?
We've uploaded hundreds of documents over the past few years - under the event module (schedules, programs, etc.) - how do we access and delete them now? I can't locate where they are stored.

# Answer
> 2 votes
Go here:

```
/civicrm/admin/setting/path?reset=1

```

to find out what the Custom Files Directory is for your instance!

Custom Files Directory: "Path where documents and images which are attachments to contact records are stored (e.g. contact photos, resumes, contracts, etc.). These attachments are defined using 'file' type custom fields."

ADDED: You'll need access to your server - eg through eg CPanel FileManager - or those who like and have command line access can SSH to their server and then navigate to the custom files directory.

---
Tags: civievent, custom-fields
---


# Question
Title: Can webform-civicrm cause an Activity of type Email to actually send the email from CiviCRM
Scenario is users who are not accessing civi but are doing it all via Views and Webforms.

I created a webform

* contact 1 is logged in user
* contact 2 is 'target'
* Activity is of type Email

Outcome I want is that civi actually sends the email.

My testing shows this does not happen. If i 'assign' the ticket to someone else (or eg the Sender) then a 'you have been assigned' does get sent.

Is this meant to not be possible? Or is it a missing feature?

Note: seems like the reverse of this where coleman explains that 'not' sending the email is possible.

# Answer
It's not really the opposite of the answer I gave in the other question. The webform-civicrm module does not treat the "send email" activity type as special. Just like the "print pdf" activity type, it dutifully creates the activity, but does not do any extra civi-workflow stuff with it. To actually send an email, I suggest doing this via the webform.
> 2 votes

---
Tags: webform-civicrm, activities, email
---


# Question
Title: Easy way to read email on staging sites?
Staging and development sites typically have real outbound email turned off, and for good reason (see https://wiki.civicrm.org/confluence/display/CRMDOC/Moving+CiviCRM+instance+from+production+to+staging, for example).

CiviCRM-specific ways to do this include the "Redirect to Database" setting (at /admin/setting/smtp?reset=1), and setting `define('CIVICRM_MAIL_LOG', ...)` in civicrm.settings.php

Unfortunately, it's rather tedious to examine outbound email when testing things like tokens, templates, etc. As a developer I can see them in the log file or database, but that's not much good for user acceptance testing.

Is there an easy way for users to read the outbound CiviCRM email that's been sent to a log file or to the database?

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

---
Tags: email, testing
---


title: ACL setup to deny export rights

text:
# Question
Title: ACL setup to deny export rights
is there any way to set an ACL (or any other permission) that denies some groups the right to export contacts during Advanced Search, while still allowing the search to take place...

I'm aware that I'd need to accomplish this by permitting specific groups to do this (if the feature exists), thereby denying others the permission.

I couldn't see this option in the ACL setup process, /civicrm/acl?reset=1.

Thanks!

(Civi 4.6.14, Drupal 7.43)

# Answer
There is not. In CiviCRM, ACL and permissions in general are contact-based: if you have permission to see a contact, then you see all related data about this contact. And if you see some data on screen, there is no reason you would not be able to export it.

The solution to your issue is to customize the export code to check the logged-in user and eventually display an error message if you want to deny this user the export.

Such a change would be in file CRM\Core\Report\Export\Excel.php as this file is responsible for generating all export files.
> 0 votes

---
Tags: acl, export, search-results
---


title: Is CiviCRM right for our organization?

text:
# Question
Title: Is CiviCRM right for our organization?
We are a non-profit mission sending agency. We are not looking for donor management software, but we are looking for more of an HR platform where we can manage all of our employees and all of their information so that it is available in multiple ways to multiple people within the organization.

Also does an API exist within the software?

# Answer
> 4 votes
Check this out!

https://civihr.org/

It's an extension (add-on) to core

# Answer
> 2 votes
And there is an API with the software, check https://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API

# Answer
> -1 votes
I also just wanted to point out we have no updated the information on the link that Karin provided in a while.

You might want to have a look at our website: https://civihr.org/ twitter:twitter.com/civi\_hr and wiki: https://wiki.civicrm.org/confluence/display/HR/CiviHR

---
Tags: civihr
---


# Question
Title: Problem with imported case activities not appearing in the case record
Identical issue to: https://forum.civicrm.org/index.php?topic=32904.msg140249#msg140249 which was never solved. Manually inserted a case with all of the tables mentioned in the post, yet it doesn't appear under job search in CiviCRM. They show in the database, but the GUI is blank.

# Answer
> 0 votes
Was missing: `INSERT INTO civicrm_case_activity (
 case_id,
 activity_id
 )
 VALUES(
 CIVICRM_CASE_ID,
 CIVICRM_ACTIVITY_ID
 );`

---
Tags: civicase, mysql
---


# Question
Title: CiviCRM API page not displaying in Drupal
I am developing for Gsoc this year and i got up one day to use the API explorer but the page somewhat fails to load. below is a screen-shot of the display

# Answer
> 1 votes
I've seen this once before and it was caused by a crash when fetching the list of entities. Do you have any custom code in place that defines a new entity? Try turning on debug & backtrace and run this from the civicrm home page in your browser console:

```
CRM.api3('entity', 'get')

```

# Answer
> 0 votes
May be you have a Javascript blocker add-on in your browser? You should whitelist that site allowing Javascript and then it should show up normally.

---
Tags: drupal, api, developer
---


title: cron.php display warning in error_log

text:
# Question
Title: cron.php display warning in error_log
running CiviCRM 4.7.8 WordPress

The following is appearing in the **error\_log** whenever **cron.php** runs:

`[Fri Jun 24 16:01:06 2016] [error] [client ...] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /.../wp-content/plugins/civicrm/civicrm/CRM/Mailing/Event/BAO/Opened.php on line 58`

Is anyone aware which class is supposed to be responsible for setting the timezone in this case?

# Answer
That message indicates that the timezone variable is not set for php. You need to edit the php.ini to indicate your proper timezone in the formay of Europe/Zurich.
> 1 votes

---
Tags: wordpress, 4.7, cron-job, php, mailing
---


title: Invoice with multiple Membership lines

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

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

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

Thanks

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

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

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

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

# Answer
Thanks for this suggestion, and apologies for my slow response.

From my readoing of Price Sets, they allow variations and addons for a single Membership.

Just to clarify, our requirement needs to allow a Contact to hold several unrelated Memberships, and for each Membership to appear as a separate Invoice Line.

As an example, say we have a Red, Green & Blue meeting room, each available for hire on a by-the-hour Membership basis. A Contact might take out a "two hours per month" Membership for the use of the Red room (say for a regular Association Committee Meeting) and a "one hour a day" Membership each for the Green & Blue rooms (for regular Membership Activity meetings).

Is it possible to combine these three unrelated Memberships in a single Invoice, as three separate lines? (Sorry if I'm overlooking how this would be achieved with Price Sets)

Thanks
> 0 votes

---
Tags: civicontribute, civimember, invoice
---


# Question
Title: Database name on Wordpress can't include hyphen, but our host has mandatory prefix-hyphen-name format
Is there any way we can work around this?

Our Joomla install was quite happy to use a db of format xxnn-yyyyyy.

When we create or rename db using phpMyAdmin we can only choose the yyyyyy. "xxnn-" is automatic.

The CiviCRM Installer had an error to the question "Is the provided database name valid? The database name provided is not valid. Please use only 0-9, a-z, A-Z and _ as characters in the name."

# Answer
> 2 votes
Found how to resolve this one, but bit concerned that this fudge might break something further on down the line.

The CiviCRM installer page is driven by the file: `wp-content/plugins/civicrm/civicrm/install/index.php`.

This runs various checks and the db name check is on line 464 showing a call to CRM\_Core\_DAO to function requireValidDBName.

This function is in php file: `wp-content/plugins/civicrm/civicrm/CRM/Core/DAO.php`. Editing the `preg_match` string to include hyphens after the underscore allows these in the file name.

```
public static function requireValidDBName($database) {
  $matches = array();
  preg_match(
    "/^[0-9]*[a-zA-Z_-]+[a-zA-Z0-9_-]*$/",
    $database,
    $matches
  );
  if (empty($matches)) {
    return FALSE;
  }
  return TRUE;
}

```

---
Tags: wordpress, database, installation
---


# Question
Title: Is there a Gift Aid (UK) extension compatible with 4.6+?
There are several GiftAid extensions (ones I've found linked to below) for CiviCRM but I am having difficulty finding any that claim support for version 4.6+ and posts on many of them seem to be a few years out of date.

Is anybody using a Gift Aid extension they can recommend?

The two I've found are: http://www.compucorp.co.uk/blog/civicrm-gift-aid-instructions-v43 https://civicrm.org/blogs/rajesh/civigiftaid-extension

Thanks in advance for any suggestions anyone can provide!

# Answer
Big thanks for supporting GiftAid extension!

The Civi4.6 branch has been actively worked on in the past few months. A few improvements and new features have been added into the extension. Although the new version is still under testings, we decide to establish an alpha3 release from the latest changes so we can share the results with the community and we can help to push the progress further forward.

Latest changes:

* CiviCRM 4.6.x compatibility has been implemented
* Added line item support for contributions include more than one item
* GiftAid Report improvement

The new pre-release can be downloaded here: https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/releases/tag/v3.0beta

You can also follow our Github repository for the latest update.

Moreover, we have recently implemented GiftAid Webform Integration module for Drupal as well. We will open a Drupal project page for this soon. It can be found here: https://github.com/compucorp/giftaid\_webform\_integration

Look forward to hearing feedback from you.
> 7 votes

# Answer
I tried to contact both Veda (NFP) and CompuCorp on this, but no answer yet.

However, today I found the Compucorp Git repository, where there is a 4.6 branch for the Gift Aid module, which they seem to have been working on for the last few months. There is a commit from Jun 24 2015 labelled "pre release", so it may be close to release. Yay!

https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/commits/civi4.6
> 4 votes

# Answer
Its being developed now...... https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/tree/civi4.6
> 3 votes

# Answer
I think you should Contact the developer directly. you can find contact details from github. They should have some news.
> 1 votes

# Answer
I asked the same question a couple of weeks ago (June 2016) to Compucorp, the company which has developed the Gift Aid extension for CiviCRM. They directed me to this link:

https://github.com/compucorp/uk.co.compucorp.civicrm.giftaid/releases/tag/v3.0beta

This release worked very well for us on 4.6.12.
> 1 votes

---
Tags: contributions, gift-aid-extension
---


# Question
Title: Undefined index: values in _civicrm_api3_api_resolve_alias()
I'm using a new installed CiviCRM 4.7.8. with Drupal 7.5 ( Database system version 5.7.12-0ubuntu1 - PHP 5.6.22-4+deb.sury.org~xenial+1 )

The installation was done without errors but now I get:

```
Notice: Undefined index: values in _civicrm_api3_api_resolve_alias() (line 2310 of /var/www/html/sites/all/modules/civicrm/api/v3/utils.php).
Warning: Invalid argument supplied for foreach() in _civicrm_api3_api_resolve_alias() (line 2317 of /var/www/html/sites/all/modules/civicrm/api/v3/utils.php).
Notice: Undefined index: values in _civicrm_api3_api_resolve_alias() (line 2310 of /var/www/html/sites/all/modules/civicrm/api/v3/utils.php).
Warning: Invalid argument supplied for foreach() in _civicrm_api3_api_resolve_alias() (line 2317 of /var/www/html/sites/all/modules/civicrm/api/v3/utils.php).

```

on clicking "New Mailing".

Any idea what's wrong or how to solve this error?

Thank you

# Answer
> 1 votes
```
[debug_info] => SELECT id, component_type
                FROM    civicrm_mailing_component
                WHERE   is_active = 1
                AND     is_default = 1
                GROUP BY component_type [nativecode=1055 ** Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'civicrm.civicrm_mailing_component.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]

```

After deactivating 'ONLY\_FULL\_GROUP\_BY' in mysql with

```
msql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

```

it works...

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

---
Tags: civimail, drupal, mailing
---


title: Customization of the donation receipt

text:
# Question
Title: Customization of the donation receipt
All,

How is it possible to customize the receipt following the payment of a donation?

I would like to add the logo of our association, customize the text and of course add an incremental receipt number

Tx for your support

SL

# Answer
> 1 votes
You can customize receipt templates at Administer \> Communications \> Message Templates \> System Workflow messages

You can find more information on CiviCRM Documentation The guides are searchable.

# Answer
> 1 votes
Should you have more complex workflows for donation receipts, you may want to take a look at the donation receipt extension which is documented here: https://wiki.civicrm.org/confluence/display/CRM/DonationReceipts+Extension

---
Tags: wordpress
---


# Question
Title: Payment Offline missing on contribution Page
I have a brand new installation of Civicrm on a Joomla 3.2.7 site. When I set up a Contribution page I told it to accept Credit Cards and Offline Payments. The Credit Card shows up, but not the Offline payment. You can see it here: https://events.toastmastersd47.org/en/ads

Is there a setting in the administrator area that I need to set as well?

# Answer
> 2 votes
Looks like there's a problem with your theme.

I am not seeing the total amount show when you select a sponsorship level. The images for the credit cards and Empowered by CiviCRM are also missing.

---
Tags: joomla, paylater
---


# Question
Title: Batch update: triggered confirmation email
After an event at the weekend, I batch updated all 'pending due to pay later' participants to 'attended'. It appears that this triggered the re-sending of the confirmation email to all those people. Does anyone know why this might have occurred and how to avoid it in the future? We're using CiviCRM 4.6.3.

# Answer
In my CiviCRM experience, this does indeed happen. CiviCRM seems to expect participants to be Registered before they are Attended. If you try to skip this step in the bulk update, it will move them to registered and trigger the email. Have a look at those participants and see if their status is now Registered.

We ensure that the are moved from the pending status to registered prior to the event as this also ensures that they get the registered email confirmation which they won't have received if they were still pending.
> 3 votes

# Answer
This (unfortunately) is expected behaviour when you have enabled Online Registration =\> Confirmation Email in the Event Configuration page.

This Issue Tracker thread is relevant though: https://issues.civicrm.org/jira/browse/CRM-12277

My interpretation of that is that some notification was supposed to be added back in 4.3 letting the user know that emails would be sent when you attempt to batch update status via profiles.
> 2 votes

# Answer
it is indeed intended behaviour and happens, when the *class* of a participant status (e.g. from pending to positive) changes. You can check your participant status here: yoururl.org/civicrm/admin/participant\_status?reset=1

Good news is: There is an extension that prevents sending out the emails. As with all new functions, please test properly (if possible on a test environmet) before using it with live data :)
> 1 votes

# Answer
Actually what I wrote below is not correct. It was based on the linked Question, but my experience since indicates that emails do in fact still go out with batch changes.

---

It is also possible to change multiple participant statuses using the Update Multiple Participants action with a profile that includes the Status. In this case, only statuses changed from Not-Counted to Counted (or vice versa) have confirmation emails triggered (assuming Send Confirmation Email is enabled for the event).

See also: Why do some of my participants get sent a receipt when I update event details via a profile form
> 0 votes

---
Tags: civimail, civievent
---


# Question
Title: Call to undefined function dl() error w/Joomla 3.5.1 & PHP 7
I've just installed CiviCRM on a Joomla 3.5.1 site to learn how to use it. I am seeing an issue that I have a question about.

As long as I use Php 5.6 the installation works properly. If I try to use Php 7 everything on the Joomla site works except Civicrm. From the backend if I select Civicrm I get this error: *Call to undefined function dl()*

As soon as I go back to Php5.x all is well. The database is using utf8mb4\_general\_ci collation and mysqli.

Is there anything that needs to be done to use Php7 that I haven't found?

Thank you.

# Answer
I learned that php7 is not supported yet.

https://wiki.civicrm.org/confluence/display/CRMDOC/CiviCRM+PHP+Requirements
> 2 votes

---
Tags: joomla, php, evaluating-civicrm, security, php7
---


# Question
Title: How do I view a "Scheduled and Sent" mailing without creating a draft?
Is there a way to view "Scheduled and Sent" mailings in CiviCRM other than clicking the Re-Use button? This creates a draft of the email which our users sometimes forget to delete, and it's caused some confusion.

# Answer
If you go to the Report for that Mailing (via Scheduled and Sent Mailings), then there should be a link on that page to HTML Message - view complete message
> 3 votes

---
Tags: civimail
---


# Question
Title: Is civi automatically adding recurrence to contributions?
We've had a really high number of recurring contributions this month. I started becoming worried because some of the amounts are quite high. Doing some digging, it appears that everyone who used paypal to register in the past month has a recurring contribution set. I tried to run a test, but the payment wouldn't go through (for some reason civi is deleting the "sandbox" portion of the URL when I click save. Any idea what's happening there?) In any case, the test appears to have recurrence turned on even though I didn't opt for a recurring payment.

Could this be an issue with our payment settings? Or is there a bug in civi? This bug runs a serious risk of breaking our trust with our members.

We changed over to paypal pro at the beginning of the month, so it really seems that this issue is tied to that change. Credit cards entered on the back-end aren't coming up as recurring, but it appears every single transaction entered on the front end includes recurrence. There's no way 100% of users selected this option. As mentioned, my test appears to confirm this, even though I couldn't complete the payment.

We are running Wordpress 4.5.1 and CiviCrm 4.7.6.

# Answer
> 1 votes
There was an issue that sounds very much like what you are describing (https://issues.civicrm.org/jira/browse/CRM-18277 that is marked as having been fixed as of 4.7.8), but I think you are saying that beyond the source of the first installment, there were actual recurring contribution records created and listed at the bottom of the contributions tab of a given contact that you then are not able to cancel? If that is the case, I would suggest opening a ticket on JIRA - I haven't seen any tickets in this regards.

---
Tags: civicontribute, paypal
---


title: Changing/Updating old financial types

text:
# Question
Title: Changing/Updating old financial types
I am new to the civi community and this is my first posted question. I was wandering if there was a way to change previous financial types. The situation is as follows: We have "X Campaign" we run every year. In the past, they labeled the campaign as "X Campaign 2010", "X Campaign 2011", etc. For the past 3 years there has not been a date tied to it and this is how we would like to do things moving forward. I know I can delete old financial types but that will effect my ability to search for them. I also see that I can rename them but then I would just have 6 "X-Campaigns" and one of the reasons for wanting to do this is trim back all unnecessary financial types that are cluttering things up. Is there a way to merge by batch? Thank you for any help.

# Answer
Here's another option - for when you have tons and batch update via the GUI is daunting:

Export all contributions that have a financial type you'd like to change; Export contribution ID + Financial Type ID

Make the edit in the CSV that is generated

Re-import!
> 2 votes

# Answer
You can use batch update via profile (a.k.a "update multiple contributions" in newer versions of Civi) to update all of the existing contributions to the financial type that you want to keep - the following instructions assume you have a contribution profile in place.

1. Depending on what version of Civi you are on, you are limited to updating between 50 to 100 contributions at a time - so to keep things organized, I would use find contributions with the financial type filter to the first one that needs be changed (e.g. X Campaign 2010)
2. Select the first page of results, then select "Batch Update Contributions via profile" or "Update multiple contributions" from the actions drop down menu
3. In the financial type field of the first record, select the financial type you wish to keep (e.g. X Campaign), then use the copy down icon to the left of the column header - this will update all of the remaining contributions with the new financial type 4.Scroll to the bottom and click the "Update Contributions" button at the bottom left hand corner of the screen - after a few seconds you should see a message saying that your updates have been saved and a "Done" button - clicking the "Done" button will take you back to the search results.
4. Click the next arrow and select the next page of results and repeat steps 3 and 4 until you have finished updating all of the contributions for the first financial type you searched on, the repeat steps 1 through 5 until you get through all of the financial types you wish to update.
5. Once completed, assuming you don't have any pledges with these financial types or that they are no longer in use elsewhere in the system, the system will allow you to delete them.

Hope this answer helps!
> 1 votes

---
Tags: civicontribute
---


# Question
Title: Outdated CiviCRM, blind SQL injection risk on parameters? (PCI compliance failure)
on CiviCRM 4.5.4 on Drupal, PCI vendor is reporting errors along the lines of:

> Using the GET HTTP method, XYZ found that : + The following resources may be vulnerable to blind SQL injection : + The 'snippet' parameter of the /civicrm/mailing/subscribe CGI : /civicrm/mailing/subscribe? mark\_x\_2=1&recaptcha\_response\_field=manual\_ch allenge&recaptcha\_challenge\_field=&qfKey=03baf253d7e24b62a4d8b8e76939c 36 3\_6657&mark\_x\_45=1&\_qf\_Subscribe\_cancel=Cancel&\_qf\_Subscribe\_next=Subs cr ibe&\_qf\_default=Subscribe%3anext&email=Email%20Sign-

In addition there are a number of other parameters they report, like "recaptcha\_response\_field", "recaptcha\_challenge\_field", "qfKey", "mark\_x\_45", and others.

I'm fairly certain this is a false positive, but need some justification.

Thank you!

# Answer
CiviCRM 4.5.x branch has stopped receiving security updates a very long time ago. Best to upgrade to 4.6.x or 4.7.x as soon as possible!

If you need help - find a partner near you in the partner listings: https://civicrm.org/partners-contributors
> 2 votes

---
Tags: security, 4.5, pci-compliance
---


# Question
Title: How to setup email verification for newsletter signup using webforms?
I am creating a webform for newsletter signup. Form elements are First & Last name & Email address. Once they signup, a confirmation email is sent.

Now, I would like to include a link within the email to verify the email address they have provided and then create the contact. Is it something possible to do?

# Answer
If you're looking for technical validation try this:

1. Create a webform field type Email
2. Install Webform validation module (if you don't already have it) and implement rule "Equal Values".
3. Apply validation rule to emails for webform and CiviCRM by using the checkbox.
> 4 votes

# Answer
Along with Webform validation, email verify module can be used, which allows to check existence of email host before submission. combination of both should eliminate the typos.
> 3 votes

---
Tags: drupal, webform-civicrm, email
---


# Question
Title: Using the wordpress plugin, how do I overide the the template files, ie EventInfo.tpl?
I have spend a number of hours trying to figure this out. If I want to change one of the template files, say EventInfo.tpl, but not inside the plugin so updates would not override it. How do I need to do that?

# Answer
> 3 votes
If you need to over ride a .tpl you can just do that by creating an extension or by using custom template folder in civicrm

which will be more easier - also, in the time of upgrade you need to compare the file and do the changes

More reading: https://wiki.civicrm.org/confluence/display/CRMDOC/Customize+Built-in,+Profile,+Contribution+and+Event+Registration+Screens

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+a+Module+Extension

https://wiki.civicrm.org/confluence/display/CRMDOC/Create+an+Extension

I guess this helps !!!

---
Tags: wordpress, templates
---


# Question
Title: After moving site to localhost links no longer work with clean urls enabled
CiviCRM 4.7.7 and Drupal 7.43 installation on MAMP stack on Mac. I downloaded the files and database from a live site to verify that the backup worked. The home page comes up fine but clicking on any links brings up a generic MAMP page:

When I turn off clean urls the links work properly. The links on the live site work fine with clean urls enabled.

# Answer
> 1 votes
After commenting out the line "RewriteBase /" in the .htaccess file, clean urls worked as expected.

---
Tags: drupal, mamp
---


# Question
Title: Handling variable tax rates based on member's province
In a country, where each province has its own tax rate, where some provinces have multiple tax rates (provincial and feral), how would one go about configuring so that:

* Tax rate can be derived based on a member's province
* Invoices / Receipts show both itemized taxes
* Taxes are collected in appropriate financial accounts
* Membership types are associated to their respective financial types.

**For example:** Imagine two membership types. Student Membership. Regular Membership. There are financial types for each, based on a business requirement to track revenues based on membership types. Specifically, revenues for student memberships are tracked against financial account 4000, and for regular memberships against financial account 4100. So far, easy enough. Now throw in Canadian taxes, where tax rate (and financial accounts) should be derived off on member's province, and it gets complicated pretty quickly! Even more so if there are 10 provinces, 3 territories, and a dozen or so membership types.

It seems that the best recourse would be a "Canadian Tax" module. A quick search doesn't reveal anything. Surely there are lots of Canadian users with similar issues. How is this being handled elsewhere?

# Answer
> 0 votes
I have an extension we developed for a client with simple needs in Quebec that is not yet ready for general use - https://github.com/JMAConsulting/biz.jmaconsulting.cdntaxcalculator . I just looked at it now and removed a bit of custom code to support shipping fees for physical items. I seem to recall that we used custom templates for the messages for purchases. I would love to talk to you about doing this in a more general way as another organization is currently interested in this as well.

Background: The extension uses billing address to determine province of buyer and use that to determine which taxes should apply. A more general solution would handle place of supply (the tax term for place which determines which sales taxes apply) for events based on venue location. For online events it would be buyer's location.

Unfortunately there are some complications in handling two taxes as this affects the display on contribution/membership pages, their confirmation pages, and a fair number of system message templates.

A longer specification is available at https://wiki.civicrm.org/confluence/display/CRM/Canadian+Sales+Tax+Extension

---
Tags: civicontribute, civimember, taxes
---


# Question
Title: Migrating user data from Community Builder
We have a very large user database using Community Builder. After installing CiviCRM, it doesn't appear to be recognizing any of the data from Community Builder. Is there a migration tool or procedure to import that data into CiviCRM?

# Answer
I've never used it and don't know whether it functions with current versions of CiviCRM, but there is (or was) a tool that seems related to what you are asking (although maybe just synchronizing going forward, not for existing contacts): Joomla 2 CiviCRM User Synchronization

> This plugin integrates the Joomla and/or Community Builder registration process with CiviCRM.
>
> Newly created Joomla website users (from Joomla or Community Builder frontend or backend) will be matched with existing CiviCRM contact(s) based on their email address. If no matching CiviCRM contact is found, a new one will be created and synchronized with the Joomla user. The plugin can also be configured to attatch and assign a new CiviCRM activity to the contact.

If that's not a good solution, you may be able to prepare or download a CSV file from Community Builder and do an import to CiviCRM manually.
> 1 votes

---
Tags: profile, joomla
---


# Question
Title: How can I record multiple premiums for a contribution?
We offer multiple options like stickers and shirts. If someone donates at the shirt level, they can choose to also get a sticker. We don't require them to choose a sticker, but it's an option.

It seems there's no way to even enter this manually to say that person A wants a shirt and a sticker, person B wants just a shirt but no sticker…

What should we do to handle this?

# Answer
Perhaps this can be achieved through the use of price sets and multiple contribution pages, e.g.:

1. Main contribution page can be the lowest level premium option with links to the higher levels of sponsorships, each level is its own contribution page (e.g. main page = Sticker Level, linked page = T-Shirt Level, etc.)
2. The price set for the sticker level would only include the sticker option at whatever the amount it is that you are requesting as required
3. The price set for the t-shirt level would include the option to select to receive a sticker with a price of $0, and then the t-shirt level amount that is required

Hope this helps!
> 1 votes

---
Tags: civicontribute, premiums
---


title: One Time Pledge

text:
# Question
Title: One Time Pledge
I am looking for a way to have one time pledge. We want to collect pledges to made at our annual event but we do not want to run the cards till the day of the event. Is this possible?

# Answer
> 1 votes
All well?

Not sure if this question is still relevant, but just in case - the only payment processor that currently allows you to set the charge date is authorize.net, and you would do so by setting up a recurring contribution from the back office for 1 installment to start on the date that you desire the card to be charged - I do not currently see how this can be done via front end registration.

Sorry not to be of more help :-(

---
Tags: pledges, civipledge
---


# Question
Title: Detailed Contribution Info Not Displayed
CiviCRM Version: 4.6.15 CMS: Drupal 7.43

I'm running into a weird bug and I'm not sure how to track it down. All of our old contributions (Pre 2014) don't show when you click on the the \[contact\] \> \[contributions\] tab. It shows that they have made a contribution but doesn't list the detailed information.

I can confirm the data is in the civicrm\_contribution table in our database. Is there anywhere else I can check?

Thanks

# Answer
Check that your older financial types have the financial accounts that the system automatically associates when creating new financial types (e.g. income account, A/R account, etc.) - I have see this type of wacky sort of there but sort of not appearance occur when account relationships are not in place. After you add the required accounts, check to see if you see the older contributions on the contributions tab - if not, then it might be a different issue altogether.

Hope this helps!
> 1 votes

---
Tags: contributions, database
---


title: Pledge Donations

text:
# Question
Title: Pledge Donations
We are trying to streamline the billing process and would like to understand if CiviCRM is a good fit.

We've seen others use CiviCRM for walk-a-thons and bowl-a-thons. But, is it possible to execute the following:

12 Runners Donors can pledge $0.25 - $10.00 per mile on any runner up to 15 miles This pledge is doubled for running 1 bonus miles (16 total) run and tripled for running 3 bonus miles (18 total)

We need to be able to collect donor information and billing/credit card upfront and charge after the runner results are announced. For example..

If Sarah pledges $1.00/mile on Runner #1 $2.50/mile on Runner #2

Credit card information is collected upfront

Results: Runner #1 - 16 Miles = 15 miles, 1 Bonus Mile Player #2 - 8 Miles

Invoice Shows Charges for:

Player #1 - $30 ($1.00 * 15 * 2) Player #2 - $20 ($2.50 * 8)

Is this doable?

Thank you in advance,

Julia

# Answer
If you are working with a Payment Processor that can tokenize credit cards then you can do this:

Have people 'register' by Starting a Recurring Series of 2 installments - an initial contribution of $1

Then when you know what $ amounts they owe you (admin) can go in a transact one time against the token (any $amount)!

Cancel the Recurring Series to prevent the token from being charged again.
> 1 votes

# Answer
Not sure if this response will still be relevant, but while what you describe can technically be achieved, you will run into PCI compliance issues by collecting credit card information up front since credit card information only passes through Civi to the payment processor - it doesn't store that information. If you forgo the collection of credit card information, then you could generate pledges from the sponsorship information in advance of the event, then modify those pledges based on the actual results, and then issue invoices for payment online.

Hope this helps, Tamar
> 0 votes

---
Tags: wordpress, pledges
---


# Question
Title: Webform submission value token not working
From a webform submission I would like to send an automated email, for example with first name. As per webform token I have included Dear \[submission:values:civicrm\_1\_contact\_1\_contact\_first\_name:nolabel\] within the body of the email.

But unfortunately result returns empty. Anyone experienced issues like this? any tips please?

# Answer
Tapash, I've just tested this myself and I've had success with including the fieldset within the token so that it looks something like the following:

\[submission:values:civicrm\_1\_contact\_1\_fieldset\_fieldset:civicrm\_1\_contact\_1\_contact\_first\_name\]

You'll want to update the above if you've customised any of the keys or are using a different contact!
> 5 votes

---
Tags: webform-civicrm, tokens
---


# Question
Title: Can I safely trim civicrm_job_log and civicrm_log?
`civicrm_job_log` is the biggest table in my database by an order of magnitude. And `civicrm_log` is the fifth biggest.

Can I trim these somehow, e.g. a cron job that removes old logs? It's making the backups slow.

## EDIT: Here's an extension that keeps the job log from bloating

Thanks to the input here, I've created the Log Lop extension that allows users to configure a maximum age for keeping job logs. Will submit to the extensions directory after a bit more testing/few more eyes have looked at it.

# Answer
I think you can safely trim the civicrm\_job\_log, only the latest entries are probably useful (and given how little information the cronjobs return, I'd even doubt that ;)

As for the civicrm\_log (or subscription history), it might be more risky to remove as you will loose "useful" history of what happened with your contacts, but from a technical point of view, it shouldn't be an issue, as long as you are ok losing that history.
> 4 votes

# Answer
Truncate civicrm\_job\_log as often as you like - the data is only of very very marginal interest and only for a short period

I usually prefer to turn on DB logging - in which case the data in the civicrm\_log table doesn't really add anything - it's only a little bit useful IMHO anyway.
> 3 votes

---
Tags: logs, 4.6
---


title: Custom mailing report

text:
# Question
Title: Custom mailing report
I am using civicrm 4.7.7 on Drupal 7. How can I create a report of all mailings sent with CiviMail reporting the data of contacts that opened/clicked/replied the mailing? Thanks in advance

# Answer
> 2 votes
This extension should do it ...

https://github.com/mc0e/civicrm-extendedmailingstats

# Answer
> 0 votes
You can see these data in the mailing report: https://book.civicrm.org/user/current/email/reports-and-analysis/ for each mailing.

I don't know of a report that would aggregate all of these stats.

---
Tags: civireport, mailing
---


# Question
Title: authorize.net payment processor debugging
All of my contribution pages, when tested, return you back to the page with this message at the top:

Payment Processor Error Message: 9003: MD5 Verification Failed

I have reset the MD5 code from both sides, even going so far as to delete the entire payment processor and recreate it. Whatever the issue is, it is definitely not the MD5 code.

Authorize.net says that they have no record of having been reached by our website at all, and that something must be going wrong with the call/connection.

Here are the only error codes I found in the log. They both seem to be email related, but perhaps they are related to this somehow?

```
    $Fatal Error Details = Array (
[message] => Could not connect to MailStore for postmaster@mail.makomcommunity.org<p>
Error message: <pre>An error occured while sending or receiving mail. Could not read from the stream.
It was probably terminated by the host.</pre><p> [code] =>
)

    $backTrace = #0 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Error.php(322): CRM_Core_Error::backtrace("backTrace", TRUE
#1 /home/makom/www/www/sites/all/modules/civicrm/CRM/Utils/Mail/EmailProcessor.php(185): CRM_Core_Error::fatal("Could not connect to MailStore for postmaster@mail.makomcommunity.org<p>Error...")
#2 /home/makom/www/www/sites/all/modules/civicrm/CRM/Utils/Mail/EmailProcessor.php(60): CRM_Utils_Mail_EmailProcessor::_process(TRUE, Object(CRM_Core_DAO_MailSettings))
#3 /home/makom/www/www/sites/all/modules/civicrm/api/v3/Job.php(361): CRM_Utils_Mail_EmailProcessor::processBounces()
#4 /home/makom/www/www/sites/all/modules/civicrm/Civi/API/Provider/MagicFunctionProvider.php(89): civicrm_api3_job_fetch_bounces((Array:1))
#5 /home/makom/www/www/sites/all/modules/civicrm/Civi/API/Kernel.php(96): Civi\API\Provider\MagicFunctionProvider->invoke((Array:9))
#6 /home/makom/www/www/sites/all/modules/civicrm/api/api.php(23): Civi\API\Kernel->run("job", "fetch_bounces", (Array:1), NULL)
#7 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/JobManager.php(131): civicrm_api("job", "fetch_bounces", (Array:1))
#8 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/JobManager.php(83): CRM_Core_JobManager->executeJob(Object(CRM_Core_ScheduledJob))
#9 /home/makom/www/www/sites/all/modules/civicrm/bin/cron.php(42): CRM_Core_JobManager->execute() #10 {main}

```

I guess my question here is this: What do you think is wrong, and how would you go about fixing it?

**Update:** I got the error log to cough up a related error! So as of right now, this is my issue. It is also worth noting that I am now having this error with PayPal as well, so I think it's something in the payment processor portion of civi, rather than an authorize.net issue.

Please help me decode these errors!

```
    $backTrace =
#0 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Error.php(364): CRM_Core_Error::backtrace("backTrace", TRUE)
#1 /home/makom/www/www/sites/all/modules/civicrm/CRM/Financial/BAO/PaymentProcessor.php(188): CRM_Core_Error::fatal("Invalid value passed to getPayment function")
#2 /home/makom/www/www/sites/all/modules/civicrm/CRM/Contribute/Form/ContributionBase.php(349): CRM_Financial_BAO_PaymentProcessor::getPayment("", "live")
#3 /home/makom/www/www/sites/all/modules/civicrm/CRM/Contribute/Form/Contribution/Main.php(73): CRM_Contribute_Form_ContributionBase->preProcess()
#4 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Form.php(455): CRM_Contribute_Form_Contribution_Main->preProcess()
#5 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Display.php(94): CRM_Core_Form->buildForm()
#6 /home/makom/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Contribute_Form_Contribution_Main), "display")
#7 /home/makom/www/www/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contribute_Form_Contribution_Main), "display")
#8 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Controller.php(353): HTML_QuickForm_Page->handle("display")
#9 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(312): CRM_Core_Controller->run((Array:3), NULL)
#10 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:15))
#11 /home/makom/www/www/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
#12 /home/makom/www/www/sites/all/modules/civicrm/drupal/civicrm.module(489): CRM_Core_Invoke::invoke((Array:3))
#13 [internal function](): civicrm_invoke("contribute", "transact?reset=1&id=13")
#14 /home/makom/www/www/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
#15 /home/makom/www/www/index.php(21): menu_execute_active_handler()
#16 {main}

```

**Update 2:**

This is what I see in lines 324-349. I think this means that the issue is somewhere in CRM\_Utils\_Array? But I"m not at all sure where to find that. There doesn't seem to be a table in the civicrm database by that name.

```
//FIXME: to support multiple payment processors
      if ($isMonetary &&
        (!$isPayLater || !empty($this->_values['payment_processor']))
      ) {
        $ppID = CRM_Utils_Array::value('payment_processor', $this->_values);
        if (!$ppID) {
          CRM_Core_Error::fatal(ts('A payment processor must be selected for this contribution page (contact the site administrator for assistance).'));
        }

        $ppIds = explode(CRM_Core_DAO::VALUE_SEPARATOR, $ppID);
        $this->_paymentProcessors = CRM_Financial_BAO_PaymentProcessor::getPayments($ppIds, $this->_mode);

        $this->set('paymentProcessors', $this->_paymentProcessors);

        //set default payment processor
        if (!empty($this->_paymentProcessors) && empty($this->_paymentProcessor)) {
          foreach ($this->_paymentProcessors as $ppId => $values) {
            if ($values['is_default'] == 1 || (count($this->_paymentProcessors) == 1)) {
              $defaultProcessorId = $ppId;
              break;
            }
          }
        }

        if (isset($defaultProcessorId)) {
          $this->_paymentProcessor = CRM_Financial_BAO_PaymentProcessor::getPayment($defaultProcessorId, $this->_mode);
          $this->assign_by_ref('paymentProcessor', $this->_paymentProcessor);
        }

```

# Answer
> 2 votes
The stacktrace error "Invalid value passed to getPayment function" can be caused by not choosing a payment processor on the individual contribution page. Verify that the payment processor on that page(s) is checked; it should then operate correctly.

The message "Payment Processor Error Message: 9003: MD5 Verification Failed" is a separate issue. This is a message from the payment processor, not from CiviCRM. You should investigate it further with your payment processor.

# Answer
> 5 votes
In CRM/Contribute/Form/ContributionBase.php(349) the system is not able to determine the name of your payment processor. Please check:

* that you at least one payment processors configured
* that all payment configured processors have a 'name' defined and not empty
* that at least one of your payment processors is set as 'default'
* since the chosen payment processor depends on the mode the contribution form is used, check that you have 'test' credentials defined for at least one of your configured payment processors
* finally, that the contribution form leading to this error has a payment processor defined in the Amounts tab

If all of this is correct, I would start debugging this by looking at lines 324 to 349 of the above file and investigating why the $defaultProcessorId variable is set to "" (rather than a numeric value) when reaching line 349.

# Answer
> 3 votes
I had a similar issue that ultimately turned out to be a problem between the .htaccess and settings.civicrm.php files. Basically, the contribution page was https:// but the response from authorize.net was being pushed back to http://.

Not sure if this is your problem, but it's an easy thing to check.

# Answer
> 2 votes
Just an intuitive answer. I see two errors. May be they are related or one is influencing the other. May be the first inhibits or is needed for the payment process? Don't leave loose ends!

First error is a fatal error and would block further processing. I see it relates to email. I would try to solve that error first, then concentrate on the other. May be the first will solve the second or it will lead you to the solution of the second.

# Answer
> 2 votes
Try changing

if (isset($defaultProcessorId)) {

to

if (!empty($defaultProcessorId)) {

In those code lines above - it seems to be set but empty

# Answer
> 1 votes
Had this exact same error but it was specific to the test credentials - production credentials were working fine - if this is the case with you Naomi, then the issue might not be in the code at all (@twomice and @Eileen are both much more experienced than I, so if it is in the code, I will bow out to them). If production credentials ARE working, then try updating the test credentials with those of an authnet sandbox account (this is the only way testing will work). Also, just a tip, the MD5 Hash needs to be relatively short (I've used MD5 Hash generators that spit out really long strings that tend to cause issues).

Hope this helps!

---
Tags: civicontribute, contributions, payment-processor, contribution-page
---


title: Upload CSV zipcode

text:
# Question
Title: Upload CSV zipcode
When attempting to upload a CSV file containing zip codes with a leading zero the leading zero is dropped when attempting to save the file for import. How do I keep a leading zero in a CSV import file?

# Answer
> 2 votes
This isn't really a CiviCRM issue, but it is helpful for getting data into CiviCRM or any system like it.

A postal code is a string of text despite looking (in most of the US) like an integer. A spreadsheet program doesn't know this, however, so it will save `012345` as `12345` by default.

If you're using a spreadsheet program to edit a file for import, just precede the zip code with a single quote (`'`). It will disappear, but the zip code will be interpreted as a string of text.

If you have a whole column of zip codes that are appearing as integers, you should insert a new column and use a function to rewrite the ones that are wrong. In LibreOffice, if you have the original zipcodes in column A, you'd enter the following formula in row 2 of your new column:

```
=IF(A2>9999,A2,"0"&A2)

```

Basically, it tacks a `0` on the front of the value if it's 9999 or lower.

Finally, if you're assembling a CSV from scratch, just be sure to quote the zip codes that have leading zeroes.

# Answer
> 0 votes
When setting up the CSV file, make sure that the zip code (and zip code suffix) columns are defined as TEXT format columns, and that the keyed-in / imported data has the appropriate leading zeros. Then the export / upload processes should work as expected.

---
Tags: import
---


title: civimail sending email multiple times

text:
# Question
Title: civimail sending email multiple times
I use civimail on a drupal 7/CiviCRM 4.7.8 and have done so for many years.

Recently civimail has started sending out an email multiple times to the same email address even though

1) the email address only exists once in the system.

2) In the sql database under civicrm\_mailing\_recipients it only says the email contact receives it once and this is borne out in the activities tab.

This is not just happening with one email address - it's happening with hundreds of email addresses.

Any ideas on where to start troubleshooting?

Thanks Caroline

# Answer
> 1 votes
Preferably, you'll want to dig into your outgoing mail service logs. How you do that depends on how you've setup civimail. It might be as simple as inspecting a file like /var/log/mail on your server, or it might involve something more complicated if you're using a remote outgoing mail service.

The challenge is to figure out which part of the mailing process is generating multiple mails. Typically this would occur where one server is passing off the mail to another server, and it's being received but not acknowledged, so the first server tries again later. A bad firewall, or misconfigured server along the way, for example. This would show up with the multiple mails having different receive times.

If you don't have access to your maillogs, inspecting the raw mail headers of the received mail may show some clues (e.g. warnings by one or more of the servers that are handling your mail).

# Answer
> 0 votes
I have the same issue with Drupal7/4.7.8 immediately after upgrade for a list of about 9700 - most recipients get the one message intended, a minority received 80+ duplicates. The evidence in the logs seems to indicate a civimail issue as each duplicate has a new postfix, amavis and civimail uid (is it verp?, sorry seems not allowed to post the example - long string of digits & hex @domain.org.

---
Tags: civimail
---


# Question
Title: CiviCRM Dashboard endless loading… + Warning: file_exists(): open_basedir restriction in effect
Please help me to solve this issue:

CiviCRM Dashboard endless loading… + Warning: file\_exists(): open\_basedir restriction in effect.

Warning: file\_exists(): open\_basedir restriction in effect. File(/home/wp-includes/version.php) is not within the allowed path(s): (/home/user:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/user/public\_html/wp/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php on line 471

Above, I changed my real user login for “user”.

I use shared hosting by hostinger.com, where I have no access outside of public\_html folder. It is not possible to access Linux system folders like: usr, /opt, /etc. Is it needed to CiviCRM to access that folders?

Apache 2.4, PHP 5.5.35, memory allocated 256 MB, MYSQL 5.6

I installed Wordpress 4.5.3 fast and easy by some graphic installer at the hosting panel. Then, I installed civicrm-4.7.8-wordpress.zip downloading it by the Wordpress plugin installer. CiviCRM installed and activated, I run civiCRM installer. CiviCRM Installer sad “Youŕe ready to install! - Database version and connection settings have been verified and look correct!” All requrements were Ok. Then, I pressed the button “Check Requirements and Install CiviCRM” without sample data. CiviCRM was “successfull” installed, but there was an error: no CiviCRM menus, Dashboard (endless) loading… … never finished. At the top, the permanent message: “Warning: file\_exists(): open\_basedir restriction in effect. File(/home/wp-includes/version.php) is not within the allowed path(s): (/home/user:/tmp:/var/tmp:/opt/php-5.5/pear:/usr/local/bin:/etc/pki/tls/certs) in /home/user/public\_html/wp/wp-content/plugins/civicrm/civicrm/CRM/Utils/System/WordPress.php on line 471”

“System Status: Error: Cron Not Running, Configure Default Mailbox, Complete Setup”.

Then, I uninstalled Wordpress, reinstalled it, and did some configurations every time I reinstalled it before install CiviCRM.

I edited the settings, media(miscellaneous), to only “wp-content/uploads” without quotes, or the respective temp folder, at any time a tried a new install, did logof, login again and a new CiviCRM install with other plugins disabled.

In wp-config.php, I edited line 62 by changing “define('WP\_TEMP\_DIR',dirname(**FILE**).'/wp-content/uploads');” for “DEFINE('WP\_TEMP\_DIR','../tmp')” or “define('WP\_TEMP\_DIR', dirname(**FILE**) . '/wp-content/temp/');” and simultaneously creating the respective temp or tmp folder. Hostinger accounts have no tmp folder by default.

Don’t matter what I do, CiviCRM installation always fails in Wordpress.

version.php

/\** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * * @global int $wp\_db\_version \*/ $wp\_db\_version = 36686;

/\** * Holds the TinyMCE version * * @global string $tinymce\_version \*/ $tinymce\_version = '4310-20160418';

/\** * Holds the required PHP version * * @global string $required\_php\_version \*/ $required\_php\_version = '5.2.4';

/\** * Holds the required MySQL version * * @global string $required\_mysql\_version \*/ $required\_mysql\_version = '5.0';

$wp\_local\_package = 'pt\_BR';

# Answer
> 1 votes
As your comment details, WordPress is installed in it's own directory `public_html/wp`

Currently, CiviCRM has issues with WP in it's own directory as detailed here: https://wiki.civicrm.org/confluence/display/CRM/WordPress+installed+in+its+own+directory+issues

There are some patches, but at this time a standard install of CiviCRM will not work unless WP is installed in the webroot and not in it's own directory.

---
Tags: wordpress, dashboard
---


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

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

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

# Answer
Let me at least narrow some options for you:

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

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

# Answer
I got it to work! Finally! Specifically, I was able to create a second civicrm database. I tried a variety of options using phpMyAdmin and got a variety of errors. Then I downloaded PuTTY http://www.putty.org/ so I could do SSH commands. Then I FTP'd the copy of the civicrm database up to the server. Then I used the SSH command: `mysql -h<host> -u<user> -p<password> < yourfile.sql` Note: no space after the -p

Finally, I changed civicrm.settings.php to point to the new database, did a little testing and it works!
> 2 votes

# Answer
Just so you know, I often times got that same error. The only way around it was to delete and recreate the database. It was like something was still there that I couldn't easily see in the screen I was on in PHPMyAdmin.

It seems to me in the past that I just would create a new database, go into PHPMyAdmin on the current database, go to the one tab (Operations?) and tell it to copy everything into that database. Exporting and importing always seems to cause a number of errors unless you add the code at the beginning and end of the database to tell it to not look at foreign key errors and such.
> 1 votes

---
Tags: upgrade, database, civicrm.settings.php
---


# Question
Title: Blank CiviCRM Dashboard and Admin Pages On Drupal 7
From a Fresh install of CiviCRM on drupal 7 I logged out of the system and logged In again into drupal, on Accessing the CiviCRM module on drupal it leads me to a blank page http://localhost/drupal/?q=civicrm/dashboard and also http://localhost/drupal/?q=civicrm/admin.

# Answer
> 1 votes
did you check if all permissions are OK and there is a civicrm\_settings.php on /sites/default? Is there any message in the Drupal log (reports/recent log messages)?

# Answer
> 1 votes
When experiencing a WSOD you can usually find a clue as to what may have happened in the PHP log file.

Where that file lives depends on your setup: /var/log/httpd/error\_log or eg /var/log/apache2 or eg /Applications/MAMP/logs

---
Tags: drupal, developer
---


# Question
Title: How do I email to two addresses on an individual without Civi creating a new record for the second email address?
I've read everything I can. I know you can bulk mail to non-primary email addresses. I know I can split contacts up into "Ann" and "Bob" rather than "Ann and Bob", but unfortunately it is far better for the organisation I'm working for to have "Ann and Bob" for accounting, reporting, and contacting purposes.

Is there any possibility or setting or plugin I've overlooked for being able to send single emails to both Ann and Bob's email addresses? It seems the lack of ability for multiple primary emails is a massive oversight.

I'm aware this is a core issue, but surely something has been done!

# Answer
The answer is -not- going to be multiple primary addresses as that is a contradictio in terminis.

Go household all the way: the household then half sponsors the student; a household has one primary address and can be addressed as "Dear Smith Family, thank you for sponsoring Carol."
> 3 votes

# Answer
When you have a "primary" email address, that means the single main address. So it would be really odd to have more than one primary email address.
> 2 votes

---
Tags: contacts, email, primary
---


title: CiviBooking 1.5alpha error

text:
# Question
Title: CiviBooking 1.5alpha error
Not sure if this is best place or Github, anyway, using the 1.5alpha on CiviCRM 4.7.8 & Wordpress 4.5.3

When trying to access the Bookings - Find Bookings tab I get the following error

Fatal error: Access level to CRM\_Booking\_Form\_Search::$\_defaults must be public (as in class CRM\_Core\_Form) in /var/sites/h/hbb.org.uk/public\_html/wp-content/plugins/files/civicrm/extensions/civibooking-1.5alpha/CRM/Booking/Form/Search.php on line 10

The rest of the alpha build seems to work great for me.

# Answer
Thanks for reporting this.

From the error message it seems that some CiviCRM core changes made from 4.6 to 4.7 needs to be reflected in the extension code.

We will start looking into this. Please post the ticket in our extension Github: https://github.com/compucorp/civibooking and we will post responses regarding any update.

Best
> 1 votes

# Answer
Changed line 93 in search.php to: public $\_defaults;

now works, posted in github also. cheers
> 0 votes

---
Tags: civibooking
---


title: Donations linked with PayPal

text:
# Question
Title: Donations linked with PayPal
Members have profiles in CiviCRM database. Members have been donating monthly, and the donations register in PayPal but they are not registering in the CiviCRM. Why is this?

# Answer
> 1 votes
My first thought is that maybe your members are jumping straight to paypal-ing your email address rather than going through a civicrm contribution page such that civi could record the interaction. Cuuld that be the issue?

If that isn't it, perhaps you can provide more details as to your setup. What kind of page are your members using? What version of CiviCRM are you using? Are you on Drupal, or Wordpress? Tell us everything you can that might be relevant about your setup and hopefully someone can give you a hand.

# Answer
> 0 votes
It could be that PayPal IPN has not been set up, but since you have not said whether the 'contribution' is being recorded as Failed or just doesn't exist it is hard to help. Some other thoughts:

Have you set up Payment Processor?

Is the processor configured to be used on the Confirmation page?

When people submit the contribution page, do they get taken to PayPal?

Do they get returned to your site after they give PayPal the money.

*It always saves time to give more details in your question rather than less.*

---
Tags: paypal
---


title: CiviRules and CiviCRM 4.7

text:
# Question
Title: CiviRules and CiviCRM 4.7
For those that are using CiviRules, what has your testing on CiviCRM 4.7.x shown? Is this something that is showing major issues, minor issues, seems to fine? Having never used CiviRules, I've got no basis from which to begin test, but may have reason to use the extension now.

(CiviCRM 4.7.2 is the current stable at the time of writing.)

# Answer
> 6 votes
I'm in the same boat! Just about to install and enable as we need to trigger email to customer when they submit a profile from WordPress...

**UPDATE** From initial testing it seems to work fine with 4.7.3 however I have only used the "Add to group" trigger and "send email" function. Both seem to work fine.

**UPDATE 2** CiviRules is working on a live site now and performing well. Only have 10 rules which just send emails when people are added to groups. The delayed actions also work fine.

So to get it installed on 4.7.x, simply edit the "info.xml" file for the extension, adding `<ver>4.7</ver>` under the `/extension/compatibility` element and then installing as normal.

**This is by no means a comprehensive test! Please perform your own prior to a live release!**

# Answer
> 2 votes
Found an apparent problem in the comparison routine. Posted on the GitHub page: https://github.com/CiviCooP/org.civicoop.civirules/issues/68

Also, the New Contact trigger does not seem to be working: https://github.com/CiviCooP/org.civicoop.civirules/issues/79

# Answer
> -1 votes
Doesn't seem to work with any of the event triggers (create,change,delete) across versions 4.6.x and 4.7.x

This error message comes up.

Sorry but we are not able to provide this at the moment. One of parameters (value: ) is not of the type Integer

---
Tags: extension, civirules
---


title: Does CiviRules extension work on 4.6.x

text:
# Question
Title: Does CiviRules extension work on 4.6.x
Title says it all really. Just trying to verify if there are known breakages, or if we just need to update the Extension info page

# Answer
> 3 votes
We're using it on 4.6.x sites too and are in the process of adding extra things such as the ability to allocate campaigns. If theres anything in particular you'd like to do but cant maybe drop into a wiki or on the issues list in github.

# Answer
> 2 votes
I have installed CiviRules on 4.6.8 without incident and have built some Rules to cover situation of when a contact gains a Membership then add them to a Group. This all seems to work. There are Conditions I need which don't exist but fundamentally I am not seeing anything broken wrt the Extension.

# Answer
> 2 votes
Yes, we are using CiviRules on 4.6.x without incident thus far (see https://civicrm.stackexchange.com/a/4873/105 for an example of how). It's very helpful. It didn't have exactly the condition/action combo we needed, but using it in conjunction with other features of core CiviCRM, we made it work for us.

# Answer
> -1 votes
Doesn't seem to work with any of the event triggers (create,change,delete) across versions 4.6.x and 4.7.x

This error message comes up.

Sorry but we are not able to provide this at the moment. One of parameters (value: ) is not of the type Integer

Have you had any issues with the event triggers petednz?

---
Tags: civirules
---


# Question
Title: When does a '3 month' period in a membership status actually roll over
Wondering how civi calculates 3 months, given that month lengths vary, eg they could be between 89 to 92 days (I think).

I am asking because we have End Date March 31, and then Grace for 3 months. Here, in NZ, it is July 1, but Grace members are still showing Grace, and not clear if something has failed (yes scheduled job is enabled and running and no log errors), or if the 'calculation' of 3 months might be a bit stretchy.

# Answer
> 2 votes
The calculation of **next** or **past 3 months** was decidedly dodgy for relative dates in searches (which is why these have been replaced with 90-day intervals in v4.7). The same method may apply for the membership status update.

If I remember correctly, it calulates the number of days in three calendar months starting with the current month.

So I think you may find that for an end date of March 31, CiviCRM will change the status after 31(March) + 30 (April) + 31(May) = 92 days, which should be 2 July.

---
Tags: civimember
---


title: CiviRule Error on create Event

text:
# Question
Title: CiviRule Error on create Event
The error message I am receiving is:

Sorry but we are not able to provide this at the moment. One of parameters (value: ) is not of the type Integer

I have tested this on a clean install of CiviCRM 4.6.18 with only CiviRules installed and still get this error. It occurs on any Event Trigger (create,change,delete).

and spits out this backtrace error:

```
#0 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Error.php(360): CRM_Core_Error::backtrace()
#1 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Utils/Type.php(415): CRM_Core_Error::fatal("One of parameters  (value: ) is not of the type Integer")
#2 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/DAO.php(1251): CRM_Utils_Type::validate(NULL, "Integer")
#3 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/DAO.php(1168): CRM_Core_DAO::composeQuery("INSERT INTO `civirule_rule_log` (`rule_id`, `contact_id`, `log_date`) VALUES ...", (Array:2), TRUE)
#4 /var/www/clients/client1/web8/web/sites/default/files/civicrm/ext/org.civicoop.civirules/org.civicoop.civirules-master/CRM/Civirules/Engine.php(285): CRM_Core_DAO::executeQuery("INSERT INTO `civirule_rule_log` (`rule_id`, `contact_id`, `log_date`) VALUES ...", (Array:2))
#5 /var/www/clients/client1/web8/web/sites/default/files/civicrm/ext/org.civicoop.civirules/org.civicoop.civirules-master/CRM/Civirules/Engine.php(30): CRM_Civirules_Engine::logRule(Object(CRM_Civirules_TriggerData_Post))
#6 /var/www/clients/client1/web8/web/sites/default/files/civicrm/ext/org.civicoop.civirules/org.civicoop.civirules-master/CRM/Civirules/Trigger/Post.php(81): CRM_Civirules_Engine::triggerRule(Object(CRM_Civirules_Trigger_Post), Object(CRM_Civirules_TriggerData_Post))
#7 /var/www/clients/client1/web8/web/sites/default/files/civicrm/ext/org.civicoop.civirules/org.civicoop.civirules-master/CRM/Civirules/Trigger/Post.php(66): CRM_Civirules_Trigger_Post->triggerTrigger("create", "Event", 12, Object(CRM_Event_DAO_Event))
#8 /var/www/clients/client1/web8/web/sites/default/files/civicrm/ext/org.civicoop.civirules/org.civicoop.civirules-master/civirules.php(137): CRM_Civirules_Trigger_Post::post("create", "Event", 12, Object(CRM_Event_DAO_Event))
#9 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(213): civirules_civicrm_post("create", "Event", 12, Object(CRM_Event_DAO_Event))
#10 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Utils/Hook/DrupalBase.php(87): CRM_Utils_Hook->runHooks((Array:33), "civicrm_post", 4, "create", "Event", 12, Object(CRM_Event_DAO_Event), NULL, NULL)
#11 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Utils/Hook.php(304): CRM_Utils_Hook_DrupalBase->invoke(4, "create", "Event", 12, Object(CRM_Event_DAO_Event), NULL, NULL, "civicrm_post")
#12 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Event/BAO/Event.php(110): CRM_Utils_Hook::post("create", "Event", 12, Object(CRM_Event_DAO_Event))
#13 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Event/BAO/Event.php(141): CRM_Event_BAO_Event::add((Array:28))
#14 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php(307): CRM_Event_BAO_Event::create((Array:28))
#15 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Form.php(345): CRM_Event_Form_ManageEvent_EventInfo->postProcess()
#16 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Upload.php(166): CRM_Core_Form->mainProcess()
#17 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/QuickForm/Action/Upload.php(133): CRM_Core_QuickForm_Action_Upload->realPerform(Object(CRM_Event_Form_ManageEvent_EventInfo), "upload")
#18 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Upload->perform(Object(CRM_Event_Form_ManageEvent_EventInfo), "upload")
#19 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Event_Form_ManageEvent_EventInfo), "upload")
#20 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Controller.php(353): HTML_QuickForm_Page->handle("upload")
#21 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Utils/Wrapper.php(115): CRM_Core_Controller->run()
#22 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(286): CRM_Utils_Wrapper->run("CRM_Event_Form_ManageEvent_EventInfo", "New Event", NULL)
#23 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(86): CRM_Core_Invoke::runItem((Array:15))
#24 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/CRM/Core/Invoke.php(54): CRM_Core_Invoke::_invoke((Array:3))
#25 /var/www/clients/client1/web8/web/sites/all/modules/civicrm/drupal/civicrm.module(489): CRM_Core_Invoke::invoke((Array:3))
#26 [internal function](): civicrm_invoke("event", "add")
#27 /var/www/clients/client1/web8/web/includes/menu.inc(527): call_user_func_array("civicrm_invoke", (Array:2))
#28 /var/www/clients/client1/web8/web/index.php(21): menu_execute_active_handler()
#29 {main}

```

I would really like some help debugging this error. Does anyone have any suggestions?

# Answer
I think that you are discussing this problem at the moment on GitHub too? https://github.com/CiviCooP/org.civicoop.civirules/issues/90

It looks like you are passing a NULL value as a parameter to a function in the civirules logging. You could try to add a check for a NULL value in CRM/Civirules/Engine.php. Does this help? And great if you can fix this error in a PR on GitHub.
> 1 votes

---
Tags: civievent, civirules
---