protected static function GenerateAddressesAndPhonesForPerson(Person $objPerson) { $intAddressCount = rand(0, 5); for ($i = 0; $i < $intAddressCount; $i++) { $objAddress = new Address(); $objAddress->AddressTypeId = QDataGen::GenerateFromArray(array_keys(AddressType::$NameArray)); $objAddress->Person = $objPerson; $objAddress->Address1 = QDataGen::GenerateStreetAddress(); if (rand(0, 1)) { $objAddress->Address2 = QDataGen::GenerateAddressLine2(); } $objAddress->City = QDataGen::GenerateCity(); $objAddress->State = QDataGen::GenerateUsState(); $objAddress->ZipCode = rand(10000, 99999); $objAddress->Country = 'US'; $objAddress->InvalidFlag = false; $objAddress->VerificationCheckedFlag = true; switch ($objAddress->AddressTypeId) { case AddressType::Temporary: $objAddress->CurrentFlag = true; $dttNextYear = QDateTime::Now(); $dttNextYear->Year++; $objAddress->DateUntilWhen = QDataGen::GenerateDateTime(QDateTime::Now(), $dttNextYear); break; default: $objAddress->CurrentFlag = rand(0, 1); break; } $objAddress->Save(); } $intPhoneCount = rand(0, 5); $objPhoneArray = array(); for ($i = 0; $i < $intPhoneCount; $i++) { $objPhone = new Phone(); $objPhone->PhoneTypeId = QDataGen::GenerateFromArray(array_keys(PhoneType::$NameArray)); while ($objPhone->PhoneTypeId == PhoneType::Home) { $objPhone->PhoneTypeId = QDataGen::GenerateFromArray(array_keys(PhoneType::$NameArray)); } $objPhone->Number = QDataGen::GeneratePhone(); $objPhone->Person = $objPerson; $objPhone->Save(); $objPhoneArray[] = $objPhone; } if ($intPhoneCount && !rand(0, 2)) { QDataGen::GenerateFromArray($objPhoneArray)->SetAsPrimary(); } $intEmailCount = rand(0, 5); $objEmailArray = array(); for ($i = 0; $i < $intEmailCount; $i++) { $objEmail = new Email(); $objEmail->Address = QDataGen::GenerateEmail($objPerson->FirstName, $objPerson->LastName); $objEmail->Person = $objPerson; $objEmail->Save(); $objEmailArray[] = $objEmail; } if ($intEmailCount && !rand(0, 2)) { QDataGen::GenerateFromArray($objEmailArray)->SetAsPrimary(); } $intMaxId = OtherContactMethod::CountAll(); for ($intOtherContactMethodId = 1; $intOtherContactMethodId <= $intMaxId; $intOtherContactMethodId++) { if (!rand(0, 2)) { $objContactInfo = new OtherContactInfo(); $objContactInfo->Person = $objPerson; $objContactInfo->OtherContactMethodId = $intOtherContactMethodId; $objContactInfo->Value = QDataGen::GenerateUsername($objPerson->FirstName, $objPerson->LastName); $objContactInfo->Save(); } } }
// Person Type Id $objPerson->PersonTypeId = QDataGen::GenerateFromArrayWithProbabilities(array(array(PersonType::Contributor, 5), array(PersonType::RegisteredUser, 95))); // Required Stuff $objPerson->FirstName = QDataGen::GenerateFirstName(); $objPerson->LastName = QDataGen::GenerateLastName(); $objPerson->Username = QDataGen::GenerateUsername($objPerson->FirstName, $objPerson->LastName); $objPerson->Email = QDataGen::GenerateEmail($objPerson->FirstName, $objPerson->LastName); $objPerson->SetPassword('password'); // Flags $objPerson->DisplayRealNameFlag = !rand(0, 3); $objPerson->DisplayEmailFlag = !rand(0, 7); $objPerson->OptInFlag = !rand(0, 3); $objPerson->DonatedFlag = !rand(0, 80); // Location and Country Flag if (rand(0, 2)) { $objPerson->Location = QDataGen::GenerateCity(); if (rand(0, 2)) { $objPerson->CountryId = rand(1, $intMaxCountryId); $objPerson->Location .= ', ' . $objPerson->Country->Name; } } // Other Stuff if (!rand(0, 5)) { $objPerson->Url = QDataGen::GenerateWebsiteUrl(); } if (!rand(0, 2)) { $objPerson->TimezoneId = rand(1, $intMaxTimeZoneId); } $objPerson->RegistrationDate = QDataGen::GenerateDateTime($dttStartDate, QDateTime::Now()); // Save $objPerson->Save();