source: spip-zone/_plugins_/_stable_/en_travaux/en_travaux_options.php @ 28624

Last change on this file since 28624 was 28624, checked in by cedric@…, 12 years ago

une icone plus 2.0, et l'insertion a la volee de l'icone en haut a gauche lorsqu'un visiteur autorise visualise le site public.
Ca evite de betement oublier de desactiver le plugin quand on a fini...

File size: 2.5 KB
Line 
1<?php
2/*
3 * Plugin En Travaux
4 * (c) 2006-2009 Arnaud Ventre, Cedric Morin
5 * Distribue sous licence GPL
6 *
7 */
8
9#var_dump($GLOBALS['meta']['entravaux_id_auteur']);
10
11function autoriser_travaux_dist(){
12        return autoriser('webmestre');
13}
14
15if (isset($GLOBALS['meta']['entravaux_id_auteur']) AND $GLOBALS['meta']['entravaux_id_auteur']){
16        // desactiver le cache
17        define('_NO_CACHE',1);
18
19        // au cas ou, placer tout nouveau calcul dans le cache
20        $GLOBALS['marqueur'].= ":en_travaux";
21
22        if (test_espace_prive() AND (_request('exec')!='admin_plugin'
23        //              OR _request('action')!='activer_plugins'
24        )){
25                include_spip('inc/autoriser');
26                if (!autoriser('travaux')){
27                        echo recuperer_fond("en_travaux",array());
28                        die();
29                }
30        }
31
32}
33else {
34                include_spip('inc/autoriser');
35                if (!autoriser('travaux')){
36                        // se desactiver tout seul car on ne sert a rien
37                        // sauf a ralentir le site !
38                        include_spip('inc/plugin');
39                        ecrire_plugin_actifs(array('ENTRAVAUX'=>trim(substr(_DIR_PLUGIN_ENTRAVAUX,strlen(_DIR_PLUGINS)),'/')),false,'enleve');
40                        // avec un message d'erreur smart
41                        ecrire_meta('plugin_erreur_activation',_T('entravaux:erreur_droit'));
42                }
43}
44
45/**
46 * Pipeline styliser pour rerouter tous les fonds vers en_travaux
47 * sauf si l'auteur connecte est celui qui a active le plugin
48 *
49 * @param array $flux
50 * @return array
51 */
52function entravaux_styliser($flux){
53        if (isset($GLOBALS['meta']['entravaux_id_auteur']) AND $GLOBALS['meta']['entravaux_id_auteur']){
54                include_spip('inc/autoriser');
55                if (!autoriser('travaux')
56                        AND !in_array($flux['args']['fond'],array('login_secours','formulaires/login','formulaires/menu_lang','formulaires/inc-logo_auteur','formulaires/administration'))){
57                        $ext = $flux['args']['ext'];
58                        $fond = find_in_path('en_travaux.html');
59                        $flux['data'] = substr($fond, 0, - strlen(".$ext"));
60                }
61        }
62        return $flux;
63}
64
65
66/**
67 * Afficher une icone de travaux sur tout le site pour que le webmestre n'oublie pas
68 * de retablir le site
69 *
70 * @param <type> $flux
71 */
72function entravaux_affichage_final($flux){
73        $image = find_in_path("en_travaux.png");
74        if ($GLOBALS['html']){
75                include_spip('inc/minipres'); // pour http_img_pack
76                $x = '<div id="icone_travaux" style="
77                padding-right: 5px;
78                padding-top: 2px;
79                padding-bottom: 5px;
80                top: 0px;
81                left: 0px;
82                position: absolute;
83                ">'
84                . http_img_pack(find_in_path('en_travaux-64.png'), _T('entravaux:en_travaux'), '')
85                . '</div>';
86                if (!$pos = strpos($flux, '</body>'))
87                        $pos = strlen($flux);
88                $flux = substr_replace($flux, $x, $pos, 0);
89        }
90        return $flux;
91}
92
93?>
Note: See TracBrowser for help on using the repository browser.