Example #1
0
 function __construct()
 {
     $this->errors = new MessageBag();
     $this->page_attributes = new \Stdclass();
     $api_url = '/oauth/client/access_token';
     $api_data = ['grant_type' => 'client_credentials', 'client_id' => env('CLIENT_ID'), 'client_secret' => env('CLIENT_SECRET')];
     $api = new API();
     $result = json_decode($api->post($api_url, $api_data), true);
     // Get success API token
     if ($result['status'] == "success") {
         Session::set('API_token_public', $result['data']['token']['token']);
         Session::set('API_token', $result['data']['token']['token']);
     } else {
         \App::abort(503);
     }
     //generate balin information
     $APIConfig = new APIConfig();
     $config = $APIConfig->getIndex(['search' => ['default' => 'true'], 'sort' => ['name' => 'asc']]);
     $balin = $config['data'];
     unset($balin['info']);
     foreach ($config['data']['info'] as $key => $value) {
         $balin['info'][$value['type']] = $value;
     }
     $this->balin = $balin;
     //nanti kalu butuh template lebih dari satu, switch case aja disini.
     $this->layout = view('web_v2.page_templates.layout');
 }
 /**
  * Update password
  * 
  * 1. Check new password
  * 2. Check old password
  * 3. Save password
  * @param id
  * @return redirect url
  */
 public function update()
 {
     //1. Check new password
     if (Input::has('password')) {
         $rules = ['password' => 'min:8|confirmed'];
         $validator = Validator::make(Input::only('password', 'password_confirmation'), $rules);
         if (!$validator->passes()) {
             $this->errors = $validator->errors();
             return $this->generateRedirectRoute('password.change.edit', ['id' => Input::get('password')]);
         }
     }
     //2. Check old password
     $APIMe = new APIMe();
     $me = $APIMe->getShow(true);
     if ($me['status'] != 'success') {
         \App::abort(404);
     }
     $apiUrl = '/oauth/access_token';
     $apiData = ['email' => $me['data']['email'], 'password' => Input::get('old_password'), 'grant_type' => 'password', 'client_id' => env('API_client_id'), 'client_secret' => env('API_client_secret')];
     $api = new API();
     $result = json_decode($api->post($apiUrl, $apiData), true);
     //3. Save password
     if ($result['status'] == "success") {
         Session::set('APIToken', $result['data']['token']['token']);
         Session::set('userID', $result['data']['me']['id']);
         $APIAdmin = new APIAdmin();
         $data = $APIAdmin->getShow($result['data']['me']['id']);
         $admin = $data['data'];
         if (strtotime($data['data']['date_of_birth'])) {
             $admin['date_of_birth'] = date('Y-m-d H:i:s', strtotime($data['data']['date_of_birth']));
         } else {
             $admin['date_of_birth'] = '';
         }
         $admin['password'] = Input::get('password');
         $result = $APIAdmin->postData($admin);
         //3b. Check Response
         if ($result['status'] != 'success') {
             $this->errors = $result['message'];
         }
         //3c. Return view
         if (!empty($id)) {
             $this->page_attributes->success = "Data Admin Telah Diedit";
         } else {
             $this->page_attributes->success = "Data Admin Telah Ditambahkan";
         }
         return $this->generateRedirectRoute('admin.dashboard');
     } else {
         return Redirect::route('auth.login');
     }
 }
 public function doLogin()
 {
     $apiUrl = '/oauth/access_token';
     $apiData = ['email' => Input::get('email'), 'password' => Input::get('password'), 'grant_type' => 'password', 'client_id' => env('API_client_id'), 'client_secret' => env('API_client_secret')];
     $api = new API();
     $result = json_decode($api->post($apiUrl, $apiData), true);
     if ($result['status'] == "success") {
         Session::set('APIToken', $result['data']['token']['token']);
         Session::set('userID', $result['data']['me']['id']);
         Session::set('userName', $result['data']['me']['name']);
         return Redirect::route('admin.dashboard');
     } else {
         $this->errors = $result['message'];
         return $this->generateRedirectRoute('auth.login');
     }
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     //1. Check input
     if (!Input::has('password')) {
         return Redirect::route('auth.login');
     }
     //2. Check password
     $APIMe = new APIMe();
     $me = $APIMe->getShow(true);
     if ($me['status'] != 'success') {
         \App::abort(404);
     }
     $apiUrl = '/oauth/access_token';
     $apiData = ['email' => $me['data']['email'], 'password' => Input::get('password'), 'grant_type' => 'password', 'client_id' => env('API_client_id'), 'client_secret' => env('API_client_secret')];
     $api = new API();
     $result = json_decode($api->post($apiUrl, $apiData), true);
     //3. Check status
     if ($result['status'] != "success") {
         return Redirect::back()->withErrors('Password tidak valid')->with('msg-type', 'danger');
     }
     Session::set('APIToken', $result['data']['token']['token']);
     Session::set('userID', $result['data']['me']['id']);
     return $next($request);
 }
