source: spip-zone/_plugins_/orr/trunk/formulaires/editer_orr_autorisation.php @ 72168

Last change on this file since 72168 was 72168, checked in by tofulm@…, 7 years ago

Gestion des autorisations : ajout du statut : Tous les utilisateurs

File size: 4.1 KB
Line 
1<?php
2if (!defined('_ECRIRE_INC_VERSION')) return;
3
4function formulaires_editer_orr_autorisation_charger_dist($id_autorisation="",$redirect="",$associer_objet=""){
5    $valeurs = array(
6        "orr_statut"        => "",
7        "orr_grappe"        => "",
8        "orr_droit"         => "",
9        "orr_auteur"        => "",
10        "orr_choix_statut"  => "",
11       
12    );
13return $valeurs;
14}
15   
16function formulaires_editer_orr_autorisation_verifier_dist($id_autorisation="",$redirect="",$associer_objet=""){
17    $orr_statut        = _request('orr_statut');
18    $orr_grappe        = _request('orr_grappe');
19    $orr_auteur        = _request('orr_auteur');
20    $orr_droit         = _request('orr_droit');
21    $orr_choix_statut  = _request('orr_choix_statut');
22       
23    $erreurs = array();
24
25    //Il faut choisir entre statut et grappe
26        if (($orr_grappe) && ($orr_statut) && ($orr_auteur)) {
27            $erreurs['orr_choix_statut'] = "Il faut choisir 1 seul type d'utilisateur";
28            $erreurs['orr_grappe']       = "Il faut choisir 1 seul type d'utilisateur";
29            $erreurs['orr_auteur']       = "Il faut choisir 1 seul type d'utilisateur";
30        }
31    //Il faut choisir au moins 1 statut ou 1 grappe
32        if ((!$orr_grappe) && (!$orr_statut) && (!orr_auteur)) {
33            $erreurs['orr_choix_statut'] = "Il faut choisir au moins 1 statut ou 1 grappe";
34            $erreurs['orr_grappe']       = "Il faut choisir au moins 1 statut ou 1 grappe";
35            $erreurs['orr_grappe']       = "Il faut choisir au moins 1 statut ou 1 grappe";
36        }
37
38    //Il y a des erreurs
39    if (count($erreurs)) {
40        $erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';
41    }
42
43    return $erreurs;
44}
45
46function formulaires_editer_orr_autorisation_traiter_dist($id_autorisation="",$redirect="",$associer_objet=""){
47    $orr_statut        = _request('orr_statut');
48    $orr_grappe        = _request('orr_grappe');
49    $orr_auteur        = _request('orr_auteur');
50    $orr_droit         = _request('orr_droit');
51    $orr_choix_statut  = _request('orr_choix_statut');
52
53
54    // Détermination du type d'objet et du nom à afficher : orr_autorisation_nom
55$valeur_statuts=array("tous" => "Tous","6forum" => "Visiteur","1comite"=>"Rédacteur","0minirezo"=>"Administrateur");
56
57    if ($orr_statut == "statut"){
58        $type_objet="statut";
59        $autorisation_nom=$valeur_statuts[$orr_choix_statut];
60    }
61    if ($orr_statut == "grappe"){
62        $type_objet="grappe";
63        $autorisation_nom="Grappe n°$orr_grappe";
64    }
65    if ($orr_statut == "auteur") {
66        $type_objet="auteur";
67        $autorisation_nom = sql_getfetsel('nom', 'spip_auteurs', 'id_auteur=' . intval($orr_auteur));
68    }
69
70    //Détermination de la somme des droits
71    $somme_droit=0;
72foreach ($orr_droit as $key) {
73$somme_droit+=$key;
74}
75
76// Détermination de la valeur à afficher : orr_autorisation_valeur
77$valeur_droits=array("2"=>"V","4"=>"M","6"=>"V-M","8"=>"C","10"=>"V-C","12"=>"M-C","14"=>"V-M-C","16"=>"S","18"=>"V-S","20"=>"M-S","24"=>"C-S","26"=>"V-C-S","28"=>"M-C-S","30"=>"V-M-C-S");
78$autorisation_valeur=$valeur_droits[$somme_droit];
79
80
81list($nom_objet,$id_ressource)=explode("|",$associer_objet); 
82
83
84       //insertion en bdd
85include_spip('action/editer_objet');
86$objet="orr_autorisation";
87$id_objet = objet_inserer($objet);
88$set = array (
89    'orr_type_objet'          => "$type_objet",
90    'id_grappe'               => "$orr_grappe",
91    'orr_statut'              => "$orr_choix_statut",
92    'id_auteur'               => "$orr_auteur",
93    'orr_droit'               => "$somme_droit",
94    'orr_autorisation_nom'    => "$autorisation_nom",
95    'orr_autorisation_valeur' => "$autorisation_valeur"
96);
97
98objet_modifier($objet, $id_objet, $set);
99
100    // Lien entre l'autorisation et la ressource dans la table orr_autorisations_liens
101include_spip('action/editer_liens');
102objet_associer(array("orr_autorisation"=>$id_objet), array("orr_ressource"=>$id_ressource));
103
104    $retour = array();
105$retour['message_ok'] = "bravo:$autorisation_valeur ";
106$retour['redirect'] = "$redirect";
107    //$retour['editable'] = true;
108
109    return $retour;
110}
111?>
112
113
Note: See TracBrowser for help on using the repository browser.