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

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

Retirer quelques messages d'alerte. Changer la facon de calculer la feuille de styles dans habillages.php. Modifie des commentaires.Efface fichiers non utiles. C'est assez chouettos. Il ne reste plus qu'a inserer des squelettes et d'autres themes. Un grand merci a Cedric.

File size: 8.2 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.
7function exec_config_habillages() {
8  global $connect_statut, $connect_toutes_rubriques;
9
10  include_spip("inc/presentation");
11  include_spip ("base/abstract_sql");
12  include_spip("inc/espace_prive");
13  include_spip("inc/plugin");
14
15
16  if ($connect_statut != '0minirezo' OR !$connect_toutes_rubriques) {
17  debut_page('&laquo; '._T('habillageprive:titre_page').' &raquo;', 'configurations', 'habillage_prive','',_DIR_PLUGIN_HABILLAGES.'/img_pack/habillage_prive.css');
18        echo _T('avis_non_acces_page');
19        exit;
20  }
21 
22  // mettre a jour le theme prive pour en profiter tout de suite
23  if (($c=_request('theme'))!==NULL){
24        include_spip('inc/meta');
25        ecrire_meta('habillage_prive',$c);
26        ecrire_metas();
27  }
28
29  debut_page('&laquo; '._T('habillageprive:titre_page').' &raquo;', 'configurations', 'habillage_prive','',_DIR_PLUGIN_HABILLAGES.'/img_pack/habillage_prive.css');
30  if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques ) {
31
32        echo '<br><br>';
33        echo '<img src="' . _DIR_PLUGIN_HABILLAGES. '/img_pack/habillage_prive-48.png">';
34        gros_titre(_T('habillageprive:gros_titre'));
35
36        barre_onglets("configuration", "config_habillages");
37
38        /*Affichage*/
39        debut_gauche(); 
40       
41        debut_boite_info();
42        echo propre(_T('habillageprive:help'));
43        fin_boite_info();
44
45        debut_droite();
46
47        echo "<br />";
48
49#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ######################################
50        debut_cadre_trait_couleur("../"._DIR_PLUGIN_HABILLAGES."/img_pack/habillage_prive-32.png", false, "", _T('habillageprive:titre_habillage_prive'));
51       
52        echo '<form action="'.generer_url_ecrire('config_habillages').'" method="post">';
53               
54        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;'>";
55        echo '<INPUT type=radio name="theme" value=""';
56        if ($GLOBALS['meta']['habillage_prive'] == "")
57                        echo "checked='checked'";
58        echo ">";
59        echo "<strong>Revenir &agrave; l'habillage d'origine</strong>";
60        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
61        echo "</div></div><div style='height: 5px;'></div>";
62
63        $liste_themes = preg_files(_DIR_PLUGIN_HABILLAGES.'/prive/themes/',"/theme[.]xml$");
64        foreach ($liste_themes as $fichier){
65                        $c = dirname($fichier)."/img_pack/";
66        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;'>";
67        echo '<INPUT type=radio name="theme" value="'.$c.'"';
68                        if ($GLOBALS['meta']['habillage_prive'] == $c)
69                                        echo "checked='checked'";
70        echo ">";
71       
72                        lire_fichier($fichier, $texte);
73                        $arbre = parse_plugin_xml($texte);
74                        $arbre = $arbre['theme'][0];
75                       
76                        $theme_name = applatit_arbre($arbre['nom']);
77                        $theme_author = applatit_arbre($arbre['auteur']);
78                        $theme_version = applatit_arbre($arbre['version']);
79                        $theme_description = applatit_arbre($arbre['description']);
80                        echo '<strong>'.$theme_name.'</strong> version '.$theme_version.'</div></div><div class="cadre-padding" style="overflow:hidden;">';
81                        echo '<i><medium>Auteur : '.$theme_author.'</medium></i><br />';
82                        echo '<small>'.$theme_description.'</small>';
83        echo "</div></div><div style='height: 5px;'></div>";
84        }
85       
86        echo '<input type="submit" value="'._T('valider').'"/>';
87        fin_cadre_trait_couleur();
88#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ########################################
89
90echo "<br />";
91
92#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #####################################
93debut_cadre_trait_couleur("../"._DIR_PLUGIN_HABILLAGES."/img_pack/habillage_public-32.png", false, "", _T('habillageprive:titre_habillage_public'));
94       
95        $squelette = $_REQUEST['squelette'];
96        $plugin_options_file = "$plugin_directory/habillages_options.php";
97        $plugin_directory = _DIR_PLUGIN_HABILLAGES;
98       
99        if ($squelette == "initial") {
100                chmod($plugin_options_file, 0777);
101                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
102                $empty_content = "<?php\n?>";
103                $write = fwrite($open_plugin_options_file, $empty_content);
104                fclose($open_plugin_options_file);
105        }
106       
107        else if ($squelette != "") {
108                $cleaned_path = str_replace('../', "", _DIR_PLUGIN_HABILLAGES);
109                chmod($plugin_options_file, 0777);
110                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
111                $new_content = "<?php\n\$GLOBALS['dossier_squelettes']='".$cleaned_path."/public/themes/$squelette/squelettes';\n?>"; 
112                $write = fwrite($open_plugin_options_file, $new_content);
113                fclose($open_plugin_options_file);
114        }
115
116        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;'>";
117        echo '<INPUT type=radio name="squelette" value="initial"';
118                if ($_REQUEST['squelette'] == "initial") {
119                        echo "checked";
120                }
121        echo ">";
122        echo "<strong>Revenir &agrave; l'habillage d'origine</strong>";
123        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
124        echo "</div></div><div style='height: 5px;'></div>";
125       
126        $dossier = opendir ($plugin_directory.'/public/themes/');
127        while ($fichier = readdir ($dossier)) {
128        if ($fichier != "." && $fichier != "..") {
129                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;'>";
130                echo '<INPUT type=radio name="squelette" value="'.$fichier.'"';
131                if ($_REQUEST['squelette'] == "") {
132                        $cleaned_path = str_replace('../', "", _DIR_PLUGIN_HABILLAGES);
133                        $plugin_options_file = "$plugin_directory/habillages_options.php";
134                        $open_plugin_options_file = fopen($plugin_options_file, 'r');
135                                $plugin_options_file_size = filesize ($plugin_options_file);
136                                $read_plugin_options_file = fread ($open_plugin_options_file, $plugin_options_file_size);
137                                $search_skel_name = eregi("\/public\/themes\/(.*)\/squelettes", $read_plugin_options_file, $skel_name);
138                                if ($skel_name[1] == $fichier) {
139                        echo " checked";
140                        }
141                        fclose($open_plugin_options_file);
142                }
143                else if ($_REQUEST['squelette'] == $fichier) {
144                        echo " checked";
145                }
146                echo ">";
147               
148                $theme_file = $plugin_directory.'/public/themes/'.$fichier.'/theme.xml';
149                if (file_exists($theme_file)) {
150                $open_theme_file = fopen($theme_file, 'r');
151                        $theme_file_size = filesize ($theme_file);
152                        $read_theme_file = fread ($open_theme_file, $theme_file_size);
153                        $search_theme_name = eregi("<nom>(.*)</nom>", $read_theme_file, $theme_name);
154                        $search_theme_name = eregi("<auteur>(.*)</auteur>", $read_theme_file, $theme_author);
155                        $search_theme_name = eregi("<version>(.*)</version>", $read_theme_file, $theme_version);
156                        $search_theme_name = eregi("<description>(.*)</description>", $read_theme_file, $theme_description);
157                        echo '<strong>'.$theme_name[1].'</strong> version '.$theme_version[1].'</div></div><div class="cadre-padding" style="overflow:hidden;">';
158                                echo '<i><medium>Auteur : '.$theme_author[1].'</medium></i><br />';
159                                echo '<div style="float:left";><img src="../'.$plugin_directory.'/public/themes/'.$fichier.'/capture.png" alt="description" class="preview" /></div>';
160
161                                echo '<small>'.$theme_description[1].'</small>';
162                        echo "</div></div><div style='height: 5px;'></div>";
163                fclose($open_theme_file);
164                }
165               
166                else {
167                        echo '<strong>'.$fichier.'</strong>';
168                        echo '</div></div><div class="cadre-padding" style="overflow:hidden;">';
169                        echo '<div style="float:left";><img src="../'.$plugin_directory.'/public/themes/'.$fichier.'/capture.png" alt="description" class="preview" /></div>';
170                        echo "</div></div><div style='height: 5px;'></div>";
171                }
172        }
173        }
174        closedir ($dossier);
175       
176        echo '<input type="submit" value="'._T('valider').'"/>';
177       
178        echo '</form>';
179fin_cadre_trait_couleur();
180#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #######################################
181       
182  } 
183 
184  fin_page();
185 
186}
187
188?>
Note: See TracBrowser for help on using the repository browser.