· 9 years ago · Dec 05, 2016, 03:56 AM
1public function doLogin(){
2
3 // Do login to REST
4
5 //checking captcha
6 $responseCaptcha = Input::get('g-recaptcha-response');
7 $secretKey = Config::get('constants.recaptcha-secret-key');
8 $urlCaptchaCheck = Config::get('constants.recaptcha-url-checking-request');
9 $responseRecaptcha=file_get_contents($urlCaptchaCheck."secret=".$secretKey."&response=".$responseCaptcha);
10 $responseKeys = json_decode($responseRecaptcha,true);
11
12 $client = new Client();
13 $response = $client->post(Config::get("proxy.url") . Config::get("proxy.loginUrl"),[
14 "body" => Input::all()
15 ]);
16
17 $json = $response->json();
18
19 //if json status OK and captcha true
20 if($json['status']=='OK' && intval($responseKeys["success"]) == 1){
21 // OK
22 // Login success
23
24 $user = $json['payload'];
25 Session::put("loggeduser", $user);
26
27 Session::put("proxy-tenant-id", $user[Config::get ( "constants.HEADER_TENANT_ID" )]);
28 Session::put("proxy-ref-id", isset($user['ref_id']) ? $user['ref_id'] : -99);
29 Session::put("proxy-ref-type", $user['role_default_code']);
30 Session::put("proxy-lang",isset($user['lang']) ? $user['lang'] : 'in');
31 Session::put("proxy-member-code",$user['member_code']);
32
33 if(Session::get("proxy-lang") !== Config::get('app.locale')){
34 App::setLocale(Session::get("proxy-lang"));
35 }
36
37 switch($user['role_default_code']){
38 case 'A': // Admin CMS
39 return Redirect::to('/cms');
40 break;
41 case 'ATB': // Admin Tutup Bulan
42 return Redirect::to('/cms');
43 break;
44 case 'DS': // DS
45 return Redirect::to('/ds');
46 break;
47 case 'M': // Member
48 return Redirect::to('/member');
49 break;
50 case 'S': // Supplier
51 return Redirect::to('/supplier');
52 break;
53 case 'EX': // Expedition
54 return Redirect::to('/expedition');
55 break;
56 }
57
58 } else {
59 //if CAPTCHA FAIL
60 if(intval($responseKeys["success"])!=1)
61 {
62 $errors = "Invalid Captcha!";
63 }
64 //IF CAPTCHA NOT FAIL BUT JSON FAIL
65 else
66 {
67 $errors = $json['payload']['errors'];
68 }
69
70 return View::make("core/login")
71 ->with('errors', [$errors]);
72 }
73 }