Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- // config and includes
- $config = dirname(__FILE__) . '/../social/hybridauth/config.php';
- require_once( "../social/hybridauth/Hybrid/Auth.php" );
- // the selected provider
- $provider_name = $_GET["provider"];
- try{
- // initialize Hybrid_Auth with a given file
- $hybridauth = new Hybrid_Auth( $config );
- // try to authenticate with the selected provider
- $adapter = $hybridauth->authenticate( $provider_name );
- // then grab the user profile
- $user_profile = $adapter->getUserProfile();
- if (isset($user_profile->email))
- {
- $email = $user_profile->email;
- }
- else
- {
- }
- $username = $user_profile->displayName;
- $password = $user_profile->identifier;
- $password = md5($password);
- $first_name = $user_profile->firstName;
- if (isset($user_profile->lastName))
- {
- $last_name = $user_profile->lastName;
- }
- else
- {
- $last_name = "Twitter";
- }
- if (isset($user_profile->gender))
- {
- $gender = $user_profile->gender;
- }
- else
- {
- $gender = "male";
- }
- $identifier = $user_profile->identifier;
- try
- {
- $pdo = new PDO('mysql:host=localhost;dbname=*****', '****', '************');
- //on tente d'exécuter les requêtes suivantes dans une transactions
- //on lance la transaction
- $req = $pdo->prepare('SELECT username FROM members WHERE email = :email OR identifier = :identifier');
- $req->execute(array('email' => $email, 'identifier' => $identifier));
- if($req->rowCount()) {
- echo 'il existe un utilisateur';
- }
- else {
- $req = $pdo->prepare('INSERT INTO members SET email = :email, username = :username, password = :password, firstname = :firstname, lastname = :lastname, gender = :gender, identifier = :identifier, provider = :provider');
- $req->execute(array('email' => $email, 'username' => $username, 'password' => $password, 'firstname' => $first_name, 'lastname' => $last_name, 'gender' => $gender, 'identifier' => $identifier, 'provider' => $provider_name));
- echo 'Vous etes maintenant inscrit';
- }
- }
- catch(Exception $c) //en cas d'erreur
- {
- //on affiche un message d'erreur ainsi que les erreurs
- echo 'Tout ne s\'est pas bien passé, voir les erreurs ci-dessous<br />';
- echo 'Erreur : '.$c->getMessage().'<br />';
- echo 'N° : '.$c->getCode();
- //on arrête l'exécution s'il y a du code après
- exit();
- }
- }
- catch( Exception $e ){
- echo "Error: please try again!";
- echo "Original error message: " . $e->getMessage();
- }
- ?>
- <fieldset>
- <legend>Or use anohter service</legend>
- <a href="?provider=facebook">Facebook</a><br />
- <a href="?provider=twitter" >Twitter</a><br />
- <a href="?provider=google" >Google</a><br />
- </fieldset>
- <fieldset>
- <legend>Info</legend>
- <?php
- echo $email;
- echo "<br />";
- echo $username;
- echo "<br />";
- echo $last_name;
- echo "<br />";
- echo $first_name;
- echo "<br />";
- echo $gender;
- echo "<br />";
- echo $identifier;
- echo "<br />";
- echo $user_profile->birthday;
- ?>
- </fieldset>
Advertisement
Add Comment
Please, Sign In to add comment