Example #1
0
 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()]);
 }
Example #3
0
 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;
 }