Ejemplo n.º 1
0
 public function index()
 {
     $languageRefs = RefMapper::type('language');
     $bannerTypeRefs = RefMapper::type('banner_type');
     $gameRefs = RefMapper::type('game');
     $languages = Input::get('languages', []);
     $bannerTypes = Input::get('banner_types', []);
     $games = Input::get('games', []);
     $name = Input::get('name', '');
     if (!is_array($bannerTypes)) {
         $bannerTypes = [$bannerTypes];
     }
     if (!is_array($games)) {
         $games = [$games];
     }
     if (!is_array($languages)) {
         $languages = [$languages];
     }
     $followers = intval(Input::get('followers', 0));
     $views = intval(Input::get('views', 0));
     $videos = intval(Input::get('videos', 0));
     $filters = [];
     if (count($bannerTypes) > 0) {
         $filters['banner_types'] = $bannerTypes;
     } else {
         $filters['banner_types'] = [];
     }
     if (count($games) > 0) {
         $filters['games'] = $games;
     } else {
         $filters['games'] = [];
     }
     if (count($languages) > 0) {
         $filters['languages'] = $languages;
     } else {
         $filters['languages'] = [];
     }
     if ($followers > 0) {
         $filters['followers'] = $followers;
     } else {
         $filters['followers'] = '';
     }
     if ($views > 0) {
         $filters['views'] = $views;
     } else {
         $filters['views'] = '';
     }
     if ($videos > 0) {
         $filters['videos'] = $videos;
     } else {
         $filters['videos'] = '';
     }
     if ($name != '') {
         $filters['name'] = $name;
     } else {
         $filters['name'] = '';
     }
     $twitchers = UserMapper::findTwitchers2($filters);
     return view('app.pages.user.client.search.index', compact('twitchers', 'filters', 'languageRefs', 'bannerTypeRefs', 'gameRefs'));
 }
Ejemplo n.º 2
0
 public function referrer($nickname)
 {
     $referrer = UserMapper::getTwitcherByNickName($nickname);
     if ($referrer) {
         return redirect('/')->withCookie(cookie('referrer', $referrer->id, 86400));
     }
     return redirect('/');
 }
Ejemplo n.º 3
0
 public function postClientSignUp(Request $request)
 {
     $rules = ['email' => 'required|email', 'password' => 'required|min:6|max:20', 'password2' => 'required|same:password'];
     $this->validate($request, $rules);
     $name = $request->get('name', '');
     $email = $request->get('email');
     $password = $request->get('password');
     $localUser = UserMapper::getByEmail($email);
     if ($localUser && $localUser->type == 'client') {
         return Redirect::back()->withErrors(['email' => 'Client with this email already exists'])->withInput($request->all());
     }
     if ($name == '') {
         $name = anonymizeEmail($email);
     }
     $data = ['name' => $name, 'email' => $email, 'password' => $password];
     $localUser = $this->create($data);
     $localUser->is_active = 0;
     $localUser->role = 'user';
     $localUser->type = 'client';
     $localUser->save();
     LogMapper::log('client_register', $localUser->id);
     NotificationMapper::registration($localUser);
     $this->sendClientWelcome($localUser, $password);
     $user = $localUser;
     return view('app.pages.user.client.auth.post_register', compact('user'));
 }
Ejemplo n.º 4
0
 public function facebookCallback()
 {
     $user = Socialite::driver('facebook')->user();
     $provider = 'facebook';
     if (Auth::user()) {
         $localUser = Auth::user();
         if ($localUser->profile) {
             UserMapper::confirmFacebook(Auth::user(), $user);
         }
         return redirect('/profile');
     }
     $oauthId = $user->getId();
     $localUser = User::oauth($oauthId, $provider)->first();
     if ($localUser) {
         Auth::loginUsingId($localUser->id);
         return redirect($this->redirectPath);
     } else {
         //dd($user);
         $nickname = $user->getNickname();
         $name = $user->getName();
         $email = $user->getEmail();
         $avatar = $user->getAvatar();
         $firstName = $user->offsetGet('last_name');
         $lastName = $user->offsetGet('first_name');
         $userType = Session::pull('register.user_type');
         $type = Session::pull('register.type');
         if (!$userType) {
             $userType = null;
         }
         if (!$type) {
             $type = null;
         }
         $data = ['name' => $name, 'first_name' => $firstName, 'last_name' => $lastName, 'email' => $email, 'password' => '', 'city' => null, 'mobile' => null, 'user_type' => $userType, 'type' => $type];
         $localUser = $this->create($data);
         $localUser->provider = $provider;
         $localUser->oauth_id = $oauthId;
         if ($nickname == '') {
             $nickname = $oauthId;
         }
         $profile = $localUser->profile;
         $profile->facebook = 'http://facebook.com/' . $nickname;
         $profile->confirmed_facebook = true;
         $localUser->save();
         $avatarPath = UserMapper::generateAvatarPath($localUser);
         try {
             if ($avatar) {
                 file_put_contents($avatarPath, fopen($avatar, 'r'));
                 $profile->avatar = pathinfo($avatarPath, PATHINFO_BASENAME);
             }
         } catch (\Exception $e) {
             $profile->avatar = null;
         }
         $profile->save();
         Auth::loginUsingId($localUser->id);
         if ($user) {
             return redirect($this->redirectPath);
         } else {
             return Redirect::back()->withErrors(['facebook' => trans('register.facebook.fail')]);
         }
     }
 }
Ejemplo n.º 5
0
 public function saveAvatarFromBase64($base64str)
 {
     list($format, $base64str) = explode(';', $base64str);
     list($encoding, $base64str) = explode(',', $base64str);
     if ($encoding != 'base64') {
         return false;
     }
     $data = base64_decode($base64str);
     if (strpos($format, 'png') !== false) {
         $format = 'png';
     }
     if (strpos($format, 'jpg') !== false || strpos($format, 'jpeg') !== false) {
         $format = 'jpg';
     }
     if (strpos($format, 'gif') !== false) {
         $format = 'gif';
     }
     $avatarPath = UserMapper::generateAvatarPath($this->user, $format);
     if (file_put_contents($avatarPath, $data)) {
         return $avatarPath;
     }
     return false;
 }