spip_nursit/plugins-dist/dist/nursit/en_travaux/entravaux_administrations.php

72 lines
1.9 KiB
PHP
Raw Normal View History

2023-06-01 15:30:12 +00:00
<?php
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Installation/maj base
*
* @param string $nom_meta_base_version
* @param string $version_cible
*/
function entravaux_upgrade($nom_meta_base_version,$version_cible){
$maj = array();
include_spip('inc/autoriser');
// upgrade inconditionnel
if (isset($GLOBALS['meta']['entravaux_id_auteur'])){
entravaux_poser_verrou("accesferme");
effacer_meta('entravaux_id_auteur');
}
// seul un webmestre peut activer les travaux sur le site
// si c'est un autre admin qui active le plugin, il ne fait rien en base
$maj = array('create' => array(array('strtolower', '')));
if (autoriser('travaux')) {
$maj['create'] = array(
array('entravaux_poser_verrou','accesferme'),
);
}
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
* Installation/maj base
*
* @param string $nom_meta_base_version
*/
function entravaux_vider_tables($nom_meta_base_version) {
effacer_meta("entravaux_id_auteur");
effacer_meta("entravaux_message");
effacer_meta($nom_meta_base_version);
}
/**
* Poser un verrou sous forme de fichier dans local/
* pour ne pas qu'il saute si on importe une base
* On loge dans le verrou l'id_auteur qui l'a pose a toute fin utile
* On force la mise a jour de la meta
* @param string $nom
*/
function entravaux_poser_verrou($nom){
ecrire_fichier(_DIR_VAR.'entravaux_'.$nom.'.lock',"auteur:".(isset($GLOBALS['visiteur_session']['id_auteur'])?$GLOBALS['visiteur_session']['id_auteur']:0));
entravaux_check_verrou($nom, true);
}
/**
* Lever un verrou sous forme de fichier dans local/
* pour ne pas qu'il saute si on importe une base
* On force la mise a jour de la meta
* @param string $nom
*/
function entravaux_lever_verrou($nom){
spip_unlink(_DIR_VAR.'entravaux_'.$nom.'.lock');
entravaux_check_verrou($nom, true);
}