Fork me on GitHub




(1) 2 3 »


Connexion avec facebook
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
Bonjour j'ai plusieurs membres qui me demande d'integret un bouton de connexion a mon site web avec facebook.

J'ai beau chercher je suis juste tombé sur des sujet concernant fbconnect qui ne fonctionne plus à ce jour.

Serai t'il possible d'avoir une solution ou un module qui fait cela ?

Posté le : 01/11/2013 15:46
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Admin Frxoops
Inscrit: 16/03/2009 16:40
De Tende (06)
Messages: 3528
Quelqu'un avait trouvé une solution ici.

Posté le : 01/11/2013 18:08

Open in new window

Xoopseuse Mai 2012 | Responsable équipe internationale | Recherche avancée en bas de page !
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
Merci cesag mais cela correspond a un bug pour les commentaire et non pour la connexion

Posté le : 01/11/2013 22:44
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Admin Frxoops
Inscrit: 16/03/2009 16:40
De Tende (06)
Messages: 3528
Tu risques d'avoir des spammeurs ingérables si tu inclus une connexion à ton site par Facebook.

Posté le : 02/11/2013 05:20

Open in new window

Xoopseuse Mai 2012 | Responsable équipe internationale | Recherche avancée en bas de page !
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Team FrXoops
Inscrit: 01/11/2004 13:00
Messages: 1823
tu as un sujet icique tu as du trouver mais je suis du même avis que Cesag.
Si j'ai bien compris ce que tu souhaites, c'est que quiconque ayant un compte facebook puisse se connecter sur ton site.
Du coup plus la peine de mettre des captchas et compagnie puisque tu peux créer autant de comptes bidons que tu veux avec FB sans aucun contrôle

Posté le : 02/11/2013 07:59
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Aspirant
Inscrit: 11/11/2010 14:56
Messages: 78
personne ne peut nier l'importance de facebook connect surtout que les plus grands sites connus utilisent l'api de facebook sans probleme de securité.

il y a le modules de Kraven30 pour xoops 5.6 le lien se trouve ici

personnellement je suis contre un module seulement pour cette fonctionnalité le meilleur c'est de l'incorporer dans le module profile.

j'ai donc ajouter la page connect.php dans mon module profile avec quelques modifications j'ai réussi a ajouter le bouton facebook connect. Si ça vous intéresse je peux expliquer les modifications à faire.

Posté le : 02/11/2013 12:55
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
Oui je veut bien la petite manipulation complete pour faire cela :)

Posté le : 02/11/2013 19:41
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Aspirant
Inscrit: 11/11/2010 14:56
Messages: 78
il faut tout d’abord créer une application sur facebook
mon xoops est 2.5.4

telechargez le module de kraven
uploder le dossier lib et preloads dans le module profile
créer le fichier connect.php et coller le code dedans en modifiant bien sur
Citation :
$config = array('appId' => '012345678910',
'secret' => 'jgjhgjgjhgjhgjhgjhgjhgjhgjhgjhghggh'
);




<?php

include dirname(__FILE__) . DIRECTORY_SEPARATOR 'header.php';
include 
dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR 'mainfile.php';
include 
dirname(__FILE__) . DIRECTORY_SEPARATOR.'lib'DIRECTORY_SEPARATOR .'facebook.php';

//$xoops = Xoops::getInstance();

//Connexion à l'application facebook
$config = array('appId' => 'numero de l application FB',
                
'secret' => 'code sercet donnee par FB'
                
);
$facebook = new Facebook($config);

