[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / plugins-dist / organiseur / organiseur_autoriser.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 /**
16 * Fonction vide pour charger ce fichier sans declencher de warning
17 * @return void
18 */
19 function organiseur_autoriser(){}
20
21 function autoriser_calendrier_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
22 if($GLOBALS['meta']['messagerie_agenda'] == 'oui')
23 return true;
24 return false;
25 }
26
27 function autoriser_messagerie_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
28 if($GLOBALS['meta']['messagerie_agenda'] == 'oui')
29 return true;
30 return false;
31 }
32
33 function autoriser_message_modifier_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
34 if (!intval($qui['id_auteur']))
35 return false;
36 $row = sql_fetsel('statut,type,id_auteur','spip_messages','id_message='.intval($id));
37 // on peut modifier ses penses betes ou ses messages brouillons
38 if ($row['id_auteur']==$qui['id_auteur'] AND ($row['statut']=='prepa' OR $row['type']=='pb'))
39 return true;
40 // on peut modifier les annonces si on est admin
41 if ($qui['statut']=='0minirezo' AND $row['type']=='affich')
42 return true;
43 return false;
44 }
45
46 function autoriser_message_instituer_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
47 // rediriger vers la bonne autorisation en cas de suppression
48 if ($opt['statut'] == 'poub')
49 return autoriser('supprimer','message',$id,$qui,$opt);
50 return autoriser('modifier','message',$id,$qui,$opt);
51 }
52
53 function autoriser_message_supprimer_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
54 // on peut supprimer un message que l'on peut modifier
55 if (autoriser('modifier','message',$id,$qui,$opt))
56 return true;
57 // mais on peut aussi supprimer un message envoye par soi
58 // si tous ses dest l'on supprime aussi
59 if (
60 $qui['id_auteur']
61 AND sql_countsel('spip_messages',"statut='publie' AND id_auteur=".intval($qui['id_auteur'])." AND id_message=".intval($id))
62 AND !sql_countsel('spip_auteurs_liens',"objet='message' AND id_objet=".intval($id)." AND vu!='poub' AND id_auteur!=".intval($qui['id_auteur']))
63 )
64 return true;
65 return false;
66 }
67
68 function autoriser_messagerecu_effacer_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
69 if (isset($opt['id_auteur']))
70 $id_auteur = $opt['id_auteur'];
71 else
72 $id_auteur = $qui['id_auteur'];
73 // seul le destinataire peut supprimer un message qui lui est destine
74 if (!intval($id_auteur) OR intval($id_auteur) != intval($qui['id_auteur']))
75 return false;
76 // rien d'autre a verifier?...
77 return true;
78 }
79
80 function autoriser_message_dater_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
81 return false;
82 }
83
84 function autoriser_envoyermessage_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
85 if (!($GLOBALS['meta']['messagerie_agenda'] == 'oui') OR !intval($qui['id_auteur']))
86 return false;
87 // on peut envoyer une annonce si on est admin
88 if (!($qui['statut']=='0minirezo') AND $type=='affich')
89 return false;
90 return true;
91 }
92
93 function autoriser_message_voir_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
94 if (!intval($qui['id_auteur']))
95 return false;
96 // message annonce ou message dont $qui est l'auteur : droit de le voir
97 if (sql_countsel('spip_messages','id_message='.intval($id).' AND (type=\'affich\' OR id_auteur='.intval($qui['id_auteur']).')'))
98 return true;
99 // message dont $qui est destinataire
100 if (sql_countsel('spip_auteurs_liens','objet=\'message\' AND id_objet='.intval($id)." AND vu!='poub' AND id_auteur=".intval($qui['id_auteur'])))
101 return true;
102
103 return false;
104 }
105