예제 #1
0
파일: datagen.cli.php 프로젝트: alcf/chms
 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();
         }
     }
 }
예제 #2
0
 // 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();