Example #1
0
    /**
     * 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++;
        }
    }