Example #5
0
 /**
  * function to post login information
  *
  * @param email and password
  */
 public function postLogin()
 {
     //check user data login
     $api_url = '/oauth/access_token';
     $api_data = ['email' => Input::get('email'), 'password' => Input::get('password'), 'grant_type' => 'password', 'client_id' => env('CLIENT_ID'), 'client_secret' => env('CLIENT_SECRET')];
     $api = new API();
     $result = json_decode($api->post($api_url, $api_data), true);
     if ($result['status'] == "success") {
         $API_me = new APIUser();
         Session::put('API_token_private', $result['data']['token']['token']);
         $whoami = $API_me->getMeDetail(['user_id' => $result['data']['me']['id'], 'token' => Session::get('API_token_private')]);
         Session::put('whoami', $whoami['data']);
         Session::put('API_token', Session::get('API_token_private'));
         //check user before login carts
         if (!Session::has('carts')) {
             $me_order_in_cart = $API_me->getMeOrderInCart(['user_id' => Session::get('whoami')['id']]);
             if ($me_order_in_cart['status'] == 'success') {
                 $carts = $me_order_in_cart;
                 $temp_carts = [];
                 foreach ($carts['data']['transactiondetails'] as $k => $v) {
                     $temp_carts[$v['varian']['product_id']] = ['product_id' => $v['varian']['product_id'], 'slug' => $v['varian']['product']['slug'], 'name' => $v['varian']['product']['name'], 'discount' => $v['discount'], 'current_stock' => $v['varian']['current_stock'], 'thumbnail' => $v['varian']['product']['thumbnail'], 'price' => $v['price']];
                     $temp_varian = ['varian_id' => $v['varian_id'], 'sku' => $v['varian']['sku'], 'quantity' => $v['quantity'], 'size' => $v['varian']['size'], 'current_stock' => $v['varian']['current_stock'], 'message' => null];
                     $temp_carts[$v['varian']['product_id']]['varians'][$v['varian']['id']] = $temp_varian;
                 }
                 Session::put('carts', $temp_carts);
             }
         } else {
             if (count(Session::get('carts')) != 0) {
                 /* SET API TOKEN USE TOKEN PRIVATE */
                 $temp_carts = ['id' => '', 'user_id' => Session::get('whoami')['id'], 'transact_at' => date('Y-m-d H:i:s'), 'transactiondetails' => [], 'transactionlogs' => ['id' => '', 'status' => 'cart', 'change_at' => '', 'notes' => ''], 'payment' => [], 'shipment' => []];
                 $session_cart = Session::get('carts');
                 $temp_varian = [];
                 foreach ($session_cart as $k => $v) {
                     foreach ($v['varians'] as $k2 => $v2) {
                         $temp_varian[] = ['id' => '', 'transaction_id' => '', 'quantity' => $v2['quantity'], 'price' => $v['price'], 'discount' => $v['discount'], 'varian_id' => $v2['varian_id'], 'varians' => ['id' => $v2['varian_id'], 'product_id' => $k, 'sku' => $v2['sku'], 'size' => $v2['size']]];
                     }
                 }
                 $temp_carts['transactiondetails'] = $temp_varian;
                 $temp_carts['status'] = 'cart';
                 $API_order = new APIUser();
                 $result = $API_order->postMeOrder($temp_carts);
                 // result
                 if (isset($result['message'])) {
                     $error = $result['message'];
                 }
             }
         }
         if (Session::has('redirect_url')) {
             $redirect = Session::get('redirect_url');
             Session::forget('redirect_url');
             return Redirect::to($redirect);
         }
         return Redirect::route('my.balin.redeem.index');
     }
     return Redirect::route('balin.get.login', ['type' => 'login'])->withErrors($result['message'])->with('msg-type', 'danger');
 }