Olá Galera,
Meu problema parece ser simples de resolver, mas estou tendo dificuldades. Vou tentar explicar...
Estou fazendo um sistema web (PHP e MySQL) com Login via Google e 3 idiomas (PT-BR/EN/ES). Quando estou na tela inicial (index.php), não é apresentado nenhum erro. Porém, após clicar no link de login do Google, deveria me levar para o link de retorno (index1.php), mas o navegador me apresenta o erro do arquivo de topbar que não tem nada a ver, porém, se eu comentar essa linha ou retirar esse arquivo, o sistema fica como se tivesse muitos redirecionamentos. Em anexo, está um dos arquivos de idioma (O erro acontece em qualquer idioma).
Já peço desculpas se postei os códigos de maneira errada, agradeço pela atenção e se alguém puder me ajudar.
INDEX.PHP
<?php
require_once("include/common.php"); // Language settings
require_once("include/config.php"); // All system definitions
require_once("include/functions.php"); // Google functions
require_once("include/head.php"); // Css, Script, and so on
require_once("include/header.php"); //Header content
//print_r($_GET);die;
if(isset($_REQUEST['code'])){
$gClient->authenticate();
$_SESSION['token'] = $gClient->getAccessToken();
header('Location: ' . filter_var($redirectUrl, FILTER_SANITIZE_URL));
}
if (isset($_SESSION['token'])) {
$gClient->setAccessToken($_SESSION['token']);
}
if ($gClient->getAccessToken()) {
$userProfile = $google_oauthV2->userinfo->get();
//DB Insert
$gUser = new Users();
$gUser->checkUser('google',$userProfile['id'],$userProfile['given_name'],$userProfile['family_name'],$userProfile['email'],$userProfile['gender'],$userProfile['locale'],$userProfile['link'],$userProfile['picture']);
$_SESSION['google_data'] = $userProfile; // Storing Google User Data in Session
header("location: index1.php");
$_SESSION['token'] = $gClient->getAccessToken();
} else {
$authUrl = $gClient->createAuthUrl();
}
if(isset($authUrl)) {
echo '<div class="panel panel-default text-center">';
echo '<div class="panel-heading">';
echo '<h3 class="panel-title">';
echo '<a href="'.$authUrl.'"><i class="fa fa-google-plus" aria-hidden="true"></i> '.$lang['GOOGLE_LOGIN'].' </a>';
echo '</h3>';
echo '</div>';
echo '</div>';
} else {
echo 'Error to redirect | <a href="logout.php?logout">Logout</a>';
}
require_once("include/footer.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
INDEX1.PHP
<?php
//if(!isset($_SESSION['google_data'])):header("Location:index.php");endif;
if(!isset($_SESSION['google_data'])){
header("Location:index.php");
} else {
//Get the email authenticated
$googleHd = $_SESSION['google_data']['hd'];
$googleD = explode('.', $googleHd);
$googleDomain = $googleD[1] . "." . $googleD[2];
//if domain is XXX.com, enable to continue
if ($googleDomain == 'XXX.com') {
require_once("include/common.php"); // Language settings
require_once("include/config.php"); // All system definitions
require_once("include/functions.php"); // Google functions
require_once("include/head.php"); // Css, Script, and so on
require_once("include/header.php"); //Header content
//require_once("include/connection.php"); //Header content
//require_once("oracletelecom.php"); //Header content
echo $googleDomain;
require_once("include/footer.php"); // Footer content
} else {
//function to redireck if user is not authorized..
function redirect($link){
if ($link==-1){
echo" <script>history.go(-1);</script>";
}else{
echo" <script>document.location.href='$link'</script>";
} // Else
} // function
$link = 'logout.php'; // redirect to
redirect($link); // call function
}
}
?>
COMMON.PHP
<?php
if(!isset($_SESSION)){
session_start();
}
//header('Cache-control: private'); // IE 6 FIX
if(isset($_GET['lang'])){
$lang =& $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
} else if(isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else if(isset($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
} else {
$lang = 'en';
} switch ($lang) {
case 'en':
$lang_file = 'lang.en.php';
break;
case 'pt':
$lang_file = 'lang.pt.php';
break;
case 'es':
$lang_file = 'lang.es.php';
break;
default:
$lang_file = 'lang.en.php';
}
require_once 'languages/'.$lang_file;
TOPBAR.PHP
<?php
if(isset($_SESSION['google_data'])){
echo '<div class="col-md-9">';
echo $lang['NAVBAR'];
echo '</div>';
echo '<div class="col-md-3">';
echo '<div class="top-number">';
echo '<p>';
echo $lang['LANG_ICON'] . $lang['LOGOUT'];
echo '</p>';
echo '</div>';
echo '</div>';
}else{
echo '<div class="col-md-12 text-center">';
echo '<div class="top-number">';
echo $lang['LANG_ICON'] . $SystemName;
echo '</div>';
echo '</div>';
}
?>
lang.pt.txt