// All scopes have been granted // Login/Registration can be proceeded $fb_user = $facebook->getUserProfile(); // Check if the facebook user is already registered $loginHelper = new LoginHelper($db); $user_id = $loginHelper->IsRegistered(OAUTH_FACEBOOK, $fb_user['id']); if ($user_id) { // Facebook user is already registered - Login the user $redirect_uri = $loginHelper->Login($user_id, OAUTH_FACEBOOK, $fb_user['id']); header("Location: {$redirect_uri}"); exit; } else { // User is not registered - Register the user // Check if the email is already registered if (isset($fb_user['email'])) { $registeredUser = $loginHelper->IsEmailRegistered($fb_user['email']); if ($registeredUser) { // Email is already registered $redirect_uri = $loginHelper->Login($registeredUser['id'], $registeredUser['oauth_type'], $registeredUser['oauth_id']); header("Location: {$redirect_uri}"); exit; } } // Email is not registered; Facebook user is loggin in for the first time - Register the user $tempUser = array(); $tempUser['oauth_type'] = OAUTH_FACEBOOK; $tempUser['oauth_id'] = $fb_user['id']; $tempUser['email'] = isset($fb_user['email']) ? $fb_user['email'] : null; $tempUser['first_name'] = $fb_user['first_name']; $tempUser['middle_name'] = isset($fb_user['middle_name']) ? $fb_user['middle_name'] : null; $tempUser['last_name'] = isset($fb_user['last_name']) ? $fb_user['last_name'] : null;
} if ($google->IsAuthenticated()) { // Google User is authenticated and authorized // Login/Registration can be proceeded $gUser = $google->getUserProfile(); $loginHelper = new LoginHelper($db); $user_id = $loginHelper->IsRegistered(OAUTH_GOOGLE, $gUser['id']); if ($user_id) { // User is already registered - Log in the user $redicrect_uri = $loginHelper->Login($user_id, OAUTH_GOOGLE, $gUser['id']); header("Location: {$redirect_uri}"); exit; } else { // User is not registerd // Email may be registered already $rUser = $loginHelper->IsEmailRegistered($gUser['email']); if ($rUser) { // Email is already registered - Login the user $redirect_uri = $loginHelper->Login($rUser['id'], $rUser['oauth_type'], $rUser['oauth_id']); header("Location: {$redirect_uri}"); exit; } // Google user is logging in for the first time // Register the user $tempUser = array(); $tempUser['oauth_type'] = OAUTH_GOOGLE; $tempUser['oauth_id'] = $gUser['id']; $tempUser['email'] = $gUser['email']; $tempUser['first_name'] = $gUser['givenName']; $tempUser['last_name'] = isset($gUser['familyName']) ? $gUser['familyName'] : ''; $tempUser['gender'] = $gUser['gender'] == 'male' ? 1 : 0;
// >>>> INSTITUTE if (!preg_match('/^[a-z][a-z\\s]{9,100}$/i', $institute)) { $error['institute'] = '<span>Institute</span> must be at least 10 characters characters long and can only contain alphabets.'; } // INSTITUTE <<<< // >>>> LOCATION if (!preg_match('/^[a-z][a-z,\\s]{5,100}$/i', $institute)) { $error['institute'] = '<span>Location</span> must be at least 6 characters long and can only contain alphabets and comma(,).'; } // LOACTION <<<< // >>>> EMAIL if (!preg_match('/^([\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4})?$/', $email)) { $error['email'] = '<span>Email</span> must be in the form <em>someone@somewhere.tld</em>.'; } else { $loginHelper = new LoginHelper($db); if ($loginHelper->IsEmailRegistered($email)) { $error['email'] = '<span>Email</span> address is already registered.'; } } // EMAIL <<<< // >>>> USERNAME if (!preg_match('/^[a-z0-9_!@#$%^&*]{3,25}$/i', $username)) { $error['username'] = '******'; } else { $loginHelper = new LoginHelper($db); if (!$loginHelper->IsUsernameAvailable($username)) { $error['username'] = '******'; } } // USERNAME <<<< // >>>> PASSWORD