airakaz900 Posted August 1, 2012 Share Posted August 1, 2012 (edited) Bonjour, Je souhaite modifier la page d'inscription pour que l'utilisateur puisse choisir un groupe à l'inscription: 1/ Pour cela j'ai modifié le fichier authentication.tpl et j'ai ajouté le code suivant: <h3>{l s='Your personal information'}</h3> <p class="radio required"> <span>{l s='You are'}</span> <input type="radio" name="id_group_def" id="id_group2" value="2" {if isset($smarty.post.id_group) && $smarty.post.id_group == 4}checked="checked"{/if} /> {l s='Professional'} : <input checked type="radio" name="id_group_def" id="id_group1" value="1" {if isset($smarty.post.id_group) && $smarty.post.id_group == 3}checked="checked"{/if} /> {l s='Public'} : </p> 2/ et dans le fichier controller/front/authcontroller.php /* Preparing customer */ $customer = new Customer(); $lastnameAddress = $_POST['lastname']; $firstnameAddress = $_POST['firstname']; $_POST['lastname'] = $_POST['customer_lastname']; $_POST['firstname'] = $_POST['customer_firstname']; // recuperer le id groupe envoyé par le template par la méthode POST $groupId = $_POST['id_group_def']; et j'ai ajouté groupid dans la méthode add: else $customer->is_guest = 0; // ajouter groupID dans la méthode add if (!$customer->add(true,true,$groupId)) $this->errors[] = Tools::displayError('An error occurred while creating your account.'); 3/ et dans le fichier classes/customer.php j'ai modifié la méthode add pour qu'elle prenne en compte groupid comme argument: public function add($autodate = true, $null_values = true,$groupId) { $this->id_shop = ($this->id_shop) ? $this->id_shop : Context::getContext()->shop->id; $this->id_shop_group = ($this->id_shop_group) ? $this->id_shop_group : Context::getContext()->shop->id_shop_group; $this->birthday = (empty($this->years) ? $this->birthday : (int)$this->years.'-'.(int)$this->months.'-'.(int)$this->days); $this->secure_key = md5(uniqid(rand(), true)); $this->last_passwd_gen = date('Y-m-d H:i:s', strtotime('-'.Configuration::get('PS_PASSWD_TIME_FRONT').'minutes')); if ($this->id_default_group == _PS_DEFAULT_CUSTOMER_GROUP_) if ($this->is_guest) $this->id_default_group = Configuration::get('PS_GUEST_GROUP'); else $this->id_default_group = $groupId; Mais malgré ça, quand je m'identifie, je suis affecté au groupe par défaut même en choisissant un autre groupe lors de l'inscription, et je ne comprend pas pourquoi? Merci d'avance Edited August 1, 2012 by airakaz900 (see edit history) Link to comment Share on other sites More sharing options...
coeos.pro Posted August 1, 2012 Share Posted August 1, 2012 1/... vérifie le nombre "checked" 2/ et dans le fichier controller/front/authcontroller.php pas d'override ? 2/ ... $groupId = $_POST['id_group_def']; Grosse faille de sécurité !!! 3/...public function add($autodate = true, $null_values = true,$groupId) pas de valeur par défaut pour $groupId ? aucune modif dans la fonction processSubmitAccount ? 1 Link to comment Share on other sites More sharing options...
airakaz900 Posted August 2, 2012 Author Share Posted August 2, 2012 1/... vérifie le nombre "checked" 2/ et dans le fichier controller/front/authcontroller.php pas d'override ? 2/ ... $groupId = $_POST['id_group_def']; Grosse faille de sécurité !!! 3/...public function add($autodate = true, $null_values = true,$groupId) pas de valeur par défaut pour $groupId ? aucune modif dans la fonction processSubmitAccount ? Bonjour et Merci pour votre réponse: 1/ Je ne pense pas que ça vient de là, car j'ai fait la même chose sur 1.4 et ça a marché sans problème. 2/ Non je n'ai pas fait d'override, j'ai attaqué directement le fichier core 2/ ah bon 3/ Pour la fonction add, on prend toujours la valeur de $groupid choisie lors de l'authentification. C'est dans la fonction processSubmitAccount, ou j'ai mis $groupId = $_POST['id_group_def']; Link to comment Share on other sites More sharing options...
airakaz900 Posted August 20, 2012 Author Share Posted August 20, 2012 ça fait deux semaines que j'essaie mais toujours rien je ne comprend pas pourquoi ça marche parfaitement sur la 1.4 et non pas sur la 1.5, il y a quelque chose qui m'échappe Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now