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); }
/** * 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'); }