Overview
Comment:Correction bugs sur la page "mes infos" signalés par @arf
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 86f63ea383a918316e8d7ebdad371ae7175e6fbc
User & Date: bohwaz on 2013-04-08 14:24:29
Other Links: manifest | tags
Context
2013-04-08
14:28
Correction bug champs checkbox qui ne sont pas cochables signalé par @arf check-in: fe2d81f9d1 user: bohwaz tags: trunk
14:24
Correction bugs sur la page "mes infos" signalés par @arf check-in: 86f63ea383 user: bohwaz tags: trunk
2013-04-07
04:22
Release 0.5.1 pour correction de bug check-in: a626df96e4 user: bohwaz tags: trunk, 0.5.1
Changes

Modified include/class.membres.php from [e9fd700c86] to [aac365d475].

   235    235           }
   236    236   
   237    237           return utils::mail($dest, $sujet, $message, array('From' => $from));
   238    238       }
   239    239   
   240    240       // Gestion des données ///////////////////////////////////////////////////////
   241    241   
   242         -    public function _checkFields(&$data, $check_mandatory = true)
          242  +    public function _checkFields(&$data, $check_mandatory = true, $check_password = true)
   243    243       {
   244    244           $champs = Config::getInstance()->get('champs_membres');
   245    245   
   246    246           foreach ($champs->getAll() as $key=>$config)
   247    247           {
   248    248               if (!isset($data[$key]) || empty($data[$key]) || (!is_array($data[$key]) && trim($data[$key]) == ''))
   249    249               {
   250         -                if (!empty($config['mandatory']) && $check_mandatory)
          250  +                if (!empty($config['mandatory']) && $check_mandatory && ($check_password || $key != 'passe'))
   251    251                   {
   252    252                       throw new UserException('Le champ "' . $config['title'] . '" doit obligatoirement être renseigné.');
   253    253                   }
   254    254                   elseif (!empty($config['mandatory']))
   255    255                   {
   256    256                       continue;
   257    257                   }
................................................................................
   366    366           $db = DB::getInstance();
   367    367   
   368    368           if (isset($data['id']) && ($data['id'] == $id || empty($data['id'])))
   369    369           {
   370    370               unset($data['id']);
   371    371           }
   372    372   
   373         -        $this->_checkFields($data, $check_mandatory);
          373  +        $this->_checkFields($data, $check_mandatory, false);
   374    374   
   375    375           if (!empty($data['email'])
   376    376               && $db->simpleQuerySingle('SELECT 1 FROM membres WHERE email = ? AND id != ? LIMIT 1;', false, $data['email'], (int)$id))
   377    377           {
   378    378               throw new UserException('Cette adresse e-mail est déjà utilisée par un autre membre, il faut en choisir une autre.');
   379    379           }
   380    380   

Modified www/admin/mes_infos.php from [ee56d13ace] to [e52bd07e77].

    23     23           $error = 'La vérification ne correspond pas au mot de passe.';
    24     24       }
    25     25       else
    26     26       {
    27     27           try {
    28     28               $data = array();
    29     29   
    30         -            foreach ($config->get('champs_modifiables_membre') as $champ)
           30  +            foreach ($config->get('champs_membres')->getAll() as $key=>$c)
    31     31               {
    32         -                $data[$champ] = utils::post($champ);
           32  +                $data[$key] = utils::post($key);
    33     33               }
    34     34   
    35         -            if (utils::post('passe') == '')
    36         -            {
    37         -                unset($data['passe']);
    38         -            }
    39         -
    40         -            $data['lettre_infos'] = utils::post('lettre_infos');
    41         -
    42     35               $membres->edit($membre['id'], $data);
    43     36               $membres->updateSessionData();
    44     37   
    45     38               utils::redirect('/admin/');
    46     39           }
    47     40           catch (UserException $e)
    48     41           {