Changeset 57365 in spip-zone


Ignore:
Timestamp:
Jan 20, 2012, 9:14:04 AM (8 years ago)
Author:
marcimat@…
Message:

Correction suite à r56666 qui ne permettait plus de passer dans les fonctions autoriser_voirextra_dist() puisque le $faire ne valait plus 'voirextra' mais 'voirextra_champ' ... On deplace le nom du champ dans le tableau d'option de l'autorisation et ce sont les fonctions d'autorisation voirextra ou modifierextra qui appellent des fonctions d'autorisation plus précises si nécessaire.

Retour donc, de l'option de restrictions par branche ou secteur. (luca, shmuel)

Location:
_plugins_/champs_extras/core/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras/core/trunk/cextras_pipelines.php

    r56731 r57365  
    3131        foreach ($saisies as $cle=>$saisie) {
    3232                $id = isset($args['id']) ? $args['id'] : $args['id_objet'];
    33                 if (!autoriser($faire . 'extra_' . $saisie['options']['nom'], $quoi, $id, '', array(
     33                if (!autoriser($faire . 'extra', $quoi, $id, '', array(
    3434                        'type' => $quoi,
    3535                        'id_objet' => $id,
    3636                        'contexte' => $args['contexte'],
    3737                        'table' => table_objet_sql($quoi),
    38                         'saisie' => $saisie
     38                        'saisie' => $saisie,
     39                        'champ' => $saisie['options']['nom'],
    3940                ))) {
    4041                        // on n'est pas autorise
  • _plugins_/champs_extras/core/trunk/inc/cextras_autoriser.php

    r56933 r57365  
    8787/**
    8888  * Autorisation de voir un champ extra
    89   * autoriser('voirextra_prenom','auteur', $id_auteur);
     89  * autoriser('voirextra','auteur', $id_auteur,'',array('champ'=>'prenom', 'saisie'=>$saisie, ...));
    9090  *
    9191  * -> autoriser_auteur_voirextra_prenom_dist() ...
     
    9393function autoriser_voirextra_dist($faire, $type, $id, $qui, $opt){
    9494        if (isset($opt['saisie'])) {
     95                // tester des fonctions d'autorisations plus precises declarees
     96                if ($opt['champ']) {
     97                        $f = 'autoriser_' . $opt['table'] . '_voirextra_' . $opt['champ'];
     98                        if (function_exists($f) OR function_exists($f .= '_dist')) {
     99                                return $f($faire, $type, $id, $qui, $opt);
     100                        }
     101                }
    95102                return champs_extras_restrictions($opt['saisie'], substr($faire, 0, -5), $opt['table'], $id, $qui, $opt);
    96103        }
     
    100107/**
    101108  * Autorisation de modifier un champ extra
    102   * autoriser('modifierextra_prenom','auteur', $id_auteur);
     109  * autoriser('modifierextra','auteur', $id_auteur,'',array('champ'=>'prenom', 'saisie'=>$saisie, ...));
    103110  *
    104111  * -> autoriser_auteur_modifierextra_prenom_dist()
     
    106113function autoriser_modifierextra_dist($faire, $type, $id, $qui, $opt){
    107114        if (isset($opt['saisie'])) {
     115                // tester des fonctions d'autorisations plus precises declarees
     116                if ($opt['champ']) {
     117                        $f = 'autoriser_' . $opt['table'] . '_modifierextra_' . $opt['champ'];
     118                        if (function_exists($f) OR function_exists($f .= '_dist')) {
     119                                return $f($faire, $type, $id, $qui, $opt);
     120                        }
     121                }
    108122                return champs_extras_restrictions($opt['saisie'], substr($faire, 0, -5), $opt['table'], $id, $qui, $opt);
    109123        }
  • _plugins_/champs_extras/core/trunk/paquet.xml

    r56933 r57365  
    22        prefix="cextras"
    33        categorie="outil"
    4         version="3.0.2"
     4        version="3.0.3"
    55        etat="test"
    66        compatibilite="[3.0.0-beta2;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.