public function seedUsers() { $user_photos = File::files($this->seed_path); Asset::setFromSeed(true); foreach (User::all() as $user) { $user->delete(); } $faker = Faker\Factory::create(); $seeder = new LOFaker(); $n = 50; // also creat admin users (kim & I) $admins = array(['username' => 'tvanderlin', 'firstname' => 'Todd', 'lastname' => 'Vanderlin', 'email' => '*****@*****.**'], ['username' => 'kmiller', 'firstname' => 'Kim', 'lastname' => 'Miller', 'email' => '*****@*****.**']); foreach ($admins as $data) { $data = (object) $data; $user = new User(); $user->timestamps = false; $user->email = $data->email; $user->username = $data->username; $user->firstname = $data->firstname; $user->lastname = $data->lastname; $password = Hash::make($user->username); $user->password = $password; $user->password_confirmation = $password; $user->confirmed = 1; $user->confirmation_code = md5($user->username . time('U')); $user->created_at = $user->updated_at = $faker->dateTimeBetween('-3 years', 'now'); $user->save(); $role = Role::where('name', '=', 'Admin')->first(); $user->save(); $user->attachRole($role); $user->save(); $this->info('Creating *** Admin *** User: '******'men', 'women']); $photo = array_random_item($user_photos); $role = Role::where('name', '=', 'Writer')->first(); $joinDate = $faker->dateTimeBetween('-3 years', 'now'); $user = new User(); $user->timestamps = false; $user->email = 'fake_' . $faker->unique()->email; $user->firstname = $faker->firstname; $user->lastname = $faker->lastname; $user->username = preg_replace("/[^A-Za-z0-9 ]/", '', $faker->unique()->userName); $password = Hash::make($faker->password); $user->password = $password; $user->password_confirmation = $password; $user->confirmed = 1; $user->confirmation_code = md5($user->username . time('U')); $user->created_at = $user->updated_at = $joinDate; if ($user->save() == false) { $this->error($user->errors() . " " . $user->username); } $userImage = new Asset(); $userImage->path = 'assets/content/users'; $userImage->saveLocalFile($photo, $user->username . ".jpg", Asset::ASSET_TYPE_IMAGE); $userImage->save(); $user->profileImage()->save($userImage); $user->profileImage->user()->associate($user); $user->save(); $user->attachRole($role); $user->save(); $this->info($user->id . ' Creating User: ' . $user->getName() . " [{$user->username}, {$user->email}]"); } foreach (User::all() as $user) { Notification::fire($user, Notification::NOTIFICATION_HALP_WELCOME); } }
public function register() { $wantsJson = Request::wantsJson(); $creds = GoogleSessionController::getCreds(); $client = GoogleSessionController::getClient(); $code = Input::get('code'); if ($code) { // Exchange the OAuth 2.0 authorization code for user credentials. $client->authenticate($code); $token = json_decode($client->getAccessToken()); $attributes = $client->verifyIdToken($token->id_token, $creds->client_id)->getAttributes(); $oauth2 = new Google_Service_Oauth2($client); $google_user = $oauth2->userinfo->get(); $email = $google_user->email; $username = explode("@", $email)[0]; // return Response::json(['errors'=>$user->givenName]); if ($google_user->hd != 'ideo.com') { $errors = ['errors' => [Config::get('config.site_name') . ' is for IDEO only']]; return $wantsJson ? Response::json($errors) : Redirect::to('register')->with($errors); } $user = new User(); $user->username = $username; $user->email = $email; $password = Hash::make($username); // <-- temp... $user->firstname = $google_user->givenName; $user->lastname = $google_user->familyName; $user->password = $password; $user->password_confirmation = $password; $user->confirmation_code = md5($user->username . time('U')); $user->google_token = json_encode($token); if ($user->save()) { // profile image $image_url = $google_user->picture; if ($image_url) { $image_url_parts = explode('?', $image_url); $image_url = $image_url_parts[0]; $id = $user->id; $image_name = $username . '_' . $id . '.jpg'; $save_path = 'assets/content/users'; $userImage = new Asset(); $userImage->saveRemoteImage($image_url, $save_path, $image_name); $userImage->save(); $user->profileImage()->save($userImage); } // Roles if ($username == 'tvanderlin') { $adminRole = Role::where('name', '=', 'Admin')->first(); $user->attachRole($adminRole); } else { $role = $role = Role::where('name', '=', 'Writer')->first(); if ($role) { $user->attachRole($role); $user->save(); } } $back_url = 'users/' . $username; Auth::login($user); return Redirect::to($back_url); } else { return $wantsJson ? Response::json(['errors' => $user->errors()->all()]) : Redirect::to('register')->with(['errors' => $user->errors()->all()]); } return Response::json(['data' => $token, 'attr' => $attributes, 'user' => $user]); } return $wantsJson ? Response::json(['errors' => ['Missing OAuth Code']]) : Redirect::to('register')->with(['errors' => $user->errors()->all()]); }
public function createFakeUser() { $random_user_data = (object) json_decode(get_remote_file('http://api.randomuser.me/')); $random_user_data = $random_user_data->results[0]->user; $faker = Faker\Factory::create(); $role = $role = Role::where('name', '=', 'Writer')->first(); $joinDate = $faker->dateTimeBetween('-3 years', 'now'); $user = new User(); $user->timestamps = false; $user->username = $random_user_data->username; $user->email = $random_user_data->email; $password = Hash::make($random_user_data->username); $user->firstname = $random_user_data->name->first; $user->lastname = $random_user_data->name->last; $user->password = $password; $user->password_confirmation = $password; $user->confirmed = 1; $user->confirmation_code = md5($user->username . time('U')); $user->created_at = $user->updated_at = $joinDate; $user->save(); $image_url = $random_user_data->picture->large; $userImage = new Asset(); $userImage->path = 'assets/content/users'; $userImage->saveRemoteAsset($image_url, $user->username . ".jpg", Asset::ASSET_TYPE_IMAGE); $userImage->save(); $user->profileImage()->save($userImage); $user->profileImage->user()->associate($user); $user->save(); $user->attachRole($role); $user->save(); return $user; }