[5] | 1 | <?php |
---|
| 2 | // --------------------------------------------------------------------- |
---|
| 3 | // |
---|
| 4 | // Sktheme : manage themes under SPIP (squelettes + habillages) |
---|
| 5 | // |
---|
| 6 | // Copyright (c) 2006 - Skedus |
---|
| 7 | // |
---|
| 8 | // This program is free software; you can redistribute it and/or modify |
---|
| 9 | // it under the terms of the GNU General Public License as published by |
---|
| 10 | // the Free Software Foundation; either version 2 of the License, or |
---|
| 11 | // (at your option) any later version. |
---|
| 12 | // |
---|
| 13 | // You should have received a copy of the GNU General Public License |
---|
| 14 | // along with this program; |
---|
| 15 | // |
---|
| 16 | // --------------------------------------------------------------------- |
---|
| 17 | // cache desactivation |
---|
| 18 | $_SERVER['REQUEST_METHOD']='POST'; |
---|
| 19 | |
---|
| 20 | include_spip("inc/meta"); |
---|
| 21 | include_spip('inc/sktheme_balises'); |
---|
| 22 | |
---|
| 23 | // Set a default configuration - each values can be modify |
---|
| 24 | // in the private area |
---|
| 25 | if (!isset($GLOBALS['meta']['sktheme_squelettes_public_dir'])){ |
---|
| 26 | ecrire_meta('sktheme_squelettes_public_dir',"themes"); |
---|
| 27 | ecrire_meta('sktheme_habillages_public_dir',"themes"); |
---|
| 28 | ecrire_meta('sktheme_squelette_public_name',"dist"); |
---|
| 29 | ecrire_meta('sktheme_habillage_public_name',""); |
---|
| 30 | ecrire_meta('sktheme_theme_switcher_style',"font-size: 10px;background-color: #FFF;color: #0C479D;border-top: 1px solid #CECECE; border-bottom: 2px solid #4A4A4A; border-left: 1px solid #CECECE; border-right: 1px solid #CECECE;margin:2px .5em;"); |
---|
| 31 | ecrire_meta('sktheme_habillage_switcher_style',"font-size: 10px;background-color: #FFF;color: #0C479D;border-top: 1px solid #CECECE; border-bottom: 2px solid #4A4A4A; border-left: 1px solid #CECECE; border-right: 1px solid #CECECE;margin:2px .5em;"); |
---|
| 32 | ecrire_meta('sktheme_switcher_activated',"no"); |
---|
| 33 | ecrire_meta('sktheme_switcher_admin_only',"yes"); |
---|
| 34 | ecrire_metas(); |
---|
| 35 | } |
---|
| 36 | |
---|
| 37 | // Set default user choice |
---|
| 38 | $s_dir = $GLOBALS['meta']['sktheme_squelettes_public_dir'].'/'.$GLOBALS['meta']['sktheme_squelette_public_name']; |
---|
| 39 | $h_dir = $GLOBALS['meta']['sktheme_habillages_public_dir'].'/'.$GLOBALS['meta']['sktheme_habillage_public_name']; |
---|
| 40 | |
---|
| 41 | // |
---|
| 42 | // SWITCHER THEME |
---|
| 43 | // |
---|
| 44 | // Contrib de Fil : voir http://trac.rezo.net/trac/spip-zone/browser/_contribs_/switcher/switcher.php |
---|
| 45 | // -------------------------------------------------------------------------------------------------- |
---|
| 46 | // Ask sktheme |
---|
| 47 | if (isset($_GET['var_sktheme'])) { |
---|
| 48 | |
---|
| 49 | // sktheme format : |
---|
| 50 | // for theme = squelette_name::habillage_name |
---|
| 51 | // for habillage only = __current::habillage_name |
---|
| 52 | // |
---|
| 53 | list($squelette,$habillage)= split ("::", $_GET['sktheme']); |
---|
| 54 | |
---|
| 55 | // For habillage only |
---|
| 56 | if ($squelette == "__current") { |
---|
| 57 | $squelette = $GLOBALS['meta']['sktheme_squelette_public_name']; |
---|
| 58 | } |
---|
| 59 | |
---|
| 60 | $s_dir = $GLOBALS['meta']['sktheme_squelettes_public_dir'].'/'.$squelette; |
---|
| 61 | $h_dir = $GLOBALS['meta']['sktheme_habillages_public_dir'].'/'.$habillage; |
---|
| 62 | if (is_dir(_DIR_RACINE.$s_dir)) { |
---|
| 63 | // theme exist put a cookie |
---|
| 64 | setcookie('spip_sktheme', $_COOKIE['spip_sktheme'] = $_GET['var_sktheme'], NULL, '/'); |
---|
| 65 | } else { |
---|
| 66 | // not valid remove cookie |
---|
| 67 | setcookie('spip_sktheme', $_COOKIE['spip_sktheme'] = '', -24*3600, '/'); |
---|
| 68 | } |
---|
| 69 | } |
---|
| 70 | |
---|
| 71 | if (isset($_COOKIE['spip_sktheme'])) { |
---|
| 72 | list($squelette,$habillage)= split ("::", $_COOKIE['spip_sktheme']); |
---|
| 73 | // For habillage only |
---|
| 74 | if ($squelette == "__current") { |
---|
| 75 | $squelette = $GLOBALS['meta']['sktheme_squelette_public_name']; |
---|
| 76 | } |
---|
| 77 | $s_dir_new = $GLOBALS['meta']['sktheme_squelettes_public_dir'].'/'.$squelette; |
---|
| 78 | $h_dir_new = $GLOBALS['meta']['sktheme_habillages_public_dir'].'/'.$habillage; |
---|
| 79 | |
---|
| 80 | if (is_dir(_DIR_RACINE.$s_dir_new)) { |
---|
| 81 | $s_dir = $s_dir_new; |
---|
| 82 | } |
---|
| 83 | if (is_dir(_DIR_RACINE.$h_dir_new)) { |
---|
| 84 | $h_dir = $h_dir_new; |
---|
| 85 | } |
---|
| 86 | } |
---|
| 87 | |
---|
| 88 | // So set only the 'dossier_squelettes' to the corresponding user choice |
---|
| 89 | $dossier_squelettes = $h_dir.':'.$s_dir; |
---|
| 90 | ?> |
---|