source: spip-zone/_plugins_/info_sites/trunk/info_sites_autorisations.php

Last change on this file was 108122, checked in by teddy.spip@…, 18 months ago
  • Ne pas supprimer la config déjà présente pour le menu ;
  • Les liaisons contacts et organisations ont changé. Il faut prendre en compte cet aspect ;
  • Compatibilité SPIP 3.2 ;
  • Nouvelle fonction : avoir des références de projets.

Cela permet de vérifier rapidement si tous nos projets gérés par le service (ou l'entreprise) ont bien une fiche de projet. Si ce n'est pas le cas, on peut créer la fiche rapidement avec les informations réduites au minimum : Nom du projet, l'url du projet et l'organisation associée. Si aucun projet n'est référencé avec l'url_site, alors on insère une entrée dans spip_projets, on lie ce nouveau projet à l'organisation (créée si besoin) et l'auteur lançant l'action est ajouté en tant que chef de projets.

  • Nouvelle fonction : lister tous les projets dans un tableau et afficher si un site de projet lui est associé pour chaque environnement attendu (et référencé dans la base).
  • Up de y.
  • Property svn:eol-style set to LF
  • Property svn:executable set to *
File size: 42.9 KB
Line 
1<?php
2/**
3 * Définit les autorisations du plugin Info Sites
4 *
5 * @plugin     Info Sites
6 * @copyright  2014-2016
7 * @author     Teddy Payet
8 * @licence    GNU/GPL
9 * @package    SPIP\Info_Sites\Autorisations
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15include_spip('inc/autoriser');
16
17/**
18 * Fonction d'appel pour le pipeline
19 *
20 * @pipeline autoriser
21 */
22function info_sites_autoriser() {
23}
24
25/**
26 * Autorisation d'accès è l'espace privé ?
27 * Surcharge de autoriser_ecrire_dist() > ecrire/inc/autoriser.php
28 *
29 * @param  string $faire Action demandée
30 * @param  string $type  Type d'objet sur lequel appliquer l'action
31 * @param  int $id       Identifiant de l'objet
32 * @param  array $qui    Description de l'auteur demandant l'autorisation
33 * @param  array $opt    Options de cette autorisation
34 *
35 * @return bool          true s'il a le droit, false sinon
36 **/
37function autoriser_ecrire($faire, $type, $id, $qui, $opt) {
38        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
39}
40
41/**
42 * Autorisation de créer un contenu
43 *
44 * Accordée par defaut ceux qui accèdent à l'espace privé,
45 * peut-être surchargée au cas par cas
46 *
47 * @param  string $faire Action demandée
48 * @param  string $type  Type d'objet sur lequel appliquer l'action
49 * @param  int $id       Identifiant de l'objet
50 * @param  array $qui    Description de l'auteur demandant l'autorisation
51 * @param  array $opt    Options de cette autorisation
52 *
53 * @return bool          true s'il a le droit, false sinon
54 **/
55function autoriser_creer($faire, $type, $id, $qui, $opt) {
56        return autoriser('infositescreer', $type, $id, $qui, $opt);
57}
58
59/**
60 * Autorisation de joindre un document
61 *
62 * On ne peut joindre un document qu'a un objet qu'on a le droit d'editer
63 * mais il faut prevoir le cas d'une *creation* par un redacteur, qui correspond
64 * au hack id_objet = 0-id_auteur
65 *
66 * Il faut aussi que les documents aient ete actives sur les objets concernes
67 * ou que ce soit un article, sur lequel on peut toujours uploader des images
68 *
69 * @param  string $faire Action demandée
70 * @param  string $type  Type d'objet sur lequel appliquer l'action
71 * @param  int $id       Identifiant de l'objet
72 * @param  array $qui    Description de l'auteur demandant l'autorisation
73 * @param  array $opt    Options de cette autorisation
74 *
75 * @return bool          true s'il a le droit, false sinon
76 */
77function autoriser_joindredocument($faire, $type, $id, $qui, $opt) {
78        include_spip('inc/config');
79
80        // objet autorisé en upload ?
81        if ($type == 'article' or in_array(table_objet_sql($type), explode(',', lire_config('documents_objets', '')))) {
82                // sur un objet existant
83                if ($id > 0) {
84                        /* On indique directement l'utilisation de l'autorisation infositesmodifier
85                         * pour aller plus vite sur le formulaire d'ajout de document.
86                         * Il faudrait voir peut-être par la suite s'il n'y a pas une autre source de lenteur.
87                         */
88                        return autoriser('infositesmodifier', $type, $id, $qui, $opt);
89                } // sur un nouvel objet
90                elseif ($id < 0 and (abs($id) == $qui['id_auteur'])) {
91                        return autoriser('ecrire', $type, $id, $qui, $opt);
92                }
93        }
94
95        return false;
96}
97
98// *****************************
99// Autorisation par défaut
100// *****************************
101
102/**
103 * Autorisation de créer
104 *
105 * @param  string $faire Action demandée
106 * @param  string $type  Type d'objet sur lequel appliquer l'action
107 * @param  int $id       Identifiant de l'objet
108 * @param  array $qui    Description de l'auteur demandant l'autorisation
109 * @param  array $opt    Options de cette autorisation
110 *
111 * @return bool          true s'il a le droit, false sinon
112 **/
113function autoriser_infositescreer_dist($faire, $type, $id, $qui, $opt) {
114        return in_array($qui['statut'], array(
115                '0minirezo',
116                '1comite',
117        ));
118}
119
120/**
121 * Autorisation de voir
122 *
123 * @param  string $faire Action demandée
124 * @param  string $type  Type d'objet sur lequel appliquer l'action
125 * @param  int $id       Identifiant de l'objet
126 * @param  array $qui    Description de l'auteur demandant l'autorisation
127 * @param  array $opt    Options de cette autorisation
128 *
129 * @return bool          true s'il a le droit, false sinon
130 **/
131function autoriser_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
132        return in_array($qui['statut'], array(
133                '0minirezo',
134                '1comite',
135        ));
136}
137
138/**
139 * Autorisation de modifier
140 *
141 * @param  string $faire Action demandée
142 * @param  string $type  Type d'objet sur lequel appliquer l'action
143 * @param  int $id       Identifiant de l'objet
144 * @param  array $qui    Description de l'auteur demandant l'autorisation
145 * @param  array $opt    Options de cette autorisation
146 *
147 * @return bool          true s'il a le droit, false sinon
148 **/
149function autoriser_infositesmodifier_dist($faire, $type, $id, $qui, $opt) {
150
151        if ($type === 'auteur') {
152                include_spip('inc/autoriser');
153
154                return autoriser_auteur_modifier_dist($faire, $type, $id, $qui, $opt);
155        }
156
157        return in_array($qui['statut'], array(
158                '0minirezo',
159                '1comite',
160        ));
161}
162
163/**
164 * Autorisation de supprimer
165 *
166 * @param  string $faire Action demandée
167 * @param  string $type  Type d'objet sur lequel appliquer l'action
168 * @param  int $id       Identifiant de l'objet
169 * @param  array $qui    Description de l'auteur demandant l'autorisation
170 * @param  array $opt    Options de cette autorisation
171 *
172 * @return bool          true s'il a le droit, false sinon
173 **/
174function autoriser_infositessupprimer_dist($faire, $type, $id, $qui, $opt) {
175        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
176}
177
178/**
179 * Autorisation de mise à jour
180 *
181 * @param  string $faire Action demandée
182 * @param  string $type  Type d'objet sur lequel appliquer l'action
183 * @param  int $id       Identifiant de l'objet
184 * @param  array $qui    Description de l'auteur demandant l'autorisation
185 * @param  array $opt    Options de cette autorisation
186 *
187 * @return bool          true s'il a le droit, false sinon
188 **/
189function autoriser_infositesmaj_dist($faire, $type, $id, $qui, $opt) {
190        return in_array($qui['statut'], array(
191                '0minirezo',
192                '1comite',
193        ));
194}
195
196/**
197 * Autorisation de changer le statut
198 *
199 * @param  string $faire Action demandée
200 * @param  string $type  Type d'objet sur lequel appliquer l'action
201 * @param  int $id       Identifiant de l'objet
202 * @param  array $qui    Description de l'auteur demandant l'autorisation
203 * @param  array $opt    Options de cette autorisation
204 *
205 * @return bool          true s'il a le droit, false sinon
206 **/
207function autoriser_infositesinstituer_dist($faire, $type, $id, $qui, $opt) {
208        return in_array($qui['statut'], array(
209                '0minirezo',
210                '1comite',
211        ));
212}
213
214/**
215 * Autorisation d'association
216 *
217 * @param  string $faire Action demandée
218 * @param  string $type  Type d'objet sur lequel appliquer l'action
219 * @param  int $id       Identifiant de l'objet
220 * @param  array $qui    Description de l'auteur demandant l'autorisation
221 * @param  array $opt    Options de cette autorisation
222 *
223 * @return bool          true s'il a le droit, false sinon
224 **/
225function autoriser_infositesassocier_dist($faire, $type, $id, $qui, $opt) {
226        if (is_array($opt) and isset($opt['projet'])) {
227                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
228
229                return $confirm;
230        }
231
232        return in_array($qui['statut'], array(
233                '0minirezo',
234                '1comite',
235        ));
236}
237
238// *****************************
239// Auteurs
240// *****************************
241
242/**
243 * Autorisation d'association (auteurs)
244 *
245 * @param  string $faire Action demandée
246 * @param  string $type  Type d'objet sur lequel appliquer l'action
247 * @param  int $id       Identifiant de l'objet
248 * @param  array $qui    Description de l'auteur demandant l'autorisation
249 * @param  array $opt    Options de cette autorisation
250 *
251 * @return bool          true s'il a le droit, false sinon
252 **/
253function autoriser_auteurs_infositesassocier_dist($faire, $type, $id, $qui, $opt) {
254        if (is_array($opt) and isset($opt['projet'])) {
255                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
256
257                return $confirm;
258        }
259
260        return in_array($qui['statut'], array(
261                '0minirezo',
262                '1comite',
263        ));
264}
265
266// *****************************
267// Les sites de projets (projetssite)
268// *****************************
269
270/**
271 * Surcharge d'autorisation de créer (projetssite)
272 *
273 * @param  string $faire Action demandée
274 * @param  string $type  Type d'objet sur lequel appliquer l'action
275 * @param  int $id       Identifiant de l'objet
276 * @param  array $qui    Description de l'auteur demandant l'autorisation
277 * @param  array $opt    Options de cette autorisation
278 *
279 * @return bool          true s'il a le droit, false sinon
280 **/
281function autoriser_projetssite_creer($faire, $type, $id, $qui, $opt) {
282        return autoriser('infositescreer', 'projetssite', $id, $qui, $opt);
283}
284
285/**
286 * Autorisation de créer (projetssite)
287 *
288 * @param  string $faire Action demandée
289 * @param  string $type  Type d'objet sur lequel appliquer l'action
290 * @param  int $id       Identifiant de l'objet
291 * @param  array $qui    Description de l'auteur demandant l'autorisation
292 * @param  array $opt    Options de cette autorisation
293 *
294 * @return bool          true s'il a le droit, false sinon
295 **/
296function autoriser_projetssite_infositescreer_dist($faire, $type, $id, $qui, $opt) {
297
298        if (is_array($opt) and isset($opt['projet'])) {
299                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
300
301                return $confirm;
302        }
303
304        return in_array($qui['statut'], array(
305                '0minirezo',
306                '1comite',
307        ));
308}
309
310/**
311 * Autorisation de voir (projetssite)
312 *
313 * @param  string $faire Action demandée
314 * @param  string $type  Type d'objet sur lequel appliquer l'action
315 * @param  int $id       Identifiant de l'objet
316 * @param  array $qui    Description de l'auteur demandant l'autorisation
317 * @param  array $opt    Options de cette autorisation
318 *
319 * @return bool          true s'il a le droit, false sinon
320 **/
321function autoriser_projetssite_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
322        return true;
323}
324
325/**
326 * Surcharge d'autorisation de modifier (projetssite)
327 *
328 * @param  string $faire Action demandée
329 * @param  string $type  Type d'objet sur lequel appliquer l'action
330 * @param  int $id       Identifiant de l'objet
331 * @param  array $qui    Description de l'auteur demandant l'autorisation
332 * @param  array $opt    Options de cette autorisation
333 *
334 * @return bool          true s'il a le droit, false sinon
335 **/
336function autoriser_projetssite_modifier($faire, $type, $id, $qui, $opt) {
337        return autoriser('infositesmodifier', 'projetssite', $id, $qui, $opt);
338}
339
340/**
341 * Autorisation de modifier (projetssite)
342 *
343 * @param  string $faire Action demandée
344 * @param  string $type  Type d'objet sur lequel appliquer l'action
345 * @param  int $id       Identifiant de l'objet
346 * @param  array $qui    Description de l'auteur demandant l'autorisation
347 * @param  array $opt    Options de cette autorisation
348 *
349 * @return bool          true s'il a le droit, false sinon
350 **/
351function autoriser_projetssite_infositesmodifier_dist($faire, $type, $id, $qui, $opt) {
352        if (is_array($opt) and isset($opt['projet'])) {
353                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
354
355                return $confirm;
356        }
357
358        return in_array($qui['statut'], array(
359                '0minirezo',
360                '1comite',
361        ));
362}
363
364/**
365 * Autorisation de supprimer (projetssite)
366 *
367 * @param  string $faire Action demandée
368 * @param  string $type  Type d'objet sur lequel appliquer l'action
369 * @param  int $id       Identifiant de l'objet
370 * @param  array $qui    Description de l'auteur demandant l'autorisation
371 * @param  array $opt    Options de cette autorisation
372 *
373 * @return bool          true s'il a le droit, false sinon
374 **/
375function autoriser_projetssite_infositessupprimer_dist($faire, $type, $id, $qui, $opt) {
376        if (is_array($opt) and isset($opt['projet'])) {
377                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
378
379                return $confirm;
380        }
381
382        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
383}
384
385/**
386 * Autorisation de mise à jour (projetssite)
387 *
388 * @param  string $faire Action demandée
389 * @param  string $type  Type d'objet sur lequel appliquer l'action
390 * @param  int $id       Identifiant de l'objet
391 * @param  array $qui    Description de l'auteur demandant l'autorisation
392 * @param  array $opt    Options de cette autorisation
393 *
394 * @return bool          true s'il a le droit, false sinon
395 **/
396function autoriser_projetssite_infositesmaj_dist($faire, $type, $id, $qui, $opt) {
397        if (is_array($opt) and isset($opt['projet'])) {
398                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
399
400                return $confirm;
401        }
402
403        return in_array($qui['statut'], array(
404                '0minirezo',
405                '1comite',
406        ));
407}
408
409/**
410 * Surcharge d'autorisation d'association (projetssites)
411 *
412 * @param  string $faire Action demandée
413 * @param  string $type  Type d'objet sur lequel appliquer l'action
414 * @param  int $id       Identifiant de l'objet
415 * @param  array $qui    Description de l'auteur demandant l'autorisation
416 * @param  array $opt    Options de cette autorisation
417 *
418 * @return bool          true s'il a le droit, false sinon
419 **/
420function autoriser_associerprojets_sites($faire, $type, $id, $qui, $opt) {
421        return autoriser('infositesassocier', 'projetssites', $id, $qui, $opt);
422}
423
424/**
425 * Autorisation d'association (projetssite)
426 *
427 * @param  string $faire Action demandée
428 * @param  string $type  Type d'objet sur lequel appliquer l'action
429 * @param  int $id       Identifiant de l'objet
430 * @param  array $qui    Description de l'auteur demandant l'autorisation
431 * @param  array $opt    Options de cette autorisation
432 *
433 * @return bool          true s'il a le droit, false sinon
434 **/
435function autoriser_projetssites_infositesassocier_dist($faire, $type, $id, $qui, $opt) {
436        if (is_array($opt) and isset($opt['projet'])) {
437                $confirm = confirmer_roles_auteurs_projets($qui, $opt['projet']);
438
439                return $confirm;
440        }
441
442        return in_array($qui['statut'], array(
443                '0minirezo',
444                '1comite',
445        ));
446}
447
448/**
449 * Autorisation de voir les données sensibles (projetssite)
450 *
451 * @param  string $faire Action demandée
452 * @param  string $type  Type d'objet sur lequel appliquer l'action
453 * @param  int $id       Identifiant de l'objet
454 * @param  array $qui    Description de l'auteur demandant l'autorisation
455 * @param  array $opt    Options de cette autorisation
456 *
457 * @return bool          true s'il a le droit, false sinon
458 **/
459function autoriser_projetssitesecurite_voir($faire, $type, $id, $qui, $opt) {
460        include_spip('base/abstract_sql');
461        $auteurs = sql_fetsel("role", "spip_auteurs_liens",
462                "objet='projet' AND id_objet IN (SELECT id_objet FROM spip_projets_sites_liens WHERE objet='projet' AND id_projets_site=" . $id . ") AND id_auteur=" . $qui['id_auteur']);
463
464        if (isset($auteurs['role'])) {
465                // Pour le moment, quelque soit le rôle de l'auteur, il peut voir les éléments sécurisés
466                // En effet, l'auteur a été ajouté au projet du site, donc, il fait parti de l'équipe.
467                return true;
468        }
469
470        // Si l'auteur ne fait pas parti de l'équipe, on prend en compte son statut.
471        return $qui['statut'] == '0minirezo';
472}
473
474// *****************************
475// Les projets
476// *****************************
477
478/**
479 * Surcharge d'autorisation de créer (projet)
480 *
481 * @param  string $faire Action demandée
482 * @param  string $type  Type d'objet sur lequel appliquer l'action
483 * @param  int $id       Identifiant de l'objet
484 * @param  array $qui    Description de l'auteur demandant l'autorisation
485 * @param  array $opt    Options de cette autorisation
486 *
487 * @return bool          true s'il a le droit, false sinon
488 **/
489function autoriser_projet_creer($faire, $type, $id, $qui, $opt) {
490        return autoriser('infositescreer', 'projet', $id, $qui, $opt);
491}
492
493/**
494 * Surcharge d'autorisation de modifier (projet)
495 *
496 * @param  string $faire Action demandée
497 * @param  string $type  Type d'objet sur lequel appliquer l'action
498 * @param  int $id       Identifiant de l'objet
499 * @param  array $qui    Description de l'auteur demandant l'autorisation
500 * @param  array $opt    Options de cette autorisation
501 *
502 * @return bool          true s'il a le droit, false sinon
503 **/
504function autoriser_projet_modifier($faire, $type, $id, $qui, $opt) {
505        return autoriser('infositesmodifier', 'projet', $id, $qui, $opt);
506}
507
508/**
509 * Autorisation de créer (projet)
510 *
511 * @param  string $faire Action demandée
512 * @param  string $type  Type d'objet sur lequel appliquer l'action
513 * @param  int $id       Identifiant de l'objet
514 * @param  array $qui    Description de l'auteur demandant l'autorisation
515 * @param  array $opt    Options de cette autorisation
516 *
517 * @return bool          true s'il a le droit, false sinon
518 **/
519function autoriser_projet_infositescreer_dist($faire, $type, $id, $qui, $opt) {
520        return in_array($qui['statut'], array(
521                '0minirezo',
522                '1comite',
523        ));
524}
525
526/**
527 * Autorisation de voir (projet)
528 *
529 * @param  string $faire Action demandée
530 * @param  string $type  Type d'objet sur lequel appliquer l'action
531 * @param  int $id       Identifiant de l'objet
532 * @param  array $qui    Description de l'auteur demandant l'autorisation
533 * @param  array $opt    Options de cette autorisation
534 *
535 * @return bool          true s'il a le droit, false sinon
536 **/
537function autoriser_projet_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
538        return true;
539}
540
541/**
542 * Autorisation de modifier (projet)
543 *
544 * @param  string $faire Action demandée
545 * @param  string $type  Type d'objet sur lequel appliquer l'action
546 * @param  int $id       Identifiant de l'objet
547 * @param  array $qui    Description de l'auteur demandant l'autorisation
548 * @param  array $opt    Options de cette autorisation
549 *
550 * @return bool          true s'il a le droit, false sinon
551 **/
552function autoriser_projet_infositesmodifier_dist($faire, $type, $id, $qui, $opt) {
553
554        if (in_array($qui['statut'], array('0minirezo',))) {
555                return true;
556        }
557
558        return confirmer_roles_auteurs_projets($qui, $id);
559}
560
561/**
562 * Autorisation de supprimer (projet)
563 *
564 * @param  string $faire Action demandée
565 * @param  string $type  Type d'objet sur lequel appliquer l'action
566 * @param  int $id       Identifiant de l'objet
567 * @param  array $qui    Description de l'auteur demandant l'autorisation
568 * @param  array $opt    Options de cette autorisation
569 *
570 * @return bool          true s'il a le droit, false sinon
571 **/
572function autoriser_projet_infositessupprimer_dist($faire, $type, $id, $qui, $opt) {
573        return $qui['statut'] == '0minirezo' and !$qui['restreint'];
574}
575
576/**
577 * Autorisation de mise à jour (projet)
578 *
579 * @param  string $faire Action demandée
580 * @param  string $type  Type d'objet sur lequel appliquer l'action
581 * @param  int $id       Identifiant de l'objet
582 * @param  array $qui    Description de l'auteur demandant l'autorisation
583 * @param  array $opt    Options de cette autorisation
584 *
585 * @return bool          true s'il a le droit, false sinon
586 **/
587function autoriser_projet_infositesmaj_dist($faire, $type, $id, $qui, $opt) {
588        return in_array($qui['statut'], array(
589                '0minirezo',
590                '1comite',
591        ));
592}
593
594/**
595 * Surcharge d'autorisation d'association (projet)
596 *
597 * @param  string $faire Action demandée
598 * @param  string $type  Type d'objet sur lequel appliquer l'action
599 * @param  int $id       Identifiant de l'objet
600 * @param  array $qui    Description de l'auteur demandant l'autorisation
601 * @param  array $opt    Options de cette autorisation
602 *
603 * @return bool          true s'il a le droit, false sinon
604 **/
605function autoriser_associerprojets($faire, $type, $id, $qui, $opt) {
606        return autoriser('infositesassocier', 'projets', $id, $qui, $opt);
607}
608
609/**
610 * Autorisation d'association (projet)
611 *
612 * @param  string $faire Action demandée
613 * @param  string $type  Type d'objet sur lequel appliquer l'action
614 * @param  int $id       Identifiant de l'objet
615 * @param  array $qui    Description de l'auteur demandant l'autorisation
616 * @param  array $opt    Options de cette autorisation
617 *
618 * @return bool          true s'il a le droit, false sinon
619 **/
620function autoriser_projets_infositesassocier_dist($faire, $type, $id, $qui, $opt) {
621        return in_array($qui['statut'], array(
622                '0minirezo',
623                '1comite',
624        ));
625}
626
627// *****************************
628// Les cadres de projets
629// *****************************
630
631/**
632 * Autorisation de voir (projetscadre)
633 *
634 * @param  string $faire Action demandée
635 * @param  string $type  Type d'objet sur lequel appliquer l'action
636 * @param  int $id       Identifiant de l'objet
637 * @param  array $qui    Description de l'auteur demandant l'autorisation
638 * @param  array $opt    Options de cette autorisation
639 *
640 * @return bool          true s'il a le droit, false sinon
641 **/
642function autoriser_projetscadre_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
643        return true;
644}
645
646/**
647 * Surcharge d'autorisation d'association (projetscadres)
648 *
649 * @param  string $faire Action demandée
650 * @param  string $type  Type d'objet sur lequel appliquer l'action
651 * @param  int $id       Identifiant de l'objet
652 * @param  array $qui    Description de l'auteur demandant l'autorisation
653 * @param  array $opt    Options de cette autorisation
654 *
655 * @return bool          true s'il a le droit, false sinon
656 **/
657function autoriser_associerprojets_cadres($faire, $type, $id, $qui, $opt) {
658        return autoriser('infositesassocier', 'projetscadres', $id, $qui, $opt);
659}
660
661/**
662 * Autorisation de creer un cadre de projet
663 *
664 * @param  string $faire Action demandée
665 * @param  string $type  Type d'objet sur lequel appliquer l'action
666 * @param  int $id       Identifiant de l'objet
667 * @param  array $qui    Description de l'auteur demandant l'autorisation
668 * @param  array $opt    Options de cette autorisation
669 *
670 * @return bool          true s'il a le droit, false sinon
671 **/
672function autoriser_projetscadre_creer($faire, $type, $id, $qui, $opt) {
673        return autoriser('infositescreer', 'projetscadre', $id, $qui, $opt);
674}
675
676/**
677 * Autorisation de modifier une cadre de projet
678 *
679 * @param  string $faire Action demandée
680 * @param  string $type  Type d'objet sur lequel appliquer l'action
681 * @param  int $id       Identifiant de l'objet
682 * @param  array $qui    Description de l'auteur demandant l'autorisation
683 * @param  array $opt    Options de cette autorisation
684 *
685 * @return bool          true s'il a le droit, false sinon
686 **/
687function autoriser_projetscadre_modifier($faire, $type, $id, $qui, $opt) {
688        return autoriser('infositesmodifier', 'projetscadre', $id, $qui, $opt);
689}
690
691/**
692 * Autorisation de suppression d'un cadre de projet
693 *
694 * @param  string $faire Action demandée
695 * @param  string $type  Type d'objet sur lequel appliquer l'action
696 * @param  int $id       Identifiant de l'objet
697 * @param  array $qui    Description de l'auteur demandant l'autorisation
698 * @param  array $opt    Options de cette autorisation
699 *
700 * @return bool          true s'il a le droit, false sinon
701 **/
702function autoriser_projetscadre_supprimer($faire, $type, $id, $qui, $opt) {
703        return autoriser('infositessupprimer', 'projetscadre', $id, $qui, $opt);
704}
705
706// *****************************
707// Les organisations
708// *****************************
709
710/**
711 * Surcharge d'autorisation d'association (organisations)
712 *
713 * @param  string $faire Action demandée
714 * @param  string $type  Type d'objet sur lequel appliquer l'action
715 * @param  int $id       Identifiant de l'objet
716 * @param  array $qui    Description de l'auteur demandant l'autorisation
717 * @param  array $opt    Options de cette autorisation
718 *
719 * @return bool          true s'il a le droit, false sinon
720 **/
721function autoriser_associerorganisations($faire, $type, $id, $qui, $opt) {
722        return autoriser('infositesassocier', 'organisations', $id, $qui, $opt);
723}
724
725/**
726 * Autorisation de creer une organisation
727 *
728 * @param  string $faire Action demandée
729 * @param  string $type  Type d'objet sur lequel appliquer l'action
730 * @param  int $id       Identifiant de l'objet
731 * @param  array $qui    Description de l'auteur demandant l'autorisation
732 * @param  array $opt    Options de cette autorisation
733 *
734 * @return bool          true s'il a le droit, false sinon
735 **/
736function autoriser_organisation_creer($faire, $type, $id, $qui, $opt) {
737        return autoriser('infositescreer', 'organisation', $id, $qui, $opt);
738}
739
740/**
741 * Autorisation de modifier une organisation
742 *
743 * @param  string $faire Action demandée
744 * @param  string $type  Type d'objet sur lequel appliquer l'action
745 * @param  int $id       Identifiant de l'objet
746 * @param  array $qui    Description de l'auteur demandant l'autorisation
747 * @param  array $opt    Options de cette autorisation
748 *
749 * @return bool          true s'il a le droit, false sinon
750 **/
751function autoriser_organisation_modifier($faire, $type, $id, $qui, $opt) {
752        return autoriser('infositesmodifier', 'organisation', $id, $qui, $opt);
753}
754
755/**
756 * Autorisation de suppression d'une organisation
757 *
758 * @param  string $faire Action demandée
759 * @param  string $type  Type d'objet sur lequel appliquer l'action
760 * @param  int $id       Identifiant de l'objet
761 * @param  array $qui    Description de l'auteur demandant l'autorisation
762 * @param  array $opt    Options de cette autorisation
763 *
764 * @return bool          true s'il a le droit, false sinon
765 **/
766function autoriser_organisation_supprimer($faire, $type, $id, $qui, $opt) {
767        return autoriser('infositessupprimer', 'organisation', $id, $qui, $opt);
768}
769
770/**
771 * Autorisation de voir (organisation)
772 *
773 * @param  string $faire Action demandée
774 * @param  string $type  Type d'objet sur lequel appliquer l'action
775 * @param  int $id       Identifiant de l'objet
776 * @param  array $qui    Description de l'auteur demandant l'autorisation
777 * @param  array $opt    Options de cette autorisation
778 *
779 * @return bool          true s'il a le droit, false sinon
780 **/
781function autoriser_organisation_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
782        return true;
783}
784
785/**
786 * Autorisation de voir (organisations)
787 *
788 * @param  string $faire Action demandée
789 * @param  string $type  Type d'objet sur lequel appliquer l'action
790 * @param  int $id       Identifiant de l'objet
791 * @param  array $qui    Description de l'auteur demandant l'autorisation
792 * @param  array $opt    Options de cette autorisation
793 *
794 * @return bool          true s'il a le droit, false sinon
795 **/
796function autoriser_organisations_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
797        return true;
798}
799
800// *****************************
801// Les contacts
802// *****************************
803
804/**
805 * Surcharge d'autorisation d'association (contact)
806 *
807 * @param  string $faire Action demandée
808 * @param  string $type  Type d'objet sur lequel appliquer l'action
809 * @param  int $id       Identifiant de l'objet
810 * @param  array $qui    Description de l'auteur demandant l'autorisation
811 * @param  array $opt    Options de cette autorisation
812 *
813 * @return bool          true s'il a le droit, false sinon
814 **/
815function autoriser_associercontacts($faire, $type, $id, $qui, $opt) {
816        return autoriser('infositesassocier', 'contacts', $id, $qui, $opt);
817}
818
819/**
820 * Autorisation de creer une contact
821 *
822 * @param  string $faire Action demandée
823 * @param  string $type  Type d'objet sur lequel appliquer l'action
824 * @param  int $id       Identifiant de l'objet
825 * @param  array $qui    Description de l'auteur demandant l'autorisation
826 * @param  array $opt    Options de cette autorisation
827 *
828 * @return bool          true s'il a le droit, false sinon
829 **/
830function autoriser_contact_creer($faire, $type, $id, $qui, $opt) {
831        return autoriser('infositescreer', 'contact', $id, $qui, $opt);
832}
833
834/**
835 * Autorisation de modifier une contact
836 *
837 * @param  string $faire Action demandée
838 * @param  string $type  Type d'objet sur lequel appliquer l'action
839 * @param  int $id       Identifiant de l'objet
840 * @param  array $qui    Description de l'auteur demandant l'autorisation
841 * @param  array $opt    Options de cette autorisation
842 *
843 * @return bool          true s'il a le droit, false sinon
844 **/
845function autoriser_contact_modifier($faire, $type, $id, $qui, $opt) {
846        return autoriser('infositesmodifier', 'contact', $id, $qui, $opt);
847}
848
849/**
850 * Autorisation de suppression d'une contact
851 *
852 * @param  string $faire Action demandée
853 * @param  string $type  Type d'objet sur lequel appliquer l'action
854 * @param  int $id       Identifiant de l'objet
855 * @param  array $qui    Description de l'auteur demandant l'autorisation
856 * @param  array $opt    Options de cette autorisation
857 *
858 * @return bool          true s'il a le droit, false sinon
859 **/
860function autoriser_contact_supprimer($faire, $type, $id, $qui, $opt) {
861        return autoriser('infositessupprimer', 'contact', $id, $qui, $opt);
862}
863
864/**
865 * Autorisation de modifier une contact (infositesmodifier)
866 *
867 * @param  string $faire Action demandée
868 * @param  string $type  Type d'objet sur lequel appliquer l'action
869 * @param  int $id       Identifiant de l'objet
870 * @param  array $qui    Description de l'auteur demandant l'autorisation
871 * @param  array $opt    Options de cette autorisation
872 *
873 * @return bool          true s'il a le droit, false sinon
874 **/
875function autoriser_contact_infositesmodifier_dist($faire, $type, $id, $qui, $opt) {
876        return in_array($qui['statut'], array(
877                        '0minirezo',
878                        '1comite',
879                )) or (
880                        $id_auteur = sql_getfetsel('id_auteur', 'spip_contacts', 'id_contact = ' . intval($id))
881                        and $id_auteur > 0
882                        and $id_auteur == $qui['id_auteur']
883                );
884}
885
886/**
887 * Autorisation de suppression d'une contact (infositessupprimer)
888 *
889 * @param  string $faire Action demandée
890 * @param  string $type  Type d'objet sur lequel appliquer l'action
891 * @param  int $id       Identifiant de l'objet
892 * @param  array $qui    Description de l'auteur demandant l'autorisation
893 * @param  array $opt    Options de cette autorisation
894 *
895 * @return bool          true s'il a le droit, false sinon
896 **/
897function autoriser_contact_infositessupprimer_dist($faire, $type, $id, $qui, $opt) {
898        // On prend les statuts par défaut
899        return in_array($qui['statut'], array(
900                        '0minirezo',
901                        '1comite',
902                )) or (
903                        $id_auteur = sql_getfetsel('id_auteur', 'spip_contacts', 'id_contact = ' . intval($id))
904                        and $id_auteur > 0
905                        and $id_auteur == $qui['id_auteur']
906                );
907}
908
909/**
910 * Autorisation de voir (contact)
911 *
912 * @param  string $faire Action demandée
913 * @param  string $type  Type d'objet sur lequel appliquer l'action
914 * @param  int $id       Identifiant de l'objet
915 * @param  array $qui    Description de l'auteur demandant l'autorisation
916 * @param  array $opt    Options de cette autorisation
917 *
918 * @return bool          true s'il a le droit, false sinon
919 **/
920function autoriser_contact_infositesvoir_dist($faire, $type, $id, $qui, $opt) {
921        return true;
922}
923
924// *****************************
925// Les coordonnées
926// *****************************
927
928
929// --------------
930// Objet Adresses
931
932/**
933 * Autorisation de creer (adresse)
934 *
935 * @param  string $faire Action demandée
936 * @param  string $type  Type d'objet sur lequel appliquer l'action
937 * @param  int $id       Identifiant de l'objet
938 * @param  array $qui    Description de l'auteur demandant l'autorisation
939 * @param  array $opt    Options de cette autorisation
940 *
941 * @return bool          true s'il a le droit, false sinon
942 **/
943function autoriser_adresse_creer($faire, $type, $id, $qui, $opt) {
944        return autoriser('infositescreer', 'adresse', $id, $qui, $opt);
945}
946
947/**
948 * Autorisation de voir (adresse)
949 *
950 * @param  string $faire Action demandée
951 * @param  string $type  Type d'objet sur lequel appliquer l'action
952 * @param  int $id       Identifiant de l'objet
953 * @param  array $qui    Description de l'auteur demandant l'autorisation
954 * @param  array $opt    Options de cette autorisation
955 *
956 * @return bool          true s'il a le droit, false sinon
957 **/
958function autoriser_adresse_voir($faire, $type, $id, $qui, $opt) {
959        return autoriser('infositesvoir', 'adresse', $id, $qui, $opt);
960}
961
962/**
963 * Autorisation de modifier (adresse)
964 *
965 * @param  string $faire Action demandée
966 * @param  string $type  Type d'objet sur lequel appliquer l'action
967 * @param  int $id       Identifiant de l'objet
968 * @param  array $qui    Description de l'auteur demandant l'autorisation
969 * @param  array $opt    Options de cette autorisation
970 *
971 * @return bool          true s'il a le droit, false sinon
972 **/
973function autoriser_adresse_modifier($faire, $type, $id, $qui, $opt) {
974        return autoriser('infositesmodifier', 'adresse', $id, $qui, $opt);
975}
976
977/**
978 * Autorisation de supprimer (adresse)
979 *
980 * @param  string $faire Action demandée
981 * @param  string $type  Type d'objet sur lequel appliquer l'action
982 * @param  int $id       Identifiant de l'objet
983 * @param  array $qui    Description de l'auteur demandant l'autorisation
984 * @param  array $opt    Options de cette autorisation
985 *
986 * @return bool          true s'il a le droit, false sinon
987 **/
988function autoriser_adresse_supprimer($faire, $type, $id, $qui, $opt) {
989        return autoriser('infositessupprimer', 'adresse', $id, $qui, $opt);
990}
991
992/**
993 * Autorisation d'associer (adresse)
994 *
995 * @param  string $faire Action demandée
996 * @param  string $type  Type d'objet sur lequel appliquer l'action
997 * @param  int $id       Identifiant de l'objet
998 * @param  array $qui    Description de l'auteur demandant l'autorisation
999 * @param  array $opt    Options de cette autorisation
1000 *
1001 * @return bool          true s'il a le droit, false sinon
1002 **/
1003function autoriser_associeradresses($faire, $type, $id, $qui, $opt) {
1004        return autoriser('infositesassocier', 'adresses', $id, $qui, $opt);
1005}
1006
1007// --------------
1008// Objet numeros
1009
1010/**
1011 * Autorisation de creer (numéro)
1012 *
1013 * @param  string $faire Action demandée
1014 * @param  string $type  Type d'objet sur lequel appliquer l'action
1015 * @param  int $id       Identifiant de l'objet
1016 * @param  array $qui    Description de l'auteur demandant l'autorisation
1017 * @param  array $opt    Options de cette autorisation
1018 *
1019 * @return bool          true s'il a le droit, false sinon
1020 **/
1021function autoriser_numero_creer($faire, $type, $id, $qui, $opt) {
1022        return autoriser('infositescreer', 'numero', $id, $qui, $opt);
1023}
1024
1025/**
1026 * Autorisation de voir (numéro)
1027 *
1028 * @param  string $faire Action demandée
1029 * @param  string $type  Type d'objet sur lequel appliquer l'action
1030 * @param  int $id       Identifiant de l'objet
1031 * @param  array $qui    Description de l'auteur demandant l'autorisation
1032 * @param  array $opt    Options de cette autorisation
1033 *
1034 * @return bool          true s'il a le droit, false sinon
1035 **/
1036function autoriser_numero_voir($faire, $type, $id, $qui, $opt) {
1037        return autoriser('infositesvoir', 'numero', $id, $qui, $opt);
1038}
1039
1040/**
1041 * Autorisation de modifier (numéro)
1042 *
1043 * @param  string $faire Action demandée
1044 * @param  string $type  Type d'objet sur lequel appliquer l'action
1045 * @param  int $id       Identifiant de l'objet
1046 * @param  array $qui    Description de l'auteur demandant l'autorisation
1047 * @param  array $opt    Options de cette autorisation
1048 *
1049 * @return bool          true s'il a le droit, false sinon
1050 **/
1051function autoriser_numero_modifier($faire, $type, $id, $qui, $opt) {
1052        return autoriser('infositesmodifier', 'numero', $id, $qui, $opt);
1053}
1054
1055/**
1056 * Autorisation de supprimer (numéro)
1057 *
1058 * @param  string $faire Action demandée
1059 * @param  string $type  Type d'objet sur lequel appliquer l'action
1060 * @param  int $id       Identifiant de l'objet
1061 * @param  array $qui    Description de l'auteur demandant l'autorisation
1062 * @param  array $opt    Options de cette autorisation
1063 *
1064 * @return bool          true s'il a le droit, false sinon
1065 **/
1066function autoriser_numero_supprimer($faire, $type, $id, $qui, $opt) {
1067        return autoriser('infositessupprimer', 'numero', $id, $qui, $opt);
1068}
1069
1070/**
1071 * Autorisation d'associer (numéro)
1072 *
1073 * @param  string $faire Action demandée
1074 * @param  string $type  Type d'objet sur lequel appliquer l'action
1075 * @param  int $id       Identifiant de l'objet
1076 * @param  array $qui    Description de l'auteur demandant l'autorisation
1077 * @param  array $opt    Options de cette autorisation
1078 *
1079 * @return bool          true s'il a le droit, false sinon
1080 **/
1081function autoriser_associernumeros($faire, $type, $id, $qui, $opt) {
1082        return autoriser('infositesassocier', 'numeros', $id, $qui, $opt);
1083}
1084
1085
1086// ------------
1087// Objet emails
1088
1089/**
1090 * Autorisation de creer (email)
1091 *
1092 * @param  string $faire Action demandée
1093 * @param  string $type  Type d'objet sur lequel appliquer l'action
1094 * @param  int $id       Identifiant de l'objet
1095 * @param  array $qui    Description de l'auteur demandant l'autorisation
1096 * @param  array $opt    Options de cette autorisation
1097 *
1098 * @return bool          true s'il a le droit, false sinon
1099 **/
1100function autoriser_email_creer($faire, $type, $id, $qui, $opt) {
1101        return autoriser('infositescreer', 'email', $id, $qui, $opt);
1102}
1103
1104/**
1105 * Autorisation de voir (email)
1106 *
1107 * @param  string $faire Action demandée
1108 * @param  string $type  Type d'objet sur lequel appliquer l'action
1109 * @param  int $id       Identifiant de l'objet
1110 * @param  array $qui    Description de l'auteur demandant l'autorisation
1111 * @param  array $opt    Options de cette autorisation
1112 *
1113 * @return bool          true s'il a le droit, false sinon
1114 **/
1115function autoriser_email_voir($faire, $type, $id, $qui, $opt) {
1116        return autoriser('infositesvoir', 'email', $id, $qui, $opt);
1117}
1118
1119/**
1120 * Autorisation de modifier (email)
1121 *
1122 * @param  string $faire Action demandée
1123 * @param  string $type  Type d'objet sur lequel appliquer l'action
1124 * @param  int $id       Identifiant de l'objet
1125 * @param  array $qui    Description de l'auteur demandant l'autorisation
1126 * @param  array $opt    Options de cette autorisation
1127 *
1128 * @return bool          true s'il a le droit, false sinon
1129 **/
1130function autoriser_email_modifier($faire, $type, $id, $qui, $opt) {
1131        return autoriser('infositesmodifier', 'email', $id, $qui, $opt);
1132}
1133
1134/**
1135 * Autorisation de supprimer (email)
1136 *
1137 * @param  string $faire Action demandée
1138 * @param  string $type  Type d'objet sur lequel appliquer l'action
1139 * @param  int $id       Identifiant de l'objet
1140 * @param  array $qui    Description de l'auteur demandant l'autorisation
1141 * @param  array $opt    Options de cette autorisation
1142 *
1143 * @return bool          true s'il a le droit, false sinon
1144 **/
1145function autoriser_email_supprimer($faire, $type, $id, $qui, $opt) {
1146        return autoriser('infositessupprimer', 'email', $id, $qui, $opt);
1147}
1148
1149
1150/**
1151 * Autorisation d'associer (email)
1152 *
1153 * @param  string $faire Action demandée
1154 * @param  string $type  Type d'objet sur lequel appliquer l'action
1155 * @param  int $id       Identifiant de l'objet
1156 * @param  array $qui    Description de l'auteur demandant l'autorisation
1157 * @param  array $opt    Options de cette autorisation
1158 *
1159 * @return bool          true s'il a le droit, false sinon
1160 **/
1161function autoriser_associeremails($faire, $type, $id, $qui, $opt) {
1162        return autoriser('infositesassocier', 'emails', $id, $qui, $opt);
1163}
1164
1165
1166/**
1167 * Récupérer les rôles d'un auteur sur un projet et ainsi s'avoir s'il a droit à certaines actions.
1168 *
1169 * @param array $qui
1170 * @param int $id_projet
1171 * @param array $role_creation
1172 *
1173 * @return bool|array
1174 */
1175function confirmer_roles_auteurs_projets($qui, $id_projet = 0, $role_creation = array()) {
1176        include_spip('base/abstract_sql');
1177        $roles = array();
1178        $auteur_roles = sql_allfetsel('role', 'spip_auteurs_liens',
1179                'objet=' . sql_quote('projet') . ' AND id_auteur=' . $qui['id_auteur'] . ' AND id_objet=' . $id_projet);
1180        if (is_array($auteur_roles) and count($auteur_roles) > 0) {
1181                foreach ($auteur_roles as $auteur_role) {
1182                        $roles[] = $auteur_role['role'];
1183                }
1184        }
1185        // Liste des rôles pouvant créer des sites sur un projet.
1186        if (is_string($role_creation)) {
1187                // Si on passe un string en 3ème paramètre le rôle tel que 'developpeur', on le reformate en tableau.
1188                // Pas de séparateur/serialize prévu pour le moment.
1189                $role_creation = array($role_creation);
1190        }
1191        // On revoit le contenu du tableau $role_creation par sécu
1192        if (is_array($role_creation) and count($role_creation) == 0) {
1193                // par défaut
1194                $role_creation = array(
1195                        'dir_projets',
1196                        'chef_projets',
1197                        'ref_tech',
1198                        'architecte',
1199                        'lead_developpeur',
1200                        'developpeur',
1201                );
1202        }
1203        // Si on est administrateur, pas de soucis.
1204        if (in_array($qui['statut'], array('0minirezo'))) {
1205                return true;
1206        }
1207        $roles_autorises = array_intersect($roles, $role_creation);
1208        // roles_autorises est toujours un array et s'il est vide,
1209        // c'est que l'auteur n'a pas le rôle adéquate.
1210        if (is_array($roles_autorises) and count($roles_autorises) > 0) {
1211                return true;
1212        }
1213
1214        // On prend les statuts par défaut
1215        return false;
1216}
1217
1218
1219// -----------------
1220// Objet projets_references
1221
1222/**
1223 * Autorisation de créer (projetsreference)
1224 *
1225 * @param  string $faire Action demandée
1226 * @param  string $type  Type d'objet sur lequel appliquer l'action
1227 * @param  int    $id    Identifiant de l'objet
1228 * @param  array  $qui   Description de l'auteur demandant l'autorisation
1229 * @param  array  $opt   Options de cette autorisation
1230 * @return bool          true s'il a le droit, false sinon
1231 **/
1232function autoriser_projetsreference_creer_dist($faire, $type, $id, $qui, $opt) {
1233        return autoriser('infositescreer', 'projetsreference', $id, $qui, $opt);
1234}
1235
1236/**
1237 * Autorisation de voir (projetsreference)
1238 *
1239 * @param  string $faire Action demandée
1240 * @param  string $type  Type d'objet sur lequel appliquer l'action
1241 * @param  int    $id    Identifiant de l'objet
1242 * @param  array  $qui   Description de l'auteur demandant l'autorisation
1243 * @param  array  $opt   Options de cette autorisation
1244 * @return bool          true s'il a le droit, false sinon
1245 **/
1246function autoriser_projetsreference_voir_dist($faire, $type, $id, $qui, $opt) {
1247        return autoriser('infositesvoir', 'projetsreference', $id, $qui, $opt);
1248}
1249
1250/**
1251 * Autorisation de modifier (projetsreference)
1252 *
1253 * @param  string $faire Action demandée
1254 * @param  string $type  Type d'objet sur lequel appliquer l'action
1255 * @param  int    $id    Identifiant de l'objet
1256 * @param  array  $qui   Description de l'auteur demandant l'autorisation
1257 * @param  array  $opt   Options de cette autorisation
1258 * @return bool          true s'il a le droit, false sinon
1259 **/
1260function autoriser_projetsreference_modifier_dist($faire, $type, $id, $qui, $opt) {
1261        return autoriser('infositesmodifier', 'projetsreference', $id, $qui, $opt);
1262}
1263
1264/**
1265 * Autorisation de supprimer (projetsreference)
1266 *
1267 * @param  string $faire Action demandée
1268 * @param  string $type  Type d'objet sur lequel appliquer l'action
1269 * @param  int    $id    Identifiant de l'objet
1270 * @param  array  $qui   Description de l'auteur demandant l'autorisation
1271 * @param  array  $opt   Options de cette autorisation
1272 * @return bool          true s'il a le droit, false sinon
1273 **/
1274function autoriser_projetsreference_supprimer_dist($faire, $type, $id, $qui, $opt) {
1275        return autoriser('infositessupprimer', 'projetsreference', $id, $qui, $opt);
1276}
1277
1278
1279
1280/**
1281 * Autorisation de lier/délier l'élément (projetsreferences)
1282 *
1283 * @param  string $faire Action demandée
1284 * @param  string $type  Type d'objet sur lequel appliquer l'action
1285 * @param  int    $id    Identifiant de l'objet
1286 * @param  array  $qui   Description de l'auteur demandant l'autorisation
1287 * @param  array  $opt   Options de cette autorisation
1288 * @return bool          true s'il a le droit, false sinon
1289 **/
1290function autoriser_associerprojetsreferences_dist($faire, $type, $id, $qui, $opt) {
1291        return autoriser('infositesassocier', 'projetsreferences', $id, $qui, $opt);
1292
1293}
1294
1295
1296/**
1297 * Autorisation d'iconifier un auteur (mettre un logo)
1298 *
1299 * Il faut un administrateur ou que l'auteur soit celui qui demande l'autorisation
1300 *
1301 * @param  string $faire Action demandée
1302 * @param  string $type Type d'objet sur lequel appliquer l'action
1303 * @param  int $id Identifiant de l'objet
1304 * @param  array $qui Description de l'auteur demandant l'autorisation
1305 * @param  array $opt Options de cette autorisation
1306 * @return bool          true s'il a le droit, false sinon
1307 **/
1308function autoriser_projetsreference_iconifier_dist($faire, $type, $id, $qui, $opt) {
1309        return false;
1310}
Note: See TracBrowser for help on using the repository browser.