/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $user = User::find($id); DB::table('users')->where('id', $id)->delete(); $firebase = new \Firebase\FirebaseLib(env('FIREBASE_URL'), env('FIREBASE_SECRET')); $firebase->delete('presence/' . $id); $ban = Ban::create(['facebook_id' => $user->facebook_id]); return redirect('cms/user')->withSuccess('User successfully banned.'); }
public function findOrCreateUser(Request $request, $fbUser) { if ($user = User::where('facebook_id', $fbUser->id)->first()) { // // Beginning of shit code from old site $query_string = 'ai_login_id=mdtn&ai_login_password=RcqwH#$7kA6H6MP3n&ai_command=auto_login&user_id=' . $user->apogee_id . ''; // //////////////////////////////////////// $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://www.prosperityalliance.com/service"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $query_string); $result = curl_exec($ch); $string = $result; $status = preg_split('/&/', $string); if (isset($status[0])) { if ($status[0] == 'status=0') { $status = preg_split('/=/', $status[2]); if (isset($status[0])) { $string2 = $result; $string2 = preg_split('/&/', $string2); $ai_sid_key = preg_split('/=/', $string2[2]); //dd($ai_sid_key); $ai_sid = preg_split('/=/', $string2[3]); //dd($ai_sid); Session::put('ai_sid_key', $ai_sid_key[1]); Session::put('ai_sid', $ai_sid[1]); } } } return $user; } $referred_by = 0; //dd($fbUser); if ($request->session()->has('referred_by')) { $referred_by = $request->session()->get('referred_by'); $upstreamUser = User::where('apogee_id', $referred_by)->first(); $upstreamUser->affiliates = $upstreamUser->affiliates + 1; $upstreamUser->save(); } $banned_user = Ban::where('facebook_id', $fbUser->id)->first(); if ($banned_user) { return "You have been banned."; } $random = substr(md5(rand()), 0, 4); $user = User::create(['username' => $fbUser->user['first_name'] . '' . $random, 'first_name' => $fbUser->user['first_name'], 'last_name' => $fbUser->user['last_name'], 'email' => $fbUser->email, 'phone' => null, 'facebook_id' => $fbUser->id, 'facebook_avatar' => $fbUser->avatar, 'referred_by' => $referred_by]); if ($fbUser->email) { $apUser = new ApogeeManager(); $apUser->createUser($user); Mail::send('email.welcome', ['user' => $user], function ($m) use($user) { $m->from(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME')); $m->to($user->email, $user->first_name)->subject('Important - About Your MDTN account.'); }); $client = new Client(); $sendGridBody = ['email' => $user->email, 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'userID' => strval($user->apogee_id), 'lead_id' => strval($user->referred_by), 'username' => $user->username]; $res = $client->request('POST', 'https://api.sendgrid.com/v3/contactdb/recipients', ['headers' => ['Authorization' => 'Bearer ' . env('SENDGRID_API_KEY')], 'json' => [$sendGridBody]]); $body = json_decode($res->getBody()->getContents()); $sendGridId = $body->persisted_recipients[0]; $res2 = $client->request('POST', 'https://api.sendgrid.com/v3/contactdb/lists/167755/recipients/' . $sendGridId, ['headers' => ['Authorization' => 'Bearer ' . env('SENDGRID_API_KEY')]]); } return $user; }