Overview
Comment:Modernisation: suppression progressive de $_POST et Utils::post
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | dev
Files: files | file ages | folders
SHA1: 986fdb6e0af9f73e219f05f5533a0fded5eb101f
User & Date: bohwaz on 2017-08-02 07:23:11
Other Links: branch diff | manifest | tags
Context
2017-08-03
01:09
Création de page publique depuis la configuration, pour aider les gens perdus check-in: 676fa5202d user: bohwaz tags: dev
2017-08-02
07:23
Modernisation: suppression progressive de $_POST et Utils::post check-in: 986fdb6e0a user: bohwaz tags: dev
07:16
Déplacement progressif des modifieurs et fonctions dans l'objet check-in: 64e31c6172 user: bohwaz tags: dev
Changes

Modified src/www/admin/login_otp.php from [5424a00ba0] to [a8c97c28e9].

    15     15   
    16     16   if (f('login'))
    17     17   {
    18     18       $form->check('otp', [
    19     19           'code' => 'numeric|required',
    20     20       ]);
    21     21   
    22         -    if (!$form->hasErrors() && ($login = Membres\Session::loginOTP(Utils::post('code'))))
           22  +    if (!$form->hasErrors() && ($login = Membres\Session::loginOTP(f('code'))))
    23     23       {
    24     24           Utils::redirect('/admin/');
    25     25       }
    26     26   }
    27     27   
    28         -//var_dump($form->hasErrors()); exit;
    29         -
    30     28   $tpl->assign('fail', $login === false);
    31     29   
    32     30   $tpl->assign('time', time());
    33     31   
    34     32   $tpl->display('admin/login_otp.tpl');

Modified src/www/admin/membres/ajouter.php from [bced1ce071] to [e68055f415].

     6      6   $session->requireAccess('membres', Membres::DROIT_ECRITURE);
     7      7   
     8      8   $cats = new Membres\Categories;
     9      9   $champs = $config->get('champs_membres');
    10     10   
    11     11   $error = false;
    12     12   
    13         -if (!empty($_POST['save']))
           13  +if (f('save'))
    14     14   {
    15         -    if (!Utils::CSRF_check('new_member'))
    16         -    {
    17         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    18         -    }
    19         -    elseif (Utils::post('passe') != Utils::post('repasse'))
    20         -    {
    21         -        $error = 'La vérification ne correspond pas au mot de passe.';
    22         -    }
    23         -    else
           15  +    $form->check('new_member', [
           16  +        'passe' => 'confirmed',
           17  +        // FIXME: ajouter les règles pour les champs membres
           18  +    ]);
           19  +
           20  +    if (!$form->hasErrors())
    24     21       {
    25     22           try
    26     23           {
    27     24               if ($session->canAccess('membres', Membres::DROIT_ADMIN))
    28     25               {
    29         -                $id_categorie = Utils::post('id_categorie');
           26  +                $id_categorie = f('id_categorie');
    30     27               }
    31     28               else
    32     29               {
    33     30                   $id_categorie = $config->get('categorie_membres');
    34     31               }
    35     32   
    36     33               $data = ['id_categorie' => $id_categorie];
    37     34   
    38     35               foreach ($champs->getAll() as $key=>$dismiss)
    39     36               {
    40         -                $data[$key] = Utils::post($key);
           37  +                $data[$key] = f($key);
    41     38               }
    42     39   
    43     40               $id = $membres->add($data);
    44     41   
    45     42               Utils::redirect('/admin/membres/fiche.php?id='.(int)$id);
    46     43           }
    47     44           catch (UserException $e)
    48     45           {
    49         -            $error = $e->getMessage();
           46  +            $form->addError($e->getMessage());
    50     47           }
    51     48       }
    52     49   }
    53     50   
    54     51   $tpl->assign('error', $error);
    55     52   $tpl->assign('passphrase', Utils::suggestPassword());
    56     53   $tpl->assign('champs', $champs->getAll());
    57     54   
    58     55   $tpl->assign('membres_cats', $cats->listSimple());
    59         -$tpl->assign('current_cat', Utils::post('id_categorie') ?: $config->get('categorie_membres'));
           56  +$tpl->assign('current_cat', f('id_categorie') ?: $config->get('categorie_membres'));
    60     57   
    61     58   $tpl->display('admin/membres/ajouter.tpl');

