•  » Utilisation
  •  » Utiliser une autre table "users"

#1 2006-06-06 13:32:32

silkzombie
Membre
Villemomble
2006-05-15
22

Utiliser une autre table "users"

Bonjour, j'utilise 2 scripts PHP pour mon site perso, phpBB 2.0.20 et phpWG 1.5.2.
J'aimerai qu'un utilisateur qui se créé un compte sous phpBB ait également automatiquement un compte créé sous phpWG. j'ai donc pensé (arrétez moi si je me trompe) que phpWG pourrait utilisater la table "users" de phpBB qui contient les mêmes infos (et même plus). Mais comment spécifier sous phpWG quelle table utiliser lors de l'authentification ? De plus, les champs entre phpBB et phpWG ne portent pas les même noms, donc comment s'assurer du bon mappage ?
A la fin, l'idée est donc de pouvoir supprimer la possibilité d'inscription sous phpWG et de ne laisser que le formulaire d'authentification quand on veut naviguer dans les galeries de photos.

Merci d'avance.

Dernière modification par silkzombie (2006-06-06 13:32:53)

Hors ligne

#2 2006-06-06 13:59:17

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Re: Utiliser une autre table "users"

Tu es mûr pour lire la section "Authentication" du fichier include/config_default.inc.php :-) (n'oublies pas de créer include/config_local.inc.php si tu veux modifier la configuration)


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#3 2006-06-06 14:29:49

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Effectivement tout y est.
Je doit donc copier la partie Authentification dans le fichier config_local.inc.php puis la modifier.
Ce qui nous donnerai :

// +-----------------------------------------------------------------------+
// |                           authentification                                         |
// +-----------------------------------------------------------------------+

// apache_authentication : utiliser l'authentification HTTP d'Apache comme
// référence au lieu de la table des utilisateurs ?
$conf['apache_authentication'] = false;

// users_table : quelle table est la table de référence pour les
// utilisateurs ? Peut être une table externe à PhpWebGallery.
//
// Si vous décidez d'utiliser une table externe, vous devez préparer votre
// base de données en supprimant certains données :
//
// delete from phpwebgallery_user_access;
// delete from phpwebgallery_user_cache;
// delete from phpwebgallery_user_feed;
// delete from phpwebgallery_user_group;
// delete from phpwebgallery_user_infos;
// delete from phpwebgallery_sessions;
// delete from phpwebgallery_rate;
// update phpwebgallery_images set average_rate = NULL;
// delete from phpwebgallery_caddie;
// delete from phpwebgallery_favorites;

// Toutes les informations contenues dans ces tables sont relatives au
// contenu de la table des utilisateurs.
$conf['users_table'] = $phpbb_users';

// user_fields : correspondance entre un nom générique de champ et le nom
// spécifique dans la table. Par exemple, dans PhpWebGallery, l'adresse
// email est "mail_address" et dans PunBB, son nom est "email".
$conf['user_fields'] = array(
  'id' => 'user_id', // champ phpBB
  'username' => 'username', // champ phpBB
  'password' => 'user_password', // champ phpBB
  'email' => 'user_email' // champ phpBB
  );

// pass_convert : fonction pour chiffrer ou hasher le mot de passe afin de
// le stocker en base de donnée.
// $conf['pass_convert'] = create_function('$s', 'return md5($s);');

// guest_id : identifiant de l'invité
$conf['guest_id'] = -1; // ID du guest sous phpBB


// webmaster_id : identifiant du webmaster
$conf['webmaster_id'] = 3; // ID de l'administrateur sous phpBB

// +-----------------------------------------------------------------------+
// |                           end authentification                                   |
// +-----------------------------------------------------------------------+

Par contre, une petite précision, dois-je mettre en commentaire la ligne concernant le cryptage du mot de passe ? => $conf['pass_convert'] = create_function('$s', 'return md5($s);');
De plus, quel est l'utilité de cette ligne ? => update phpwebgallery_images set average_rate = NULL;

En tout cas, merci beaucoup Z0rglub pour une réponse si rapide.

Dernière modification par silkzombie (2006-06-06 16:15:01)

Hors ligne

#4 2006-06-07 14:02:55

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Re: Utiliser une autre table "users"

silkzombie a écrit:

Par contre, une petite précision, dois-je mettre en commentaire la ligne concernant le cryptage du mot de passe ? => $conf['pass_convert'] = create_function('$s', 'return md5($s);');

Si tu la mets en commentaire dans config_local.inc.php, tu utiliseras la fonction par défaut configuré dans config_default.inc.php. Il me semble bien que dans phpBB, les mots de passe des utilisateurs sont hashés en MD5, donc c'est bon.

silkzombie a écrit:

De plus, quel est l'utilité de cette ligne ? => update phpwebgallery_images set average_rate = NULL;

#images.average_rate est une valeur calculée à partir des lignes de #rates, donc il convient de la remettre à zero si on supprime les lignes de #rates. C'est un cache...


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#5 2006-06-07 18:26:34

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Je confirme que phpBB hash en md5 le mot de passe.
Ok, bon ba je teste tout ça dès que possible et reviendrai donc cloturer le tout ou encore poser pleins de questions...

Merci beaucoup zOrglub !!!

Hors ligne

#6 2006-06-09 20:46:40

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Bon ba plantage, à priori cela vient de la synthaxe utilisée pour appeler la table "phpbb_users".
Est-ce la bonne appellation ??? => $conf['users_table'] = '$phpbb_users';

Merci d'avance et désolé pour le boulet attitude !!!

Hors ligne

#7 2006-06-09 21:07:01

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Utiliser une autre table "users"

$conf['users_table'] = 'phpbb_users';

Devrait être meilleur, à vérifier.


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#8 2006-06-15 13:35:59

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Bonjour bonjour, bon je suis vraiment désolé pour ce retard mais j'ai donc fini par faire le test (en appliquant le conseil de VDigital précédent bien sur), malheureusement cela ne marche pas, voici le message d'erreur :

SELECT ui.*, uc.*
  FROM phpwebgallery_user_infos AS ui LEFT JOIN phpwebgallery_user_cache AS uc
    ON ui.user_id = uc.user_id
  WHERE ui.user_id = '-1'
;
[mysql error 1146] Table 'perfectb_bdd.phpwebgallery_user_infos' doesn't exist


Le problème semble toujours venir de l'appel de la table "users" du phpBB non ?
Une idée ?

Dernière modification par silkzombie (2006-06-15 13:38:19)

Hors ligne

#9 2006-06-15 13:44:20

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Pour information, les tables suivantes ont bien été supprimées :
- phpwebgallery_user_access
- phpwebgallery_user_cache
- phpwebgallery_user_feed
- phpwebgallery_user_group
- phpwebgallery_user_infos
- phpwebgallery_sessions
- phpwebgallery_rate
- phpwebgallery_caddie
- phpwebgallery_favorites

De plus, la variable average_rate de la table phpwebgallery_images à bien été mise à NULL pour toutes les photos.

Dernière modification par silkzombie (2006-06-15 13:56:16)

Hors ligne

#10 2006-06-15 14:00:43

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Pour avancer un peu j'ai fait un test tout bête, j'ai remis le fichier config_local.inc.php d'origine tout en laissant la base de donnée allégée des 9 tables nommées précédemment. Le message d'erreur est le même :

SELECT ui.*, uc.*
  FROM phpwebgallery_user_infos AS ui LEFT JOIN phpwebgallery_user_cache AS uc
    ON ui.user_id = uc.user_id
  WHERE ui.user_id = '2'
;
[mysql error 1146] Table 'perfectb_bdd.phpwebgallery_user_infos' doesn't exist


Il semblerait bien que la partir "authentification" du fichier de configuration local ne soit pas prise en compte ? Dois-je également supprimer la table phpwebgallery_users ?

Dernière modification par silkzombie (2006-06-15 14:09:36)

Hors ligne

#11 2006-06-15 19:04:51

Vassae
Membre
2005-01-13
127

Re: Utiliser une autre table "users"

Bon alors, je me trompe peut-être mais il me semble qu'il faille vider ces tables, pas les supprimer (mon sql n'est pas parfait donc je veux bien que quelqu'un confirme).

Et as tu aussi exécuter cette instruction ? update phpwebgallery_images set average_rate = NULL;

Hors ligne

#12 2006-06-15 19:08:59

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12671

Re: Utiliser une autre table "users"

Je confirme : hors de question de supprimer des tables.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#13 2006-06-15 20:32:50

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Un grand merci !!!
En effet, il faut vider les tables. Cela semble tourner correctement. Bon il reste LE test ultime, créer un nouveau compte sous phpBB et voir si il apparait sous phpWG.
Je vous tiens au courant.

Hors ligne

#14 2006-06-15 20:37:42

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Et bien ça tourne. Le nouvel utilisateur créé sous phpBB est bien actif sous phpWG.
Encore merci pour votre patience et votre aide. Maintenant j'ai plus qu'à trouver comment supprimer l'inscription sous phpWG.

Bonne soirée.

Hors ligne

#15 2006-06-16 09:13:54

silkzombie
Membre
Villemomble
2006-05-15
22

Re: Utiliser une autre table "users"

Bonjour, je vous rassure tout de suite, tout fonctionne, mais je souhaite simplement proposer de clarifier la partie "Authentification" du fichier config_local.inc.php, en effet, il est écrit :
delete from phpwebgallery_user_access;
delete from phpwebgallery_user_cache;
delete from phpwebgallery_user_feed;
delete from phpwebgallery_user_group;
delete from phpwebgallery_user_infos;
delete from phpwebgallery_sessions;
delete from phpwebgallery_rate;
update phpwebgallery_images set average_rate = NULL;
delete from phpwebgallery_caddie;
delete from phpwebgallery_favorites;


On suppose donc qu'il faut supprimer les tables, hors il faut seulement les vider, donc :
TRUNCATE `phpwebgallery_caddie`;
TRUNCATE `phpwebgallery_favorites`;
TRUNCATE `phpwebgallery_rate`;
TRUNCATE `phpwebgallery_sessions`;
TRUNCATE `phpwebgallery_user_access`;
TRUNCATE `phpwebgallery_user_cache`;
TRUNCATE `phpwebgallery_user_feed`;
TRUNCATE `phpwebgallery_user_group`;
TRUNCATE `phpwebgallery_user_infos`;


De plus, pour ma part, je n'ai pas effectuer l'action update phpwebgallery_images set average_rate = NULL;.

Bonne journée.

Dernière modification par silkzombie (2006-06-16 09:15:50)

Hors ligne

  •  » Utilisation
  •  » Utiliser une autre table "users"

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact