Changeset 88411 in spip-zone


Ignore:
Timestamp:
Apr 1, 2015, 4:46:40 PM (4 years ago)
Author:
rastapopoulos@…
Message:

L'action creer_ou_renouveler n'est pas faite pour être lancé par une interface, avec un clic d'un humain. C'est plutôt dans un pipeline ou une tâche, et ça peut donc être avec le hit de n'importe quel visiteur. On s'assure donc que tous les droits sont bons.

Location:
_plugins_/abonnements/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/abonnements/trunk/abonnements_autorisations.php

    r68545 r88411  
    4747        return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
    4848}
     49
     50
    4951// -----------------
    5052// Objet abonnements
    51 
    52 
    5353
    5454
     
    7272        return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
    7373}
    74 
    75 ?>
  • _plugins_/abonnements/trunk/action/creer_ou_renouveler_abonnement.php

    r87948 r88411  
    99 * Si l'utilisateur n'a rien de cette offre, on crée un nouvel abonnement.
    1010 * Si l'utilisateur a toujours ou avait précédemment un abonnement de cette offre, on le renouvelle.
     11 *
     12 * On s'assure d'avoir les droits pendant les modifs
     13 * car ce n'est pas un humain avec des droits qui déclanche ça explicitement
    1114 *
    1215 * @param string|null $arg
     
    3639                        '0,1'
    3740                ))) {
     41                        autoriser_exception('modifier', 'abonnement', $id_abonnement, true);
    3842                        // On le renouvelle !
    3943                        $renouveler = charger_fonction('renouveler_abonnement', 'action/');
    40                         return $renouveler($id_abonnement);
     44                        $retour = $renouveler($id_abonnement);
     45                        autoriser_exception('modifier', 'abonnement', $id_abonnement, false);
     46                        return $retour;
    4147                }
    4248                // Sinon on en crée un nouveau
    4349                else {
    4450                        include_spip('action/editer_objet');
     51                        autoriser_exception('creer', 'abonnement', '', true);
    4552                        if ($id_abonnement = objet_inserer('abonnement')) {
     53                                autoriser_exception('creer', 'abonnement', '', false);
     54                                autoriser_exception('modifier', 'abonnement', $id_abonnement, true);
    4655                                $erreur = objet_modifier(
    4756                                        'abonnement', $id_abonnement,
     
    5160                                        )
    5261                                );
     62                                autoriser_exception('modifier', 'abonnement', $id_abonnement, false);
    5363                                return array($id_abonnement, $erreur);
    5464                        }
  • _plugins_/abonnements/trunk/paquet.xml

    r87948 r88411  
    22        prefix="abonnements"
    33        categorie="auteur"
    4         version="2.3.0"
     4        version="2.3.1"
    55        schema="2.1.0"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.