source: spip-zone/_plugins_/habillages/unstable/exec/config_habillages.php @ 5445

Last change on this file since 5445 was 5445, checked in by franck.ducas@…, 15 years ago

Manquait une variable qui avait saute avec le menage de Cedric (je ne l'aavais pas mise au bon endroit).

File size: 9.1 KB
Line 
1<?php
2
3$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(dirname(__FILE__)))));
4define('_DIR_PLUGIN_HABILLAGES',(_DIR_PLUGINS.end($p)));
5
6// Fonction qui gere les habillages. Tentative de faire la fonction sans appel a la
7// base de donnees, et donc sans manipulation sql.
8function exec_config_habillages() {
9  global $connect_statut, $connect_toutes_rubriques;
10
11  include_spip("inc/presentation");
12  include_spip ("base/abstract_sql");
13  include_spip("inc/espace_prive");
14  include_spip("inc/plugin");
15
16
17  if ($connect_statut != '0minirezo' OR !$connect_toutes_rubriques) {
18  debut_page('&laquo; '._T('habillageprive:titre_page').' &raquo;', 'configurations', 'habillage_prive','',_DIR_PLUGIN_HABILLAGES.'/img_pack/habillage_prive.css');
19        echo _T('avis_non_acces_page');
20        exit;
21  }
22 
23  // mettre a jour le theme prive pour en profiter tout de suite
24  if (($c=_request('theme'))!==NULL){
25        include_spip('inc/meta');
26        ecrire_meta('habillage_prive',$c);
27        ecrire_metas();
28  }
29
30  debut_page('&laquo; '._T('habillageprive:titre_page').' &raquo;', 'configurations', 'habillage_prive','',_DIR_PLUGIN_HABILLAGES.'/img_pack/habillage_prive.css');
31  if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques ) {
32
33        echo '<br><br>';
34        echo '<img src="' . _DIR_PLUGIN_HABILLAGES. '/img_pack/habillage_prive-48.png">';
35        gros_titre(_T('habillageprive:gros_titre'));
36
37        barre_onglets("configuration", "config_habillages");
38
39        /*Affichage*/
40        debut_gauche(); 
41       
42        debut_boite_info();
43        echo propre(_T('habillageprive:help'));
44        fin_boite_info();
45
46        debut_droite();
47
48        # Pour enlever le message d'avertissement, enlever le code a partir d'ici...
49        debut_boite_info();
50        echo "<div class='verdana2' align='justify'>
51        <p align='center'><B>"._T('avis_attention')."</B></p>",
52          http_img_pack("warning.gif", (_T('avis_attention')), "width='48' height='48' align='right' style='padding-$spip_lang_left: 10px;'");
53        echo _T('habillageprive:texte_inc_config');
54        echo "</div>";
55        fin_boite_info();
56        # ... jusque la.
57       
58        echo "<br />";
59
60#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ######################################
61        debut_cadre_trait_couleur("../"._DIR_PLUGIN_HABILLAGES."/img_pack/habillage_prive-32.png", false, "", _T('habillageprive:titre_habillage_prive'));
62       
63        echo "<small>La gestion des habillages de l'espace priv&eacute; est encore en d&eacute;veloppement. ";
64        echo "Rien ne vous emp&ecirc;che de l'essayer (il faut juste savoir que les ic&ocirc;nes appara&icirc;tront au fur et &agrave; mesure";
65        echo " de votre navigation dans l'espace priv&eacute; et que c'est un peu cahotique).</small><br />";
66        echo '<form action="'.generer_url_ecrire('config_habillages').'" method="post">';
67               
68        echo "<a name='access-c' href='#access-c' accesskey='c'></a><div class='cadre-r'><div style='position: relative;'><div class='cadre-titre' style='margin: 0px;'>";
69        echo '<INPUT type=radio name="theme" value=""';
70        if ($GLOBALS['meta']['habillage_prive'] == "")
71                        echo "checked='checked'";
72        echo ">";
73        echo "<strong>Revenir &agrave; l'habillage d'origine</strong>";
74        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
75        echo "</div></div><div style='height: 5px;'></div>";
76
77        $liste_themes = preg_files(_DIR_PLUGIN_HABILLAGES.'/prive/themes/',"/theme[.]xml$");
78        foreach ($liste_themes as $fichier){
79                        $c = dirname($fichier)."/img_pack/";
80        echo "<a name='access-c' href='#access-c' accesskey='c'></a><div class='cadre-r'><div style='position: relative;'><div class='cadre-titre' style='margin: 0px;'>";
81        echo '<INPUT type=radio name="theme" value="'.$c.'"';
82                        if ($GLOBALS['meta']['habillage_prive'] == $c)
83                                        echo "checked='checked'";
84        echo ">";
85       
86                        lire_fichier($fichier, $texte);
87                        $arbre = parse_plugin_xml($texte);
88                        $arbre = $arbre['theme'][0];
89                       
90                        $theme_name = applatit_arbre($arbre['nom']);
91                        $theme_author = applatit_arbre($arbre['auteur']);
92                        $theme_version = applatit_arbre($arbre['version']);
93                        $theme_description = applatit_arbre($arbre['description']);
94                        echo '<strong>'.$theme_name.'</strong> version '.$theme_version.'</div></div><div class="cadre-padding" style="overflow:hidden;">';
95                        echo '<i><medium>Auteur : '.$theme_author.'</medium></i><br />';
96                        echo '<small>'.$theme_description.'</small>';
97        echo "</div></div><div style='height: 5px;'></div>";
98        }
99       
100        echo '<input type="submit" value="'._T('valider').'"/>';
101        fin_cadre_trait_couleur();
102#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ########################################
103
104echo "<br />";
105
106#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #####################################
107debut_cadre_trait_couleur("../"._DIR_PLUGIN_HABILLAGES."/img_pack/habillage_public-32.png", false, "", _T('habillageprive:titre_habillage_public'));
108       
109        $squelette = $_REQUEST['squelette'];
110        $plugin_options_file = "$plugin_directory/habillages_options.php";
111        $plugin_directory = _DIR_PLUGIN_HABILLAGES;
112       
113        if ($squelette == "initial") {
114                chmod($plugin_options_file, 0777);
115                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
116                $empty_content = "<?php\n?>";
117                $write = fwrite($open_plugin_options_file, $empty_content);
118                fclose($open_plugin_options_file);
119        }
120       
121        else if ($squelette != "") {
122                $cleaned_path = str_replace('../', "", _DIR_PLUGIN_HABILLAGES);
123                chmod($plugin_options_file, 0777);
124                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
125                $new_content = "<?php\n\$GLOBALS['dossier_squelettes']='".$cleaned_path."/public/themes/$squelette/squelettes';\n?>"; 
126                $write = fwrite($open_plugin_options_file, $new_content);
127                fclose($open_plugin_options_file);
128        }
129
130        echo "<a name='access-c' href='#access-c' accesskey='c'></a><div class='cadre-r'><div style='position: relative;'><div class='cadre-titre' style='margin: 0px;'>";
131        echo '<INPUT type=radio name="squelette" value="initial"';
132                if ($_REQUEST['squelette'] == "initial") {
133                        echo "checked";
134                }
135        echo ">";
136        echo "<strong>Revenir &agrave; l'habillage d'origine</strong>";
137        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
138        echo "</div></div><div style='height: 5px;'></div>";
139       
140        $dossier = opendir ($plugin_directory.'/public/themes/');
141        while ($fichier = readdir ($dossier)) {
142        if ($fichier != "." && $fichier != "..") {
143                echo "<a name='access-c' href='#access-c' accesskey='c'></a><div class='cadre-r'><div style='position: relative;'><div class='cadre-titre' style='margin: 0px;'>";
144                echo '<INPUT type=radio name="squelette" value="'.$fichier.'"';
145                if ($_REQUEST['squelette'] == "") {
146                        $cleaned_path = str_replace('../', "", _DIR_PLUGIN_HABILLAGES);
147                        $plugin_options_file = "$plugin_directory/habillages_options.php";
148                        $open_plugin_options_file = fopen($plugin_options_file, 'r');
149                                $plugin_options_file_size = filesize ($plugin_options_file);
150                                $read_plugin_options_file = fread ($open_plugin_options_file, $plugin_options_file_size);
151                                $search_skel_name = eregi("\/public\/themes\/(.*)\/squelettes", $read_plugin_options_file, $skel_name);
152                                if ($skel_name[1] == $fichier) {
153                        echo " checked";
154                        }
155                        fclose($open_plugin_options_file);
156                }
157                else if ($_REQUEST['squelette'] == $fichier) {
158                        echo " checked";
159                }
160                echo ">";
161               
162                $theme_file = $plugin_directory.'/public/themes/'.$fichier.'/theme.xml';
163                if (file_exists($theme_file)) {
164                $open_theme_file = fopen($theme_file, 'r');
165                        $theme_file_size = filesize ($theme_file);
166                        $read_theme_file = fread ($open_theme_file, $theme_file_size);
167                        $search_theme_name = eregi("<nom>(.*)</nom>", $read_theme_file, $theme_name);
168                        $search_theme_name = eregi("<auteur>(.*)</auteur>", $read_theme_file, $theme_author);
169                        $search_theme_name = eregi("<version>(.*)</version>", $read_theme_file, $theme_version);
170                        $search_theme_name = eregi("<description>(.*)</description>", $read_theme_file, $theme_description);
171                        echo '<strong>'.$theme_name[1].'</strong> version '.$theme_version[1].'</div></div><div class="cadre-padding" style="overflow:hidden;">';
172                                echo '<i><medium>Auteur : '.$theme_author[1].'</medium></i><br />';
173                                echo '<div style="float:left";><img src="../'.$plugin_directory.'/public/themes/'.$fichier.'/capture.png" alt="description" class="preview" /></div>';
174
175                                echo '<small>'.$theme_description[1].'</small>';
176                        echo "</div></div><div style='height: 5px;'></div>";
177                fclose($open_theme_file);
178                }
179               
180                else {
181                        echo '<strong>'.$fichier.'</strong>';
182                        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
183                        echo '<div style="float:left";><img src="../'.$plugin_directory.'/public/themes/'.$fichier.'/capture.png" alt="description" class="preview" /></div>';
184                        echo "</div></div><div style='height: 5px;'></div>";
185                }
186        }
187        }
188        closedir ($dossier);
189       
190        echo '<input type="submit" value="'._T('valider').'"/>';
191       
192        echo '</form>';
193fin_cadre_trait_couleur();
194#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #######################################
195       
196  } 
197 
198  fin_page();
199 
200}
201
202?>
Note: See TracBrowser for help on using the repository browser.