The_ProToS  | Bonjour,
   Je cherche a intégré le forum phpbb3 dans un site sous spip2 mais cela va au-delà de mes faibles
 connaissance en php/msql. Je travaille en local avec xampp sîps et phpbb3 dans la même base msql
 (et non msqli pour phpbb)
   Pour le moment grâce au plugin Commentaires PHPBB   http://contrib.spip.net/Commentaires-PHPBB   les commentaire sont bien redirigé vers phpbb.
   Maintenant je cherche a avoir une seule base d'utilisateur pour les 2 applications,   J'ai commencé ma recherche du coté de spip et de ses plugin, j'ai bien tenté
 d'utilisé le plugin authext   http://spipcarto.free.fr/?Plugin-a [...] on-externe
 (origine ce ce plugin http://zone.spip.org/trac/spip-zon [...] rev=27073)
 sans succès.
   Vue le peut d'info que j'ai pu voir sur les forum et mailing officielle de spip me suis donc lancé pour une recherche du coté   de phpbb3.
 Bonne surprise sur le wiki, on peut créée un plugin authentification externe
 https://wiki.phpbb.com/Authentication_plugins
 Je me suis mis a la recherche de plus d'info sur le sujet et suis arrivé sur ce script datant de 2009
 http://nzeyimana.nefa.se/2009/04/a [...] le-source/
   mais il n'a pas l'air de bien fonctionné suivant ces post sur le forum de phpbb
 https://www.phpbb.com/community/viewtopic.php?t=1598865
 https://www.phpbb.com/community/vie [...] &t=2096370
   J'ai poussé plus loin et le seul que j'ai pu trouvé vient d'un site russe
 http://habrahabr.ru/post/150872/
 passé a la moulinette de google translate   http://translate.google.fr/transla [...] F150872%2F
 et daté de septembre 2012
   je cherche donc de l'aide affin d'adapter ce plugin a spip avec les quelques infromations que
 trouvé
   spip encode ses mot de passe en sha256 et un alea d'après ce j'ai compris sur le forum spip
  Code :
 - sha256( $alea_actuel . $password)
 
  |  
 
 sur le wiki phpbb
  
  
 The user_row created from the external data should contain the following fields:
 Field                  Meaning
 user_id                user identifier
 username               external username
 user_password          phpbb_hash of the external password
 user_email             E-mail of the new user if available from the external method, blank otherwise.
 Group_id               Group ID, usually the default group ID, but could also be deduced from external data
 user_type              User type, defined in constants.php, usually USER_NORMAL.  
   |  
 
 j'ai cherché les correspondance sachant que sous spip le nom d'utilisateur et celui pour ce connecté
 n'est pas le même $nom et $login  
  
 phpbb-users           spip_auteurs
          
 user_id               id_auteur
 username              nom
 user_password         pass
 user_email            email  
 Group_id          
 user_type             statut
   et donc
 username_clean        login
   |  
 
 voilà ou en sont mes recherche et je cherche de l'aide car cela dépasse mes compétence.
   En vous remerciant     je joins ci dessous le script du site russe avec les commentaires traduit car la moulinette de google
 pourrit un peut tout a la traduction
  
  Code :
 - <?php
 - /**
 - *
 - * Autorisation plugin Sample phpBB3
 - *
 - */
 - if (!defined('IN_PHPBB'))
 - {
 -    exit;
 - }
 - /**
 - * renvoie des informations sur l'utilisateur courant
 - */
 - function get_user_data()
 - {
 -        $result['user_email'] = “user@example.com”;
 -        $result['username'] = “username”;
 -        $result['user_password'] = “user_password”;
 -        return $result;
 - }
 - /**
 - * Fonction responsable de l'autorisation.
 - */
 - function login_simple(&$username, &$password)
 - {
 -     $auth = get_user_data();
 -  
 -     // Si l'autorisation n'est pas possible
 -     if (!is_array($auth) || empty($auth))
 -     {
 -        return array(
 -                    'status' => LOGIN_ERROR_USERNAME,
 -                    // Message par clé ACCESS_DIRECTLY_DENIDED être ajoutées aux fichiers language/<language>/common.php
 -                    'error_msg' => 'ACCESS_DIRECTLY_DENIDED',
 -                    'user_row' => array('user_id' => ANONYMOUS),
 -        );
 -     }
 -  
 -     global $db;
 -     $sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type
 -            FROM ' . USERS_TABLE . "
 -            WHERE username_clean = '" . $db->sql_escape($auth['username']) . "'";
 -     $result = $db->sql_query($sql);
 -     $row = $db->sql_fetchrow($result);
 -     $db->sql_freeresult($result);
 -  
 -     if ($row){
 -        $res = array(
 -                    'status'     => LOGIN_SUCCESS, // all clear
 -                    'error_msg'  => false,  // aucune erreur
 -                    'user_row'     => array(
 -                        'user_id' => $row['user_id'],  //ID utilisateur phpbb
 -                        'username'       => $row['username'],  // Du nom d'affichage
 -                        'user_password'  => $row['user_password'],  // phpbb-hash du mot de passe
 -                        'user_email'     => $row['user_email'],  // E-mail de l'utilisateur, s'il existe un
 -                        'user_type'      => 0,  // type d'utilisateur (admin \ pas admin, etc)
 -                        'group_id' => 2  // groupe par défaut
 -                        )
 -                    );
 -        return $res;
 -     }
 -      
 -     // Annoncer que l'authentification est réussie.
 -     $res = array(
 -                        'status'     => LOGIN_SUCCESS_CREATE_PROFILE,
 -                        'error_msg'  => false,
 -                        'user_row'     => array(
 -                            "username"       => $auth['username'],  // Du nom d'affichage
 -                            "user_password"  => phpbb_hash($auth['user_password']),  // phpbb-hash du mot de passe
 -                            "user_email"     => $auth['user_email'],  // E-mail de l'utilisateur, s'il existe un
 -                            "user_type"      => 0,
 -                            "group_id" => 2
 -                        ),
 -     );
 -     return $res;
 - }
 - /**
 - * Fonction responsable de l'enregistrement et de l'autorisation d'un utilisateur de la première visite.
 - */
 - function autologin_simple()
 - {
 -     // nom d'utilisateur et mot de passe sera reçu dans la fonction, en passant le cap
 -     $u = "";
 -     $user_row = login_simple($u, $u);
 -     // Si vous n'êtes pas encore inscrit
 -     if ($user_row['status'] == LOGIN_SUCCESS_CREATE_PROFILE)
 -     {
 -        global $phpbb_root_path, $phpEx;
 -        if (!function_exists('user_add'))
 -        {
 -                include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
 -        }
 -        $user_row['user_row']['user_id'] = user_add($user_row['user_row']);
 -     }
 -     // retourner les données de l'utilisateur
 -     global $db;
 -     $sql = 'SELECT * FROM ' . USERS_TABLE . " WHERE user_id = '" . $db->sql_escape($user_row['user_row']['user_id']) . "'";
 -     $result = $db->sql_query($sql);
 -     $row = $db->sql_fetchrow($result);
 -     $db->sql_freeresult($result);
 -     return $row;
 - }
 - ?>
 
  |  
 
     |