-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmoncompte_autorisations.php
More file actions
executable file
·65 lines (59 loc) · 2.29 KB
/
moncompte_autorisations.php
File metadata and controls
executable file
·65 lines (59 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/**
* Plugin Mon Compte
* (c) 2015 Mist. GraphX
* Licence GNU/GPL
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
/*
* Un fichier d'autorisations permet de regrouper
* les fonctions d'autorisations de votre plugin
*/
// declaration vide pour ce pipeline.
function moncompte_autoriser(){}
/* Exemple
function autoriser_configurer_moncompte_dist($faire, $type, $id, $qui, $opt) {
// type est un objet (la plupart du temps) ou une chose.
// autoriser('configurer', '_moncompte') => $type = 'moncompte'
// au choix
return autoriser('webmestre', $type, $id, $qui, $opt); // seulement les webmestres
return autoriser('configurer', '', $id, $qui, $opt); // seulement les administrateurs complets
return $qui['statut'] == '0minirezo'; // seulement les administrateurs (même les restreints)
// ...
}
*/
/**
* Autoriser les utilisateurs à modifier leur profil
*
* On garde les autorisations par défaut pour les administrateurs et les rédacteurs
* Par contre on autorise les visiteurs (6forum) à modifier un profil:
* -* s'il sont eux même l'utilisateur à modifier
* -* s'ils ont le bon statut
* -* si on ne souhaite pas modifier le statut
*
* @param string $faire
* @param string $type
* @param int $id
* @param array $qui
* @param array $opt
*/
if (!function_exists('autoriser_auteur_modifier')) {
function autoriser_auteur_modifier($faire, $type, $id, $qui, $opt) {
// Admin ou redacteur => On utilise la fonction par défaut
if (in_array($qui['statut'], array('0minirezo', '1comite')))
return autoriser_auteur_modifier_dist($faire, $type, $id, $qui, $opt);
// Un utilisateur normal n'a jamais le droit de modifier son statut
// Ni les champs qui ne sont pas dans _fiche_mod
else if(isset($opt['champ'])){
return
!$opt['statut']
//AND (lire_config('inscription3/'.$opt['champ'].'_fiche_mod','off') == 'on')
AND $qui['statut'] == '6forum'
AND $id == $qui['id_auteur'];
}else
return
!$opt['statut']
AND $qui['statut'] == '6forum'
AND $id == $qui['id_auteur'];
}
}