71 lines
1.9 KiB
PHP
71 lines
1.9 KiB
PHP
<?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);
|
|
}
|
|
|