public function __construct() { parent::__construct(); $oUser = new UserCore(); $oUserModel = new UserCoreModel(); $oExistsModel = new ExistsCoreModel(); $oValidate = new Validate(); $aUserData = json_decode($this->file->getFile('http://api.randomuser.me/?results=' . $this->httpRequest->post('num')), true); foreach ($aUserData['results'] as $aUser) { $aUser = $aUser['user']; $sEmail = trim($aUser['email']); $sUsername = trim($aUser['username']); if ($oValidate->email($sEmail) && !$oExistsModel->email($sEmail) && $oValidate->username($sUsername)) { $aData['username'] = $sUsername; $aData['email'] = $sEmail; $aData['first_name'] = $aUser['name']['first']; $aData['last_name'] = $aUser['name']['last']; $aData['password'] = $aUser['password']; $aData['sex'] = $aUser['gender']; $aData['match_sex'] = array($oUser->getMatchSex($aData['sex'])); $aData['country'] = 'US'; $aData['city'] = $aUser['location']['city']; $aData['state'] = $aUser['location']['state']; $aData['zip_code'] = $aUser['location']['zip']; $aData['birth_date'] = $this->dateTime->get($aUser['dob'])->date('Y-m-d'); $aData['avatar'] = $aUser['picture']['large']; $aData['ip'] = Ip::get(); $aData['profile_id'] = $oUserModel->add(escape($aData, true)); $this->_addAvatar($aData, $oUser); } } unset($oUser, $oUserModel, $oExistsModel, $oValidate, $aUser, $aData, $aUserData); \PFBC\Form::setSuccess('form_add_fake_profiles', t('Users has been successfully added.')); }
/** * @param object $oProfile * @param object \PH7\UserCoreModel $oUserModel * @return void */ public function add($oProfile, UserCoreModel $oUserModel) { $oUser = new UserCore(); $sBirthDate = isset($oProfile->birth_month, $oProfile->birth_day, $oProfile->birth_year) ? $oProfile->birth_month . '/' . $oProfile->birth_day . '/' . $oProfile->birth_year : date('m/d/Y', strtotime('-30 year')); $sSex = $oProfile->gender != 'male' && $oProfile->gender != 'female' && $oProfile->gender != 'couple' ? 'female' : $oProfile->gender; // Default 'female' $sMatchSex = $oUser->getMatchSex($sSex); $this->_sUsername = $oUser->findUsername($oProfile->name, $oProfile->first_name, $oProfile->last_name); unset($oUser); $this->_aUserInfo = ['email' => $oProfile->emails->account, 'username' => $this->_sUsername, 'password' => Various::genRndWord(8, 30), 'first_name' => !empty($oProfile->first_name) ? $oProfile->first_name : '', 'last_name' => !empty($oProfile->last_name) ? $oProfile->last_name : '', 'sex' => $sSex, 'match_sex' => array($sMatchSex), 'birth_date' => (new CDateTime())->get($sBirthDate)->date('Y-m-d'), 'country' => Geo::getCountryCode(), 'city' => Geo::getCity(), 'state' => Geo::getState(), 'zip_code' => Geo::getZipCode(), 'description' => '', 'website' => '', 'social_network_site' => '', 'ip' => Ip::get(), 'prefix_salt' => Various::genRnd(), 'suffix_salt' => Various::genRnd(), 'hash_validation' => Various::genRnd(), 'is_active' => DbConfig::getSetting('userActivationType')]; $this->_iProfileId = $oUserModel->add($this->_aUserInfo); }
/** * @param array $aProfile * @param object \PH7\UserCoreModel $oUserModel * @return void */ public function add(array $aProfile, UserCoreModel $oUserModel) { $oUser = new UserCore(); $sBirthDate = !empty($aProfile['birthday']) ? $aProfile['birthday'] : date('m/d/Y', strtotime('-30 year')); $sLocation = !empty($aProfile['location']['name']) ? $aProfile['location']['name'] : (!empty($aProfile['hometown']['name']) ? $aProfile['hometown']['name'] : ''); $aLocation = @explode(',', $sLocation); $sSex = $aProfile['gender'] != 'male' && $aProfile['gender'] != 'female' && $aProfile['gender'] != 'couple' ? 'female' : $aProfile['gender']; // Default 'female' $sMatchSex = $oUser->getMatchSex($sSex); $this->_sUsername = $oUser->findUsername($aProfile['username'], $aProfile['first_name'], $aProfile['last_name']); $sSite = !empty($aProfile['link']) ? explode(' ', $aProfile['link'])[0] : ''; $sSocialNetworkSite = !empty($aProfile['username']) ? 'http://facebook.com/' . $aProfile['username'] : ''; unset($oUser); $this->_aUserInfo = ['email' => $aProfile['email'], 'username' => $this->_sUsername, 'password' => Various::genRndWord(8, 30), 'first_name' => !empty($aProfile['first_name']) ? $aProfile['first_name'] : '', 'last_name' => !empty($aProfile['last_name']) ? $aProfile['last_name'] : '', 'middle_name' => !empty($aProfile['middle_name']) ? $aProfile['middle_name'] : '', 'sex' => $sSex, 'match_sex' => array($sMatchSex), 'birth_date' => (new CDateTime())->get($sBirthDate)->date('Y-m-d'), 'country' => !empty($aLocation[1]) ? trim($aLocation[1]) : Geo::getCountryCode(), 'city' => !empty($aLocation[0]) ? trim($aLocation[0]) : Geo::getCity(), 'state' => !empty($aProfile['locale']) ? $aProfile['locale'] : Geo::getState(), 'zip_code' => !empty($aProfile['hometown_location']['zip']) ? $aProfile['hometown_location']['zip'] : Geo::getZipCode(), 'description' => !empty($aProfile['bio']) ? $aProfile['bio'] : '', 'website' => $sSite, 'social_network_site' => $sSocialNetworkSite, 'ip' => Ip::get(), 'prefix_salt' => Various::genRnd(), 'suffix_salt' => Various::genRnd(), 'hash_validation' => Various::genRnd(), 'is_active' => DbConfig::getSetting('userActivationType')]; $this->_iProfileId = $oUserModel->add($this->_aUserInfo); }