public function getProfile(Request $request) { $user = User::find($request['user']['sub']); $user->roles; $user->videos; $user->competitions; $user->regions; return array('user' => $user); }
public function update(Request $request, $id) { $user = User::find($request['user']['sub']); $mention = Mention::find($id); DB::transaction(function () use($request, $mention, $user) { $mention->name = $request->input('name'); $mention->description = $request->input('description'); $mention->icon = $request->input('icon'); $mention->competition_id = $request->input('competition_id'); $mention->save(); }); return $mention; }
public function storeImageSlider(Request $request, Media $media) { $user = User::find($request['user']['sub']); if (!$request->hasFile('file')) { return Response::json(['error' => 'No File Sent']); } if (!$request->file('file')->isValid()) { return Response::json(['error' => 'File is not valid']); } $file = $request->file('file'); $v = Validator::make($request->all(), ['file' => 'required|mimes:jpeg,jpg,png|max:8000']); if ($v->fails()) { return Response::json(['error' => $v->errors()]); } Log::info($request->file('file')); $image = Media::create(['name' => $request->file('file')->getClientOriginalName(), 'ext' => $request->file('file')->guessExtension(), 'user_id' => $user->id, 'type' => 'IMAGE']); $filename = 'slider_' . $image->id . '.' . $image->ext; $image->name = $filename; $image->save(); Storage::disk('local')->put($filename, File::get($file)); Storage::disk('s3-slam')->put('/slam/' . $filename, file_get_contents($file), 'public'); return Response::json(['OK' => 1, 'filename' => $filename, 'media_id' => $image->id]); }
public function update(Request $request, $id) { $user = User::find($request['user']['sub']); $slider = Slider::find($id); DB::transaction(function () use($request, $slider, $user) { $slider->type = $request->input('type'); $slider->title = $request->input('title'); $slider->subtitle = $request->input('subtitle'); $slider->quote_author = $request->input('quote_author'); if ($request->has('event_date')) { $arr = explode(".", $request->input('event_date'), 2); $event_date = str_replace("T", " ", $arr[0]); $slider->event_date = Carbon::createFromFormat('Y-m-d H:i:s', $event_date); } $slider->event_place = $request->input('event_place'); $slider->cover_photo = $request->input('cover_photo'); $slider->signup_action = $request->input('signup_action') || false; $slider->schedule_action = $request->input('schedule_action') || false; $slider->about_action = $request->input('about_action') || false; $slider->players_action = $request->input('players_action') || false; $slider->save(); }); return $slider; }
public function addVideoParticipant(Request $request, $competitionId, $videoId, $participantId) { $user = User::find($request['user']['sub']); $competition = Competition::find($competitionId); DB::transaction(function () use($request, $competition, $videoId, $participantId) { $video = UserMedia::create(['media_id' => $videoId, 'user_id' => $participantId]); }); $media = Media::find($videoId); $media->users; return $media; }
public function twitter(Request $request) { $requestTokenUrl = 'https://api.twitter.com/oauth/request_token'; $accessTokenUrl = 'https://api.twitter.com/oauth/access_token'; $profileUrl = 'https://api.twitter.com/1.1/users/show.json?screen_name='; $client = new GuzzleHttp\Client(); // Part 1 of 2: Initial request from Satellizer. if (!$request->input('oauth_token') || !$request->input('oauth_verifier')) { $requestTokenOauth = new Oauth1(['consumer_key' => Config::get('app.twitter_key'), 'consumer_secret' => Config::get('app.twitter_secret'), 'callback' => Config::get('app.twitter_callback')]); $client->getEmitter()->attach($requestTokenOauth); // Step 1. Obtain request token for the authorization popup. $requestTokenResponse = $client->post($requestTokenUrl, ['auth' => 'oauth']); $oauthToken = array(); parse_str($requestTokenResponse->getBody(), $oauthToken); // Step 2. Send OAuth token back to open the authorization screen. return response()->json($oauthToken); } else { $accessTokenOauth = new Oauth1(['consumer_key' => Config::get('app.twitter_key'), 'consumer_secret' => Config::get('app.twitter_secret'), 'token' => $request->input('oauth_token'), 'verifier' => $request->input('oauth_verifier')]); $client->getEmitter()->attach($accessTokenOauth); // Step 3. Exchange oauth token and oauth verifier for access token. $accessTokenResponse = $client->post($accessTokenUrl, ['auth' => 'oauth'])->getBody(); $accessToken = array(); parse_str($accessTokenResponse, $accessToken); $profileOauth = new Oauth1(['consumer_key' => Config::get('app.twitter_key'), 'consumer_secret' => Config::get('app.twitter_secret'), 'oauth_token' => $accessToken['oauth_token']]); $client->getEmitter()->attach($profileOauth); // Step 4. Retrieve profile information about the current user. $profile = $client->get($profileUrl . $accessToken['screen_name'], ['auth' => 'oauth'])->json(); // Step 5a. Link user accounts. if ($request->header('Authorization')) { $user = User::where('twitter', '=', $profile['id']); if ($user->first()) { return response()->json(['message' => 'There is already a Twitter account that belongs to you'], 409); } $token = explode(' ', $request->header('Authorization'))[1]; $payload = (array) JWT::decode($token, Config::get('app.token_secret'), array('HS256')); $user = User::find($payload['sub']); $user->twitter = $profile['id']; $user->username = $user->username || $profile['screen_name']; $user->save(); return response()->json(['token' => $this->createToken($user)]); } else { $user = User::where('twitter', '=', $profile['id']); if ($user->first()) { return response()->json(['token' => $this->createToken($user->first())]); } $user = new User(); $user->twitter = $profile['id']; $user->username = $profile['screen_name']; $user->save(); return response()->json(['token' => $this->createToken($user)]); } } }
public function update(Request $request, $id) { $user = User::find($request['user']['sub']); $region = Region::find($id); DB::transaction(function () use($request, $region, $user) { $region->name = $request->input('name'); $region->description = $request->input('description'); $region->color = $request->input('color')['code']; $region->icon = $request->input('icon')['code']; $region->parent_id = $request->input('parent_id'); $region->save(); }); return $region; }
public function assignRoles(Request $request) { $user = User::find($request['user']['sub']); if ($user->hasRole('crud_user')) { DB::transaction(function () use($request) { $roles = $request->input('roles'); $user_id = $request->input('userId'); DB::table('users_roles')->where('user_id', '=', $user_id)->delete(); foreach ($roles as $role) { $userRole = UserRole::firstOrCreate(array('user_id' => $user_id, 'role_id' => $role['id'])); } }); } else { return response()->json(['message' => 'No tienes permisos para esta operacion'], 401); } return response()->json(['message' => 'Permisos asignados'], 200); }