//Recupere l'uid facebook de la personne qui se connecte
$currentUser $facebook->getUser();
//echo $currentUser;
//Lien de Connexion & deconnexion
if ($currentUser) {
  
//$params = array('next' => XOOPS_URL.'/modules/profile/disconnected.php');
  //$params = array('next' => XOOPS_URL . '/user.php?op=logout');
  //$logoutUrl = $facebook->getLogoutUrl($params);
  //echo('<a href="'.$logoutUrl.'"><img src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/4li2k73z.gif">LOGOUT</a>');
  //$block['facebook']= '<a href="'.$logoutUrl.'"><img src="/images/fb_logout.png"></a>';
  //redirect_header(XOOPS_URL.'/user.php', 1, _US_INCORRECTLOGIN);
 
} else {
    
//$params = array('scope' => 'email', 'user_birthday');
     //$params = array( 'req_perms' => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos,offline_access',
        //                'scope' => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos,offline_access');
    //$loginUrl = $facebook->getLoginUrl($params);
    
$loginUrl $facebook->getLoginUrl( array('scope' => 'user_about_me,user_activities,user_birthday,user_checkins,user_education_history,user_events,user_groups,user_hometown,user_interests,user_likes,user_location,user_notes,user_online_presence,user_photo_video_tags,user_photos,user_relationships,user_relationship_details,user_religion_politics,user_status,user_videos,user_website,user_work_history,email,read_friendlists,read_insights,read_mailbox,read_requests,read_stream,xmpp_login,ads_management,create_event,manage_friendlists,manage_notifications,offline_access,publish_checkins,publish_stream,rsvp_event,sms,publish_actions,manage_pages'));
  
//echo('<a href="'.$loginUrl.'">facebook</a>');
  
echo('<a href="'.$loginUrl.'"><img src="http://andylockett.com/wp-content/uploads/2013/02/FacebookButton_post-image.jpg"></a>');

}

