I am facing issue in google signup process. My site is in core php. a month before it was working, suddenly stopped.
When I click on "sign-in-with-google" button, It prompts me to select the email. When I select the select the email to proceed after this it's showing error.
Error:
Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in public_html/.../google-api-php-client-2.6.0/vendor/guzzlehttp/guzzle/src/ClientInterface.php on line 81
screenshot:
I searched a lot but didn't get any solution. I was using version 2.6.0, I tried to replace it with version 2.7, but no success.
Please help. Thanks
Here's my code
require_once('includes/config.php');
require_once(DOCUMENT_ROOT . '/demo/tutor-student/google-api-php-client-2.6.0/vendor/autoload.php');
define('GOOGLE_CLIENT_ID', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com');
define('GOOGLE_CLIENT_SECRET', 'xxxxxxxxxxxxxxxxxxxxxxx');
define('GOOGLE_REDIRECT_URL', BASE_URL.'admin/my-account.php');
$gClient = new Google_Client();
$gClient->setApplicationName('Login to .com');
$gClient->setClientId(GOOGLE_CLIENT_ID);
$gClient->setClientSecret(GOOGLE_CLIENT_SECRET);
$gClient->setRedirectUri(GOOGLE_REDIRECT_URL);
$gClient->addScope('email');
$gClient->addScope('profile');
if(isset($_GET['code'])){
$token = $gClient->fetchAccessTokenWithAuthCode($_GET['code']);
if(!isset($token["error"])){
$gClient->setAccessToken($token['access_token']);
// getting profile information
$google_oauth = new Google_Service_Oauth2($gClient);
$google_account_info = $google_oauth->userinfo->get();
// Storing data into database
$oauth_uid = $google_account_info->id;
$first_name = trim($google_account_info->givenName);
$last_name = trim($google_account_info->familyName);
$email = $google_account_info->email;
$profile_pic = $google_account_info->picture;
require_once(DOCUMENT_ROOT . '/demo/tutor-student/models/User.php');
$user_obj = new User();
$user_data = $user_obj->is_record_exist(['oauth_uid' => $oauth_uid, 'email' => $email, 'role_id'=> '3' ]);
if(!empty($user_data)) {
$_SESSION['id'] = $user_data['id'];
$_SESSION['role'] = $user_data['role_name'];
$_SESSION['role_id'] = $user_data['role_id'];
$_SESSION['name'] = $user_data['first_name'];
$_SESSION['last_name'] = $user_data['last_name'];
$_SESSION['email'] = $user_data['email'];
$_SESSION['is_login'] = true;
header('Location: ' . filter_var(GOOGLE_REDIRECT_URL, FILTER_SANITIZE_URL));
exit;
} else {
$data = [ 'oauth_uid' => $oauth_uid,
'first_name' => $first_name,
'last_name' => $last_name,
'email' => $email,
'image' => $profile_pic,
'role_id' => 3
];
$last_id = $user_obj->save($data);
if($last_id > 0 ){
$getdata = ['id' => $last_id];
$user_data = $user_obj->get_user($getdata);
if(!empty($user_data)) {
$_SESSION['id'] = $user_data['id'];
$_SESSION['role'] = $user_data['role_name'];
$_SESSION['role_id'] = $user_data['role_id'];
$_SESSION['name'] = $user_data['first_name'];
$_SESSION['last_name'] = $user_data['last_name'];
$_SESSION['email'] = $user_data['email'];
$_SESSION['is_login'] = true;
header('Location: ' . filter_var(GOOGLE_REDIRECT_URL, FILTER_SANITIZE_URL));
exit;
}
}
}
}
}