setApplicationName("to2clasificados"); $client->setClientId(CLIENT_ID); $client->setClientSecret(CLIENT_SECRET); $client->setRedirectUri(REDIRECT_URI); $client->setApprovalPrompt(APPROVAL_PROMPT); $client->setAccessType(ACCESS_TYPE); $client->setState($pid); $oauth2 = new Google_Oauth2Service($client); if ($state > 0) $pid = $state; if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); header("Location: https://www.to2clasificados.com.ar/publicar/login.google.php?rnd=".rand()); exit; } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if (isset($_REQUEST['error'])) { echo ''; exit; } if($client->isAccessTokenExpired()) { $client->authenticate(); $NewAccessToken = json_decode($client->getAccessToken()); $client->refreshToken($NewAccessToken->refresh_token); } if ($client->getAccessToken()) { $user = $oauth2->userinfo->get(); // These fields are currently filtered through the PHP sanitize filters. // See http://www.php.net/manual/en/filter.filters.sanitize.php $email = filter_var($user['email'], FILTER_SANITIZE_EMAIL); $img = filter_var($user['picture'], FILTER_VALIDATE_URL); $personMarkup = "$email
"; // The access token may have been updated lazily. $_SESSION['token'] = $client->getAccessToken(); #VERIFICO SI EXISTE, SI EXISTE ASOCIO LA CUENTA; SI NO LO REGISTRO if (strlen($email) < 1) die('Falta el mail'); $result = @mysql_query("SELECT * FROM " . $tabla["usuarios"] ." WHERE email='".$email."'",$db) or die(".."); if (mysql_num_rows ($result) < 1){ #LO REGISTRO srand((double)microtime()*1000000); $codigo = substr( md5(uniqid(rand())), 0, 6); $sql = "INSERT INTO " . $tabla["usuarios"] ." SET " . "email='".$email."', " . "password='ss".$codigo."', " . "activo='1', " . "oauth_provider='google', " . "fecha_reg=NOW() " . ""; $query = mysql_query($sql,$db) or die('Error al agregar usuario '. mysql_error()); $result = @mysql_query("SELECT * FROM " . $tabla["usuarios"] ." WHERE email='".$email."'",$db) or die(".."); } if (mysql_num_rows ($result) == 1){ $actual = mysql_fetch_array($result); if ($actual["activo"] == "1"){ $sql = "UPDATE " . $tabla["usuarios"] . " SET ultimo_ing=NOW() WHERE usuario_id='". $actual['usuario_id']."'"; $res = @mysql_query($sql,$db) or die("Error : " . mysql_error()); # genero id de session unica y md5 del user id srand((double)microtime()*1000000); $session["id"] = md5(uniqid(rand())); $session["ip"] = $_SERVER['REMOTE_ADDR']; $session['tipo'] = '0'; # destruir sessiones viejas session_gc(); # inicio una nueva session para este usuario $session['usuario_id'] = $actual['usuario_id']; destroy_user_session($actual['usuario_id']); session_write($session); $id = $session['id']; setcookie("log",$id,time()+$sessionexp, "/", ".to2clasificados.com.ar"); header("Location: usuario.php"); exit; #=================================================================================== }else{ # el usuario no esta activo #die($datos['password']); # mismo mensaje de error por seguridad $login_cuenta = 'http://www.to2clasificados.com.ar/publicar/'; switch ($actual["activo"]){ case '0' : header("Location: ". $login_cuenta . "?cod=inactivo"); exit; break; case '2' : header("Location: ". $login_cuenta . "?cod=eactiva"); exit; break; case '3' : header("Location: ". $login_cuenta . "?cod=suspendido"); exit; break; } header("Location: http://www.to2clasificados.com.ar/publicar/?cod=inactivo"); exit; exit; } }else{ # si no existe el usuario en la bd header("Location: http://www.to2clasificados.com.ar/publicar/?cod=440"); exit; } } ?>