Changeset 82952 in spip-zone


Ignore:
Timestamp:
Jun 11, 2014, 9:36:23 AM (7 years ago)
Author:
bmarne@…
Message:

Début de l'implémentation de l'ajout des modules en utilsiant les noisettes du noizetier et les modules avec la table spip_noisettes.

  • pour l'instant il n'a que le formulaire aui s'affiche correctement avec la bonne liste de modules/noisettes:
    • ceux qui sont réservés au type de page et de bloc
    • ceux qui ne sont pas déjà placés (s'ils sont de type unique)
Location:
_squelettes_/galaxie_melusine/melusine/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/galaxie_melusine/melusine/trunk/ajout_module_bloc.html

    r82754 r82952  
    66<h1>Ajouter un module dans le bloc&nbsp;: #ENV{nom_bloc}</h1>
    77<p>Choisissez un module dans la liste ci-dessous</p>
    8 #FORMULAIRE_MELUSINE_AJOUT_MODULE{#ENV{casier},#ENV{casiers_page},#ENV{reserve}}
     8#FORMULAIRE_MELUSINE_AJOUT_MODULE{#BLOC,#TYPE}
    99</body>
    1010</html>
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_ajout_module.html

    r82754 r82952  
    11#FILTRE{ŧrim}
    2 #SET{skel, #CONFIG{#ENV{reserve}/skel}|sinon{#ARRAY}}
    3 <BOUCLE_modules_pris(POUR){tableau #ENV{casiers_page}|explode{","}|sinon{#ARRAY}}>
    4 [(#SET{modules_pris,[(#GET{modules_pris}|sinon{#ARRAY}|array_merge{[(#CONFIG{#VALEUR}|sinon{#ARRAY})]})]}
     2[(#REM)
     3
     4
     5
     6
     7        On récupère la liste des modules dispos, triés par unicité
     8
     9]
     10[(#SET{modules_dispo,[(#BLOC|melusine_liste_modules_autorises{#TYPE}|sinon{#ARRAY})]})]
     11[(#SET{modules_dispo_tries,[(#GET{modules_dispo}|melusine_trier_uniques)]}
    512)]
     13
     14
     15[(#REM)
     16
     17
     18
     19
     20        On récupère la liste des modules déjà pris et qui sont
     21        supposés être uniques
     22
     23]
     24<BOUCLE_modules_pris(NOISETTES){bloc}{type}>
     25[(#GET{modules_dispo_tries}|table_valeur_cleslash{uniques!#NOISETTE!unique}|=={oui}|oui)
     26        [(#SET{modules_pris_uniques,[(#GET{modules_pris_uniques}|sinon{#ARRAY}|push{#NOISETTE})]}
     27        )]
     28]
    629</BOUCLE_modules_pris>
    7 [(#SET{colonne,[(#GET{sommaireg}|array_merge{#GET{sommaired},#GET{droite},#GET{gauche}})]})]
    8 [(#SET{modules_en_reserve,[(#GET{skel}|array_diff{#GET{modules_pris}})]})]
     30[(#REM)
     31
     32
     33
     34        Dans la pile des modules dipos, on
     35        enlève ceux qui sont pris et uniques
     36]
     37[(#SET{modules_utilisables,[(#GET{modules_dispo}|sinon{#ARRAY}|array_diff_key{#GET{modules_pris_uniques}|array_flip})]})]
     38[(#REM)
     39
     40
     41
     42        Et on affiche le formulaire avec la liste
     43        des modules que l'on peu ajouter
     44]
    945<div class="formulaire_spip formulaire_deplacer_module">
    1046        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     
    1349                #ACTION_FORMULAIRE{#ENV{action}}
    1450                <ul class="boutons editer_position obligatoire">
    15 <BOUCLE_dispos(POUR){tableau #GET{modules_en_reserve}}>
     51<BOUCLE_dispos(POUR){tableau #GET{modules_utilisables}}>
    1652                        <li>
    1753
    18                                 <input type='submit' title="Ajouter ce module"  name='nom_module' value="#VALEUR" />
    19                                 [(#VALEUR|replace{"_"," "}|spip_ucfirst)]
     54                                <input type='submit' title="Ajouter ce module"  name='nom_module' value="[(#CLE|attribut_html)]" />
     55                                [(#VALEUR|table_valeur_cleslash{nom})]
    2056
    2157                        </li>
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_ajout_module.php

    r82754 r82952  
    1818 * @uses formulaires_editer_objet_charger()
    1919 *
    20  * @param int|string $casier
    21  *     nom du casier correspondant au bloc dans lequel on veut ajouter un module
    22  * @param int|string $casiers_page
    23  *     liste des casiers de la page
    24  * @param int|string $reserve
    25  *     casier contenant la réserve de modules dédiée à la page
    26  *      (par défaut c'est "squelettes")
     20 * @param string $bloc
     21 *     nom du bloc à remplir
     22 * @param string $type
     23 *     type de page du bloc à remplir
    2724 * @return array
    2825 *     Environnement du formulaire
    2926 */
    30 function formulaires_melusine_ajout_module_charger_dist($casier="", $casiers_page="", $reserve="squelettes"){
     27function formulaires_melusine_ajout_module_charger_dist($bloc,$type="rubrique"){
    3128
    3229        $valeurs = array(
    33                 "casier" => $casier,
    34                 "casiers_page" => $casiers_page,
    35                 "reserve" => $reserve
     30                "bloc" => $bloc,
     31                "type" => $type
    3632        );
    3733
     
    4541 * @uses formulaires_editer_objet_verifier()
    4642 *
    47  * @param int|string $casier
    48  *     nom du casier correspondant au bloc dans lequel on veut ajouter un module
    49  * @param int|string $casiers_page
    50  *     liste des casiers de la page
    51  * @param int|string $reserve
    52  *     casier contenant la réserve de modules dédiée à la page
    53  *      (par défaut c'est "squelettes")
     43 * @param string $bloc
     44 *     nom du bloc à remplir
     45 * @param string $type
     46 *     type de page du bloc à remplir
    5447 * @return array
    5548 *     Tableau des erreurs
    5649 */
    57 function formulaires_melusine_ajout_module_verifier_dist($casier="", $casiers_page="", $reserve="squelettes"){
     50function formulaires_melusine_ajout_module_verifier_dist($bloc,$type="rubrique"){
    5851        $erreurs = array();
    5952
  • _squelettes_/galaxie_melusine/melusine/trunk/melusine_fonctions.php

    r82945 r82952  
    621621        return $liste_finale;
    622622}
     623/**
     624 * Retourne la liste des modules passé en param triée en séprant
     625 *  les modules "uniques" des autres
     626 *
     627 * @param text $liste_modules
     628 *      (liste de modules issue de melusine_lister_noisettes ou
     629 *      melusine_liste_modules_autorises)
     630 *
     631 * @return array deux listes des modules (avec détails)
     632 *      uniques => une liste, multiples => l'autre
     633 *
     634**/
     635
     636function melusine_trier_uniques($liste_modules){
     637        $liste_finale = array("uniques" => array(),"multiples" => array());
     638
     639        // Pour chaque module...
     640        foreach($liste_modules as $module => $infos_module) {
     641                        $unique_ou_non = "multiples";
     642                if ($infos_module["unique"] == "oui")
     643                        $unique_ou_non = "uniques";
     644                $liste_finale[$unique_ou_non][$module] = $infos_module;
     645        }
     646       
     647        return $liste_finale;
     648}
     649
    623650?>
Note: See TracChangeset for help on using the changeset viewer.