Modified src/www/admin/membres/modifier.php from [cc405b398e] to [7349c1a177].

    26     26       && ($user->droits->membres < Membres::DROIT_ADMIN))
    27     27   {
    28     28       throw new UserException("Seul un membre admin peut modifier un autre membre admin.");
    29     29   }
    30     30   
    31     31   $error = false;
    32     32   
    33         -if (!empty($_POST['save']))
           33  +if (f('save'))
    34     34   {
    35         -    if (!Utils::CSRF_check('edit_member_'.$id))
    36         -    {
    37         -        $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
    38         -    }
    39         -    elseif (Utils::post('passe') != Utils::post('repasse'))
    40         -    {
    41         -        $error = 'La vérification ne correspond pas au mot de passe.';
    42         -    }
    43         -    else
           35  +    $form->check('edit_member_' . $id, [
           36  +        'passe' => 'confirmed',
           37  +        // FIXME: ajouter les règles pour les champs membres
           38  +    ]);
           39  +
           40  +    if (!$form->hasErrors())
    44     41       {
    45     42           try {
    46     43               $data = [];
    47     44   
    48     45               foreach ($champs->getAll() as $key=>$config)
    49     46               {
    50         -                $data[$key] = Utils::post($key);
           47  +                $data[$key] = f($key);
    51     48               }
    52     49   
    53     50               if ($session->canAccess('membres', Membres::DROIT_ADMIN) && $user->id != $membre->id)
    54     51               {
    55         -                $data['id_categorie'] = Utils::post('id_categorie');
    56         -                $data['id'] = Utils::post('id');
           52  +                $data['id_categorie'] = f('id_categorie');
           53  +                $data['id'] = f('id');
    57     54               }
    58     55   
    59     56               $membres->edit($id, $data);
    60     57   
    61     58               if (isset($data['id']) && $data['id'] != $id)
    62     59               {
    63     60                   $id = (int)$data['id'];
    64     61               }
    65     62   
    66     63               Utils::redirect('/admin/membres/fiche.php?id='.(int)$id);
    67     64           }
    68     65           catch (UserException $e)
    69     66           {
    70         -            $error = $e->getMessage();
           67  +            $form->addError($e->getMessage());
    71     68           }
    72     69       }
    73     70   }
    74     71   
    75     72   $tpl->assign('error', $error);
    76     73   $tpl->assign('passphrase', Utils::suggestPassword());
    77     74   $tpl->assign('champs', $champs->getAll());
    78     75   
    79     76   $tpl->assign('membres_cats', $cats->listSimple());
    80         -$tpl->assign('current_cat', Utils::post('id_categorie') ?: $membre->id_categorie);
           77  +$tpl->assign('current_cat', f('id_categorie') ?: $membre->id_categorie);
    81     78   
    82     79   $tpl->assign('can_change_id', $session->canAccess('membres', Membres::DROIT_ADMIN));
    83     80   
    84     81   $tpl->assign('membre', $membre);
    85     82   
    86     83   $tpl->display('admin/membres/modifier.tpl');

Modified src/www/admin/password.php from [cc263171b2] to [8205464eee].

    12     12       if ($membres->recoverPasswordConfirm(qg('c')))
    13     13       {
    14     14           Utils::redirect('/admin/password.php?new_sent');
    15     15       }
    16     16   
    17     17       $error = 'EXPIRED';
    18     18   }
    19         -elseif (!empty($_POST['recover']))
           19  +elseif (f('recover'))
    20     20   {
    21         -    if (!Utils::CSRF_check('recoverPassword'))
    22         -    {
    23         -        $error = 'OTHER';
    24         -    }
    25         -    else
           21  +    $form->check('recoverPassword', [
           22  +        'id' => 'required'
           23  +    ]);
           24  +
           25  +    if (!$form->hasErrors())
    26     26       {
    27         -        if (trim(Utils::post('id')) && $membres->recoverPasswordCheck(Utils::post('id')))
           27  +        if (trim(f('id')) && $membres->recoverPasswordCheck(f('id')))
    28     28           {
    29     29               Utils::redirect('/admin/password.php?sent');
    30     30           }
    31     31   
    32         -        $error = 'MAIL';
           32  +        $form->addError('Ce membre n\'a pas d\'adresse email enregistrée ou n\'a pas le droit de se connecter.');
    33     33       }
    34     34   }
    35     35   
    36     36   if (!$error && null !== qg('sent'))
    37     37   {
    38     38       $tpl->assign('sent', true);
    39     39   }