[spip-dev] Importation d'utilisateurs depuis MySQL

Bonjour,

j'ai actuellement une table d'utilisateur et je souhaiterai les importer
proprement dans SPIP.

Cela a-t-il deja était fait ? Mon question porte en fait
essentiellement sur le passage du mot de passe en crypté, en effet
aujourd'hui il est en clair. Je dois pouvoir simplement utiliser des
fonctions actuelles comme celles du fichier md5.js, non ?

Merci.

Bonjour,

j'ai actuellement une table d'utilisateur et je souhaiterai les importer
proprement dans SPIP.

Cela a-t-il deja était fait ? Mon question porte en fait
essentiellement sur le passage du mot de passe en crypté, en effet
aujourd'hui il est en clair. Je dois pouvoir simplement utiliser des
fonctions actuelles comme celles du fichier md5.js, non ?

Merci.

Salut Matthieu,

C'est un problème auquel je suis également confronté. Fil m'avait mis sur la
piste (cf réponse), mais je n'ai pas encore pu expérimenter. J'ai compris le
principe, mais je suis incapable d'écrire les requêtes mysql qu'il suggère
comme ".... lire les lignes du fichier....." ou encore $nom = ..., $login =
...., $pass = ... // passe en clair.
Bon, je ne suis pas très doué sur ce coup là (tant pis j'assume), et si une
âme charitable et calée en php/mysql avait 2 minutes à y consacrer ... :wink:
Le script pourrait s'appeler auteurs_import.php, et la table où sont
stockées les infos spip_auteurs_import (même structure que spip_auteurs),
importée par exemple via phpMyAdmin, et effacée quand les pass sont codés et
transférés dans spip_auteurs. Au passage, comme il y a le cas de plusieurs
SPIP sur une même base, il ne serait pas mal que ce petit script tire profit
du préfixe des tables spécifié dans inc_version.php.

Si qq'un arrive à qq chose, je serais ravi d'avoir la solution.

Oui, c'est sans doute le mieux ; essaie avec quelque chose du style :

<?php
      include ("inc_version.php3");
      include_ecrire("inc.php3");
      include_ecrire("inc_acces.php3");

      while (.... lire les lignes du fichier.....) {
          $nom = ...
          $login = ....
          $pass = ... // passe en clair
          $htpass = generer_htpass($pass);
          $mdpass = md5($pass);
          spip_query("INSERT INTO spip_auteurs (nom, login, pass, htpass,
alea_actuel, alea_futur) VALUES ('$nom', '$login', '$mdpass', '$htpass', 0,
0)");
      }

petit souci ca marche pas :frowning:
des que je tente de me logger j'ai une erreur de mot de passe...
ne faut-il pas mettre le statut et un alea pour que cela fonctionne ?

Matt.

petit souci ca marche pas :frowning:
des que je tente de me logger j'ai une erreur de mot de passe...
ne faut-il pas mettre le statut et un alea pour que cela fonctionne ?

Oui : statut = '1comite', et peut-être '' pour les alea, à la place de 0.

-- Fil