Changeset 85027 in spip-zone


Ignore:
Timestamp:
Oct 6, 2014, 9:27:10 PM (5 years ago)
Author:
jml9340@…
Message:

ajout du module liste_boutons

Location:
_squelettes_/galaxie_melusine/melusine/trunk
Files:
2 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/galaxie_melusine/melusine/trunk/css/style.css

    r85012 r85027  
    4141/*.ecritbande{position:relative;z-index:4;height:25px;margin-left:190px}
    4242*//* style des onglets  */
    43 #top li{float:right;font-variant:small-caps}
     43/*#top li{float:right;font-variant:small-caps}
    4444#top ul li a{float:left;padding-left:10px;padding-right:10px;margin-left:10px;-moz-border-radius-topleft:10px;-moz-border-radius-topright:10px;border:1px solid;border-bottom:0;text-align:center;height:31px;font-size:18px;text-decoration:none}
    45 .img_onglet{vertical-align:25%}
     45.img_onglet{vertical-align:25%}*/
    4646/* --colonne de gauche-- */.gauche{z-index:5;border:0;margin-top:10px;margin-right:5px;margin-left:5px}
    4747/* mise a jour  */.maj{font-size:11px;border:1px solid gray;text-align:center;margin-bottom:10px;padding:3px 0}
     
    631631overflow:hidden;
    632632}
    633 
     633.en_ligne{float:right;padding:0px;display:table;}
     634.en_ligne .item{display:table-cell;vertical-align: middle;height:100%;margin:0px;}
     635.en_ligne .item:hover{background-color:#CCC;}
     636.en_ligne .item a{color:#FFF;}
     637.en_ligne .item a {
     638        padding-left:10px;
     639        font-variant: small-caps;
     640        padding-right:10px;margin-left:10px;
     641       
     642        text-align:center;
     643        height:31px;
     644        font-size:18px;
     645        text-decoration:none
     646}
     647
     648.en_ligne .item-logo a img{
     649        height:90%;
     650}
     651.en_ligne .item-logo:hover {
     652        background-color:transparent!important;
     653}
     654
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_boutons.html

    r66889 r85027  
    11<script type='text/javascript' src=#CHEMIN{scripts/melusine_prive.js}></script>
     2<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">
     3<link href="#CHEMIN{css/style_config_skel.css}" rel="stylesheet">
     4<BOUCLE_noisette(NOISETTES){id_noisette =#ENV{id_noisette}}>
     5#SET{boutons_serialize,#PARAMETRES}
     6#SET{boutons,#PARAMETRES|unserialize|table_valeur{boutons}}
     7#SET{style,#PARAMETRES|unserialize|table_valeur{style}}
     8#SET{voir_images,#PARAMETRES|unserialize|table_valeur{voir_images}}
     9#SET{voir_intitule,#PARAMETRES|unserialize|table_valeur{voir_intitule}}
     10#SET{col,#PARAMETRES|unserialize|table_valeur{col}}
     11</BOUCLE_noisette>
    212
    3 #SET{positions,#CONFIG{melusine_boutons}}
    4 
    5         <form action='#ENV{action}' method='post'>
     13        <form action='#ENV{action}' method='post' enctype="multipart/form-data" >
    614
    715                #ACTION_FORMULAIRE{#ENV{action}}
    816
    9         <h3>Boutons #MELUSINEAIDE{209} </h3>   
    10                         <BOUCLE_test(POUR){tableau #GET{positions}}>
     17        <h3 >Présentation</h3>
     18        <fieldset>
     19                <label for="style">Style : </label>
     20                <select name="style"  >
     21                        <option value="en_ligne" [(#GET{style}|=={en_ligne}|oui) selected ]>En ligne</option>
     22                        <option value="bloc_visible"  [(#GET{style}|=={bloc_visible}|oui) selected ]>blocs visibles</option>
     23                        <option value="multibloc"  [(#GET{style}|=={multibloc}|oui) selected ]>multibloc</option>
     24                </select>
     25        </fieldset>
     26        <fieldset>
     27                <label for="Colonnes">Colonnes : </label>
     28                <select name="col"  >
     29                        <option value="aucune" [(#GET{col}|=={aucune}|oui) selected ]>aucune</option>
     30                        <option value="col-md-2"  [(#GET{col}|=={col-md-2}|oui) selected ]>2 colonnes</option>
     31                        <option value="col-md-4"  [(#GET{col}|=={col-md-4}|oui) selected ]>3 colonnes</option>
     32                        <option value="col-md-3"  [(#GET{col}|=={col-md-3}|oui) selected ]>4 colonnes</option>
     33                </select>
     34        </fieldset>
     35        <fieldset>
     36                <label for="images">Images : </label>
     37                <input type="radio" name="voir_images" value="oui" [(#GET{voir_images}|=={oui}|oui) checked ]> Visibles
     38                <input type="radio" name="voir_images" value="non" [(#GET{voir_images}|=={non}|oui) checked ]> Masquées
     39        </fieldset>
     40        <fieldset>
     41                <label for="Intitulé">Intitulé : </label>
     42                <input type="radio" name="voir_intitule" value="oui" [(#GET{voir_intitule}|=={oui}|oui) checked ]> Visibles
     43                <input type="radio" name="voir_intitule" value="non" [(#GET{voir_intitule}|=={non}|oui) checked ]> Masquées
     44        </fieldset>
     45        <button type='submit' name='ok' value='presentation' class="ok_bouton submitb" ></button>
     46
     47        <h3>Boutons  </h3>     
     48
     49               
     50
     51               
     52               
     53                        <BOUCLE_test(POUR){tableau #GET{boutons}}>
    1154                               
    12 
     55                                #SET{nb_boutons,#TOTAL_BOUCLE|moins{1}}
    1356                               
    1457<div class="formulaire_spip formulaire_editer formulaire_editer_boutons ">
    1558
    16 <h2 class="gestion_bouton" >#CONFIG{melusine_boutons/#CLE/intit}<input type='submit' class="bas submitb"  name='position' value="d#CLE" /><input type='submit' class="submitb haut" name='position' value=m#CLE /><input type='submit' class="submitb sup" name='position' value=s#CLE /></h2>
    17                                         <div class="vue_bouton"><input  class="voir">   </div>                 
     59<h2 class="gestion_bouton" >[(#VALEUR|table_valeur{intitule})]
     60                [(#CLE|=={#GET{nb_boutons}}|non)
     61                <button type='submit' class="bas submitb"  name='position' value="d#CLE" >
     62                        <i class="fa fa-arrow-circle-o-down"></i>
     63                </button>
     64                ]
     65                [(#CLE|=={0}|non)
     66                <button type='submit' class="submitb haut" name='position' value=m#CLE >
     67                        <i class="fa fa-arrow-circle-o-up"></i>
     68                </button>
     69
     70                ]
     71                <button type='submit' class="submitb sup" name='position' value=s#CLE >
     72                        <i class="fa fa-times-circle-o"></i>
     73                </button>
     74
     75                <i class="voir fa fa-edit"></i></h2>
     76                                       
     77
    1878                                        <ul style="display:none">
    1979                                                <li>
    2080                                                        <label for="Intitulé">Intitulé</label>
    21                                                         <input type='text' name='intit#CLE' value="#CONFIG{melusine_boutons/#CLE/intit}" />
     81                                                        <input type='text' name=bouton[#CLE][intitule] value="[(#VALEUR|table_valeur{intitule})]" />
    2282                                                </li>
    2383                                                <li>
    2484                                                        <label for="URL">URL</label>
    25                                                         <input type='text' name='add#CLE' value="#CONFIG{melusine_boutons/#CLE/add}" />
     85                                                        <input type='text' name=bouton[#CLE][url] value="[(#VALEUR|table_valeur{url})]" />
    2686                                                </li>
    2787                                                <li>
    2888                                                        <label for="Nouvelle fenêtre">Nouvelle fenêtre</label>
    29                                                         <input type="checkbox" name="blanck#CLE"  value="blanck" [(#CONFIG{melusine_boutons/#CLE/blanck}=={"blanck"}|?{"checked", })]  /></li>
    30                                                 <li>
    31                                                         <label for="Emplacement ">Emplacement</label>
    32                                                         <SELECT NAME="emplacement#CLE"  style="width:100px">
    33                                                                 <OPTION VALUE="colonne_g" [(#CONFIG{melusine_boutons/#CLE/emplacement}=={"colonne_g"}|?{"selected", })]>Colonne gauche
    34                                                                 <OPTION VALUE="colonne_d" [(#CONFIG{melusine_boutons/#CLE/emplacement}=={"colonne_d"}|?{"selected", })]>Colonne droite
    35                                                                 <OPTION VALUE="onglet" [(#CONFIG{melusine_boutons/#CLE/emplacement}=={"onglet"}|?{"selected", })]>Onglet
    36                                                                 <OPTION VALUE="bandeau" [(#CONFIG{melusine_boutons/#CLE/emplacement}=={"bandeau"}|?{"selected", })]>Bandeau
    37                                                                 <OPTION VALUE="accueil" [(#CONFIG{melusine_boutons/#CLE/emplacement}=={"accueil"}|?{"selected", })]>Accueil                             
    38                                                         </SELECT>
    39                                                 </li>
     89                                                        <input type="checkbox" name=bouton[#CLE][blank]  value="blank" [(#VALEUR|table_valeur{blank}|=={"blank"}|{oui}) checked]  /></li>
     90                                               
    4091                                                <li>
    4192                                                        <label for="Image">Image</label>
    42                                                         <input type="file" name="boutonimage#CLE"  value="" size="30" /><br/>
     93                                                        <input type="file" name='image#CLE' value=""  size="30" /><br/>
     94                                                        <input type="hidden" name=bouton[#CLE][image] value="[(#VALEUR|table_valeur{image})]"  size="30" /><br/>
    4395                                               
    44                                                         [(#CONFIG{melusine_boutons/#CLE/boutonimage}|?{[(#CHEMIN{#CONFIG{melusine_boutons/#CLE/boutonimage}}|image_reduire{150})],[(#CONFIG{melusine_boutons/#CLE/boutonimage}||image_reduire{150})]} )]</li>
     96                                                        [(#VALEUR|table_valeur{image}|oui)
     97                                                        [(#CHEMIN{#VALEUR|table_valeur{image}}|image_reduire{150})]
     98                                                        ]
     99
    45100                                                </li>   
    46101                                                <li>
    47102                                                        <label for="Alt">Description de l'image : balise ALT</label>
    48                                                         <input type='text' name='alt#CLE' value="#CONFIG{melusine_boutons/#CLE/alt}" />
     103                                                        <input type='text' name=bouton[#CLE][alt] value="[(#VALEUR|table_valeur{alt})]" />
    49104                                                </li>                                           
    50                                                 <li >Enregistrer<input type='submit' name='ok' value='ok#CLE' class="ok_bouton submitb" /></li>
     105                                                <li >Enregistrer<input type='submit' name='ok' value='update#CLE' class="ok_bouton submitb" /></li>
    51106                                        </ul>
    52107</div>
     
    55110<div class="init">
    56111                <ul>
    57                          <li>Nouveau bouton<input type='submit' class="ok_bouton" name='position' value="aNouveau" /></li>
     112                       
     113                        <input type='hidden' name='id_noisette' value="#ID_NOISETTE" />
     114                       
     115                        <input type='hidden' name='parametres' value=#GET{boutons_serialize} />
     116                         <li>Nouveau bouton<input type='submit' class="ok_bouton" name='ok' value="create" /></li>
    58117                        <!--<li>Initialiser <input type='submit' class="ajout"  name='position' value="i" /></li>-->
    59118                </ul>
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_boutons.php

    r66889 r85027  
    11<?php
    22include_spip('inc/config');
    3 function formulaires_melusine_boutons_charger(){
    4         $valeurs = array('pos1','pos2','pos3','pos4','pos5','pos6');
    5        
    6         return $valeurs;
     3function formulaires_melusine_boutons_charger($id_noisette){
     4        $valeurs=array();
     5        $valeurs['id_noisette'] = $id_noisette;
     6 
     7  return $valeurs;
    78}
     9
    810
    911function formulaires_melusine_boutons_verifier(){
     
    4446
    4547function formulaires_melusine_boutons_traiter(){
    46         $req=_request('ok');
    47         $cle=substr($req,2);
    48         $ok=substr($req,0,2);
    49         $nb=lire_config('melusine_boutons');
    50         $total_boutons=count($nb);
    51         $tab=array(intit,add,blanck,emplacement,boutonimage,alt);
    52         if($ok==ok){   
    53                 $tab_post=array(intit,add,blanck,emplacement,alt);
    54                 foreach($tab_post as $value){
    55                         ${$value}=$value.$cle;         
    56                         $r=_request(${$value});
    57                         $chemin='melusine_boutons/'.$cle.'/'.$value;
    58                         ecrire_config($chemin, $r);                     
    59                 }
    60                 $nf="boutonimage".$cle;
    61                 if($_FILES[$nf]['tmp_name']){
    62                         $chemin='melusine_boutons/'.$cle.'/boutonimage';
     48        include_spip('action/editer_objet');
     49        $id_noisette=_request('id_noisette');
     50        $params=unserialize(_request('parametres'));
     51        $boutons=_request('bouton');
     52        $action=_request('ok');
     53        $position=_request('position');
     54        $params['style']=_request('style');
     55        $params['voir_images']=_request('voir_images');
     56        $params['voir_intitule']=_request('voir_intitule');
     57        $params['col']=_request('col');
     58        $params['boutons']=$boutons;
     59
     60        if(strpos($position, "d")!== false ){
     61                $cle=intval(str_replace("d","",$position));
     62                $suivant=$cle+1;
     63                $bouton_suivant=$boutons[$suivant];
     64                $bouton_actif=$boutons[$cle];
     65                $boutons[$cle]=$bouton_suivant;
     66                $boutons[$suivant]=$bouton_actif;
     67                $params['boutons']=$boutons;
     68                       
     69
     70                       
     71        }
     72        if(strpos($position, "m")!== false ){
     73                $cle=intval(str_replace("m","",$position));
     74                $precedent=$cle-1;
     75                $bouton_precedent=$boutons[$precedent];
     76                $bouton_actif=$boutons[$cle];
     77                $boutons[$cle]=$bouton_precedent;
     78                $boutons[$precedent]=$bouton_actif;
     79                $params['boutons']=$boutons;
     80               
     81                       
     82        }
     83        if(strpos($action, "update")!== false ){
     84                $cle=str_replace("update","",$action);
     85                $nf="image".$cle;       
     86                if(!empty($_FILES[$nf]['tmp_name'])){
     87                        $chemin='melusine_data/boutons/b'.$id_noisette.'/image';
    6388                        $nom_fichier= $_FILES[$nf]['tmp_name'];
    64                         if(strpos($_SERVER['REQUEST_URI'],"/ecrire/")){$vers="../";}
    65                         else{$vers="";};
    66                         $chemin_destination_boutons=$vers."IMG/config/boutons";
    67                         $chemin_destination_config=$vers."IMG/config";
    68                         $nom_destination=$vers.'IMG/config/boutons/'.$_FILES[$nf]['name'];
     89                        $chemin_destination_boutons="IMG/config/boutons";
     90                        $chemin_destination_config="IMG/config";
     91                        $nom_destination='IMG/config/boutons/'.$_FILES[$nf]['name'];
    6992                        $nom_destination0='IMG/config/boutons/'.$_FILES[$nf]['name'];
    7093                        if(!is_dir("$chemin_destination_boutons")){
     
    7497                                mkdir($chemin_destination_boutons,0777);
    7598                        };
    76                         move_uploaded_file($nom_fichier, $nom_destination);
    77                         ecrire_config($chemin,$nom_destination0);
     99                        move_uploaded_file($nom_fichier, $nom_destination);
     100                        $boutons[$cle]['image'] =$nom_destination0;
     101                        $params['boutons']=$boutons;
    78102                }
    79        
     103
     104               
     105
     106               
     107
     108                       
    80109        }
    81 
    82        
    83         $position=_request('position');
    84         $action=substr($position,0,1);
    85         $i=substr($position,1);
    86         $var="pos".$i;
    87         if($action=="d" && $i<$total_boutons){
    88                 $j=$i+1;
    89                 foreach($tab as $value){
    90                         $chemin='melusine_boutons/'.$i.'/'.$value;
    91                         $chemin_bas='melusine_boutons/'.$j.'/'.$value;
    92                         $pos=lire_config($chemin);
    93                         $pos_bas=lire_config($chemin_bas);
    94                         ecrire_config($chemin_bas, $pos);
    95                         ecrire_config($chemin,$pos_bas);       
    96                 }               
    97         }
    98         if($action=="m" && $i>1 ){
    99                 $j=$i-1;               
    100                 foreach($tab as $value){
    101                         $chemin='melusine_boutons/'.$i.'/'.$value;
    102                         $chemin_haut='melusine_boutons/'.$j.'/'.$value;
    103                         $pos=lire_config($chemin);
    104                         $pos_haut=lire_config($chemin_haut);
    105                         ecrire_config($chemin_haut, $pos);
    106                         ecrire_config($chemin,$pos_haut);       
    107                 }               
    108         }
    109         if($action=="s"){
    110                 $chemin='melusine_boutons/'.$i;
    111                 effacer_config($chemin);
    112                 $j=$i+1;
    113                 $chemin_bas='melusine_boutons/'.$j;
    114                 if(lire_config($chemin_bas)){melusine_rassembler_boutons($i);}
     110        if(strpos($position, "s")!== false ){
     111                $cle=intval(str_replace("s","",$position));
     112                unset($boutons[$cle]);
     113                $boutons=array_values($boutons);
     114                $params['boutons']=$boutons;
     115               
    115116               
    116117        }
    117118
    118         if($action=="a"){
    119                 $cle_nv=$total_boutons+1;
    120                 $chemin='melusine_boutons/'.$cle_nv.'/intit';
    121                 ecrire_config($chemin,'Nouveau');                                       
     119        if($action=="create"){
     120                $casiers=array('intitule','url','blanck','alt','class');
     121                foreach($casiers as $casier){
     122                        $param[$casier]='none';
     123                }
     124                $params['boutons'][]=$param;
     125                                       
    122126        }
     127       
    123128
    124         if($action=="i"){
    125                 effacer_config('melusine_boutons');
    126                 $bouton1=array("Education nationale","http://www.education.gouv.fr/","blanck","bandeau","IMG/config/boutons/image4.png","Education nationale");
    127                 $clebouton=array("intit","add","blanck","emplacement","boutonimage","alt");
    128                 for ($i=0;$i<5;$i++){
    129                        
    130                         $chemin='melusine_boutons/1/'.$clebouton[$i];
    131                        
    132                         ecrire_config($chemin,$bouton1[$i]);
    133                 }                       
    134         }
     129        $set=array('parametres'=>serialize($params));
     130                objet_modifier("noisette", $id_noisette, $set);
    135131       
    136132        return array('message_ok'=>'enregistré');
  • _squelettes_/galaxie_melusine/melusine/trunk/scripts/melusine_prive.js

    r66889 r85027  
     1
     2
     3
    14$(function(){
    25    $("#onglets .onglet").hide();
     
    160163
    161164$(function(){
    162         $(".vue_bouton input").click(
     165        $(".voir").click(
    163166                function(){
    164167                        var $this = $(this);
     
    394397});
    395398
     399
     400
    396401       
Note: See TracChangeset for help on using the changeset viewer.