X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=sql%2FGenerateData.php;h=4f71a05fe792beff90d91ef3b983cb595d9b9114;hb=c90a093af5607c80a76a7af50f76d2c1d5bf4f37;hp=69018335b2b6c8fc0343981c49fcd967b54d7379;hpb=4425db19da543e9a0894895b009797a076291ddb;p=civicrm-core.git diff --git a/sql/GenerateData.php b/sql/GenerateData.php index 69018335b2..4f71a05fe7 100644 --- a/sql/GenerateData.php +++ b/sql/GenerateData.php @@ -1,9 +1,9 @@ relTypes = CRM_Utils_Array::index(array('name_a_b'), CRM_Core_PseudoConstant::relationshipType('name')); - + } /** @@ -146,7 +145,7 @@ class CRM_GCD { * Provides user feedback */ public function generate($itemName) { - echo "Adding $itemName\n"; + echo "Generating $itemName\n"; $fn = "add$itemName"; $this->$fn(); } @@ -166,14 +165,13 @@ class CRM_GCD { * contact_note uuid */ public function initID() { - - // may use this function in future if needed to get - // a consistent pattern of random numbers. - // get the domain and contact id arrays $this->domain = range(1, self::NUM_DOMAIN); shuffle($this->domain); - $this->contact = range(2, self::NUM_CONTACT + 1); + + // Get first contact id + $this->startCid = $cid = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_contact"); + $this->contact = range($cid + 1, $cid + self::NUM_CONTACT); shuffle($this->contact); // get the individual, household and organizaton contacts @@ -245,6 +243,7 @@ class CRM_GCD { private $sampleData = array(); // private vars + private $startCid; private $numIndividual = 0; private $numHousehold = 0; private $numOrganization = 0; @@ -474,9 +473,10 @@ class CRM_GCD { */ private function addContact() { $contact = new CRM_Contact_DAO_Contact(); + $cid = $this->startCid; - for ($id = 1; $id <= self::NUM_CONTACT; $id++) { - $contact->contact_type = $this->getContactType($id + 1); + for ($id = $cid + 1; $id <= $cid + self::NUM_CONTACT; $id++) { + $contact->contact_type = $this->getContactType($id); $contact->do_not_phone = $this->probability(.2); $contact->do_not_email = $this->probability(.2); $contact->do_not_post = $this->probability(.2); @@ -485,6 +485,7 @@ class CRM_GCD { 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); } } @@ -962,10 +963,10 @@ class CRM_GCD { $email = "$f$m$last"; break; } - //to ensure we dont insert + //to ensure we dont insert //invalid characters in email $email = preg_replace("([^a-zA-Z0-9_\.-]*)", "", $email); - + // Some people have numbers in their address if ($this->probability(.4)) { $email .= mt_rand(1, 99); @@ -978,7 +979,7 @@ class CRM_GCD { } /** - * This method populates the crm_entity_tag table + * This method populates the civicrm_entity_tag table */ private function addEntityTag() { @@ -1013,7 +1014,7 @@ class CRM_GCD { } /** - * This method populates the crm_entity_tag table + * This method populates the civicrm_group_contact table */ private function addGroup() { // add the 3 groups first @@ -1105,7 +1106,7 @@ class CRM_GCD { } /** - * This method populates the crm_note table + * This method populates the civicrm_note table */ private function addNote() { $params = array( @@ -1122,7 +1123,7 @@ class CRM_GCD { } /** - * This method populates the crm_activity_history table + * This method populates the civicrm_activity_history table */ private function addActivity() { $contactDAO = new CRM_Contact_DAO_Contact(); @@ -1133,14 +1134,13 @@ class CRM_GCD { $contactDAO->find(); $count = 0; - + $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); while ($contactDAO->fetch()) { if ($count++ > 2) { break; } for ($i = 0; $i < self::NUM_ACTIVITY; $i++) { $activityDAO = new CRM_Activity_DAO_Activity(); - $activityDAO->source_contact_id = $contactDAO->id; $activityTypeID = mt_rand(7, 10); $activity = CRM_Core_PseudoConstant::activityType(); $activityDAO->activity_type_id = $activityTypeID; @@ -1150,19 +1150,26 @@ class CRM_GCD { $activityDAO->status_id = 2; $this->_insert($activityDAO); - if (in_array($activityTypeID, array( - 6, 9))) { - $activityTargetDAO = new CRM_Activity_DAO_ActivityTarget(); - $activityTargetDAO->activity_id = $activityDAO->id; - $activityTargetDAO->target_contact_id = mt_rand(1, 101); - $this->_insert($activityTargetDAO); + $activityContactDAO = new CRM_Activity_DAO_ActivityContact(); + $activityContactDAO->activity_id = $activityDAO->id; + $activityContactDAO->contact_id = $contactDAO->id; + $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Source', $activityContacts); + $this->_insert($activityContactDAO); + + if (in_array($activityTypeID, array(6, 9))) { + $activityContactDAO = new CRM_Activity_DAO_ActivityContact(); + $activityContactDAO->activity_id = $activityDAO->id; + $activityContactDAO->contact_id = mt_rand(1, 101); + $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Targets', $activityContacts); + $this->_insert($activityContactDAO); } if ($activityTypeID == 7) { - $activityAssignmentDAO = new CRM_Activity_DAO_ActivityAssignment(); - $activityAssignmentDAO->activity_id = $activityDAO->id; - $activityAssignmentDAO->assignee_contact_id = mt_rand(1, 101); - $this->_insert($activityAssignmentDAO); + $activityContactDAO = new CRM_Activity_DAO_ActivityContact(); + $activityContactDAO->activity_id = $activityDAO->id; + $activityContactDAO->contact_id = mt_rand(1, 101); + $activityContactDAO->record_type_id = CRM_Utils_Array::key('Activity Assignees', $activityContacts); + $this->_insert($activityContactDAO); } } } @@ -1199,8 +1206,7 @@ class CRM_GCD { } } - static - function getLatLong($zipCode) { + static function getLatLong($zipCode) { $query = "http://maps.google.com/maps?q=$zipCode&output=js"; $userAgent = "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0"; @@ -1247,6 +1253,7 @@ class CRM_GCD { private function addMembership() { $contact = new CRM_Contact_DAO_Contact(); $contact->query("SELECT id FROM civicrm_contact where contact_type = 'Individual'"); + $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); while ($contact->fetch()) { $contacts[] = $contact->id; } @@ -1264,20 +1271,31 @@ INSERT INTO civicrm_membership (contact_id, membership_type_id, join_date, start_date, end_date, source, status_id) VALUES "; + $activity = " INSERT INTO civicrm_activity - (source_contact_id, source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) + (source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) VALUES "; + $activityContact = " +INSERT INTO civicrm_activity_contact + (activity_id, contact_id, record_type_id) +VALUES +"; + + $currentActivityID = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_activity"); + $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); foreach ($randomContacts as $count => $dontCare) { $source = $this->randomItem($sources); - $acititySourceId = $count + 1; + $activitySourceId = $count + 1; + $currentActivityID++; + $activityContact .= "( $currentActivityID, {$randomContacts[$count]}, {$sourceID} )"; if ((($count + 1) % 11 == 0)) { // lifetime membership, status can be anything $startDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - $count), date('Y'))); $membership .= "( {$randomContacts[$count]}, 3, '{$startDate}', '{$startDate}', null, '{$source}', 1)"; - $activity .= "( {$randomContacts[$count]}, {$acititySourceId}, 7, 'Lifetime', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; + $activity .= "( {$activitySourceId}, 7, 'Lifetime', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; } elseif (($count + 1) % 5 == 0) { // Grace or expired, memberhsip type is random of 1 & 2 @@ -1304,36 +1322,36 @@ VALUES )); $membership .= "( {$randomContacts[$count]}, {$membershipTypeId}, '{$startDate}', '{$startDate}', '{$endDate}', '{$source}', {$membershipStatusId})"; - $activity .= "( {$randomContacts[$count]}, {$acititySourceId}, 7, '{$membershipTypeName}', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; + $activity .= "( {$activitySourceId}, 7, '{$membershipTypeName}', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; } elseif (($count + 1) % 2 == 0) { // membership type 2 $startDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - $count), date('Y'))); $endDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - ($count + 1)), (date('Y') + 1))); $membership .= "( {$randomContacts[$count]}, 2, '{$startDate}', '{$startDate}', '{$endDate}', '{$source}', 1)"; - $activity .= "( {$randomContacts[$count]}, {$acititySourceId}, 7, 'Student', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; + $activity .= "( {$activitySourceId}, 7, 'Student', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; } else { // membership type 1 $startDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - $count), date('Y'))); $endDate = date('Y-m-d', mktime(0, 0, 0, date('m'), (date('d') - ($count + 1)), (date('Y') + 2))); $membership .= "( {$randomContacts[$count]}, 1, '{$startDate}', '{$startDate}', '{$endDate}', '{$source}', 1)"; - $activity .= "( {$randomContacts[$count]}, {$acititySourceId}, 7, 'General', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; + $activity .= "( {$activitySourceId}, 7, 'General', '{$startDate} 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 )"; } if ($count != 29) { $membership .= ","; $activity .= ","; + $activityContact .= ","; } } $this->_query($membership); - $this->_query($activity); + $this->_query($activityContact); } - static - function repairDate($date) { + static function repairDate($date) { $dropArray = array('-' => '', ':' => '', ' ' => ''); return strtr($date, $dropArray); } @@ -1545,60 +1563,78 @@ VALUES $query = " INSERT INTO civicrm_activity - (source_contact_id, source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) + (source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) VALUES - ($randomContacts[0], 01, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[1], 02, 5, 'NULL', '2008-05-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[2], 03, 5, 'NULL', '2008-05-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[3], 04, 5, 'NULL', '2008-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[4], 05, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[5], 06, 5, 'NULL', '2008-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[6], 07, 5, 'NULL', '2009-07-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[7], 08, 5, 'NULL', '2009-03-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[8], 09, 5, 'NULL', '2008-02-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[9], 10, 5, 'NULL', '2008-02-01 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[10], 11, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[11], 12, 5, 'NULL', '2009-03-06 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[12], 13, 5, 'NULL', '2008-06-04 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[13], 14, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[14], 15, 5, 'NULL', '2008-07-04 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[15], 16, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[16], 17, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[17], 18, 5, 'NULL', '2009-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[18], 19, 5, 'NULL', '2008-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[19], 20, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[20], 21, 5, 'NULL', '2008-03-25 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[21], 22, 5, 'NULL', '2009-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[22], 23, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[23], 24, 5, 'NULL', '2008-03-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[24], 25, 5, 'NULL', '2008-04-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[25], 26, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[26], 27, 5, 'NULL', '2008-05-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[27], 28, 5, 'NULL', '2009-12-12 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[28], 29, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[29], 30, 5, 'NULL', '2009-12-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[30], 31, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[31], 32, 5, 'NULL', '2009-07-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[32], 33, 5, 'NULL', '2009-03-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[33], 34, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[34], 35, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[35], 36, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[36], 37, 5, 'NULL', '2009-03-06 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[37], 38, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[38], 39, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[39], 40, 5, 'NULL', '2009-12-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[40], 41, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[41], 42, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[42], 43, 5, 'NULL', '2009-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[43], 44, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[44], 45, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[45], 46, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[46], 47, 5, 'NULL', '2009-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[47], 48, 5, 'NULL', '2009-12-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[48], 49, 5, 'NULL', '2009-03-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - ($randomContacts[49], 50, 5, 'NULL', '2009-04-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ) + (01, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (02, 5, 'NULL', '2008-05-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (03, 5, 'NULL', '2008-05-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (04, 5, 'NULL', '2008-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (05, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (06, 5, 'NULL', '2008-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (07, 5, 'NULL', '2009-07-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (08, 5, 'NULL', '2009-03-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (09, 5, 'NULL', '2008-02-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (10, 5, 'NULL', '2008-02-01 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (11, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (12, 5, 'NULL', '2009-03-06 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (13, 5, 'NULL', '2008-06-04 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (14, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (15, 5, 'NULL', '2008-07-04 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (16, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (17, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (18, 5, 'NULL', '2009-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (19, 5, 'NULL', '2008-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (20, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (21, 5, 'NULL', '2008-03-25 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (22, 5, 'NULL', '2009-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (23, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (24, 5, 'NULL', '2008-03-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (25, 5, 'NULL', '2008-04-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (26, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (27, 5, 'NULL', '2008-05-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (28, 5, 'NULL', '2009-12-12 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (29, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (30, 5, 'NULL', '2009-12-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (31, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (32, 5, 'NULL', '2009-07-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (33, 5, 'NULL', '2009-03-07 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (34, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (35, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (36, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (37, 5, 'NULL', '2009-03-06 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (38, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (39, 5, 'NULL', '2008-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (40, 5, 'NULL', '2009-12-14 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (41, 5, 'NULL', '2009-01-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (42, 5, 'NULL', '2009-12-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (43, 5, 'NULL', '2009-03-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (44, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (45, 5, 'NULL', '2009-01-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (46, 5, 'NULL', '2009-12-13 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (47, 5, 'NULL', '2009-10-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (48, 5, 'NULL', '2009-12-10 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (49, 5, 'NULL', '2009-03-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (50, 5, 'NULL', '2009-04-05 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ) "; $this->_query($query); + + $activityContact = " +INSERT INTO civicrm_activity_contact + (contact_id, activity_id, record_type_id) +VALUES +"; + $activityContacts = CRM_Core_OptionGroup::values('activity_contacts', FALSE, FALSE, FALSE, NULL, 'name'); + $currentActivityID = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_activity"); + $currentActivityID -= 50; + $sourceID = CRM_Utils_Array::key('Activity Source', $activityContacts); + for ($i = 0; $i < 50; $i++) { + $currentActivityID++; + $activityContact .= "({$randomContacts[$i]}, $currentActivityID, $sourceID)"; + if ($i != 49) { + $activityContact .= ", "; + } + } + $this->_query($activityContact); } private function addPCP() { @@ -1632,25 +1668,42 @@ VALUES "; $this->_query($query); + $currentActivityID = CRM_Core_DAO::singleValueQuery("SELECT MAX(id) FROM civicrm_activity"); $query = " INSERT INTO civicrm_activity - (source_contact_id, source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) + (source_record_id, activity_type_id, subject, activity_date_time, duration, location, phone_id, phone_number, details, priority_id,parent_id, is_test, status_id) VALUES - (2, 1, 6, '$ 125.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (4, 2, 6, '$ 50.00-Online: Save the Penguins', '2010-03-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (6, 3, 6, '$ 25.00-Apr 2007 Mailer 1', '2010-04-29 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (8, 4, 6, '$ 50.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (16, 5, 6, '$ 500.00-Apr 2007 Mailer 1', '2010-04-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (19, 6, 6, '$ 175.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (82, 7, 6, '$ 50.00-Online: Save the Penguins', '2010-03-27 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (92, 8, 6, '$ 10.00-Online: Save the Penguins', '2010-03-08 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (34, 9, 6, '$ 250.00-Online: Save the Penguins', '2010-04-22 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (71, 10, 6, NULL, '2009-07-01 11:53:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (43, 11, 6, NULL, '2009-07-01 12:55:41', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (32, 12, 6, NULL, '2009-10-01 11:53:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), - (32, 13, 6, NULL, '2009-12-01 12:55:41', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ); + (1, 6, '$ 125.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (2, 6, '$ 50.00-Online: Save the Penguins', '2010-03-21 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (3, 6, '$ 25.00-Apr 2007 Mailer 1', '2010-04-29 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (4, 6, '$ 50.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (5, 6, '$ 500.00-Apr 2007 Mailer 1', '2010-04-15 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (6, 6, '$ 175.00-Apr 2007 Mailer 1', '2010-04-11 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (7, 6, '$ 50.00-Online: Save the Penguins', '2010-03-27 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (8, 6, '$ 10.00-Online: Save the Penguins', '2010-03-08 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (9, 6, '$ 250.00-Online: Save the Penguins', '2010-04-22 00:00:00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (10, 6, NULL, '2009-07-01 11:53:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (11, 6, NULL, '2009-07-01 12:55:41', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (12, 6, NULL, '2009-10-01 11:53:50', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ), + (13, 6, NULL, '2009-12-01 12:55:41', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 2 ); "; $this->_query($query); + + $activityContact = " +INSERT INTO civicrm_activity_contact + (contact_id, activity_id, record_type_id) +VALUES +"; + + $arbitraryNumbers = array(2, 4, 6, 8, 16, 19, 82, 92, 34, 71, 43, 32, 32); + for ($i = 0; $i < count($arbitraryNumbers); $i++) { + $currentActivityID++; + $activityContact .= "({$arbitraryNumbers[$i]}, $currentActivityID, 2)"; + if ($i != count($arbitraryNumbers) - 1) { + $activityContact .= ", "; + } + } + $this->_query($activityContact); } private function addSoftContribution() { @@ -1661,23 +1714,28 @@ VALUES $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); } @@ -1724,7 +1782,7 @@ WHERE cefa.account_relationship = 1; "; 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' @@ -1774,8 +1832,9 @@ SELECT 'civicrm_participant',cp.id, cpfv.price_field_id, cpfv.label, 1, cpfv.amo 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); @@ -1794,20 +1853,28 @@ LEFT JOIN civicrm_price_field_value cpfv ON cpfv.membership_type_id = cm.members LEFT JOIN civicrm_price_field cpf ON cpf.id = cpfv.price_field_id LEFT JOIN civicrm_price_set cps ON cps.id = cpf.price_set_id WHERE cps.name = 'default_membership_type_amount'"; - $this->_query($sql); - $sql = "INSERT INTO civicrm_activity(source_contact_id, source_record_id, activity_type_id, subject, activity_date_time, status_id) -SELECT contact_id, id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2 FROM `civicrm_contribution` WHERE id > $maxContribution"; + $sql = "INSERT INTO civicrm_activity(source_record_id, activity_type_id, subject, activity_date_time, status_id, details) +SELECT id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2, 'Membership Payment' FROM civicrm_contribution WHERE id > $maxContribution"; + $this->_query($sql); + $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type_id) +SELECT c.contact_id, a.id, 2 +FROM civicrm_contribution c, civicrm_activity a +WHERE c.id > $maxContribution +AND a.source_record_id = c.id +AND a.details = 'Membership Payment' +"; $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`;"; @@ -1820,9 +1887,17 @@ WHERE cc.id > $maxContribution"; $this->_query($sql); - $sql = "INSERT INTO civicrm_activity(source_contact_id, source_record_id, activity_type_id, subject, activity_date_time, status_id) -SELECT contact_id, id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2 FROM `civicrm_contribution` WHERE id > $maxContribution"; + $sql = "INSERT INTO civicrm_activity(source_record_id, activity_type_id, subject, activity_date_time, status_id, details) +SELECT id, 6, CONCAT('$ ', total_amount, ' - ', source), now(), 2, 'Participant' FROM `civicrm_contribution` WHERE id > $maxContribution"; + $this->_query($sql); + $sql = "INSERT INTO civicrm_activity_contact(contact_id, activity_id, record_type_id) +SELECT c.contact_id, a.id, 2 +FROM civicrm_contribution c, civicrm_activity a +WHERE c.id > $maxContribution +AND a.source_record_id = c.id +AND a.details = 'Participant Payment' +"; $this->_query($sql); } } @@ -1836,31 +1911,31 @@ function module_list() { } echo ("Starting data generation on " . date("F dS h:i:s A") . "\n"); -$obj1 = new CRM_GCD(); -$obj1->initID(); -$obj1->generate('Domain'); -$obj1->generate('Contact'); -$obj1->generate('Individual'); -$obj1->generate('Household'); -$obj1->generate('Organization'); -$obj1->generate('Relationship'); -$obj1->generate('EntityTag'); -$obj1->generate('Group'); -$obj1->generate('Note'); -$obj1->generate('Activity'); -$obj1->generate('Event'); -$obj1->generate('Contribution'); -$obj1->generate('ContributionLineItem'); -$obj1->generate('Membership'); -$obj1->generate('MembershipPayment'); -$obj1->generate('MembershipLog'); -$obj1->generate('PCP'); -$obj1->generate('SoftContribution'); -$obj1->generate('Pledge'); -$obj1->generate('PledgePayment'); -$obj1->generate('ContributionFinancialItem'); -$obj1->generate('Participant'); -$obj1->generate('ParticipantPayment'); -$obj1->generate('LineItemParticipants'); -$obj1->generate('ParticipantFinancialItem'); +$gcd = new CRM_GCD(); +$gcd->initID(); +$gcd->generate('Domain'); +$gcd->generate('Contact'); +$gcd->generate('Individual'); +$gcd->generate('Household'); +$gcd->generate('Organization'); +$gcd->generate('Relationship'); +$gcd->generate('EntityTag'); +$gcd->generate('Group'); +$gcd->generate('Note'); +$gcd->generate('Activity'); +$gcd->generate('Event'); +$gcd->generate('Contribution'); +$gcd->generate('ContributionLineItem'); +$gcd->generate('Membership'); +$gcd->generate('MembershipPayment'); +$gcd->generate('MembershipLog'); +$gcd->generate('PCP'); +$gcd->generate('SoftContribution'); +$gcd->generate('Pledge'); +$gcd->generate('PledgePayment'); +$gcd->generate('ContributionFinancialItem'); +$gcd->generate('Participant'); +$gcd->generate('ParticipantPayment'); +$gcd->generate('LineItemParticipants'); +$gcd->generate('ParticipantFinancialItem'); echo ("Ending data generation on " . date("F dS h:i:s A") . "\n");