[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / plugins-dist / revisions / inc / revisions_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
14 /**
15 * Autorisations du plugin révisions
16 *
17 * @package Revisions\Autorisations
18 **/
19
20 if (!defined('_ECRIRE_INC_VERSION')) return;
21
22 /** Chargement pour le pipeline d'autorisation */
23 function revisions_autoriser(){}
24
25 /**
26 * Autorisation de voir les revisions ?
27 *
28 * Il faut :
29 * - des revisions définies pour cet objet
30 * - que l'objet existe
31 * - que l'on soit autorisé à voir l'objet
32 *
33 * @param string $faire Action demandée
34 * @param string $type Type d'objet sur lequel appliquer l'action
35 * @param int $id Identifiant de l'objet
36 * @param array $qui Description de l'auteur demandant l'autorisation
37 * @param array $opt Options de cette autorisation
38 * @return bool true s'il a le droit, false sinon
39 */
40 function autoriser_voirrevisions_dist($faire, $type, $id, $qui, $opt) {
41 $table = table_objet_sql($type);
42 $id_table_objet = id_table_objet($type);
43
44 include_spip('inc/revisions');
45 if (!liste_champs_versionnes($table))
46 return false;
47
48 if (!$row = sql_fetsel("*", $table, "$id_table_objet=".intval($id)))
49 return false;
50
51 return
52 autoriser('voir', $type, $id, $qui, $opt);
53 }
54
55
56 /**
57 * Autorisation de voir le menu révisions
58 *
59 * Il faut des révisions activées et présentes.
60 *
61 * @param string $faire Action demandée
62 * @param string $type Type d'objet sur lequel appliquer l'action
63 * @param int $id Identifiant de l'objet
64 * @param array $qui Description de l'auteur demandant l'autorisation
65 * @param array $opt Options de cette autorisation
66 * @return bool true s'il a le droit, false sinon
67 */
68 function autoriser_revisions_menu_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
69 // SI pas de revisions sur un objet quelconque.
70 // ET pas de version... pas de bouton, c'est inutile...
71 include_spip('inc/config');
72 if (!lire_config('objets_versions/') AND !sql_countsel('spip_versions')) {
73 return false;
74 }
75 return true;
76 }
77
78 ?>