source: Collectif_Otra/plugins/configuration_reflet/inc/reflet_autoriser.php @ 2803

Last change on this file since 2803 was 2803, checked in by kent1, 10 years ago

Reflet presque up 2 date (reste les externals)

File size: 3.6 KB
Line 
1<?php
2/**
3 * Plugin de Configuration de Reflet pour Spip 2.0
4 * Licence GPL (c) 2008-2009 Quentin Drouet
5 *
6 */
7
8/* pour que le pipeline ne rale pas ! */
9function reflet_autoriser(){}
10
11/**
12 * Autorisation a administrer un reflet
13 * cf : http://global.reflets.org/spip.php?article51
14 *
15 * @param unknown_type $faire
16 * @param unknown_type $quoi
17 * @param unknown_type $id
18 * @param unknown_type $qui
19 * @param unknown_type $opts
20 * @return unknown
21 */
22function autoriser_reflet_administrer_dist($faire,$quoi,$id,$qui,$opts){
23        $id_admin = sql_getfetsel('id_admin','spip_reflets',"id_reflet=$id");
24        if ($qui['id_auteur']==$id_admin)
25                return true;
26        return false;
27}
28
29/**
30 * Autorisation a configurer les reflets
31 * cf : http://global.reflets.org/spip.php?article51
32 *
33 * @param unknown_type $faire
34 * @param unknown_type $qui
35 * @param unknown_type $id
36 * @param unknown_type $qui
37 * @param unknown_type $opts
38 * @return unknown
39 */
40function autoriser_reflet_configurer_dist($faire,$quoi,$id,$qui,$opts){
41        $auteurs_reflet = sql_allfetsel("id_auteur","spip_auteurs_reflets","id_reflet=".intval($id));
42        $auteurs = array();
43        foreach ($auteurs_reflet as $auteur=>$id_auteur){
44                $auteurs[] = $id_auteur['id_auteur'];   
45        }
46        if (in_array($qui['id_auteur'],$auteurs))
47                return true;
48       
49        return false;
50}
51
52/**
53 * Autorisation a modifier le statut des contributions
54 * L'id_auteur doit être au moins parmis les cogestionnaires du dernier id_reflet du domaine
55 * cf : http://global.reflets.org/spip.php?article51
56 *
57 * @param unknown_type $faire
58 * @param unknown_type $qui
59 * @param unknown_type $id
60 * @param unknown_type $qui
61 * @param unknown_type $opts
62 * @return unknown
63 */
64function autoriser_reflet_instituer_contribution_dist($faire,$quoi,$id,$qui,$opts){
65        // On récupÚre le domaine dans un premier temps en fonction de la contribution
66        if(isset($opts['table'])){
67                $domaine = sql_getfetsel('domaine',$opts['table'],$opts['id_table_objet'].'='.intval($id));
68        }else{
69                $domaine = sql_getfetsel('domaine','spip_contrib_textes','id_contrib_texte='.intval($id));
70        }
71        // Puis le dernier reflet de ce domaine (derniÚre configuration)
72        $dernier_reflet = sql_getfetsel('id_reflet','spip_reflets','domaine='.sql_quote($domaine),'','id_reflet DESC','1');
73        // Puis la liste des co-gestionnaires de ce domaine
74        $auteurs_reflet = sql_allfetsel("id_auteur","spip_auteurs_reflets","id_reflet=".intval($dernier_reflet));
75        $auteurs = array();
76        foreach ($auteurs_reflet as $auteur=>$id_auteur){
77                $auteurs[] = $id_auteur['id_auteur'];   
78        }
79        if (in_array($qui['id_auteur'],$auteurs))
80                return true;
81       
82        return false;
83}
84
85/**
86 * Autorisation a supprimer une censure
87 * L'id_auteur doit être au moins parmis les cogestionnaires du dernier id_reflet du domaine
88 * cf : http://global.reflets.org/spip.php?article51
89 *
90 * @param unknown_type $faire
91 * @param unknown_type $qui
92 * @param unknown_type $id
93 * @param unknown_type $qui
94 * @param unknown_type $opts
95 * @return unknown
96 */
97function autoriser_reflet_instituer_censure_dist($faire,$quoi,$id,$qui,$opts){
98        // On récupÚre le domaine dans un premier temps en fonction de la contribution
99        $domaine = sql_getfetsel('domaine','spip_censures','id_censure='.intval($id));
100        // Puis le dernier reflet de ce domaine (derniÚre configuration)
101        $dernier_reflet = sql_getfetsel('id_reflet','spip_reflets','domaine='.sql_quote($domaine),'','id_reflet DESC','1');
102        // Puis la liste des co-gestionnaires de ce domaine
103        $auteurs_reflet = sql_allfetsel("id_auteur","spip_auteurs_reflets","id_reflet=".intval($dernier_reflet));
104        $auteurs = array();
105        foreach ($auteurs_reflet as $auteur=>$id_auteur){
106                $auteurs[] = $id_auteur['id_auteur'];   
107        }
108        if (in_array($qui['id_auteur'],$auteurs))
109                return true;
110       
111        return false;
112}
113?>
Note: See TracBrowser for help on using the repository browser.