diff --git a/www/application/config/constants.php b/www/application/config/constants.php index 316455ee..4a890102 100644 --- a/www/application/config/constants.php +++ b/www/application/config/constants.php @@ -155,6 +155,7 @@ define('WRENCHBOARD_RESEND_PENDING_LINK', 11019); define('WRENCHBOARD_ACCOUNT_CREATEACC', 11020); define('WRENCHBOARD_ACCOUNT_LOGIN', 11025); define('WRENCHBOARD_FACEBOOK_LOGIN', 11026); +define('WRENCHBOARD_GOOGLE_LOGIN', 11027); define('WRENCHBOARD_SEND_CONTACTUS', 11030); define('WRENCHBOARD_ACCOUNT_SENDREFER',11032); define('WRENCHBOARD_ACCOUNT_REFERLINK',11033); diff --git a/www/application/controllers/Login.php b/www/application/controllers/Login.php index 2866c93c..41d3e0ae 100644 --- a/www/application/controllers/Login.php +++ b/www/application/controllers/Login.php @@ -221,77 +221,99 @@ class Login extends WRB_Controller { //Processes social login function auth($provider = NULL) { + $data = array(); // Load Hybridauth's helper $this->load->helper('hybridauth'); $code = $this->input->get('code'); if ($code!='') { $client = get_google_client(); $token = $client->fetchAccessTokenWithAuthCode($code); - $client->setAccessToken($token['access_token']); - - // get profile info - $google_oauth = new Google_Service_Oauth2($client); - $google_account_info = $google_oauth->userinfo->get(); - $email = $google_account_info->email; - $name = $google_account_info->name; + if (is_array($token) && array_key_exists('access_token',$token)) { + $client->setAccessToken($token['access_token']); + + // get profile info + $google_oauth = new Google_Service_Oauth2($client); + $google_account_info = $google_oauth->userinfo->get(); + $id = $google_account_info->id; + $email = $google_account_info->email; + $name = $google_account_info->name; - var_dump($google_account_info); - exit(); + //var_dump($google_account_info); + //exit(); - if ($email != '') { - /* - $user = array( - 'id' => '', - 'name' => '', - 'email' => '' - ); - list($proceed, $data) = $this->checkUserExists($user, $data); - - // TODO - if ($proceed) { - $name = (string) $user["name"]; - if (trim($name) == "") - $name = strtok($user["email"], "@"); - $data['fb_id'] = $user["id"]; - $data['firstname'] = strtok($name, " "); - $data['lastname'] = strtok(" "); - $data['email'] = $user["email"]; - $data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999); - $data['action'] = WRENCHBOARD_FACEBOOK_LOGIN; - $this->load->model('backend_model'); - $out = array(); - $res = $this->backend_model->wrenchboard_api($data, $out); - if ($res == PHP_LOGIN_OK) { - $this->load->model('account_model'); - $ret = $this->account_model->username_data($out); - if ($res !== false) { - $data["login_message"] = "Welcome..."; - // yes person has an account - $_SESSION['session_id'] = $out["session"]; - $_SESSION['username'] = $ret->username; - $_SESSION['name'] = $ret->username; - $_SESSION['firstname'] = $ret->firstname; - $_SESSION['lastname'] = $ret->lastname; - $_SESSION['email'] = $ret->email; - $_SESSION['member_id'] = $ret->id; - $_SESSION['log_count'] = 0; - $_SESSION['mesaage_count'] = 0; - $this->findOffers($_SESSION['email']); - $_SESSION['message_snapshot'] = $this->myMessagesSnapshot(); + if ($id !='' && $email != '') { + $user = array( + 'id' => $id, + 'name' => $name, + 'email' => $email + ); + list($proceed, $data) = $this->checkUserExists($user, $data); - $this->logUser('Account login'); - $this->refreshAccountDetail($_SESSION['member_id']); - $this->getSessionArray(); + if ($proceed) { - $this->excudedEmails(); - - redirect('dash'); + $name = (string) $user["name"]; + if (trim($name) == "") { + $name = strtok($user["email"], "@"); } + $data['google_id'] = $user["id"]; + $data['firstname'] = strtok($name, " "); + $data['lastname'] = strtok(" "); + $data['email'] = $user["email"]; + $data['sessionid'] = rand(10000, 99999) . "A" . rand(10000, 99999); + $data['action'] = WRENCHBOARD_GOOGLE_LOGIN; + $this->load->model('backend_model'); + $out = array(); + + echo "
";
+ var_dump($data);
+ exit();
+ /*
+ // TODO
+ $res = $this->backend_model->wrenchboard_api($data, $out);
+ if ($res == PHP_LOGIN_OK) {
+ $this->load->model('account_model');
+ $ret = $this->account_model->username_data($out);
+ if ($res !== false) {
+ $data["login_message"] = "Welcome...";
+ // yes person has an account
+ $_SESSION['session_id'] = $out["session"];
+ $_SESSION['username'] = $ret->username;
+ $_SESSION['name'] = $ret->username;
+ $_SESSION['firstname'] = $ret->firstname;
+ $_SESSION['lastname'] = $ret->lastname;
+ $_SESSION['email'] = $ret->email;
+ $_SESSION['member_id'] = $ret->id;
+ $_SESSION['log_count'] = 0;
+ $_SESSION['mesaage_count'] = 0;
+ $this->findOffers($_SESSION['email']);
+ $_SESSION['message_snapshot'] = $this->myMessagesSnapshot();
+
+ $this->logUser('Account login');
+ $this->refreshAccountDetail($_SESSION['member_id']);
+ $this->getSessionArray();
+
+ $this->excudedEmails();
+
+ redirect('dash');
+ }
+ }
+ //*/
+ } else {
+ // Cannot proceed - duplicate email?
+ redirect('login');
}
- }
- // */
+ } else {
+ // Invalid or missing id and/or email - login failed?
+ redirect('login');
+ }
+ } else {
+ // Missing access token / invalid grant - expired credentials?
+ redirect('login');
}
- }
+ } else {
+ // Invalid or missing code - login failed?
+ redirect('login');
+ }
}
//Processes social login
diff --git a/www/application/views/site3/external/view_home.php b/www/application/views/site3/external/view_home.php
index 402cb2fe..49d7f1c0 100644
--- a/www/application/views/site3/external/view_home.php
+++ b/www/application/views/site3/external/view_home.php
@@ -66,7 +66,7 @@
or
-
+