[PLUGINS] +en_travaux
[ptitvelo/web/www.git] / www / plugins / en_travaux / entravaux_administrations.php
1 <?php
2 /*
3 * Plugin En Travaux
4 * (c) 2006-2012 Arnaud Ventre, Cedric Morin
5 * Distribue sous licence GPL
6 *
7 */
8
9
10 /**
11 * Installation/maj base
12 *
13 * @param string $nom_meta_base_version
14 * @param string $version_cible
15 */
16 function entravaux_upgrade($nom_meta_base_version,$version_cible){
17 $maj = array();
18
19 include_spip('inc/autoriser');
20 // upgrade inconditionnel
21 if (isset($GLOBALS['meta']['entravaux_id_auteur'])){
22 entravaux_poser_verrou("accesferme");
23 effacer_meta('entravaux_id_auteur');
24 }
25
26 // seul un webmestre peut activer les travaux sur le site
27 // si c'est un autre admin qui active le plugin, il ne fait rien en base
28 if (autoriser('travaux')) {
29 $maj['create'] = array(
30 array('entravaux_poser_verrou','accesferme'),
31 );
32 include_spip('base/upgrade');
33 maj_plugin($nom_meta_base_version, $version_cible, $maj);
34 }
35 // sinon on ne fait *rien* (activation par un admin, ou upgrade silencieux apres import de base)
36 }
37
38 /**
39 * Installation/maj base
40 *
41 * @param string $nom_meta_base_version
42 */
43 function entravaux_vider_tables($nom_meta_base_version) {
44 effacer_meta("entravaux_id_auteur");
45 effacer_meta("entravaux_message");
46 effacer_meta($nom_meta_base_version);
47 }
48
49
50 /**
51 * Poser un verrou sous forme de fichier dans local/
52 * pour ne pas qu'il saute si on importe une base
53 * On loge dans le verrou l'id_auteur qui l'a pose a toute fin utile
54 * On force la mise a jour de la meta
55 * @param string $nom
56 */
57 function entravaux_poser_verrou($nom){
58 ecrire_fichier(_DIR_VAR.'entravaux_'.$nom.'.lock',"auteur:".$GLOBALS['visiteur_session']['id_auteur']);
59 entravaux_check_verrou($nom, true);
60 }
61
62 /**
63 * Lever un verrou sous forme de fichier dans local/
64 * pour ne pas qu'il saute si on importe une base
65 * On force la mise a jour de la meta
66 * @param string $nom
67 */
68 function entravaux_lever_verrou($nom){
69 spip_unlink(_DIR_VAR.'entravaux_'.$nom.'.lock');
70 entravaux_check_verrou($nom, true);
71 }
72
73 ?>