Changeset 82953 in spip-zone


Ignore:
Timestamp:
Jun 11, 2014, 10:07:29 AM (7 years ago)
Author:
bmarne@…
Message:

(Re)mise en fonctionnement du formulaire d'ajout des modules: on peut à nouveau ajouter un module dans un bloc...
(la modale n'est absolument stylisée et il manque la fermeture auto de la modale et le recharcgement de la fenêtre parente)

Location:
_squelettes_/galaxie_melusine/melusine/trunk/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_ajout_module.html

    r82952 r82953  
    5151<BOUCLE_dispos(POUR){tableau #GET{modules_utilisables}}>
    5252                        <li>
    53 
    5453                                <input type='submit' title="Ajouter ce module"  name='nom_module' value="[(#CLE|attribut_html)]" />
    5554                                [(#VALEUR|table_valeur_cleslash{nom})]
    56 
    5755                        </li>
    5856</BOUCLE_dispos>
  • _squelettes_/galaxie_melusine/melusine/trunk/formulaires/melusine_ajout_module.php

    r82952 r82953  
    5151        $erreurs = array();
    5252
    53         if (!$casier OR !lire_config($casier))
    54                 $erreurs["message_erreur"] = "le bloc n'a pas été correctement défini";
    55 
    5653        return $erreurs;
    5754       
     
    6360 * @uses formulaires_editer_objet_traiter()
    6461 *
    65  * @param int|string $casier
    66  *     nom du casier correspondant au bloc dans lequel on veut ajouter un module
    67  * @param int|string $casiers_page
    68  *     liste des casiers de la page
    69  * @param int|string $reserve
    70  *     casier contenant la réserve de modules dédiée à la page
    71  *      (par défaut c'est "squelettes")
     62 * @param string $bloc
     63 *     nom du bloc à remplir
     64 * @param string $type
     65 *     type de page du bloc à remplir
    7266 * @return array
    7367 *     retour des traitements
    7468 */
    75 function formulaires_melusine_ajout_module_traiter_dist($casier="", $casiers_page="", $reserve="squelettes"){
     69function formulaires_melusine_ajout_module_traiter_dist($bloc,$type="rubrique"){
    7670
    7771        $nom_module = _request("nom_module");
     
    7973        // On cherche une place libre dans le casier
    8074        // et on y met le module
    81         $j=1;
    82         while($valeur!='aucun'){
    83                 $chemin=$casier.$j;
    84                 $valeur=lire_config($chemin);
    85                 $j++;
    86         }
    87         if($j<11){
    88                 ecrire_config($chemin,$nom_module);
    89                 return array('message_ok'=>'enregistré');
    90         } else {
    91                 return array("message_erreur" => "Plus de place dans ce bloc&nbsp;! Vous devez d'abord retirer un module...");
     75        // Infos de la noisette:
     76        include_spip('base/abstract_sql');
     77        // infos sur le module le plus bas
     78        // dans le bloc
     79        $infos_module_bas= sql_fetsel(
     80                array(
     81                        "rang",
     82                        ),
     83                "spip_noisettes",
     84                "bloc = ".sql_quote($bloc)." AND type = ".sql_quote($type),
     85                "",
     86                "rang DESC"
     87                );
     88        // Pas de place...
     89        if ($infos_module_bas['rang'] > 11)
     90                return array('message_erreur' => "Plus de place dans ce bloc&nbsp;! Vous devez d'abord retirer un module...");
     91
     92
     93        // On met le module dans la base:
     94        include_spip('action/editer_objet');
     95        $set = array(
     96                "rang" => $infos_module_bas['rang']+1,
     97                "type" => $type,
     98                "bloc" => $bloc,
     99                "noisette" => $nom_module
     100        );
     101        $id_noisette = objet_inserer("noisette", $id_parent="",$set);
     102                if (!$id_noisette)
     103                        return array("message_erreur" => "Impossible d'insérer le module ".$module." dans le bloc ".$bloc." de la page ".$type. "au rang ".$rang);
     104
    92105               
    93         }
    94        
     106        // On invalide le cache
     107        include_spip('inc/invalideur');
     108        suivre_invalideur(1);
     109
     110        return array("message_ok" => "module inséré");
    95111}
    96112?>
Note: See TracChangeset for help on using the changeset viewer.