Ignore:
Timestamp:
Jun 22, 2011, 12:36:19 PM (10 years ago)
Author:
cedric@…
Message:

modification du fonctionnement du plugin :
au lieu de stocker le verrou dans la base, on le stocke via un fichier sur le filesystem, dans local/
La meta n'est qu'un cache qui permet d'eviter les acces disques.
Cela permet de ne pas perdre la protection du plugin si jamais on importe une nouvelle base sur un site en travaux.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/en_travaux/trunk/entravaux_options.php

    r48287 r48993  
    1616
    1717/**
     18 * Verifier un verrou fichier pose dans local/entravaux_xxx.lock
     19 * pour ne pas qu'il saute si on importe une base
     20 * La meta n'est qu'un cache qu'on met a jour si pas dispo.
     21 * @param string $nom
     22 * @param bool $force
     23 * @return bool
     24 */
     25function entravaux_check_verrou($nom, $force=false){
     26        if (!isset($GLOBALS['meta'][$m='entravaux_'.$nom]) OR $force){
     27                ecrire_meta($m,file_exists(_DIR_VAR.$m.".lock")?"oui":"non",'non');
     28        }
     29        return $GLOBALS['meta'][$m]=="oui"; // si oui : verrou pose
     30}
     31/**
    1832 * A-t-on active les travaux oui ou non ?
    1933 * @return bool
    2034 */
    21 function is_entravaux(){ return (isset($GLOBALS['meta']['entravaux_id_auteur']) AND $GLOBALS['meta']['entravaux_id_auteur']);}
     35function is_entravaux(){
     36        // upgrade sauvage ?
     37        if (isset($GLOBALS['meta']['entravaux_id_auteur'])){include_spip('entravaux_install');entravaux_poser_verrou("accesferme");effacer_meta('entravaux_id_auteur');}
     38        return entravaux_check_verrou("accesferme");
     39}
    2240
    2341if (is_entravaux()){
     
    92110 * de retablir le site
    93111 *
    94  * @param <type> $flux
     112 * @param string $flux
    95113 */
    96114function entravaux_affichage_final($flux){
Note: See TracChangeset for help on using the changeset viewer.