1 | <?php |
---|
2 | |
---|
3 | /***************************************************************************\ |
---|
4 | * SPIP, Systeme de publication pour l'internet * |
---|
5 | * * |
---|
6 | * Copyright (c) 2001-2015 * |
---|
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 SPIP\Revisions\Autorisations |
---|
18 | **/ |
---|
19 | |
---|
20 | if (!defined('_ECRIRE_INC_VERSION')) { |
---|
21 | return; |
---|
22 | } |
---|
23 | |
---|
24 | /** |
---|
25 | * Fonction du pipeline autoriser. N'a rien à faire. |
---|
26 | * |
---|
27 | * @pipeline autoriser |
---|
28 | */ |
---|
29 | function revisions_autoriser() { } |
---|
30 | |
---|
31 | /** |
---|
32 | * Autorisation de voir les revisions ? |
---|
33 | * |
---|
34 | * Il faut : |
---|
35 | * - des revisions définies pour cet objet |
---|
36 | * - que l'objet existe |
---|
37 | * - que l'on soit autorisé à voir l'objet |
---|
38 | * |
---|
39 | * @param string $faire Action demandée |
---|
40 | * @param string $type Type d'objet sur lequel appliquer l'action |
---|
41 | * @param int $id Identifiant de l'objet |
---|
42 | * @param array $qui Description de l'auteur demandant l'autorisation |
---|
43 | * @param array $opt Options de cette autorisation |
---|
44 | * @return bool true s'il a le droit, false sinon |
---|
45 | */ |
---|
46 | function autoriser_voirrevisions_dist($faire, $type, $id, $qui, $opt) { |
---|
47 | $table = table_objet_sql($type); |
---|
48 | $id_table_objet = id_table_objet($type); |
---|
49 | |
---|
50 | include_spip('inc/revisions'); |
---|
51 | if (!liste_champs_versionnes($table)) { |
---|
52 | return false; |
---|
53 | } |
---|
54 | |
---|
55 | if (!$row = sql_fetsel("*", $table, "$id_table_objet=" . intval($id))) { |
---|
56 | return false; |
---|
57 | } |
---|
58 | |
---|
59 | return |
---|
60 | autoriser('voir', $type, $id, $qui, $opt); |
---|
61 | } |
---|
62 | |
---|
63 | |
---|
64 | /** |
---|
65 | * Autorisation de voir le menu révisions |
---|
66 | * |
---|
67 | * Il faut des révisions activées et présentes. |
---|
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 | * @return bool true s'il a le droit, false sinon |
---|
75 | */ |
---|
76 | function autoriser_revisions_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) { |
---|
77 | // SI pas de revisions sur un objet quelconque. |
---|
78 | // ET pas de version... pas de bouton, c'est inutile... |
---|
79 | include_spip('inc/config'); |
---|
80 | if (!lire_config('objets_versions/') and !sql_countsel('spip_versions')) { |
---|
81 | return false; |
---|
82 | } |
---|
83 | |
---|
84 | return true; |
---|
85 | } |
---|