Changeset 8635 in spip-zone for _squelettes_/BliP


Ignore:
Timestamp:
Jan 7, 2007, 5:33:26 PM (13 years ago)
Author:
petit.bazar@…
Message:

BliP :

  • Factorisation de code pour faciliter la création des listes déroulantes associées à des fichiers
  • Choix du thème par liste déroulante
Location:
_squelettes_/BliP/2_x/plugins/blip
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/BliP/2_x/plugins/blip/exec/blip_contenu.php

    r8634 r8635  
    108108        debut_cadre_relief("", false, "", _T('blipconfig:blip_theme_graphique'));
    109109        $blip_prefixe = entites_html($GLOBALS['meta']["blip_prefixe"]);
    110         echo "<input type='text' name='blip_prefixe' value=\"$blip_prefixe\" size='40' CLASS='forml'>";
     110        $blipconfig_themes = BliP_generer_liste_fichiers('/^theme_.+\.php$/' ,_T('blipconfig:blip_theme_neutre'), '/^theme_(.+)\.php$/');
     111        echo BliP_generer_option_select('blip_prefixe', $blipconfig_themes, $blip_prefixe, "", "forml");
    111112        echo "<div style='text-align:right;'><input type='submit' name='Valider' value='"._T('bouton_enregistrer')."' CLASS='fondo'></div>";
    112         echo "<br />";
    113         echo "Dans votre dossier 'blip' vous trouverez des fichiers theme_XXXX.php. Saisir : XXXX";
    114113        fin_cadre_relief();
    115114        fin_cadre_couleur();
  • _squelettes_/BliP/2_x/plugins/blip/inc/blip_actions.php

    r8633 r8635  
    11<?php
     2        if (!defined('_DIR_PLUGIN_BLIP')){ // definie automatiquement en 1.9.2
     3                $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__).'/..')));
     4                define('_DIR_PLUGIN_BLIP',(_DIR_PLUGINS.end($p)));
     5        }
    26
    37        // Toutes les fonctions ont étés regroupées ici.
     
    379383        /* Génération automatique d'éléments de formulaire */
    380384        /***************************************************/
    381         function BliP_generer_option_select($nom, $valeurs, $actif="", $onchange="") {
    382                 $s  = '<select name="'.$nom.'" id="'.$nom.'" onchange="'.$onchange.'">';
     385        function BliP_generer_option_select($nom, $valeurs, $actif="", $onchange="", $class="") {
     386                $s  = "\n".'<select name="'.$nom.'" id="'.$nom.'" onchange="'.$onchange.'" class="'.$class.'">'."\n";
    383387                foreach ($valeurs as $valeur => $description) {
    384388                        $s .= '<option value="'.$valeur.'"';
     
    425429                }
    426430                return $blipconfig_item;
     431        }
     432
     433// $pattern : expression régulière pour choisir les fichiers
     434// $defaut  : valeur à placer en debut de tableau
     435// $dossier : dossier relatif à celui du plugin
     436// $filtre  : expression régulière à retirer des indexes
     437// retourne un tableau associatif trié array[nomfichier_sans_suffixe]=nomfichier_propre
     438        function BliP_generer_liste_fichiers($pattern, $defaut='', $filtre='/(.+)\.html?$/', $dossier='.') {
     439                $liste = array();
     440                if (is_dir(_DIR_PLUGIN_BLIP."/".$dossier)) {
     441                        if ($dh = opendir(_DIR_PLUGIN_BLIP."/".$dossier)) {
     442                                while (($file = readdir($dh)) !== false) {
     443                                        if (!is_dir($file)) {
     444                                                if (preg_match($pattern, $file)) {
     445                                                        $liste[preg_replace($filtre, '\1', $file)] = BliP_nom_module_lisible($file);
     446                                                }
     447                                        }
     448                                }
     449                                closedir($dh);
     450                        }
     451                }
     452                ksort($liste);
     453                if ($defaut) array_unshift($liste, $defaut);
     454                return ($liste);       
    427455        }
    428456
     
    485513
    486514        $formval = BliP_initialiser_valeurs_formulaire();
    487 
    488         $blipconfig_modules['null']=_T('blipconfig:blip_choisir_module');
    489         if (is_dir("../")) {
    490                 if ($dh = opendir("../plugins/blip/")) {
    491                         while (($file = readdir($dh)) !== false) {
    492                                 if (!is_dir($file)) {
    493                                         if (preg_match("/(^mod)(-|_).+\.html$/", $file)) {
    494                                                 $blipconfig_modules[preg_replace("/\.html$/", "", $file)] = BliP_nom_module_lisible($file);
    495                                         }
    496                                 }
    497                         }
    498                         closedir($dh);
    499                 }
    500         }
    501         asort($blipconfig_modules);
    502 
    503         $blipconfig_pages[0]=_T('blipconfig:blip_choisir_page');
    504         if (is_dir("../")) {
    505                 if ($dh = opendir("../plugins/blip/")) {
    506                         while (($file = readdir($dh)) !== false) {
    507                                 if (!is_dir($file)) {
    508                                         if (preg_match("/^[^-_]+\.html$/", $file)) {
    509                                                 $blipconfig_pages[preg_replace("/\.html$/", "", $file)] = BliP_nom_module_lisible($file);
    510                                         }
    511                                 }
    512                         }
    513                         closedir($dh);
    514                 }
    515         }
    516         asort($blipconfig_pages);
    517 
     515        $blipconfig_modules = BliP_generer_liste_fichiers('/^mod_.+\.html$/', _T('blipconfig:blip_choisir_module'));
     516        $blipconfig_pages = BliP_generer_liste_fichiers('/^[^-_]+\.html$/' ,_T('blipconfig:blip_choisir_page'));
    518517
    519518echo <<<END1
     
    757756
    758757function BliP_nom_module_lisible($nomfichier) {
    759         return ucfirst(preg_replace('/_/', ' ', preg_replace('/(^mod_)?(.*)\.html?/', '$2', $nomfichier)));
     758        return ucfirst(preg_replace('/_/', ' ', preg_replace('/(^mod_|^theme_)?(.*)(\.[^\.]+)/', '$2', $nomfichier)));
    760759}
    761760
  • _squelettes_/BliP/2_x/plugins/blip/lang/blipconfig_fr.php

    r8632 r8635  
    5555        'blip_options' => 'Options &amp; personnalisation',
    5656        'blip_menu_navigation' => 'Menu de navigation de la barre lat&eacute;rale',
     57        'blip_theme_neutre' => 'Neutre',
    5758
    5859        'blip_accueil' => '<b>Accueil</b>',
Note: See TracChangeset for help on using the changeset viewer.