[SPIP] ~maj v2.1.25-->2.1.26
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / en_travaux_options.php
1 <?php
2 // affiche un fond travaux si on n'est pas en zone ecrire ni admin
3
4 // compatibilite pour SPIP 1.9.2
5 if (!function_exists('test_espace_prive')) {
6 function test_espace_prive() {
7 return defined('_DIR_RESTREINT') ? !_DIR_RESTREINT : false;
8 }
9 }
10
11 if($tr_prive = test_espace_prive()) {
12 // prive : les admins passent, les redac passent si '!Tous'
13 $tr_acces = ($GLOBALS['auteur_session']['statut']=='0minirezo') || !defined('_en_travaux_PRIVE');
14 } else {
15 // public : les admins passent si 'SaufAdmin'
16 if (defined('_en_travaux_PUBLIC')) {
17 switch (_en_travaux_PUBLIC) {
18 case 1:
19 $tr_acces = ($GLOBALS['auteur_session']['statut']=='0minirezo');
20 break;
21 case 2:
22 $tr_acces = ($GLOBALS['auteur_session']['statut']=='0minirezo') || ($GLOBALS['auteur_session']['statut']=='1comite');
23 break;
24 case 3:
25 $tr_acces = ($GLOBALS['auteur_session']['statut']=='0minirezo') || ($GLOBALS['auteur_session']['statut']=='1comite') || ($GLOBALS['auteur_session']['statut']=='6forum');
26 break;
27 }
28 }
29 // tentative pour prendre en compte les autres cas possibles d'exception
30 $tr_acces |=
31 isset($_GET['action']) || isset($_POST['action'])
32 // || ($_POST['formulaire_action']=='login') // TODO : formulaire SPIP 2.0
33 || in_array($_GET['page'], array('login',
34 'style_prive', // filtrage de la feuille de style admin mise en squelette
35 'style_prive_ie')) // idem IE
36 || (strpos($_GET['page'],'.js') !== false) // filtrage de jquery.js par exemple qui sert pour la partie admin
37 || (strpos($_GET['page'],'.css') !== false); // on sait jamais...
38 }
39
40 // si aucune exception, on bloque le site pour travaux
41 if (!$tr_acces) {
42 // $tr_message est defini dans config_outils.php par la variable 'message_travaux'
43 @define('_en_travaux_MESSAGE', $tr_message);
44 if($tr_prive) {
45 // les actions ne fonctionnent pas ici
46 if(defined('_SPIP19300')) spip_initialisation_suite();
47 action_cs_travaux(true);
48 exit;
49 }
50 $_GET['action'] = "cs_travaux";
51 }
52
53 // nettoyage
54 unset($tr_acces, $tr_prive, $tr_message);
55
56 function action_cs_travaux($prive=false){
57 include_spip('public/assembler');
58 // echo recuperer_fond('fonds/en_travaux'.(defined('_SPIP19300')?'2':''), array(
59 echo recuperer_fond('fonds/en_travaux', array(
60 'titre'=>defined('_en_travaux_TITRE')?_T('info_travaux_titre'):$GLOBALS['meta']['nom_site'],
61 // SPIP 2.0 : suppression pour l'instant de la possibilite de se logger directement pour un admin
62 // car les redacteurs pourraient acceder qd meme au site (1 seule page, mais 1 page de trop)
63 // 'login'=>defined('_en_travaux_ADMIN')?'oui':'',
64 'form_login'=>defined('_SPIP19300')?'non':(defined('_en_travaux_ADMIN') || $prive?'oui':'non'),
65 'prive'=>$prive?'oui':'non',
66 ));
67 return true;
68 }
69
70 function en_travaux_affichage_final($flux){
71 if(defined('_en_travaux_SANSMSG') || !$GLOBALS['html']) return $flux;
72 include_spip('inc/minipres'); // pour http_img_pack
73 $res = '<div id="en_travaux" style="padding:6px; position:absolute; left:12px; top:22px; border-color:#CECECE #CECECE #4A4A4A; background-color:#FFEEEE; opacity:0.8; font-size:12px; border-style:solid; border-width:3px; font-weight:bold;">'
74 . http_img_pack('warning-24.gif', _T('info_travaux_titre'), 'align="absmiddle"')
75 . ' &nbsp;'. _T('info_travaux_titre') . '</div>';
76 if (!$pos = stripos($flux, '</body>')) $pos = strlen($flux);
77 return substr_replace($flux, $res, $pos, 0);
78 }
79
80 ?>