Skip to content

Instantly share code, notes, and snippets.

@vistajess
Last active January 8, 2016 11:28
Show Gist options
  • Save vistajess/74ffe2529b76880ff04b to your computer and use it in GitHub Desktop.
Save vistajess/74ffe2529b76880ff04b to your computer and use it in GitHub Desktop.
Login_class
<?php
class LoginClass
{
public function loginUser($params)
{
$loginParams = [
'username' => $params['username'],
'password' => $params['password'],
'grant_type' => 'password',
'client_id' => 'test',
'client_secret' => 'test'
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, API_V2 . '/oauth/access_token');
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($loginParams));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = json_decode(curl_exec($curl), true);
curl_close($curl);
if ($result['message'] === 'success')
{
$curlUser = curl_init();
curl_setopt($curlUser, CURLOPT_URL, API_V2 . "/me?access_token=" . $result['data']['access_token']);
curl_setopt($curlUser, CURLOPT_RETURNTRANSFER, 1);
$user = json_decode(curl_exec($curlUser), true);
curl_close($curlUser);
if ($user['status'] == 200) {
if ($user['data']['store']) {
$curlStore = curl_init();
curl_setopt($curlStore, CURLOPT_URL, API_V2 . "/stores" . "/" . $user['data']['store']['slug']);
curl_setopt($curlStore, CURLOPT_RETURNTRANSFER, 1);
$store = json_decode(curl_exec($curlStore), true);
curl_close($curlStore);
}
$results = [
'access_token' => $result['data']['access_token'],
'expires_in' => time() + $result['data']['expires_in'],
'username' => $user['data']['username'],
'id' => $user['data']['id'],
'user_type' => 1,
'has_store' => $user['data']['store'] ? true : false,
'email' => $user['data']['email'],
'last_name' => $user['data']['last_name'],
'first_name' => $user['data']['first_name'],
'user_type_id' => 1,
'payment_type' => 'paid',
'store_logo' => $user['data']['store'] ? $user['data']['store']['logo'] : null,
'user_image' => $user['data']['user_image'],
'theme_folder' => isset($store) ? $store['data']['template'] ? $store['data']['template']['name'] : null : null,
];
// NEW
setcookie('access_token', $results['access_token'], $results['expires_in']);
setcookie('beone_user_name', $results['username'], $results['expires_in']);
setcookie('beone_user_type', $results['user_type'], $results['expires_in']);
setcookie('beone_has_store', $results['has_store'], $results['expires_in']);
setcookie('beone_email', $results['email'], $results['expires_in']);
setcookie('beone_last_name', $results['last_name'], $results['expires_in']);
setcookie('beone_first_name', $results['first_name'], $results['expires_in']);
setcookie('beone_user_type_id', $results['user_type_id'], $results['expires_in']);
setcookie('beone_payment_type', $results['payment_type'], $results['expires_in']);
setcookie('beone_user_logo', $results['store_logo'], $results['expires_in']);
setcookie('beone_user_image', $results['user_image'], $results['expires_in']);
setcookie('beone_theme_folder', $results['theme_folder'], $results['expires_in']);
setcookie('beone_user_id', $results['id'], $results['expires_in']);
setcookie('beone_new_user_id', $results['id'], $results['expires_in']);
// TEMPORARY FOR NOW
$_SESSION['access_token'] = $results['access_token'];
$_SESSION['expires_in'] = $results['expires_in'];
$_SESSION['beone_user_name'] = $results['username'];
$_SESSION['beone_user_type'] = $results['user_type'];
$_SESSION['beone_has_store'] = $results['has_store'];
$_SESSION['beone_email'] = $results['email'];
$_SESSION['beone_last_name'] = $results['last_name'];
$_SESSION['beone_first_name'] = $results['first_name'];
$_SESSION['beone_user_type_id'] = $results['user_type_id'];
$_SESSION['beone_payment_type'] = $results['payment_type'];
$_SESSION['beone_user_logo'] = $results['store_logo'];
$_SESSION['beone_user_image'] = $results['user_image'];
$_SESSION['beone_theme_folder'] = $results['theme_folder'];
$_SESSION['beone_user_id'] = $_SESSION['beone_new_user_id'] = $results['id'];
$url = '/userdashboard/index.php';
if ($results['user_type'] == 3 && $results['has_store'] == 0){
$url = '/campaign/not_available.php';
}
if (isset($params['redirect_url'])) {
$url = $params['redirect_url'];
}
header("Location: " . $url);
die();
}
}
$err = 'Invalid Username or Password';
header("Location: /login.php?error_msg=" . $err);
die();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment