| Anonymous | Login | Signup for a new account | 2013.05.25 03:12 CEST |
| Main | My View | View Issues | Change Log | Roadmap | Docs |
| 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 | |||||||
|
|
|||||||
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 |
| Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group Contact |