Piwigo Bugtracker

Viewing Issue Advanced Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000801 [Piwigo] authentication feature always 2008.02.10 14:22 2008.05.15 08:19
Reporter flipflip View Status public  
Assigned To Pat
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 1.7.2 Product Version
  Target Version Product Build
Summary 0000801: trigger sur le contrôle du formulaire d'inscription
Description Suite à ce post http://forum.phpwebgallery.net/viewtopic.php?id=12641 [^] je suis tombé face au problème du contrôle du formulaire d'inscription. Le trigger utilisé dans la fonction register_user est executable dans le cas ou les contrôles de base de PhpWebGallery ne renvoie pas d'erreur par le tableau $errors. Le problème est qu'on ne peut pas ajouter de contrôle supplémentaire via un plugin. Pour mon cas le plugin UserDir mais ça pourrait servir par exemple à vérifier si une adresse mail est déjà utilisé ou bien filtrer les domaines des adresses voir même envisager un lien vers un système d'annuaire LDAP ou OpenID. Au contraire P@t à trouvé la solution de pourquoi le $errors n'était pas pris en compte dans la fonction register_user lorsqu'un trigger était utilisé. Il faut la mettre en global. Au trigger que j'ajoute je passe un tableau qui contient le login, le pass et le mail.
Steps To Reproduce function register_user($login, $password, $mail_address,
  $with_notification = true, $errors = array())
{
  global $lang, $conf, $errors;

  if ($login == '')
  {
    array_push($errors, $lang['reg_err_login1']);
  }
  if (ereg("^.* $", $login))
  {
    array_push($errors, $lang['reg_err_login2']);
  }
  if (ereg("^ .*$", $login))
  {
    array_push($errors, $lang['reg_err_login3']);
  }
  if (get_userid($login))
  {
    array_push($errors, $lang['reg_err_login5']);
  }
  $mail_error = validate_mail_address($mail_address);
  if ('' != $mail_error)
  {
    array_push($errors, $mail_error);
  }

  trigger_event('register_user_check',
      array(
        'login'=>$login,
        'password'=>$password,
        'email'=>$mail_address,
       )
  );
Additional Information
Tags No tags attached.
browser any
Database engine and version
PHP version
Web server Apache 1.3.x
Attached Files

- Relationships

-  Notes
(0002155)
rub (developer)
2008.02.29 14:54

En tout cas, il ne faut mettre le errors en global.

Il faudrait mettre un trigger avant le "if (count($errors) == 0)" pour ajouter des erreurs (trigger avec le errors en retours)

Et voir pour d'autres après pour les problèmes l'identification ou de formulaire personnalisé.
(0002157)
Pat (developer)
2008.02.29 17:48
edited on: 2008.02.29 17:49

C'est exactement ce que je disais à flipflip sur le forum.
Voila ce que je me préparais à faire:

$errors = trigger_event('register_user_check',
              $errors,
              array(
                'login'=>$login,
                'password'=>$password,
                'email'=>$mail_address,
              )
           );

C'est ce que j'avais proposé à flipflip dans un premier temps...
Ca me parait pas mal ca, non?

(0002158)
rub (developer)
2008.02.29 19:35

Je n'avais pas relu le topic du forum.

Oui, c'est bien comme ca.
(0002161)
Pat (developer)
2008.03.01 16:27

Le trigger suivant a été ajouté:

$errors = trigger_event('register_user_check',
              $errors,
              array(
                'login'=>$login,
                'password'=>$password,
                'email'=>$mail_address,
              )
           );

branch 1.7: [Subversion] r2236
trunk: [Subversion] r2237
(0002167)
Pat (developer)
2008.03.09 09:06

Modification du trigger ('login' changé en 'username'):

$errors = trigger_event('register_user_check',
              $errors,
              array(
                'username'=>$login,
                'password'=>$password,
                'email'=>$mail_address,
              )
           );

trunk: [Subversion] r2268
branch 1.7: [Subversion] r2271

- Issue History
Date Modified Username Field Change
2008.02.10 14:22 flipflip New Issue
2008.02.10 14:22 flipflip browser => any
2008.02.10 14:22 flipflip Web server => Apache 1.3.x
2008.02.29 11:00 Pat Status new => assigned
2008.02.29 11:00 Pat Assigned To => Pat
2008.02.29 14:54 rub Note Added: 0002155
2008.02.29 17:48 Pat Note Added: 0002157
2008.02.29 17:49 Pat Note Edited: 0002157
2008.02.29 19:35 rub Note Added: 0002158
2008.03.01 16:27 Pat Status assigned => resolved
2008.03.01 16:27 Pat Fixed in Version => 1.7.2
2008.03.01 16:27 Pat Resolution open => fixed
2008.03.01 16:27 Pat Note Added: 0002161
2008.03.09 09:06 Pat Status resolved => feedback
2008.03.09 09:06 Pat Resolution fixed => reopened
2008.03.09 09:06 Pat Note Added: 0002167
2008.03.09 09:06 Pat Status feedback => resolved
2008.03.09 09:06 Pat Resolution reopened => fixed
2008.05.15 08:19 VDigital Status resolved => closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Contact
Powered by Mantis Bugtracker