Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/04/2011, 12h29   #1
Membre habitué
 
Avatar de Niki59
 
Homme
Développeur Web
Inscription : mai 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 212
Points : 136
Points : 136
Par défaut Quelques problèmes avec sfForkedDoctrineApplyPlugin

Bonjour,

Pour faire suite à mon précédent sujet, je vais tenter d'expliquer les quelques problèmes que je rencontre avec ce plugin.

Il est pas simple d'installation, mais à force de l'utiliser il y a possibilité de gagner quelques heures dans les prochains projets j'en suis sûr.

J'ai deux petits soucis :

1 - On est censé pouvoir se connecter avec l'username ou le mail. Or, il n'y a qu'avec l'username que l'identification à l'espace membre marche. Quand je tente avec le mail il me dit tout simplement que l'identifiant ou mail n'est pas bon. Quelqu'un a déjà eu ce genre de soucis ?

2 - Connaissez-vous un plugin qui me permettrai de proposer à mes membre de choisir un avatar dans leur profil.

Merci
Niki59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/04/2011, 13h45   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
1) Je crois (a confirmer) que le ou est exclusif. Si pas de username défini alors l'adresse email. Faudrait que je regarde... Et ce doit être géré au niveau de sfGuard par sfFDAP

2) Il y a un plugin pour la gestion des images (taille et poids) mais rien pour l'inclure dans ton profil de base.

Regardes dans les conversations de la salle il y en a plusieurs qui parlent d'étendre le schéma de la table utilisateur. Après, tu vas être bon pour refaire les écrans utilisateurs à la main.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/04/2011, 23h12   #3
Membre habitué
 
Avatar de Niki59
 
Homme
Développeur Web
Inscription : mai 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 212
Points : 136
Points : 136
1) Ca pourrait être sympa de choisir entre l'username et le mail pour s'identifier. Mais est-ce que c'est facilement faisable ?
2) Bon ok, dommage!

Merci
Niki59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 10h40   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Après un peu de recherche il apparaît qu'il y a un paramètre dans le app.yml qui permettrait d'activer la recherche par user ou email.

Code :
1
2
3
4
 
all:
  sf_guard_plugin:
    allow_login_with_email: true
non testé.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 21h38   #5
Membre habitué
 
Avatar de Niki59
 
Homme
Développeur Web
Inscription : mai 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2008
Messages : 212
Points : 136
Points : 136
Salut Michel Rotta,
Merci pour la piste, ca n'a pas marché mais j'ai trouvé quand même la solution. Pour ceux que ca intéresse :

Explications :
Citation:
sfDoctrineGuardPlugin is configurable to accept an email address instead of a username. This option is on by default. However, trying to login with an email address always fails. In fact, there is a small mistake in the doClean method (sfGuardValidatorUser class) :

First, the parameter is retrieved : $allowEmail = sfConfig::get('app_sf_guard_plugin_allow_login_with_email', true);

Then, $method is set to match the configuration. $method = $allowEmail ? 'retrieveByUsernameOrEmailAddress' : 'retrieveByUsername';

Next, $method() should be called, but retrieveByUsername() is always used : $user = $this->getTable()->retrieveByUsername($username);

This should be replaced with : $user = $this->getTable()->$method($username);
La solution :

Citation:
Envoyé par tsumiko Voir le message
Voilà la solution sans toucher aux sources originaux:
Dans le fichier myUser.class.php, ajouter
Code :
1
2
3
4
5
 
    public static function checkUserByEmail($username)
    {
        return Doctrine::getTable('sfGuardUser')->retrieveByUsernameOrEmailAddress($username);
    }
Et dans l'app.yml :
Code :
1
2
3
 
  .sf_guard_plugin:
    sf_guard_plugin_retrieve_by_username_callable: [myUser,checkUserByEmail]
Niki59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h29.


 
 
 
 
Partenaires

Hébergement Web