3 * Plugin Zen-Garden pour Spip 3.0
4 * Licence GPL (c) 2006-2013 Cedric Morin
6 * Fichier des options du plugins
8 * @package SPIP\Zen-Garden\Options
11 if (!defined("_ECRIRE_INC_VERSION")) return;
13 if (!defined('_DIR_PLUGIN_THEME')){
14 // si on est en mode apercu, il suffit de repasser dans l'espace prive pour desactiver l'apercu
15 if (test_espace_prive()){
16 if (isset($_COOKIE['spip_zengarden_theme'])){
17 include_spip('inc/cookie');
18 spip_setcookie('spip_zengarden_theme',$_COOKIE['spip_zengarden_theme']='',-1);
21 // si le switcher est actif ou la globale var_theme
22 elseif(isset($GLOBALS['meta']['zengarden_switcher']) OR defined('_ZEN_VAR_THEME')){
23 if (!is_null($arg = _request('var_theme'))){
24 include_spip('inc/cookie');
26 spip_setcookie('spip_zengarden_theme',$_COOKIE['spip_zengarden_theme'] = $arg);
28 spip_setcookie('spip_zengarden_theme',$_COOKIE['spip_zengarden_theme']='',-1);
32 // ajouter le theme au path
35 // on est en mode apercu
36 (isset($_COOKIE['spip_zengarden_theme']) AND $t = $_COOKIE['spip_zengarden_theme'])
37 // ou avec le cookie du switcher
39 // ou un theme est vraiment selectionne
40 (isset($GLOBALS['meta']['zengarden_theme']) AND $t = $GLOBALS['meta']['zengarden_theme'])
42 AND is_dir(_DIR_RACINE
. $t)){
43 _chemin(_DIR_RACINE
. $t);
44 $GLOBALS['marqueur'] = (isset($GLOBALS['marqueur'])?
$GLOBALS['marqueur']:"").":theme-$t";
45 // @experimental : sauver le nom du repertoire theme utilise
46 // a defaut de connaitre le vrai prefixe
47 if (!defined('NOM_THEME')) { define('NOM_THEME', basename($t));}
50 // @experimental : balise #THEME qui retourne le nom du theme selectionne
51 function balise_THEME_dist($p){
52 $p->code
= champ_sql('theme', $p,"(defined('NOM_THEME') ? NOM_THEME : '')");
58 * Insertion dans le pipeline affichage_final (SPIP)
60 * Ajoute le switcher de thème dans l'espace public
62 * @param string $texte
63 * Le contenu html de la page avant affichage au client
64 * @return string $texte
65 * Le contenu html de la page modifié
67 function zengarden_affichage_final($texte){
68 if ($GLOBALS['html'] and isset($GLOBALS['meta']['zengarden_switcher'])){
69 include_spip('prive/zengarden_theme_fonctions');
70 // on passe le theme selectionne en js pour ne pas polluer le cache du switcher
72 "<script type='text/javascript'>var theme_selected='".$_COOKIE['spip_zengarden_theme']."'</script>"
73 . recuperer_fond('inclure/zengarden_switcher');
74 // On rajoute le code du selecteur de squelettes avant la balise </body>
75 $texte=str_replace("</body>",$code."</body>",$texte);