/** * Generate dummy users * @param integer $count Number of Users to create * @return false */ public static function generateDummies($count = 100) { $characters = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','Y','X','Z'); $titles = \CPFCMembers\Form::getTitleOptions(); $firstNames = array('Jake','Jon','Rohit','Victoria','Sophie','Thomas','Paul','Oliver','Stuart','Mel','Binal'); $lastNames = array('Smith','Rogers','Jones','McDonald','Johnson-Thompson','Ellis','Ashley','O\'Flynn','Samuels','Barnard','Doe'); $dob = array('start'=>mktime(0,0,0,1,1,1900),'finish'=>mktime(0,0,0,date("n"),date("j") ,date("Y")-13)); $emailAddress = '*****@*****.**'; $password = '******'; $daytimeNumber = array('02%d%d %d%d%d %d%d%d%d', '01%d%d%d %d%d%d%d%d%d'); $mobileNumber = array('07%d%d%d %d%d%d%d%d%d', ''); $houseNameNumbers = array('a','b','c','d','','','','','','','','','','','',''); $streets = array('firstPart'=>array('Demo ','Test ','Layer ',''),'secondPart'=>array('Lane','Road','Street','Avenue','Crescent','Rd.','Av.','Close','St.')); $towns = array('Norwich','London','Bedford','Newquay','Nottingham','Edinburgh','Cardiff','Glasgow','Bangor','Reading','Stevenage','Swansea','Gloucester', '', '', '', ''); $counties = array('Essex','London','Suffolk','Norfolk','Perthshire','Cornwall','Surrey','Kent','Yorkshire','Lancs','Gloucestershire','Herefordshire','Warwickshire', '', '', '', ''); $postcode = array('%s%s%d %d%s%s', ''); $countries = array_keys(\CPFCMembers\Form::getCountryOptions()); $registrationStatuses = array('verified','unverified'); $statuses = array('active','disabled','deleted'); $membershipLevels = \CPFCMembers\MembershipLevelModel::fetchAll(); $seeTicketsAccountNumber = array('%s%s%s-%d%d%d','','','','',''); $loyaltyPoints = array('%d','0','0','','',''); $source = 'website'; $registeredDate = array('start'=>mktime(0,0,0,1,11,2014),'finish'=>time()); $i = 0; while ($i < $count) { $User = new \CPFCMembers\UserModel(); $User->setTitle($titles[array_rand($titles)]); $User->setFirstName($firstNames[array_rand($firstNames)]); $User->setLastName($lastNames[array_rand($lastNames)]); $User->setDob(date('Y-m-d',mt_rand($dob['start'],$dob['finish']))); $User->setEmailAddress(sprintf($emailAddress,sha1(mt_rand()))); $User->setPassword($password); $User->setDaytimePhone(vsprintf($daytimeNumber[array_rand($daytimeNumber)], array( mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9)) )); $User->setMobilePhone(vsprintf($mobileNumber[array_rand($mobileNumber)], array( mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9),mt_rand(0,9)) )); $User->setHouseNameNumber(mt_rand(1,999).$houseNameNumbers[array_rand($houseNameNumbers)]); $User->setStreet(trim($streets['firstPart'][array_rand($streets['firstPart'])].$streets['secondPart'][array_rand($streets['secondPart'])])); $User->setTown($towns[array_rand($towns)]); $User->setCounty($counties[array_rand($counties)]); $User->setPostcode(vsprintf($postcode[array_rand($postcode)], array($characters[array_rand($characters)],$characters[array_rand($characters)],mt_rand(0,9),mt_rand(0,9),$characters[array_rand($characters)],$characters[array_rand($characters)]) )); $User->setCountry($countries[array_rand($countries)]); $User->setRegistrationStatus($registrationStatuses[array_rand($registrationStatuses)]); $User->setStatus($statuses[array_rand($statuses)]); $User->setMembershipLevel(array_rand($membershipLevels)); $User->setPreferenceRegularNewsletter(mt_rand(0,1)); $User->setPreferenceBreakingNews(mt_rand(0,1)); $User->setPreferencePartners(mt_rand(0,1)); $User->setSeeTicketsAccountNumber(vsprintf($seeTicketsAccountNumber[array_rand($seeTicketsAccountNumber)],array($characters[array_rand($characters)],$characters[array_rand($characters)],$characters[array_rand($characters)],mt_rand(0,9),mt_rand(0,9),mt_rand(0,9)))); $User->setLoyaltyPoints(sprintf($loyaltyPoints[array_rand($loyaltyPoints)],mt_rand(0,750))); $User->setSource($source); $User->setRegisteredDate(date('Y-m-d H:i:s',mt_rand($registeredDate['start'],$registeredDate['finish']))); $User->save(false); $i++; } }
/** * Register process */ protected function _register() { // Can't access if already logged in as Member if (\CPFCMembers\Auth::isLoggedIn()) { wp_redirect(cpfc_home_url(CPFC_MEMBERS_HOME_URL, CPFC_MEMBERS_HTTP_MODE), 301); exit(); } if (Input::isPost()) { $form = \CPFCMembers\RegistrationForm::getInstance(); $form->setValues(Input::post()); $form->validate(); if ($form->isValid()) { $User = new \CPFCMembers\UserModel(); $User->populateFromArray($form->getValues()); $User->setRegistrationStatus('unverified'); $User->setStatus('active'); $User->setMembershipLevel('free'); $User->setRegisteredDate(date('Y-m-d H:i:s')); $User->setSource('website'); $User->generateAndStoreVerificationCode(); if ($User->save(true)) { $email = new \CPFCMembers\Email('email_templates/initial_registration', array('User'=>$User)); $email->send($User->getEmailAddress(), 'Your Account has been created'); // Log User in automatically $Auth = \CPFCMembers\Auth::getInstance(); $Auth->authenticate($User->getEmailAddress(), $User->getPassword(), $remember); if($loginRedirect = \CPFCMembers\Session::get('login_redirect')){ \CPFCMembers\Session::delete('login_redirect'); } else{ $loginRedirect = cpfc_home_url(CPFC_MEMBERS_HOME_URL, CPFC_MEMBERS_HTTP_MODE) . '?registered'; } if ($loginRedirect == '' || $loginRedirect == '/') { $loginRedirect .= '?registered'; } wp_redirect($loginRedirect, 301); exit(); } else { $form->addError('form', 'Your registration could not be completed at this time'); } } } }