Changeset 5230 in spip-zone


Ignore:
Timestamp:
Sep 10, 2006, 2:10:10 PM (15 years ago)
Author:
franck.ducas@…
Message:

Ca devrait marcher. Passe en test car plein de details non testes. J'ai mis fraichdist et minigrispip dans les squelettes, mais rien ne vous empeche d'en ajouter (j'en ajouterais apres aussi). Je redige tout de suite une doc sur la personnalisation du pleuguine (ajouter ou enlever des themes). En gros, pour ajouter des jeux d'icones pour l'espace prive (j'insererais plus tard la possibilite d'utiliser sa propre feuille de style), il faut mettre vos icones dans un dossier nomme "img_pack", et mettre ce dossier dans un autre qui porte le nom de votre theme. Il faut ensuite mettre ce dossier dans le répertoire "habillages/prive/themes" (dans le repertoire "themes" contenu dans le repertoire "prive" lui-meme contenu dans le repertoire du pleuguine ("habillages"). Pour ajouter des jeux de squelettes, il faut mettre vos squelettes dans un dossier "squelettes" que vous mettez dans un dossier qui porte le nom de votre theme. Il faut ensuite mettre ce dossier dans le répertoire "habillages/public/themes" (dans le repertoire "themes" contenu dans le repertoire "public" lui-meme contenu dans le repertoire du pleuguine ("habillages"). Tous les themes incluent un fichier theme.xml (a revoir pour son contenu) a la racine de leur dossier, qui donne le nom du theme, son auteur, etc. Copiez en un existant et rempacer juste les mentions entre les balises pour le personnaliser.

Location:
_plugins_/habillages
Files:
31 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/habillages/exec/config_habillages.php

    r5208 r5230  
    33$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(dirname(__FILE__)))));
    44define('_DIR_PLUGIN_HABILLAGES',(_DIR_PLUGINS.end($p)));
     5
     6$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',dirname(__FILE__)));
     7define('_DIR_PLUGIN_HABILLAGES_OPT',(_DIR_PLUGINS.end($p)));
    58
    69// Fonction qui gere les habillages. Tentative de faire la fonction sans appel a la
     
    4750       
    4851        echo "<br />";
    49        
     52
     53#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ######################################
    5054        debut_cadre_trait_couleur("", false, "", _T('habillageprive:titre_habillage_prive'));
    5155
     
    9599                                # habillage :
    96100                                else if ($search_original_content) {
    97                                         $search_comment_backup = eregi("//backup(.*)", $read_backup_file);
     101                                        $search_comment_backup = eregi("//backup_define(.*)", $read_backup_file);
    98102                                       
    99103                                        if ($search_comment_backup) {
     
    153157                else {
    154158                        $open_options_file = fopen($options_file, 'w+');
    155                         $new_content = "<?\n//start_define_img_pack\ndefine('_DIR_IMG_PACK', ('".$plugin_directory."/prive/themes/".$theme."/img_pack/'));\n//end_define_img_pack\n?>";
     159                        $new_content = "<?php\n//start_define_img_pack\ndefine('_DIR_IMG_PACK', ('".$plugin_directory."/prive/themes/".$theme."/img_pack/'));\n//end_define_img_pack\n?>";
    156160                        $write = fwrite($open_options_file, $new_content);
    157161                        fclose($open_options_file);
     
    179183                        echo " checked";
    180184                        }
     185                        fclose($open_options_file);
    181186                }
    182187                else if ($_REQUEST['theme'] == $fichier) {
     
    184189                }
    185190                echo ">";
    186                 echo $fichier.'<br />';
     191               
     192                $theme_file = $plugin_directory.'/prive/themes/'.$fichier.'/theme.xml';
     193                if (file_exists($theme_file)) {
     194                $open_theme_file = fopen($theme_file, 'r');
     195                        $theme_file_size = filesize ($theme_file);
     196                        $read_theme_file = fread ($open_theme_file, $theme_file_size);
     197                        $search_theme_name = eregi("<nom>(.*)</nom>", $read_theme_file, $theme_name);
     198                        $search_theme_name = eregi("<auteur>(.*)</auteur>", $read_theme_file, $theme_author);
     199                        $search_theme_name = eregi("<version>(.*)</version>", $read_theme_file, $theme_version);
     200                        $search_theme_name = eregi("<description>(.*)</description>", $read_theme_file, $theme_description);
     201                        echo '<strong>'.$theme_name[1].'</strong> version '.$theme_version[1].' (Auteur : '.$theme_author[1].')<br />';
     202                        echo $theme_description[1];
     203                echo "<BR />";
     204                fclose($open_theme_file);
     205                }
     206               
     207                else {
     208                        echo $fichier.'<br />';
     209                }
    187210        }
    188211        }
     
    190213       
    191214        echo '<input type="submit" value="'._T('valider').'"/>';
    192         echo '</form>';
    193215        fin_cadre_trait_couleur();
    194        
     216#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PRIVE ########################################
     217
     218echo "<br />";
     219
     220#### DEBUT DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #####################################
     221debut_cadre_trait_couleur("", false, "", _T('habillageprive:titre_habillage_public'));
     222       
     223        $squelette = $_REQUEST['squelette'];
     224        $plugin_options_file = "$plugin_directory/habillages_options.php";
     225       
     226        if ($squelette == "initial") {
     227                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
     228                $news_content = "<\?php\n\?>";
     229                $write = fwrite($open_plugin_options_file, $new_content);
     230        }
     231       
     232        else if ($squelette != "") {
     233                $cleaned_path = str_replace('../', "", _DIR_PLUGIN_HABILLAGES);
     234                $open_plugin_options_file = fopen($plugin_options_file, 'w+');
     235                $new_content = "<?php\n\$GLOBALS['dossier_squelettes']='".$cleaned_path."/public/themes/$squelette/squelettes';\n?>";
     236                $write = fwrite($open_plugin_options_file, $new_content);
     237                fclose($open_plugin_options_file);
     238        }
     239       
     240        else if ($squelette == "") {
     241                $open_plugin_options_file = fopen($plugin_options_file, 'r');
     242                $plugin_options_file_size = filesize ($plugin_options_file);
     243                $read_options_file = fread ($open_plugin_options_file, $plugin_options_file_size);
     244                $search_skel_name = eregi("\$GLOBALS\[\'dossier_squelettes\'\]\=$clean_path\.\'\/public\/themes\/(.*)\/squelettes\'\;", $read_options_file, $skel_name);
     245                echo $skel_name[1];
     246                fclose($open_plugin_options_file);
     247        }
     248       
     249        echo '<INPUT type=radio name="squelette" value="initial"';
     250                if ($_REQUEST['squelette'] == "initial") {
     251                        echo "checked";
     252                }
     253        echo ">";
     254        echo "Revenir &agrave; l'habillage d'origine";
    195255        echo "<br />";
    196        
    197         debut_cadre_trait_couleur("", false, "", _T('habillageprive:titre_habillage_public'));
    198         echo "A venir...";
    199         fin_cadre_trait_couleur();
     256       
     257        $dossier = opendir ($plugin_directory.'/public/themes/');
     258        while ($fichier = readdir ($dossier)) {
     259        if ($fichier != "." && $fichier != "..") {
     260                echo '<INPUT type=radio name="squelette" value="'.$fichier.'"';
     261                if ($_REQUEST['squelette'] == "") {
     262                        $open_plugin_options_file = fopen($plugin_options_file, 'r');
     263                                $plugin_options_file_size = filesize ($plugin_options_file);
     264                                $read_plugin_options_file = fread ($open_plugin_options_file, $plugin_options_file_size);
     265                                $search_skel_name = eregi("\$GLOBALS\[\'dossier_squelettes\'\]\=$clean_path\.\'\/public\/themes\/(.*)\/squelettes\'\;", $read_plugin_options_file, $skel_name);
     266                                if ($skel_name[1] == $fichier) {
     267                        echo " checked";
     268                        }
     269                        fclose($open_plugin_options_file);
     270                }
     271                else if ($_REQUEST['squelette'] == $fichier) {
     272                        echo " checked";
     273                }
     274                echo ">";
     275               
     276                $theme_file = $plugin_directory.'/public/themes/'.$fichier.'/theme.xml';
     277                if (file_exists($theme_file)) {
     278                $open_theme_file = fopen($theme_file, 'r');
     279                        $theme_file_size = filesize ($theme_file);
     280                        $read_theme_file = fread ($open_theme_file, $theme_file_size);
     281                        $search_theme_name = eregi("<nom>(.*)</nom>", $read_theme_file, $theme_name);
     282                        $search_theme_name = eregi("<auteur>(.*)</auteur>", $read_theme_file, $theme_author);
     283                        $search_theme_name = eregi("<version>(.*)</version>", $read_theme_file, $theme_version);
     284                        $search_theme_name = eregi("<description>(.*)</description>", $read_theme_file, $theme_description);
     285                        echo '<strong>'.$theme_name[1].'</strong> version '.$theme_version[1].' (Auteur : '.$theme_author[1].')<br />';
     286                        echo $theme_description[1];
     287                echo "<BR />";
     288                fclose($open_theme_file);
     289                }
     290               
     291                else {
     292                        echo $fichier.'<br />';
     293                }
     294        }
     295        }
     296        closedir ($dossier);
     297       
     298        echo '<input type="submit" value="'._T('valider').'"/>';
     299       
     300        echo '</form>';
     301fin_cadre_trait_couleur();
     302#### FIN DE L'ENCADRE QUI GERE L'HABILLAGE PUBLIC #######################################
     303       
    200304  }
    201305 
  • _plugins_/habillages/lang/habillageprive_fr.php

    r5208 r5230  
    22
    33$GLOBALS[$GLOBALS['idx_lang']] = array(
    4         'titre_page' => 'Configuration de l\'habillage de l\'espace priv&eacute;',
    5         'gros_titre' => 'Choisissez le th&egrave;me d\'habillage de l\'espace priv&eacute;.',
     4        'titre_page' => 'Configuration des habillages de votre site',
     5        'gros_titre' => 'Configuration des habillages de votre site',
    66        'help' => '{{Fonctionnement}}
    77       
  • _plugins_/habillages/plugin.xml

    r5208 r5230  
    11<plugin>
    22        <nom> <!-- Nom du plugin -->
    3         Habilage espace priv&eacute;
     3        Habillages du site
    44        </nom>
    55        <auteur>        <!-- Auteur du plugin -->
     
    77        </auteur>
    88        <version> <!-- Version du plugin -->
    9         0.1
     9        0.2
    1010        </version>
    1111        <etat> <!-- Etat du plugin, au choix : dev (developpement), test, stable, experimental -->
    12         dev
     12        en test
    1313        </etat>
    1414        <description>
    15 Plugin qui change les ic&ocirc;nes de l'espace priv&eacute;.
     15Plugin qui change les ic&ocirc;nes de l'espace priv&eacute; et charge le squellette de votre choix sur votre site public.
    1616
    17 En développement. Plugin non fonctionnel.
     17Vous configurez les habillages en cliquant sur "Configuration", puis sur "Habillages".
    1818        </description>
     19        <options> <!-- fichier options (comme l'ancien mes_options.php) charge a chaque hit !! ne surtout pas l'appeler mes_options -->
     20        habillages_options.php
     21        </options>
    1922        <!-- prefixe des fonctions, filtres et fichers de votre plugin :
    2023                toutes vos fonctions doivent commencer par ce prefixe suivi de _ (ici : template_ma_fonction() par exemple)
  • _plugins_/habillages/todo.list

    r5208 r5230  
    33<done>- Mettre au clic sur "configurer habillage privé" une vérification de l'habillage déjà chargé.</done>
    44- Mettre verrou pour ne pas utiliser deux noms de thème identiques.
     5- Dans le gestionnaire d'espace privé, mettre un "apperçu" pour voir le squelette en situation sur le site public.
    56- Voir comment gérer les chemins vers le dossier img_pack des plugins puisque le plugin habillage_prive redefini l'img_pack original (celui qui a servi aux concepteurs des autres plugins pour définir leur chemin vers img_pack) -> regarder "find_in_path"...
    67- Insérer captures ecrans et descriptifs via un fichier theme à la racine des dossiers de thèmes.
Note: See TracChangeset for help on using the changeset viewer.