/** * @param Request $request * @return \BladeView|bool|\Illuminate\View\View * @throws \Facebook\Exceptions\FacebookSDKException */ public function socialLoginCallback(Request $request) { $util = new Util(); $userService = new userService(); $accessToken = $request->input('accessToken', ''); $type = $request->input('type', ''); $result['ok'] = 0; $result['accessToken'] = $accessToken; $result['type'] = $type; try { if ($type == KACANA_SOCIAL_TYPE_FACEBOOK) { $email = $request->input('email', false); $facebook = $util->initFacebook(); // OAuth 2.0 client handler $oAuth2Client = $facebook->getOAuth2Client(); // Exchanges a short-lived access token for a long-lived one $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); $facebook->setDefaultAccessToken($longLivedAccessToken); $profile = $facebook->getProfile(); // print_r($facebook->addTestUser($accessToken, $profile['id'], $profile['name']));die; if (!isset($profile['email']) && $email) { $profile['email'] = $email; $user = $userService->getUserByEmail($profile['email']); if ($user) { $result['error_code'] = KACANA_AUTH_SIGNUP_ERROR_EMAIL_EXISTS; return response()->json($result); } } $result = $userService->createUserFromFacebookProfile($profile, $longLivedAccessToken); } elseif ($type == KACANA_SOCIAL_TYPE_GOOGLE) { $google = $util->initGoogle(); $client = $google->getGoogleClient(); $client->authenticate($accessToken); $token_data = json_decode($client->getAccessToken()); $google_oauth = $google->getGoogleServiceOauth2(); $profile = $google_oauth->userinfo->get(); $result = $userService->createUserFromGoogleProfile($profile, $token_data->access_token); } } catch (\Facebook\Exceptions\FacebookResponseException $e) { if ($request->ajax()) { $result['error_message'] = $e->getMessage(); return $result; } else { return view('errors.404', ['error_message' => $e->getMessage()]); } } return response()->json($result); }
public function getProductsToBoot($productIds, $userId) { $productModel = new productModel(); $util = new Util(); $google = $util->initGoogle(); if (!count($productIds)) { throw new \Exception('BAD Product ID'); } $products = $productModel->getProductsToBoot($productIds); foreach ($products as &$product) { $product->list_gallery = $product->galleries; $product->price = 0; $product->caption = '👝👜👛' . ucfirst($product->name) . '<br>🤑Giá: ' . formatMoney($product->sell_price - $product->discount) . '<br>🎒👝💼' . $product->short_description; $product->sell_price = formatMoney($product->sell_price); } return $products; }