//Creation du profil utilisateur
if($currentUser){
    try{
        
$facebook_profile $facebook->api('/me');
        
//print_r($facebook_profile);                                                    
    
}
    catch (
FacebookApiException $e){
        
setcookie('fbsr_' $config['appId'], $_COOKIE['fbsr_' $config['appId']], time() - 3600"/");
        unset(
$_COOKIE['fbsr_' $config['appId']]);
       
// print_r($);
        //$currentUser = null;
        
$currentUser '';
        
//$block['facebook']= 'IL faut supprimer les Kookies';
        //$block['facebook']= '<a href="/connect.php">Logout</a>';
        
echo('<a href="/connect.php"><img src="http://andylockett.com/wp-content/uploads/2013/02/FacebookButton_post-image.jpg"></a>');
    }
    
    
$uid $facebook_profile['id'];
    
$username $facebook_profile['name'];
    
$name $facebook_profile['name'];

    
//$password = $xoops->makePass();
    
$password xoops_makepass();

    
$email = (isset($facebook_profile['email']) && !empty($facebook_profile['email'])) ? $facebook_profile['email'] : $uid "@".$_SERVER['HTTP_HOST'];
    
//$email = 'test@facebook.com';
    
if (!$username || !$email || !$password) {
        
$adduser_errormsg _AM_YMCACF;

    } else {
        
//$member_handler1 = $xoops->gethandler('member');
        
$member_handler1 =& xoops_gethandler('member');
        
$profile_handler xoops_getmodulehandler('profile''profile');

        
        
//Verification de l'existance du membre
        
if ($member_handler1->getUserCount(new Criteria('uname'$uid)) > 0) {
            
//Membre present dans la BDD
            
$uname trim($uid);
            
            
$criteria = new CriteriaCompo();
            
$criteria->add(new Criteria('email'$email));
            
$users_arr $member_handler1->getUsers($criteria);
            
//var_dump($users_arr);
            //if ($users_arr[0]->getVar('uname') == '' || $users_arr[0]->getVar('pass') == '') {
                //$xoops->redirect(XOOPS_URL.'/user.php', 1, _US_INCORRECTLOGIN);
                //redirect_header(XOOPS_URL.'/user.php', 1, _US_INCORRECTLOGIN);
            //    exit();
            //}

            
if ($users_arr == false) {
                
//$xoops->redirect(XOOPS_URL.'/user.php', 1, _US_INCORRECTLOGIN);
                
redirect_header(XOOPS_URL.'/user.php'1_US_INCORRECTLOGIN);
            }

            if (
false != $users_arr) {
                if (
== $users_arr[0]->getVar('level')) {
                    
//$xoops->redirect(XOOPS_URL.'/index.php', 5, _US_NOACTTPADM);
                    
redirect_header(XOOPS_URL.'/index.php'5_US_NOACTTPADM);
                    exit();
                }
                if (
$xoopsConfig['closesite'] == 1) {
                    
$allowed false;
                    foreach (
$users_arr[0]->getGroups() as $group) {
                        if (
in_array($group$xoopsConfig['closesite_okgrp']) || XOOPS_GROUP_ADMIN == $group) {
                            
$allowed true;
                            break;
                        }
                    }
                    if (!
$allowed) {
                        
redirect_header(XOOPS_URL.'/index.php'1_NOPERM);
                        exit();
                    }
                }
                
$users_arr[0]->setVar('last_login'time());
                if (!
$member_handler1->insertUser($users_arr[0])) {
                }
                
// Regenerate a new session id and destroy old session
                
$GLOBALS["sess_handler"]->regenerate_id(true);
                
$_SESSION = array();
                
$_SESSION['xoopsUserId'] = $users_arr[0]->getVar('uid');
                
$_SESSION['xoopsUserGroups'] = $users_arr[0]->getGroups();
                
$user_theme $users_arr[0]->getVar('theme');
                if (
in_array($user_theme$xoopsConfig['theme_set_allowed'])) {
                    
$_SESSION['xoopsUserTheme'] = $user_theme;
                }

                
// Set cookie for rememberme
                //if (!empty($xoopsConfig['usercookie'])) {
                    //if (!empty($_POST["rememberme"])) {
                        
setcookie($xoopsConfig['usercookie'], $_SESSION['xoopsUserId'] . '-' md5($users_arr[0]->getVar('pass') . XOOPS_DB_NAME XOOPS_DB_PASS XOOPS_DB_PREFIX), time() + 31536000'/'XOOPS_COOKIE_DOMAIN0);
                    
//} else {
                    //    setcookie($xoopsConfig['usercookie'], 0, -1, '/', XOOPS_COOKIE_DOMAIN, 0);
                    //}
                //}

                
if (!empty($_POST['xoops_redirect']) && !strpos($_POST['xoops_redirect'], 'register')) {
                    
$_POST['xoops_redirect'] = trim($_POST['xoops_redirect']);
                    
$parsed parse_url(XOOPS_URL);
                    
$url = isset($parsed['scheme']) ? $parsed['scheme'].'://' 'http://';
                    if (isset( 
$parsed['host'])) {
                        
$url .= $parsed['host'];
                        if (isset( 
$parsed['port'])) {
                            
$url .= ':' $parsed['port'];
                        }
                    } else {
                        
$url .= $_SERVER['HTTP_HOST'];
                    }
                    if (@
$parsed['path']) {
                        if (
strncmp($parsed['path'], $_POST['xoops_redirect'], strlen$parsed['path']))) {
                            
$url .= $parsed['path'];
                        }
                    }
                    
$url .= $_POST['xoops_redirect'];
                } else {
                    
$url XOOPS_URL '/index.php';
                }

                
// RMV-NOTIFY
                // Perform some maintenance of notification records
                
$notification_handler =& xoops_gethandler('notification');
                
$notification_handler->doLoginMaintenance($users_arr[0]->getVar('uid'));

                
//$xoops->redirect($url, 1, sprintf("", $users_arr[0]->getVar('uname')), false);
                //redirect_header($url, 1, sprintf("", $users_arr[0]->getVar('uname')), false);
                
redirect_header(XOOPS_URL.'/index.php'5_US_MERCI_POUR_VOTRE_CONNECTION.'  '.$users_arr[0]->getVar('uname'));

            } else if (empty(
$_POST['xoops_redirect'])) {
                
//$xoops->redirect(XOOPS_URL . '/user.php', 5, '');
                
redirect_header(XOOPS_URL '/user.php'5'');
            } else {
                
//$xoops->redirect(XOOPS_URL . '/user.php?xoops_redirect=' . urlencode(trim($_POST['xoops_redirect'])), 5, '', false);
                
redirect_header(XOOPS_URL '/user.php?xoops_redirect=' urlencode(trim($_POST['xoops_redirect'])), 5''false);
            }
        } else {
        
                                                        
                                                        
            
//Creation de l'utilisateur
            //$member_handler1 =& xoops_gethandler('member');
            
$newuser $member_handler1->createUser();
            
$profile $profile_handler->create();
            
$newuser->setVar("user_viewemail","");
            
$newuser->setVar("attachsig","");
            
$newuser->setVar("name"$username);
            
$newuser->setVar("uname"$uid);
            
$newuser->setVar("email"$email);
            
$newuser->setVar("url""");
            
//$newuser->setVar("user_avatar",'avatars/'.$currentUser.'.jpg');
            
$newuser->setVar("user_avatar",'avatars/blank.gif');
            
$newuser->setVar('user_regdate'time());
            
$newuser->setVar("user_icq""");
            
$newuser->setVar("user_from""");
            
$newuser->setVar("user_sig""");
            
$newuser->setVar("user_aim""");
            
$newuser->setVar("user_yim""");
            
$newuser->setVar("user_msnm""");
            
$newuser->setVar("pass"md5($password));
            
$newuser->setVar("timezone_offset"$xoopsConfig['default_TZ']);
            
$newuser->setVar("uorder"$xoopsConfig['com_order']);
            
$newuser->setVar("umode",$xoopsConfig['com_mode']);
            
// RMV-NOTIFY
            
$newuser->setVar("notify_method"1);
            
$newuser->setVar("notify_mode"1);
            
$newuser->setVar("bio""");
            
$newuser->setVar("rank"1);
            
$newuser->setVar("level"1);
            
$newuser->setVar("user_occ""");
            
$newuser->setVar("user_intrest""");
            
$newuser->setVar('user_mailok'true);
            if (!
$member_handler1->insertUser($newuser1)) {
            echo 
$newuser->getHtmlErrors();
                echo 
_AM_NOTINSERTED;

            } 
        
$profile->setVar('profile_id'$newuser->getVar('uid') );
        
$profile_handler->insert($profile);

            
$newuser1 $newuser->getVar('uid');
            
$sqlcommandline "INSERT INTO " $xoopsDB -> prefix("groups_users_link") . "(groupid, uid) VALUES ('2', '$newuser1')";                                                    
            
$done $xoopsDB->queryF($sqlcommandline);
                                            
                    
//telecharger le fb_photo
                    //j'ai supprimé cette partie

                    //envoyer email de notification                                    
                    
$xoopsMailer =& xoops_getMailer();
                    
$xoopsMailer->useMail();
                    
$mail->setTemplateDir(XOOPS_ROOT_PATH."/modules/profile/language/".$xoopsConfig['language']."/mail_template/");
                    
$xoopsMailer->setTemplate('register.tpl');
                    
$xoopsMailer->assign('SITENAME'$xoopsConfig['sitename']);
                    
$xoopsMailer->assign('ADMINMAIL'$xoopsConfig['adminmail']);
                    
$xoopsMailer->assign('SITEURL'XOOPS_URL "/");
                    
$xoopsMailer->setToUsers($newuser->getVar('uid'));
                    
$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
                    
$xoopsMailer->setFromName($xoopsConfig['sitename']);
                    
$xoopsMailer->setSubject(sprintf(_US_USERKEYFOR$uname));
                    
$xoopsMailer->send();
            if(
$done) {
            
redirect_header('index.php'10_AM_USERRANK_SAVE);
            }
        }
    }
}


 
?>


taper http://votresite.com/modules/profile/connect.php

je pense que c'est bien claire mais si vous avez des questions je suis disponible, j'ai supprimé quelques lignes du code que j'utilise parce que c'est codé en vrac.






Posté le : 02/11/2013 21:44
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Admin Frxoops
Inscrit: 16/03/2009 16:40
De Tende (06)
Messages: 3528
Merci patz et olivee pour votre aide
Ce que je vois c'est que ce module de kraven30 est pour Xoops 2.6 (et version Php minimum 5.3), mais si il fonctionne pour Xoops 2.5.6, tant mieux !

Posté le : 03/11/2013 03:09

Open in new window

Xoopseuse Mai 2012 | Responsable équipe internationale | Recherche avancée en bas de page !
Partager Twitter Partagez cette article sur GG+
Re: Connexion avec facebook
Semi pro
Inscrit: 01/08/2005 19:06
Messages: 1851
reste un petit soucis quand je me connect via facebook il me met pas de pseudo mais un long chiffre du style 100000180513748 comment faire pour avoir le pseudo?

Et comment inserer un bouton connect avec facebook sur ma page d'accueil ?

Posté le : 03/11/2013 15:25
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

40 Personne(s) en ligne (25 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 40 | Plus ...