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; }
public function postReferral(Request $request) { $user = Auth::user(); $user->email = $request->input('email'); //$user->phone = preg_replace("/[^0-9]/","",$request->input('phone')); $user->phone = $request->input('phone'); $user->save(); $apUser = new ApogeeManager(); $apUser->createUser($user); if ($user->email) { 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')]]); } // $apogeeResponse = $this->createApogeeUser($user); // $user->apogee_id = $apogeeResponse; // $user->save(); // Infusionsoft::contacts()->addToGroup($user->infusionsoft_id, 3789); return redirect('/'); }