source: spip-zone/_core_/plugins/revisions/inc/revisions_autoriser.php @ 109752

Last change on this file since 109752 was 109752, checked in by spip.franck@…, 2 years ago

Bonne année aussi aux plugins-dist :-D

File size: 2.6 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2018                                                *
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
20if (!defined('_ECRIRE_INC_VERSION')) {
21        return;
22}
23
24/**
25 * Fonction du pipeline autoriser. N'a rien à faire.
26 *
27 * @pipeline autoriser
28 */
29function 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 */
46function 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 */
76function 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}
Note: See TracBrowser for help on using the repository browser.