Esempio n. 1
0
 /**
  * @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);
 }
Esempio n. 2
0
 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;
 }