Changeset 5298 in spip-zone


Ignore:
Timestamp:
Sep 12, 2006, 8:21:41 PM (15 years ago)
Author:
petit.bazar@…
Message:

BliP : Première phase pour rendre le formulaire de configuration autoadaptatif (#149).

Location:
_squelettes_/BliP/2_3_interface
Files:
12 added
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/BliP/2_3_interface/inc/blip_actions.php

    r5265 r5298  
    11<?php
    2 
    32
    43        // Toutes les fonctions ont étés regroupées ici.
     
    294293        /* Génération automatique d'éléments de formulaire */
    295294        /***************************************************/
    296         function BliP_generer_option_select($nom, $valeurs, $actif="") {
    297             $s  = '<select name="'.$nom.'" id="'.$nom.'">';
     295        function BliP_generer_option_select($nom, $valeurs, $actif="", $onchange="") {
     296            $s  = '<select name="'.$nom.'" id="'.$nom.'" onchange="'.$onchange.'">';
    298297            foreach ($valeurs as $valeur => $description) {
    299298                $s .= '<option value="'.$valeur.'"';
     
    342341        }
    343342
    344         /* générer un formulaire prérempli pour l'item nouveau ou modifié */
     343/* générer un formulaire prérempli pour l'item nouveau ou modifié */
     344/* ajout d'un type à part entière : pointer vers une page spécifique ?
     345  'page' => _T('blipconfig:blip_pointer_page') */
    345346        function BliP_generer_formulaire($action) {
    346347    $blipconfig_menutypes = array(
     
    412413
    413414    $formval = BliP_initialiser_valeurs_formulaire();
     415   
     416    $blipconfig_modules['null']=_T('blipconfig:blip_choisir_module');
     417    if (is_dir("../")) {
     418        if ($dh = opendir("../plugins/blip/modules/")) {
     419            while (($file = readdir($dh)) !== false) {
     420                if (!is_dir($file)) {
     421                    $blipconfig_modules[$file] = BliP_nom_module_lisible($file);
     422                }
     423            }
     424            closedir($dh);
     425        }
     426    }
     427    asort($blipconfig_modules);
     428
     429    $blipconfig_pages[0]=_T('blipconfig:blip_choisir_page');
     430    if (is_dir("../")) {
     431        if ($dh = opendir("../plugins/blip/")) {
     432            while (($file = readdir($dh)) !== false) {
     433                if (!is_dir($file)) {
     434                    if (! preg_match("/(^inc|^mod)(-|_)/", $file) && preg_match("/\.html$/", $file)) {
     435                        $blipconfig_pages[preg_replace("/\.html$/", "", $file)] = BliP_nom_module_lisible($file);
     436                    }
     437                }
     438            }
     439            closedir($dh);
     440        }
     441    }
     442    asort($blipconfig_pages);
     443
     444
     445echo <<<END1
     446<script language="JavaScript" type="text/JavaScript">
     447//<!--
     448END1;
     449echo "\nvar item_type = ".$formval['type'].";";
     450echo "\nvar item_pos  = ".$formval['position'].";\n";
     451
     452echo <<<END
     453
     454function blip_update_type(selObj) {
     455    item_type = selObj.options[selObj.selectedIndex].value;
     456    blip_update_layers();
     457}
     458function blip_update_pos(selObj) {
     459    item_pos = selObj.options[selObj.selectedIndex].value;
     460    blip_update_layers();
     461}
     462function blip_update_layers() {
     463        if (item_type == "dynamique") {
     464            display_style = 'none';
     465        display_text = "none";
     466            if (item_pos == "menu_principal") {
     467                display_modules = "none";
     468            display_title = "block";
     469            display_descr = "block";
     470            display_pages = "block";
     471        } else {
     472            display_modules = "block";
     473            display_title = "none";
     474            display_descr = "none";
     475            display_pages = "none";
     476        }
     477    } else {
     478        display_modules = "none";
     479        display_style = "block";
     480        display_text = "block";
     481        display_title = "block";
     482        display_descr = "none";
     483        display_pages = "none";
     484    }
     485
     486        if (!(layer = findObj('Layer_texte'))) return;
     487                layer.style.display = display_text;
     488        if (!(layer = findObj('Layer_style'))) return;
     489                layer.style.display = display_style;
     490        if (!(layer = findObj('Layer_modules'))) return;
     491                layer.style.display = display_modules;
     492        if (!(layer = findObj('Layer_titre'))) return;
     493                layer.style.display = display_title;
     494        if (!(layer = findObj('Layer_descr'))) return;
     495                layer.style.display = display_descr;
     496        if (!(layer = findObj('Layer_pages'))) return;
     497                layer.style.display = display_pages;
     498}
     499//-->
     500</script>
     501END;
     502
     503    if ($formval['type'] == "dynamique") {
     504        $display_style = "none";
     505        $display_texte = "none";
     506        if ($formval['position'] == "menu_principal") {
     507            $display_modules = "none";
     508            $display_titre = "block";
     509            $display_descr = "block";
     510            $display_pages = "block";
     511        } else {
     512            $display_modules = "block";
     513            $display_titre = "none";
     514            $display_descr = "none";
     515            $display_pages = "none";
     516        }
     517    } else {
     518        $display_pages = "none";
     519        $display_modules = "none";
     520        $display_style = "block";
     521        $display_texte = "block";
     522        $display_titre = "block";
     523        $display_descr = "none";
     524    }
    414525
    415526    echo '<form name="form1" id="form1" method="post" action="'.generer_url_ecrire('blip_modifier',"action=formulaire").'">';
     
    420531
    421532        debut_cadre_relief("", false, "", bouton_block_invisible('blip_position')._T('blipconfig:blip_position_info'));
    422     echo BliP_generer_option_select('type', $blipconfig_menutypes, $formval['type']);
     533    echo BliP_generer_option_select('type', $blipconfig_menutypes, $formval['type'], "blip_update_type(this)");
    423534        echo debut_block_invisible('blip_position');
    424535        echo "<p><b>c : </b>L'option 'Afficher du texte' ne doit pas &ecirc;tre utilis&eacute; en remplacement des articles ou br&egrave;ves, mais pour des messages ponctuels et/ou cibl&eacute;</p>";
     
    428539
    429540        debut_cadre_relief("", false, "", bouton_block_invisible('blip_restriction')._T('blipconfig:blip_restriction_info'));
    430     echo BliP_generer_option_select('position', $blipconfig_positions, $formval['position']);
     541    echo BliP_generer_option_select('position', $blipconfig_positions, $formval['position'], "blip_update_pos(this)");
    431542        echo debut_block_invisible('blip_restriction');
    432543        echo "<br />";
     
    438549        echo "<br />";
    439550
     551    echo '<div id="Layer_titre" style="display: '.$display_titre.'; margin-top: 1px;">';
    440552        debut_cadre_relief("", false, "", bouton_block_invisible('blip_titre')._T('blipconfig:blip_titre_info'));
    441     echo '<input name="titre" type="text" id="titre" value="'.$formval['titre'].'" size="45" /> ';
     553    echo '<input name="titre" type="text" id="titre" value="'.$formval['titre'].'" size="70" /> ';
    442554        echo debut_block_invisible('blip_titre');
    443555        echo "<p><b>i : </b>Si vous avez s&eacute;lectionn&eacute; 'Afficher du texte' au point 1. alors saisissez votre titre ici, il sera affich&eacute; en gras.</p>";
     
    447559        fin_cadre_relief();
    448560        echo "<br />";
    449 
     561        echo "</div>\n";
     562
     563    echo '<div id="Layer_descr" style="display: '.$display_descr.'; margin-top: 1px;">';
    450564        debut_cadre_relief("", false, "", bouton_block_invisible('blip_descriptif')._T('blipconfig:blip_descriptif_info'));
    451         echo '<input name="descriptif" type="text" id="descriptif" value="'.$formval['descriptif'].'" size="45" />';
     565        echo '<input name="descriptif" type="text" id="descriptif" value="'.$formval['descriptif'].'" size="70" />';
    452566        echo debut_block_invisible('blip_descriptif');
    453567        echo "<p><b>i : </b>Si vous avez s&eacute;lectionn&eacute; 'Afficher du texte' au point 1. alors saisissez votre descriptif ici, il sera affich&eacute; en italique.</p>";
     
    457571        fin_cadre_relief();
    458572        echo "<br />";
     573        echo "</div>\n";
    459574
    460575        debut_cadre_relief("", false, "", bouton_block_invisible('blip_texte')._T('blipconfig:blip_texte_info'));
    461         echo '<textarea name="texte" type="text" id="texte" cols="45" rows="5">'.$formval['texte'].'</textarea>';
     576   
     577    echo '<div id="Layer_texte" style="display: '.$display_texte.'; margin-top: 1px;">';
     578        echo 'Texte<br /><textarea name="texte" type="text" id="texte" cols="50" rows="5">'.$formval['texte'].'</textarea>';
     579        echo "</div>\n";
     580   
     581    echo '<div id="Layer_modules" style="display: '.$display_modules.'; margin-top: 1px;">';
     582        echo 'Module '.BliP_generer_option_select('module', $blipconfig_modules, $formval['texte'].".html");
     583        echo "</div>\n";
     584       
     585    echo '<div id="Layer_pages" style="display: '.$display_pages.'; margin-top: 1px;">';
     586        echo 'Page '.BliP_generer_option_select('module', $blipconfig_pages, $formval['texte']);
     587        echo "</div>\n";
     588       
    462589        echo debut_block_invisible('blip_texte');
    463590        echo "<p><b>i : </b>Si vous avez s&eacute;lectionn&eacute; 'Afficher du texte' au point 1. alors saisissez votre texte ici.</p>";
     
    468595        echo "<br />";
    469596
     597    echo '<div id="Layer_style" style="display: '.$display_style.'; margin-top: 1px;">';
    470598        debut_cadre_relief("", false, "", bouton_block_invisible('blip_style')._T('blipconfig:blip_style_info'));
    471599        echo BliP_generer_option_select('style', $blipconfig_style, $formval['style']);
     
    476604        echo fin_block();
    477605        fin_cadre_relief();
     606        echo "<br />";
    478607
    479608        echo "Actif : ";
     
    542671}
    543672
     673function BliP_nom_module_lisible($nomfichier) {
     674    return ucfirst(preg_replace('/_/', ' ', preg_replace('/(^mod_)?(.*)\.html?/', '$2', $nomfichier)));
     675}
    544676
    545677?>
  • _squelettes_/BliP/2_3_interface/lang/blipconfig_fr.php

    r4935 r5298  
    1313        'blip_effacer_info' => '<b>Cette page est uniquement accessible aux responsables du site.</b><p /> Elle vous permet d\'effectuer les op&eacute;rations de maintenance le squelette BliP. <p /> Les modifications effectu&eacute;es dans ces pages influent notablement sur le fonctionnement de votre site. Nous vous recommandons de ne pas y intervenir tant que vous n\'&ecirc;tes pas familier du fonctionnement du squelette BliP. <p /> <b>Plus g&eacute;n&eacute;ralement, il est fortement conseill&eacute; de laisser la charge de ces pages au webmestre principal de votre site.</b>',
    1414        'blip_raccourcis_documentation' => '<a href=\'http://www.cent20.net/spip.php?rubrique76\'>Documentation de BliP</a>',
     15        'blip_choisir_module' => '&lt;Choisir un module&gt;',
     16        'blip_choisir_page' => '&lt;Choisir une page&gt;',
    1517        'blip_configuration_voir_general' => 'Configuration du squelette BLiP de votre site internet',
    1618        'blip_configuration_effacer' => 'D&eacute;sinstaller le squelette BliP',
     
    2729        'blip_info_base_ko_bis' => 'Le squelette BliP n&eacute;cessite l\'installation d\'une table suppl&eacute;mentaire nomm&eacute;e spip_blip pour fonctionner. Cliquer sur le bouton pour l\'installer.',
    2830        'blip_info_desinstal' => '<b>Cette commande efface la base de donn&eacute;e cr&eacute;&eacute;e lors de l\'installation du squelette BliP.</b><p />  La base de donn&eacute;e de spip n\'est pas effac&eacute;e. Si vous souhaitez supprimer le squelette BliP, alors vous devrez &eacute;galement supprimer par ftp le contenu du dossier squelette',
    29         'blip_position_info' => '1. Que voulez-vous faire ?',
    30         'blip_restriction_info' => '2. Positionnement sur le site :',
    31         'blip_titre_info' => '3. Titre de l\'&eacute;l&egrave;ment',
    32         'blip_descriptif_info' => '4. Descriptif de l\'&eacute;l&egrave;ment',
    33         'blip_texte_info' => '5. Texte &agrave; afficher ou fichier &agrave; inclure',
    34         'blip_style_info' => '6. Style attach&eacute;',
     31        'blip_position_info' => 'Que voulez-vous faire ?',
     32        'blip_restriction_info' => 'Positionnement sur le site :',
     33        'blip_titre_info' => 'Titre de l\'&eacute;l&egrave;ment',
     34        'blip_descriptif_info' => 'Descriptif de l\'&eacute;l&egrave;ment',
     35        'blip_texte_info' => 'Texte &agrave; afficher / fichier &agrave; inclure / page &agrave; lier',
     36        'blip_style_info' => 'Style attach&eacute;',
    3537        'blip_modifier_creer' => 'Ajouter un &eacute;l&egrave;ment de configuration',
    3638        'blip_modifier_editer' => 'Modifier un &eacute;l&egrave;ment de configuration',
Note: See TracChangeset for help on using the changeset viewer.