<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
* $Id$
*
*/
CONST NUM_INDIVIDUAL_PER_HOUSEHOLD = 4;
CONST NUM_ACTIVITY = 150;
- // Relationship types from the table crm_relationship_type
- CONST CHILD_OF = 1;
- CONST SPOUSE_OF = 2;
- CONST SIBLING_OF = 3;
- CONST EMPLOYEE_OF = 4;
- CONST HEAD_OF_HOUSEHOLD = 6;
- CONST MEMBER_OF_HOUSEHOLD = 7;
-
// Location types from the table crm_location_type
CONST HOME = 1;
CONST WORK = 2;
}
// Init DB
$config = CRM_Core_Config::singleton();
+
+ // Relationship types indexed by name_a_b from the table civicrm_relationship_type
+ $this->relTypes = CRM_Utils_Array::index(array('name_a_b'), CRM_Core_PseudoConstant::relationshipType('name'));
+
}
/**
if ($this->probability(.5)) {
$contact->preferred_communication_method = CRM_Core_DAO::VALUE_SEPARATOR . $this->randomItem($this->preferredCommunicationMethod) . CRM_Core_DAO::VALUE_SEPARATOR;
}
+ $contact->source = 'Sample Data';
$this->_insert($contact);
}
}
$relationship->is_active = 1;
// add child_of relationship for each child
- $relationship->relationship_type_id = self::CHILD_OF;
+ $relationship->relationship_type_id = $this->relTypes['Child of']['id'];
foreach (array(0, 1) as $parent) {
foreach (array(2, 3) as $child) {
$relationship->contact_id_a = $household_member[$child];
}
// add sibling_of relationship
- $relationship->relationship_type_id = self::SIBLING_OF;
+ $relationship->relationship_type_id = $this->relTypes['Sibling of']['id'];
$relationship->contact_id_a = $household_member[3];
$relationship->contact_id_b = $household_member[2];
$this->_insert($relationship);
// add member_of_household relationships and shared address
- $relationship->relationship_type_id = self::MEMBER_OF_HOUSEHOLD;
+ $relationship->relationship_type_id = $this->relTypes['Household Member of']['id'];
$relationship->contact_id_b = $household_id;
for ($i = 1; $i < 4; ++$i) {
$relationship->contact_id_a = $household_member[$i];
}
// add head_of_household relationship 1 for head of house
- $relationship->relationship_type_id = self::HEAD_OF_HOUSEHOLD;
+ $relationship->relationship_type_id = $this->relTypes['Head of Household for']['id'];
$relationship->contact_id_a = $household_member[0];
$relationship->contact_id_b = $household_id;
$this->_insert($relationship);
// add spouse_of relationship 1 for both the spouses
- $relationship->relationship_type_id = self::SPOUSE_OF;
+ $relationship->relationship_type_id = $this->relTypes['Spouse of']['id'];
$relationship->contact_id_a = $household_member[1];
$relationship->contact_id_b = $household_member[0];
$this->_insert($relationship);
// Add current employer relationships
$this->_query("INSERT INTO civicrm_relationship
(contact_id_a, contact_id_b, relationship_type_id, is_active)
- (SELECT id, employer_id, " . self::EMPLOYEE_OF . ", 1 FROM civicrm_contact WHERE employer_id IN (" . implode(',', $this->Organization) . "))"
+ (SELECT id, employer_id, " . $this->relTypes['Employee of']['id'] . ", 1 FROM civicrm_contact WHERE employer_id IN (" . implode(',', $this->Organization) . "))"
);
}
*
* @param $cid int: contact id
* @param $masterContactId int: set if this is a shared address
+ *
+ * @return array
*/
private function _addAddress($cid, $masterContactId = NULL) {
* Add a phone number for a contact
*
* @param $cid int: contact id
+ *
+ * @return array
*/
private function _addPhone($cid) {
$area = $this->probability(.5) ? '' : mt_rand(201, 899);
* Add an email for a contact
*
* @param $cid int: contact id
+ * @param $email
+ * @param $locationType
+ *
+ * @return array
*/
private function _addEmail($cid, $email, $locationType) {
$params = array(
*
* @param $cid int: contact id
* @param $name str: contact name
+ *
+ * @return array
*/
private function _addWebsite($cid, $name) {
$part = array_pad(split(' ', strtolower($name)), 3, '');
/**
* Create an email address based on a person's name
* Using common naming patterns
+ *
* @param $contact obj: individual contact record
* @param $domain str: supply a domain (i.e. for a work address)
+ *
+ * @return string
*/
private function _individualEmail($contact, $domain = NULL) {
$first = $contact->first_name;
$sql = "SELECT id from civicrm_contribution where contact_id = 34";
$contriId2 = CRM_Core_DAO::singleValueQuery($sql);
+ $sql = "SELECT cov.value FROM civicrm_option_value cov LEFT JOIN civicrm_option_group cog ON cog.id = cov.option_group_id WHERE cov.name = 'pcp' AND cog.name = 'soft_credit_type'";
+
+ $pcpId = CRM_Core_DAO::singleValueQuery($sql);
+
$query = "
INSERT INTO `civicrm_contribution_soft`
- ( contribution_id, contact_id ,amount , currency, pcp_id , pcp_display_in_roll ,pcp_roll_nickname,pcp_personal_note )
+ ( contribution_id, contact_id ,amount , currency, pcp_id , pcp_display_in_roll ,pcp_roll_nickname,pcp_personal_note, soft_credit_type_id )
VALUES
- ( $contriId1, {$this->Individual[3]}, 10.00, 'USD', 1, 1, 'Jones Family', 'Helping Hands'),
- ( $contriId2, {$this->Individual[3]}, 250.00, 'USD', 1, 1, 'Annie and the kids', 'Annie Helps');
+ ( $contriId1, {$this->Individual[3]}, 10.00, 'USD', 1, 1, 'Jones Family', 'Helping Hands', $pcpId),
+ ( $contriId2, {$this->Individual[3]}, 250.00, 'USD', 1, 1, 'Annie and the kids', 'Annie Helps', $pcpId);
";
+
$this->_query($query);
}
private function addPledge() {
$pledge = "INSERT INTO civicrm_pledge
- (contact_id, financial_type_id, contribution_page_id, amount, original_installment_amount, currency,frequency_unit, frequency_interval, frequency_day, installments, start_date, create_date, acknowledge_date, modified_date, cancel_date, end_date, honor_contact_id, honor_type_id, status_id, is_test)
+ (contact_id, financial_type_id, contribution_page_id, amount, original_installment_amount, currency,frequency_unit, frequency_interval, frequency_day, installments, start_date, create_date, acknowledge_date, modified_date, cancel_date, end_date, status_id, is_test)
VALUES
- (71, 1, 1, 500.00, '500', 'USD', 'month', 1, 1, 1, '2009-07-01 00:00:00', '2009-06-26 00:00:00', NULL, NULL, NULL,'2009-07-01 00:00:00', NULL, NULL, 1, 0),
- (43, 1, 1, 800.00, '200', 'USD', 'month', 3, 1, 4, '2009-07-01 00:00:00', '2009-06-23 00:00:00', '2009-06-23 00:00:00', NULL, NULL, '2009-04-01 10:11:40', NULL, NULL, 5, 0),
- (32, 1, 1, 600.00, '200', 'USD', 'month', 1, 1, 3, '2009-10-01 00:00:00', '2009-09-14 00:00:00', '2009-09-14 00:00:00', NULL, NULL, '2009-12-01 00:00:00', NULL, NULL, 5, 0);
+ (71, 1, 1, 500.00, '500', 'USD', 'month', 1, 1, 1, '2009-07-01 00:00:00', '2009-06-26 00:00:00', NULL, NULL, NULL,'2009-07-01 00:00:00', 1, 0),
+ (43, 1, 1, 800.00, '200', 'USD', 'month', 3, 1, 4, '2009-07-01 00:00:00', '2009-06-23 00:00:00', '2009-06-23 00:00:00', NULL, NULL, '2009-04-01 10:11:40', 5, 0),
+ (32, 1, 1, 600.00, '200', 'USD', 'month', 1, 1, 3, '2009-10-01 00:00:00', '2009-09-14 00:00:00', '2009-09-14 00:00:00', NULL, NULL, '2009-12-01 00:00:00', 5, 0);
";
$this->_query($pledge);
}
private function addParticipantFinancialItem() {
- $sql = " SELECT cpp.contribution_id, cli.id as line_item_id, cp.contact_id, now() as receive_date, cp.fee_amount as total_amount, cp.fee_currency as currency, cli.label, cli.financial_type_id, cefa.financial_account_id, NULL as payment_instrument_id, NULL as check_number, NULL as trxn_id
+ $sql = " SELECT cpp.contribution_id, cli.id as line_item_id, cp.contact_id, now() as receive_date, cp.fee_amount as total_amount, cp.fee_currency as currency, cli.label, cli.financial_type_id, cefa.financial_account_id, 4 as payment_instrument_id, NULL as check_number, NULL as trxn_id
FROM `civicrm_participant` cp
INNER JOIN civicrm_participant_payment cpp ON cpp.participant_id = cp.id
INNER JOIN civicrm_line_item cli ON cli.entity_id = cp.id and cli.entity_table = 'civicrm_participant'
private function addMembershipPayment() {
$maxContribution = CRM_Core_DAO::singleValueQuery("select max(id) from civicrm_contribution");
$financialTypeID = CRM_Core_DAO::singleValueQuery("select id from civicrm_financial_type where name = 'Member Dues'");
- $sql = "INSERT INTO civicrm_contribution (contact_id,financial_type_id,receive_date, total_amount, currency, source, contribution_status_id)
-SELECT cm.contact_id, $financialTypeID, now(), cmt.minimum_fee, 'USD', CONCAT(cmt.name, ' Membership: Offline signup'), 1 FROM `civicrm_membership` cm
+ $paymentInstrumentID = CRM_Core_DAO::singleValueQuery("select value from civicrm_option_value where name = 'Credit Card' AND option_group_id = (SELECT id from civicrm_option_group where name = 'payment_instrument')");
+ $sql = "INSERT INTO civicrm_contribution (contact_id,financial_type_id,payment_instrument_id, receive_date, total_amount, currency, source, contribution_status_id)
+SELECT cm.contact_id, $financialTypeID, $paymentInstrumentID, now(), cmt.minimum_fee, 'USD', CONCAT(cmt.name, ' Membership: Offline signup'), 1 FROM `civicrm_membership` cm
LEFT JOIN civicrm_membership_type cmt ON cmt.id = cm.membership_type_id;";
$this->_query($sql);
private function addParticipantPayment() {
$maxContribution = CRM_Core_DAO::singleValueQuery("select max(id) from civicrm_contribution");
$financialTypeID = CRM_Core_DAO::singleValueQuery("select id from civicrm_financial_type where name = 'Event Fee'");
- $sql = "INSERT INTO civicrm_contribution (contact_id, financial_type_id, receive_date, total_amount, currency, receipt_date, source, contribution_status_id)
-SELECT `contact_id`, $financialTypeID, now(), `fee_amount`, 'USD', now(), CONCAT(ce.title, ' : Offline registration'), 1 FROM `civicrm_participant` cp
+ $paymentInstrumentID = CRM_Core_DAO::singleValueQuery("select value from civicrm_option_value where name = 'Credit Card' AND option_group_id = (SELECT id from civicrm_option_group where name = 'payment_instrument')");
+ $sql = "INSERT INTO civicrm_contribution (contact_id, financial_type_id, payment_instrument_id, receive_date, total_amount, currency, receipt_date, source, contribution_status_id)
+SELECT `contact_id`, $financialTypeID, $paymentInstrumentID, now(), `fee_amount`, 'USD', now(), CONCAT(ce.title, ' : Offline registration'), 1 FROM `civicrm_participant` cp
LEFT JOIN civicrm_event ce ON ce.id = cp.event_id
group by `contact_id`;";